diff options
author | Nicolai Hähnle <[email protected]> | 2016-11-29 14:21:55 +0100 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2016-12-12 09:03:54 +0100 |
commit | 81d0dc5e551fdc7da4cef6be482f8d2ce78f6999 (patch) | |
tree | bc5e9350e82fda3b88e4044c0ea952a2fc2b8fc1 | |
parent | 04811354c87e40b0bd5e970fa413ea056ed94173 (diff) |
gallium: extract individual streamout output structure
So that we can pass pointers to individual array entries around.
Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r-- | src/gallium/include/pipe/p_state.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index d501a93184a..cb723108d5e 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -195,6 +195,18 @@ struct pipe_clip_state float ucp[PIPE_MAX_CLIP_PLANES][4]; }; +/** + * A single output for vertex transform feedback. + */ +struct pipe_stream_output +{ + unsigned register_index:8; /**< 0 to PIPE_MAX_SHADER_OUTPUTS */ + unsigned start_component:2; /** 0 to 3 */ + unsigned num_components:3; /** 1 to 4 */ + unsigned output_buffer:3; /**< 0 to PIPE_MAX_SO_BUFFERS */ + unsigned dst_offset:16; /**< offset into the buffer in dwords */ + unsigned stream:2; /**< 0 to 3 */ +}; /** * Stream output for vertex transform feedback. @@ -209,14 +221,7 @@ struct pipe_stream_output_info * Array of stream outputs, in the order they are to be written in. * Selected components are tightly packed into the output buffer. */ - struct { - unsigned register_index:8; /**< 0 to PIPE_MAX_SHADER_OUTPUTS */ - unsigned start_component:2; /** 0 to 3 */ - unsigned num_components:3; /** 1 to 4 */ - unsigned output_buffer:3; /**< 0 to PIPE_MAX_SO_BUFFERS */ - unsigned dst_offset:16; /**< offset into the buffer in dwords */ - unsigned stream:2; /**< 0 to 3 */ - } output[PIPE_MAX_SO_OUTPUTS]; + struct pipe_stream_output output[PIPE_MAX_SO_OUTPUTS]; }; /** |