From: Marek Olšák Date: Sat, 1 Apr 2017 23:24:47 +0000 (+0200) Subject: gallium: decrease the size of pipe_stream_output_info - 532 -> 268 bytes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=19bc74f5130e2861365098cf07b2d9abd634c380;p=mesa.git gallium: decrease the size of pipe_stream_output_info - 532 -> 268 bytes Reviewed-by: Nicolai Hähnle Reviewed-by: Brian Paul --- diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index 70b28365da4..fbd0ac7e16c 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -486,7 +486,7 @@ struct r600_streamout { /* External state which comes from the vertex shader, * it must be set explicitly when binding a shader. */ - unsigned *stride_in_dw; + uint16_t *stride_in_dw; unsigned enabled_stream_buffers_mask; /* stream0 buffers0-3 in 4 LSB */ /* The state of VGT_STRMOUT_BUFFER_(CONFIG|EN). */ diff --git a/src/gallium/drivers/radeon/r600_streamout.c b/src/gallium/drivers/radeon/r600_streamout.c index b5296aa5667..a18089a3b39 100644 --- a/src/gallium/drivers/radeon/r600_streamout.c +++ b/src/gallium/drivers/radeon/r600_streamout.c @@ -187,7 +187,7 @@ static void r600_emit_streamout_begin(struct r600_common_context *rctx, struct r { struct radeon_winsys_cs *cs = rctx->gfx.cs; struct r600_so_target **t = rctx->streamout.targets; - unsigned *stride_in_dw = rctx->streamout.stride_in_dw; + uint16_t *stride_in_dw = rctx->streamout.stride_in_dw; unsigned i, update_flags = 0; r600_flush_vgt_streamout(rctx); diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 5d995dcc164..54bcf078680 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -206,7 +206,7 @@ struct pipe_clip_state */ struct pipe_stream_output { - unsigned register_index:8; /**< 0 to PIPE_MAX_SHADER_OUTPUTS */ + unsigned register_index:6; /**< 0 to 63 (OUT index) */ unsigned start_component:2; /** 0 to 3 */ unsigned num_components:3; /** 1 to 4 */ unsigned output_buffer:3; /**< 0 to PIPE_MAX_SO_BUFFERS */ @@ -221,7 +221,7 @@ struct pipe_stream_output_info { unsigned num_outputs; /** stride for an entire vertex for each buffer in dwords */ - unsigned stride[PIPE_MAX_SO_BUFFERS]; + uint16_t stride[PIPE_MAX_SO_BUFFERS]; /** * Array of stream outputs, in the order they are to be written in.