Fix validation errors in renderpass tests
authorIlkka Saarelainen <ilkka.saarelainen@siru.fi>
Fri, 17 Dec 2021 05:36:16 +0000 (07:36 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 7 Jan 2022 19:05:58 +0000 (19:05 +0000)
This CL fixes the validation errors in some of the renderpass
tests. The tests incorrectly defined subpass dependency access
scopes for depth/stencil attachments in some cases.

Affects:

dEQP-VK.renderpass*.attachment_allocation.*

Components: Vulkan

VK-GL-CTS Issue: 3385

Change-Id: Ia9cc78bd28dde5b9cdbf4e28ba759e3bde44a9d0

external/vulkancts/modules/vulkan/renderpass/vktRenderPassTests.cpp

index 68ee0d4..6b8a5d0 100644 (file)
@@ -5517,7 +5517,8 @@ void addAttachmentAllocationTests (tcu::TestCaseGroup* group, const TestConfigEx
                                                                                                                                          | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT,
 
                                                                                                                                          VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
-                                                                                                                                         VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
+                                                                                                                                         VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
+                                                                                                                                         | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,
 
                                                                                                                                          dependencyFlags);
                                                                for (SubpassDependency& dependency : deps)
@@ -5525,7 +5526,7 @@ void addAttachmentAllocationTests (tcu::TestCaseGroup* group, const TestConfigEx
                                                                        if (dependency.getSrcPass() == srcPass && dependency.getDstPass() == dstPass)
                                                                        {
                                                                                const VkAccessFlags newSrcFlags = dependency.getSrcAccessMask() | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
-                                                                               const VkAccessFlags newDstFlags = dependency.getDstAccessMask() | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
+                                                                               const VkAccessFlags newDstFlags = dependency.getDstAccessMask() | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
                                                                                dependency.setDstAccessMask(newSrcFlags);
                                                                                dependency.setDstAccessMask(newDstFlags);
                                                                                foundDuplicate = true;