diff options
author | Zack Rusin <zackr@vmware.com> | 2014-03-06 18:43:44 -0500 |
---|---|---|
committer | Zack Rusin <zackr@vmware.com> | 2014-03-07 12:49:33 -0500 |
commit | dfa25ea5cd19d5a050a1c94bd7370a2259b9f007 (patch) | |
tree | 8ce2db3ceab01311df710c2d7f307f5b708312c5 /src/gallium/drivers/trace/tr_context.c | |
parent | 7d5903980ed7c4405e20dbc4f5ade9d202c559cb (diff) | |
download | external_mesa3d-dfa25ea5cd19d5a050a1c94bd7370a2259b9f007.zip external_mesa3d-dfa25ea5cd19d5a050a1c94bd7370a2259b9f007.tar.gz external_mesa3d-dfa25ea5cd19d5a050a1c94bd7370a2259b9f007.tar.bz2 |
gallium: allow setting of the internal stream output offset
D3D10 allows setting of the internal offset of a buffer, which is
in general only incremented via actual stream output writes. By
allowing setting of the internal offset draw_auto is capable
of rendering from buffers which have not been actually streamed
out to. Our interface didn't allow. This change functionally
shouldn't make any difference to OpenGL where instead of an
append_bitmask you just get a real array where -1 means append
(like in D3D) and 0 means do not append.
Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/gallium/drivers/trace/tr_context.c')
-rw-r--r-- | src/gallium/drivers/trace/tr_context.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index c10e010..3e99598 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -1080,7 +1080,7 @@ static INLINE void trace_context_set_stream_output_targets(struct pipe_context *_pipe, unsigned num_targets, struct pipe_stream_output_target **tgs, - unsigned append_bitmask) + const unsigned *offsets) { struct trace_context *tr_ctx = trace_context(_pipe); struct pipe_context *pipe = tr_ctx->pipe; @@ -1090,9 +1090,9 @@ trace_context_set_stream_output_targets(struct pipe_context *_pipe, trace_dump_arg(ptr, pipe); trace_dump_arg(uint, num_targets); trace_dump_arg_array(ptr, tgs, num_targets); - trace_dump_arg(uint, append_bitmask); + trace_dump_arg_array(uint, offsets, num_targets); - pipe->set_stream_output_targets(pipe, num_targets, tgs, append_bitmask); + pipe->set_stream_output_targets(pipe, num_targets, tgs, offsets); trace_dump_call_end(); } |