[Mesa-dev] [PATCH] radv: switch to flushing according to stage mask.

Dave Airlie airlied at gmail.com
Tue Feb 14 00:15:49 UTC 2017


From: Dave Airlie <airlied at redhat.com>

This uses the stage mask helper for pipeline flushes.

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/amd/vulkan/radv_cmd_buffer.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
index 2a9ad46..767e21a 100644
--- a/src/amd/vulkan/radv_cmd_buffer.c
+++ b/src/amd/vulkan/radv_cmd_buffer.c
@@ -2816,6 +2816,7 @@ void radv_CmdPipelineBarrier(
 	}
 	cmd_buffer->state.flush_bits |= flush_bits;
 
+	radv_stage_flush(cmd_buffer, srcStageMask);
 	for (uint32_t i = 0; i < imageMemoryBarrierCount; i++) {
 		RADV_FROM_HANDLE(radv_image, image, pImageMemoryBarriers[i].image);
 		radv_handle_image_transition(cmd_buffer, image,
@@ -2852,9 +2853,7 @@ void radv_CmdPipelineBarrier(
 		}
 	}
 
-	flush_bits |= RADV_CMD_FLAG_CS_PARTIAL_FLUSH |
-		RADV_CMD_FLAG_PS_PARTIAL_FLUSH;
-
+	radv_stage_flush(cmd_buffer, destStageMask);
 	cmd_buffer->state.flush_bits |= flush_bits;
 }
 
-- 
2.7.4



More information about the mesa-dev mailing list