[Mesa-dev] [PATCH] gallium: reorder fields of pipe_rasterizer_state to pack it more tightly
Brian Paul
brianp at vmware.com
Mon May 2 07:31:26 PDT 2011
On 05/01/2011 06:07 PM, Marek Olšák wrote:
> 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;
Reviewed-by: Brian Paul <brianp at vmare.com>
More information about the mesa-dev
mailing list