diff options
author | Zack Rusin <[email protected]> | 2010-05-31 02:20:34 -0400 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2010-06-08 06:28:10 -0400 |
commit | c9db97c8229689060fab0edee7df717f804b99ce (patch) | |
tree | 377767cfb01881eb1fc29fb2ca23d80219bd7409 /src/gallium/include/pipe/p_state.h | |
parent | a45b7f47ee0e38b288cc8fc4f6a1c013e8c227bc (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.h | 12 |
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; }; /** |