Mesa (master): gallium: reorder fields of pipe_rasterizer_state to pack it more tightly

Marek Olšák mareko at kemper.freedesktop.org
Mon May 2 15:16:57 UTC 2011


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Mon May  2 02:04:17 2011 +0200

gallium: reorder fields of pipe_rasterizer_state to pack it more tightly

sizeof(struct pipe_rasterizer_state):
    Before: 32 bytes
    After: 28 bytes

Reviewed-by: Brian Paul <brianp at vmare.com>

---

 src/gallium/include/pipe/p_state.h |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h
index f6ad456..0c1f509 100644
--- a/src/gallium/include/pipe/p_state.h
+++ b/src/gallium/include/pipe/p_state.h
@@ -94,24 +94,21 @@ struct pipe_rasterizer_state
    unsigned poly_smooth:1;
    unsigned poly_stipple_enable:1;
    unsigned point_smooth:1;
-   unsigned sprite_coord_enable:PIPE_MAX_SHADER_OUTPUTS;
    unsigned sprite_coord_mode:1;     /**< PIPE_SPRITE_COORD_ */
    unsigned point_quad_rasterization:1; /** points rasterized as quads or points */
    unsigned point_size_per_vertex:1; /**< size computed in vertex shader */
    unsigned multisample:1;         /* XXX maybe more ms state in future */
    unsigned line_smooth:1;
    unsigned line_stipple_enable:1;
-   unsigned line_stipple_factor:8;  /**< [1..256] actually */
-   unsigned line_stipple_pattern:16;
    unsigned line_last_pixel:1;
 
-   /** 
+   /**
     * Use the first vertex of a primitive as the provoking vertex for
     * flat shading.
     */
-   unsigned flatshade_first:1;   
+   unsigned flatshade_first:1;
 
-   /** 
+   /**
     * When true, triangle rasterization uses (0.5, 0.5) pixel centers
     * for determining pixel ownership.
     *
@@ -124,6 +121,11 @@ struct pipe_rasterizer_state
     */
    unsigned gl_rasterization_rules:1;
 
+   unsigned line_stipple_factor:8;  /**< [1..256] actually */
+   unsigned line_stipple_pattern:16;
+
+   unsigned sprite_coord_enable:PIPE_MAX_SHADER_OUTPUTS;
+
    float line_width;
    float point_size;           /**< used when no per-vertex size */
    float offset_units;




More information about the mesa-commit mailing list