gallium: decrease the size of pipe_stream_output_info - 532 -> 268 bytes
authorMarek Olšák <marek.olsak@amd.com>
Sat, 1 Apr 2017 23:24:47 +0000 (01:24 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 4 Apr 2017 09:14:43 +0000 (11:14 +0200)
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/drivers/radeon/r600_pipe_common.h
src/gallium/drivers/radeon/r600_streamout.c
src/gallium/include/pipe/p_state.h

index 70b2836..fbd0ac7 100644 (file)
@@ -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). */
index b5296aa..a18089a 100644 (file)
@@ -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);
index 5d995dc..54bcf07 100644 (file)
@@ -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.