summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/radeonsi_compute.c
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2013-08-16 17:38:40 -0400
committerMarek Olšák <[email protected]>2013-08-17 01:48:25 +0200
commit764502b481e2288cb5e751de739253fdee886e3e (patch)
tree3c34be18c5c978591497f76777b669f86574ea7c /src/gallium/drivers/radeonsi/radeonsi_compute.c
parente29931aa7423209d29a23be2ad754abb0f79315e (diff)
radeonsi/compute: Let the state tracker do all the flushing
It shouldn't be necessary to call radeon_winsys::cs_flush() from radeonsi_launch_grid(), because the state tracker is responsible for flushing the pipeline at the appropriate time. The current behavior is also wrong, because radeonsi_launch_grid() submits packets to the compute ring, but when the state tracker calls pipe->flush() everything is submitted to the graphics ring. This has the potential to create a race condition. The downside of removing this flush is that the compute dispatch packets will be sent to the graphics ring rather than the compute ring. In the future we will need to come up with a way to detect 'compute' command streams and submit them to the appropriate ring. Signed-off-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/radeonsi_compute.c')
-rw-r--r--src/gallium/drivers/radeonsi/radeonsi_compute.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_compute.c b/src/gallium/drivers/radeonsi/radeonsi_compute.c
index 41c72c52ffb..10309bad0e1 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_compute.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_compute.c
@@ -230,9 +230,6 @@ static void radeonsi_launch_grid(
}
#endif
- rctx->ws->cs_flush(rctx->cs, RADEON_FLUSH_COMPUTE, 0);
- rctx->ws->buffer_wait(shader->bo->buf, 0);
-
FREE(pm4);
FREE(kernel_args);
}