This is to avoid repeating dependencies when more than one subpass
has a dependency from external.

Cc: <mesa-sta...@lists.freedesktop.org>
Signed-off-by: Fredrik Höglund <fred...@kde.org>
---
 src/amd/vulkan/radv_pass.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/amd/vulkan/radv_pass.c b/src/amd/vulkan/radv_pass.c
index 2827f5f1a8d..7e6fd84af55 100644
--- a/src/amd/vulkan/radv_pass.c
+++ b/src/amd/vulkan/radv_pass.c
@@ -179,6 +179,10 @@ VkResult radv_CreateRenderPass(
                if (src == dst)
                        continue;
 
+               if (src == VK_SUBPASS_EXTERNAL) {
+                       /* Add all dependencies from external to the first 
subpass */
+                       dst = 0;
+               }
                if (dst == VK_SUBPASS_EXTERNAL) {
                        if (pCreateInfo->pDependencies[i].dstStageMask != 
VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT)
                                pass->end_barrier.src_stage_mask |= 
pCreateInfo->pDependencies[i].srcStageMask;
-- 
2.17.0

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to