V-EZ
V-EZ copied to clipboard
Pipeline barrier issue with srcAccessMask and srcStageMask
Seeing a pipeline barrier issue with srcAccessMask
Reported as
Vulkan (Error) : Validation Error: [ VUID-VkSubpassDependency-srcAccessMask-00868 ] Object 0: handle = 0x19e8cf5c440, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x2ef6351e | vkCreateRenderPass(): pDependencies[0].srcAccessMask bit VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT is not supported by stage mask (VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT). The Vulkan spec states: Any access flag included in srcAccessMask must be supported by one of the pipeline stages in srcStageMask, as specified in the table of supported access types (https://vulkan.lunarg.com/doc/view/1.3.216.0/windows/1.3-extensions/vkspec.html#VUID-VkSubpassDependency-srcAccessMask-00868)
OR
Vulkan (Error) : Validation Error: [ VUID-vkCmdPipelineBarrier-srcAccessMask-02815 ] Object 0: handle = 0x20cab8a2400, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x24d88c2b | vkCmdPipelineBarrier(): .pImageMemoryBarriers[1].srcAccessMask bit VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT is not supported by stage mask (VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT). The Vulkan spec states: The srcAccessMask member of each element of pMemoryBarriers must only include access flags that are supported by one or more of the pipeline stages in srcStageMask, as specified in the table of supported access types (https://vulkan.lunarg.com/doc/view/1.3.216.0/windows/1.3-extensions/vkspec.html#VUID-vkCmdPipelineBarrier-srcAccessMask-02815)
This issue appears to be fixed by Williamallas with this commit:
Fix bug when transitioning barriers, must add a barrier if position in stream is different or if stageMask differ
https://github.com/jtorche/V-EZ/commit/02c60a115220d46d2502d8fc572eb4a9321b09e3