From: Bas Nieuwenhuizen Date: Wed, 8 Mar 2017 22:51:01 +0000 (+0100) Subject: radv: Only flush for the needed stages, and before the flushes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9251f8b35ef081db65cb8c2018d7f8f4bc3c1be3;p=mesa.git radv: Only flush for the needed stages, and before the flushes. Signed-off-by: Bas Nieuwenhuizen Reviewed-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 5d4236ca187..274495f134f 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -2928,6 +2928,7 @@ void radv_CmdPipelineBarrier( image); } + radv_stage_flush(cmd_buffer, srcStageMask); cmd_buffer->state.flush_bits |= src_flush_bits; for (uint32_t i = 0; i < imageMemoryBarrierCount; i++) { @@ -2942,12 +2943,6 @@ void radv_CmdPipelineBarrier( } cmd_buffer->state.flush_bits |= dst_flush_bits; - - /* TODO reduce this */ - enum radv_cmd_flush_bits flush_bits = RADV_CMD_FLAG_CS_PARTIAL_FLUSH | - RADV_CMD_FLAG_PS_PARTIAL_FLUSH; - - cmd_buffer->state.flush_bits |= flush_bits; }