diff options
author | Marek Olšák <marek.olsak@amd.com> | 2017-04-13 23:46:59 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2017-04-17 01:22:11 +0200 |
commit | 2769dadb0fafdbafc98630fdf96924a3bb209ab7 (patch) | |
tree | d9c0efc32df89769482bd89dc295e570935a7390 /src/gallium/drivers/radeonsi | |
parent | f05f0bb5cbc8b3b11342158b63e7e20f1f6f7c81 (diff) |
gallium/radeon: always flush asynchronously and wait after begin_new_cs
This hides the overhead of everything in the driver after the CS flush and
before returning from pipe_context::flush.
Only microbenchmarks will benefit.
+2% FPS for glxgears.
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_hw_context.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_hw_context.c b/src/gallium/drivers/radeonsi/si_hw_context.c index e51abfc5c53..e15f6a9cc69 100644 --- a/src/gallium/drivers/radeonsi/si_hw_context.c +++ b/src/gallium/drivers/radeonsi/si_hw_context.c @@ -108,6 +108,9 @@ void si_context_gfx_flush(void *context, unsigned flags, if (r600_check_device_reset(&ctx->b)) return; + if (ctx->screen->b.debug_flags & DBG_CHECK_VM) + flags &= ~RADEON_FLUSH_ASYNC; + /* If the state tracker is flushing the GFX IB, r600_flush_from_st is * responsible for flushing the DMA IB and merging the fences from both. * This code is only needed when the driver flushes the GFX IB |