summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/swr_state.cpp
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-11-17 20:48:40 -0500
committerIlia Mirkin <[email protected]>2016-11-19 10:40:37 -0500
commitea276512a0c4c95f004e314f12e977786656f015 (patch)
tree96dba9c01477561884caccfbe26563f91dabc12e /src/gallium/drivers/swr/swr_state.cpp
parent203c8794a1debc0e45019fe945d1cc55459e6c6f (diff)
swr: mark streamout buffers as written
Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Bruce Cherniak <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr/swr_state.cpp')
-rw-r--r--src/gallium/drivers/swr/swr_state.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/swr/swr_state.cpp b/src/gallium/drivers/swr/swr_state.cpp
index d64211e0f94..e9ae786164a 100644
--- a/src/gallium/drivers/swr/swr_state.cpp
+++ b/src/gallium/drivers/swr/swr_state.cpp
@@ -682,6 +682,13 @@ swr_update_resource_status(struct pipe_context *pipe,
swr_resource_read(ib->buffer);
}
+ /* transform feedback buffers */
+ for (uint32_t i = 0; i < ctx->num_so_targets; i++) {
+ struct pipe_stream_output_target *target = ctx->so_targets[i];
+ if (target && target->buffer)
+ swr_resource_write(target->buffer);
+ }
+
/* texture sampler views */
for (uint32_t j : {PIPE_SHADER_VERTEX, PIPE_SHADER_FRAGMENT}) {
for (uint32_t i = 0; i < ctx->num_sampler_views[j]; i++) {