@@ -304,7 +304,7 @@ namespace vks
304304 }
305305
306306 // Use subpass dependencies for attachment layout transitions
307- std::array<VkSubpassDependency, 3 > dependencies{};
307+ std::array<VkSubpassDependency, 4 > dependencies{};
308308
309309 dependencies[0 ].srcSubpass = VK_SUBPASS_EXTERNAL;
310310 dependencies[0 ].dstSubpass = 0 ;
@@ -313,6 +313,7 @@ namespace vks
313313 dependencies[0 ].srcAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
314314 dependencies[0 ].dstAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
315315
316+
316317 dependencies[1 ].srcSubpass = VK_SUBPASS_EXTERNAL;
317318 dependencies[1 ].dstSubpass = 0 ;
318319 dependencies[1 ].srcStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
@@ -327,14 +328,21 @@ namespace vks
327328 dependencies[2 ].srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
328329 dependencies[2 ].dstAccessMask = VK_ACCESS_MEMORY_READ_BIT;
329330
331+ dependencies[3 ].srcSubpass = 0 ;
332+ dependencies[3 ].dstSubpass = VK_SUBPASS_EXTERNAL;
333+ dependencies[3 ].srcStageMask = VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
334+ dependencies[3 ].dstStageMask = VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
335+ dependencies[3 ].srcAccessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
336+ dependencies[3 ].dstAccessMask = VK_ACCESS_SHADER_READ_BIT;
337+
330338 // Create render pass
331339 VkRenderPassCreateInfo renderPassInfo = {};
332340 renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
333341 renderPassInfo.pAttachments = attachmentDescriptions.data ();
334342 renderPassInfo.attachmentCount = static_cast <uint32_t >(attachmentDescriptions.size ());
335343 renderPassInfo.subpassCount = 1 ;
336344 renderPassInfo.pSubpasses = &subpass;
337- renderPassInfo.dependencyCount = 3 ;
345+ renderPassInfo.dependencyCount = 4 ;
338346 renderPassInfo.pDependencies = dependencies.data ();
339347 VK_CHECK_RESULT (vkCreateRenderPass (vulkanDevice->logicalDevice , &renderPassInfo, nullptr , &renderPass));
340348
0 commit comments