Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / modules / vulkan / multiview / vktMultiViewRenderUtil.cpp
index f95255d..d5f2bec 100644 (file)
@@ -274,6 +274,8 @@ Move<VkRenderPass> makeRenderPass (const DeviceInterface&           vk,
        vector <SubpassDep>                                                     subpassDependencies;
        for(deUint32 subpassNdx = 0u; subpassNdx < subpassCount; ++subpassNdx)
        {
+               const auto dependencyFlags = (subpassNdx == subpassCount - 1u) ? (VK_DEPENDENCY_BY_REGION_BIT | VK_DEPENDENCY_VIEW_LOCAL_BIT) : VK_DEPENDENCY_VIEW_LOCAL_BIT;
+
                const SubpassDep                                                subpassDependency                       //  VkSubpassDependency                                                                                 ||  VkSubpassDependency2KHR
                (
                                                                                                                                                        //                                                                                                                              ||      VkStructureType                                         sType;
@@ -284,9 +286,7 @@ Move<VkRenderPass> makeRenderPass (const DeviceInterface&           vk,
                        VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,                                                  //  VkPipelineStageFlags                        dstStageMask;                           ||      VkPipelineStageFlags                            dstStageMask;
                        srcAccessMask,                                                                                                  //  VkAccessFlags                                       srcAccessMask;                          ||      VkAccessFlags                                           srcAccessMask;
                        VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,                                                    //  VkAccessFlags                                       dstAccessMask;                          ||      VkAccessFlags                                           dstAccessMask;
-                       (subpassNdx == subpassCount - 1u) ?                                                             //  VkDependencyFlags                           dependencyFlags;                        ||      VkDependencyFlags                                       dependencyFlags;
-                               VK_DEPENDENCY_VIEW_LOCAL_BIT | VK_DEPENDENCY_BY_REGION_BIT ://  handle subpass self-dependency
-                               VK_DEPENDENCY_VIEW_LOCAL_BIT,
+                       dependencyFlags,                                                                                                //  VkDependencyFlags                           dependencyFlags;                        ||      VkDependencyFlags                                       dependencyFlags;
                        0                                                                                                                               //                                                                                                                              ||      deInt32                                                         viewOffset;
                );
                subpassDependencies.push_back(subpassDependency);
@@ -472,6 +472,8 @@ Move<VkRenderPass> makeRenderPassWithAttachments (const DeviceInterface&    vk,
        vector <SubpassDep>                                                     subpassDependencies;
        for(deUint32 subpassNdx = 0u; subpassNdx < subpassCount; ++subpassNdx)
        {
+               const auto dependencyFlags = (subpassNdx == subpassCount - 1u) ? (VK_DEPENDENCY_BY_REGION_BIT | VK_DEPENDENCY_VIEW_LOCAL_BIT) : VK_DEPENDENCY_VIEW_LOCAL_BIT;
+
                const SubpassDep                                                subpassDependency                       //  VkSubpassDependency                                                                                 ||  VkSubpassDependency2KHR
                (
                                                                                                                                                        //                                                                                                                              ||      VkStructureType                                         sType;
@@ -482,9 +484,7 @@ Move<VkRenderPass> makeRenderPassWithAttachments (const DeviceInterface&    vk,
                        VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,                                                  //  VkPipelineStageFlags                        dstStageMask;                           ||      VkPipelineStageFlags                            dstStageMask;
                        VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                   //  VkAccessFlags                                       srcAccessMask;                          ||      VkAccessFlags                                           srcAccessMask;
                        VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,                                                    //  VkAccessFlags                                       dstAccessMask;                          ||      VkAccessFlags                                           dstAccessMask;
-                       (subpassNdx == subpassCount - 1u) ?                                                             //  VkDependencyFlags                           dependencyFlags;                        ||      VkDependencyFlags                                       dependencyFlags;
-                               VK_DEPENDENCY_VIEW_LOCAL_BIT | VK_DEPENDENCY_BY_REGION_BIT ://  handle subpass self-dependency
-                               VK_DEPENDENCY_VIEW_LOCAL_BIT,
+                       dependencyFlags,                                                                                                //  VkDependencyFlags                           dependencyFlags;                        ||      VkDependencyFlags                                       dependencyFlags;
                        0                                                                                                                               //                                                                                                                              ||      deInt32                                                         viewOffset;
                );
                subpassDependencies.push_back(subpassDependency);