Fix subpass dependency in geometry layered tests
If both stages include a framebuffer-space stage in a self dependency,
then flags must include VK_DEPENDENCY_BY_REGION_BIT
Components: Vulkan
VK-GL-CTS issue: 3997
Affected tests:
dEQP-VK.geometry.layered.*
Change-Id: Id9941c16488a4c3bfbf569490d9e146437c4ae40
diff --git a/external/vulkancts/modules/vulkan/geometry/vktGeometryLayeredRenderingTests.cpp b/external/vulkancts/modules/vulkan/geometry/vktGeometryLayeredRenderingTests.cpp
index 3866ab7..dfbc32e 100644
--- a/external/vulkancts/modules/vulkan/geometry/vktGeometryLayeredRenderingTests.cpp
+++ b/external/vulkancts/modules/vulkan/geometry/vktGeometryLayeredRenderingTests.cpp
@@ -270,7 +270,7 @@
VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, // VkPipelineStageFlags dstStageMask
VK_ACCESS_SHADER_WRITE_BIT, // VkAccessFlags srcAccessMask
VK_ACCESS_SHADER_READ_BIT, // VkAccessFlags dstAccessMask
- 0u, // VkDependencyFlags dependencyFlags
+ VK_DEPENDENCY_BY_REGION_BIT, // VkDependencyFlags dependencyFlags
};
const VkRenderPassCreateInfo renderPassInfo =
@@ -1782,7 +1782,7 @@
VK_ACCESS_SHADER_READ_BIT // VkAccessFlags dstAccessMask
};
- vk.cmdPipelineBarrier(*secondaryCmdBuffer, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0u, 1u, &barrier, 0u, DE_NULL, 0u, DE_NULL);
+ vk.cmdPipelineBarrier(*secondaryCmdBuffer, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_DEPENDENCY_BY_REGION_BIT, 1u, &barrier, 0u, DE_NULL, 0u, DE_NULL);
}
vk.cmdDraw(*secondaryCmdBuffer, 1u, 1u, 0u, 0u);
endCommandBuffer(vk, *secondaryCmdBuffer);