summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2016-11-29 14:21:55 +0100
committerNicolai Hähnle <[email protected]>2016-12-12 09:03:54 +0100
commit81d0dc5e551fdc7da4cef6be482f8d2ce78f6999 (patch)
treebc5e9350e82fda3b88e4044c0ea952a2fc2b8fc1
parent04811354c87e40b0bd5e970fa413ea056ed94173 (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.h21
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];
};
/**