From 306376b94e8cfb8a6769826f026715a0d839bec2 Mon Sep 17 00:00:00 2001 From: Petr Kraus Date: Mon, 30 Jul 2018 18:40:41 +0200 Subject: [PATCH] Merge self-dependency barrier VUs referring the same subpass dependency --- chapters/synchronization.txt | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/chapters/synchronization.txt b/chapters/synchronization.txt index 4f4c9b64..8d25423b 100644 --- a/chapters/synchronization.txt +++ b/chapters/synchronization.txt @@ -3416,8 +3416,7 @@ framebuffer-space>> pipeline stages is feature is not enabled, pname:dstStageMask must: not contain ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT - * [[VUID-vkCmdPipelineBarrier-pDependencies-02024]] - If fname:vkCmdPipelineBarrier is called within a render pass instance, + * If fname:vkCmdPipelineBarrier is called within a render pass instance, the render pass must: have been created with at least one sname:VkSubpassDependency instance in sname:VkRenderPassCreateInfo::pname:pDependencies that expresses a @@ -3425,18 +3424,14 @@ framebuffer-space>> pipeline stages is pname:srcStageMask contains a subset of the bit values in sname:VkSubpassDependency::pname:srcStageMask, pname:dstStageMask contains a subset of the bit values in - sname:VkSubpassDependency::pname:dstStageMask, and pname:dependencyFlags - is equal to sname:VkSubpassDependency::pname:dependencyFlags. - * [[VUID-vkCmdPipelineBarrier-pMemoryBarriers-02026]] - If fname:vkCmdPipelineBarrier is called within a render pass instance, - for each element of pname:pMemoryBarriers and - pname:pImageMemoryBarriers, the render pass must: have been defined with - a sname:VkSubpassDependency self-dependency for the current subpass with - valid pname:srcStageMask, pname:dstStageMask, and pname:dependencyFlags - values such that stext:Vk*Barrier::pname:srcAccessMask contains a subset - of the bit values in sname:VkSubpassDependency::pname:srcAccessMask and - stext:Vk*Barrier::pname:dstAccessMask contains a subset of the bit - values in sname:VkSubpassDependency::pname:dstAccessMask. + sname:VkSubpassDependency::pname:dstStageMask, pname:dependencyFlags is + equal to sname:VkSubpassDependency::pname:dependencyFlags, + pname:srcAccessMask member of each each element of pname:pMemoryBarriers + and pname:pImageMemoryBarriers contains a subset of the bit values in + sname:VkSubpassDependency::pname:srcAccessMask, and + pname:dstAccessMask member of each element of pname:pMemoryBarriers and + pname:pImageMemoryBarriers contains a subset of the bit values in + sname:VkSubpassDependency::pname:dstAccessMask * [[VUID-vkCmdPipelineBarrier-bufferMemoryBarrierCount-01178]] If fname:vkCmdPipelineBarrier is called within a render pass instance, pname:bufferMemoryBarrierCount must: be `0`