summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe/p_state.h
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2010-05-31 02:20:34 -0400
committerZack Rusin <[email protected]>2010-06-08 06:28:10 -0400
commitc9db97c8229689060fab0edee7df717f804b99ce (patch)
tree377767cfb01881eb1fc29fb2ca23d80219bd7409 /src/gallium/include/pipe/p_state.h
parenta45b7f47ee0e38b288cc8fc4f6a1c013e8c227bc (diff)
gallium: a lot more complete implementation of stream output
interface wise we have everything needed by d3d10 and gl transform feedback. the draw module misses implementation of some corner cases (e.g. when stream output wants different number of components per output than normal rendering paths)
Diffstat (limited to 'src/gallium/include/pipe/p_state.h')
-rw-r--r--src/gallium/include/pipe/p_state.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h
index 33ee066c0c9..771bff524bd 100644
--- a/src/gallium/include/pipe/p_state.h
+++ b/src/gallium/include/pipe/p_state.h
@@ -348,9 +348,19 @@ struct pipe_resource
struct pipe_stream_output_state
{
+ /**< number of the output buffer to insert each element into */
+ int output_buffer[PIPE_MAX_SHADER_OUTPUTS];
+ /**< which register to grab each output from */
+ int register_index[PIPE_MAX_SHADER_OUTPUTS];
/**< format for each output */
- enum pipe_format format[PIPE_MAX_SHADER_OUTPUTS];
+ /**< TGSI_WRITEMASK signifying which components to output */
+ ubyte register_mask[PIPE_MAX_SHADER_OUTPUTS];
+ /**< number of outputs */
int num_outputs;
+
+ /**< stride for an entire vertex, only used if all output_buffers
+ * are 0 */
+ unsigned stride;
};
/**