diff options
author | Tom Stellard <[email protected]> | 2012-09-24 18:34:02 +0000 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2012-09-24 18:35:50 +0000 |
commit | defe8f0da263c95935dd14d106141d0a22d24aba (patch) | |
tree | 9089c5a2f32731c0d007978891b93e35ed994976 /src/gallium/drivers/r600 | |
parent | dda49c3cb741cda2b592c5ad8e5d74edd0d7526f (diff) |
r600g: Set RADEON_FLUSH_KEEP_TILING_FLAGS when emitting compute cs
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r-- | src/gallium/drivers/r600/evergreen_compute.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c index 66034a4f02c..c7b9d3314ac 100644 --- a/src/gallium/drivers/r600/evergreen_compute.c +++ b/src/gallium/drivers/r600/evergreen_compute.c @@ -320,6 +320,7 @@ static void compute_emit_cs(struct r600_context *ctx, const uint *block_layout, const uint *grid_layout) { struct radeon_winsys_cs *cs = ctx->cs; + unsigned flush_flags = 0; int i; struct r600_resource *onebo = NULL; @@ -423,7 +424,12 @@ static void compute_emit_cs(struct r600_context *ctx, const uint *block_layout, } #endif - ctx->ws->cs_flush(ctx->cs, RADEON_FLUSH_ASYNC | RADEON_FLUSH_COMPUTE); + flush_flags = RADEON_FLUSH_ASYNC | RADEON_FLUSH_COMPUTE; + if (ctx->keep_tiling_flags) { + flush_flags |= RADEON_FLUSH_KEEP_TILING_FLAGS; + } + + ctx->ws->cs_flush(ctx->cs, flush_flags); ctx->pm4_dirty_cdwords = 0; ctx->flags = 0; |