Fix dependencies in vulkan pipeline test
authorJoan Bonet Orantos <joan.orantos@arm.com>
Tue, 22 May 2018 08:09:05 +0000 (10:09 +0200)
committerJoan Bonet Orantos <joan.orantos@arm.com>
Tue, 22 May 2018 10:20:23 +0000 (12:20 +0200)
The srcStageMask field in the subpass dependency was not strict
enough. This can cause that the incoming subpasses, that try to copy
samples from this subpass, may try to read content that may not be
 written yet.

Affects:

dEQP-VK.pipeline.multisample.min_sample_shading.min_*

Components: Vulkan

VK-GL-CTS issue: 1185

Change-Id: Ide5e3d2a709e8fe26d23ada1d20bf2eb27beffd8

external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp

index 6d8003d..baa6524 100644 (file)
@@ -1992,7 +1992,7 @@ void MultisampleRenderer::initialize (Context&                                                                    context,
                                {
                                        0u,                                                                                                     // deUint32                                                     srcSubpass
                                        1u + static_cast<deUint32>(i),                                          // deUint32                                                     dstSubpass
-                                       VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT,                                      // VkPipelineStageFlags                         srcStageMask
+                                       VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,          // VkPipelineStageFlags                         srcStageMask
                                        VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,                          // VkPipelineStageFlags                         dstStageMask
                                        VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                           // VkAccessFlags                                        srcAccessMask
                                        VK_ACCESS_INPUT_ATTACHMENT_READ_BIT,                            // VkAccessFlags                                        dstAccessMask