summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/evergreen_compute.c
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2013-11-19 22:05:52 -0500
committerTom Stellard <[email protected]>2013-11-21 15:55:16 -0800
commit7a30cd7085b6879d3858f5c1a6945fbe30c818a6 (patch)
tree2d1d76e52dfd83a9cabacf4a404f5034ac4dcbed /src/gallium/drivers/r600/evergreen_compute.c
parent544e3129c5addeb6c9539339782dd54616ef0499 (diff)
r600g/compute: Add a work-around for flushing issues on Cayman
Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Marek Olšák <[email protected]> https://bugs.freedesktop.org/show_bug.cgi?id=69321 CC: "10.0" <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/evergreen_compute.c')
-rw-r--r--src/gallium/drivers/r600/evergreen_compute.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
index ffdc5c3b454..d668c8e2746 100644
--- a/src/gallium/drivers/r600/evergreen_compute.c
+++ b/src/gallium/drivers/r600/evergreen_compute.c
@@ -474,6 +474,10 @@ static void compute_emit_cs(struct r600_context *ctx, const uint *block_layout,
r600_flush_emit(ctx);
ctx->b.flags = 0;
+ if (ctx->b.chip_class >= CAYMAN) {
+ ctx->skip_surface_sync_on_next_cs_flush = true;
+ }
+
#if 0
COMPUTE_DBG(ctx->screen, "cdw: %i\n", cs->cdw);
for (i = 0; i < cs->cdw; i++) {