[Mesa-dev] [PATCH] gallium: reorder fields of pipe_rasterizer_state to pack it more tightly
Marek Olšák
maraeo at gmail.com
Sun May 1 17:07:44 PDT 2011
sizeof(struct pipe_rasterizer_state):
Before: 32 bytes
After: 28 bytes
---
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;
--
1.7.4.1
More information about the mesa-dev
mailing list