Fix barrier in layer_copy_before_resolving tests
authorEilif Swensen <eilif.swensen@arm.com>
Wed, 27 Apr 2022 13:50:04 +0000 (15:50 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 13 May 2022 15:42:20 +0000 (15:42 +0000)
The pipeline barrier separating the clear command from the draw command
should have dstStageMask=VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
to ensure that the clear finished before the draw starts.

Affects:

dEQP-VK.api.copy_and_blit.*.resolve_image.layer_copy_before_resolving.*
dEQP-VK.api.copy_and_blit.*.resolve_image.copy_with_regions_before_resolving.*

Components: Vulkan

VK-GL-CTS issue: 3662

Change-Id: Idf91dcfa2e83760e3e9bc877ce11278217d8cbdc

external/vulkancts/modules/vulkan/api/vktApiCopiesAndBlittingTests.cpp

index 6439a43..50b8f34 100644 (file)
@@ -5846,7 +5846,7 @@ ResolveImageToImage::ResolveImageToImage (Context& context, TestParams params, c
                                        vk.cmdClearColorImage(*m_cmdBuffer, m_multisampledCopyImage.get(), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, &clearValue, 1u, &clearRange);
 
                                        const auto postClearMemoryBarrier = makeMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_TRANSFER_WRITE_BIT);
-                                       vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 1u, &postClearMemoryBarrier, 0, (const VkBufferMemoryBarrier*)DE_NULL, 0u, (const VkImageMemoryBarrier*)DE_NULL);
+                                       vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, (VkDependencyFlags)0, 1u, &postClearMemoryBarrier, 0, (const VkBufferMemoryBarrier*)DE_NULL, 0u, (const VkImageMemoryBarrier*)DE_NULL);
                                }
                        }