Mesa (master): gallium: decrease the size of pipe_draw_info - 88 -> 80 bytes

Marek Olšák mareko at kemper.freedesktop.org
Tue Apr 4 10:17:55 UTC 2017


Module: Mesa
Branch: master
Commit: 7216e1d8afedda9dd0f8a6ab0e03274190d1c7be
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7216e1d8afedda9dd0f8a6ab0e03274190d1c7be

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Apr  2 14:42:17 2017 +0200

gallium: decrease the size of pipe_draw_info - 88 -> 80 bytes

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/indices/u_primconvert.c | 10 ++++++++--
 src/gallium/include/pipe/p_state.h            |  2 +-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/gallium/auxiliary/indices/u_primconvert.c b/src/gallium/auxiliary/indices/u_primconvert.c
index 2bdfade8a5..1ffca4b593 100644
--- a/src/gallium/auxiliary/indices/u_primconvert.c
+++ b/src/gallium/auxiliary/indices/u_primconvert.c
@@ -128,12 +128,15 @@ util_primconvert_draw_vbo(struct primconvert_context *pc,
    new_info.primitive_restart = info->primitive_restart;
    new_info.restart_index = info->restart_index;
    if (info->indexed) {
+      enum pipe_prim_type mode = 0;
+
       u_index_translator(pc->primtypes_mask,
                          info->mode, pc->saved_ib.index_size, info->count,
                          pc->api_pv, pc->api_pv,
                          info->primitive_restart ? PR_ENABLE : PR_DISABLE,
-                         &new_info.mode, &new_ib.index_size, &new_info.count,
+                         &mode, &new_ib.index_size, &new_info.count,
                          &trans_func);
+      new_info.mode = mode;
       src = ib->user_buffer;
       if (!src) {
          src = pipe_buffer_map(pc->pipe, ib->buffer,
@@ -142,11 +145,14 @@ util_primconvert_draw_vbo(struct primconvert_context *pc,
       src = (const uint8_t *)src + ib->offset;
    }
    else {
+      enum pipe_prim_type mode = 0;
+
       u_index_generator(pc->primtypes_mask,
                         info->mode, info->start, info->count,
                         pc->api_pv, pc->api_pv,
-                        &new_info.mode, &new_ib.index_size, &new_info.count,
+                        &mode, &new_ib.index_size, &new_info.count,
                         &gen_func);
+      new_info.mode = mode;
    }
 
    u_upload_alloc(pc->pipe->stream_uploader, 0, new_ib.index_size * new_info.count, 4,
diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h
index 45c213795c..ce9ca34d29 100644
--- a/src/gallium/include/pipe/p_state.h
+++ b/src/gallium/include/pipe/p_state.h
@@ -644,7 +644,7 @@ struct pipe_index_buffer
 struct pipe_draw_info
 {
    boolean indexed;  /**< use index buffer */
-   enum pipe_prim_type mode;  /**< the mode of the primitive */
+   enum pipe_prim_type mode:8;  /**< the mode of the primitive */
    boolean primitive_restart;
    ubyte vertices_per_patch; /**< the number of vertices per patch */
 




More information about the mesa-commit mailing list