diff options
author | Tom Stellard <[email protected]> | 2013-11-19 22:05:52 -0500 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2013-11-21 15:55:16 -0800 |
commit | 7a30cd7085b6879d3858f5c1a6945fbe30c818a6 (patch) | |
tree | 2d1d76e52dfd83a9cabacf4a404f5034ac4dcbed /src/gallium/drivers/r600/evergreen_compute.c | |
parent | 544e3129c5addeb6c9539339782dd54616ef0499 (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.c | 4 |
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++) { |