Module: Mesa Branch: master Commit: 435d9595d38981187a2eaa025fc437cfc1295107 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=435d9595d38981187a2eaa025fc437cfc1295107
Author: Marek Olšák <[email protected]> Date: Fri Jul 15 01:06:58 2016 +0200 r600g: use last_gfx_fence like radeonsi Reviewed-by: Nicolai Hähnle <[email protected]> --- src/gallium/drivers/r600/r600_hw_context.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/r600/r600_hw_context.c b/src/gallium/drivers/r600/r600_hw_context.c index ea6902f..2ddea13 100644 --- a/src/gallium/drivers/r600/r600_hw_context.c +++ b/src/gallium/drivers/r600/r600_hw_context.c @@ -252,9 +252,16 @@ void r600_context_gfx_flush(void *context, unsigned flags, { struct r600_context *ctx = context; struct radeon_winsys_cs *cs = ctx->b.gfx.cs; - - if (!radeon_emitted(cs, ctx->b.initial_gfx_cs_size) && !fence) + struct radeon_winsys *ws = ctx->b.ws; + + if (!radeon_emitted(cs, ctx->b.initial_gfx_cs_size) && + (!fence || ctx->b.last_gfx_fence)) { + if (fence) + ws->fence_reference(fence, ctx->b.last_gfx_fence); + if (!(flags & RADEON_FLUSH_ASYNC)) + ws->cs_sync_flush(cs); return; + } r600_preflush_suspend_features(&ctx->b); @@ -275,7 +282,9 @@ void r600_context_gfx_flush(void *context, unsigned flags, } /* Flush the CS. */ - ctx->b.ws->cs_flush(cs, flags, fence); + ws->cs_flush(cs, flags, &ctx->b.last_gfx_fence); + if (fence) + ws->fence_reference(fence, ctx->b.last_gfx_fence); r600_begin_new_cs(ctx); } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
