Fix Image layout transitions for diff_attachments_*
authorTony Zlatinski <tzlatinski@nvidia.com>
Thu, 13 Aug 2020 16:26:45 +0000 (11:26 -0500)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 20 Aug 2020 18:29:18 +0000 (14:29 -0400)
Fix an incorrect image layout transition before
using images as COLOR ATTACHMENT in a render pass
for the dEQP-VK.pipeline.framebuffer_attachment.diff_attachments_*
tests.
After the clear operation, the test under question,
should have transitioned the images to
COLOR_ATTACHMENT_OPTIMAL with ACCESS_COLOR_ATTACHMENT_WRITE.
Instead, the layout was incorrectly transitioned to
VK_ACCESS_COLOR_ATTACHMENT_READ_BIT / VK_IMAGE_LAYOUT_GENERAL.

Affects:
dEQP-VK.pipeline.framebuffer_attachment.diff_attachments_*

Components: Vulkan

VK-GL-CTS issue: 2545

Change-Id: I815b1cf459b033f02871eebff5b71cb1a45b9d1c

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

index 9c96f9c..f525da1 100644 (file)
@@ -1151,9 +1151,9 @@ tcu::TestStatus testDifferentAttachmentSizes (Context& context, const CaseDef ca
                                        VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,                                                                                                 // VkStructureType                      sType;
                                        DE_NULL,                                                                                                                                                                // const void*                          pNext;
                                        VK_ACCESS_TRANSFER_WRITE_BIT,                                                                                                                   // VkAccessFlags                        srcAccessMask;
-                                       VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,                                                                                                    // VkAccessFlags                        dstAccessMask;
+                                       VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,                                                                                                   // VkAccessFlags                        dstAccessMask;
                                        VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,                                                                                                   // VkImageLayout                        oldLayout;
-                                       VK_IMAGE_LAYOUT_GENERAL,                                                                                                                                // VkImageLayout                        newLayout;
+                                       VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,                                                                                               // VkImageLayout                        newLayout;
                                        VK_QUEUE_FAMILY_IGNORED,                                                                                                                                // deUint32                                     srcQueueFamilyIndex;
                                        VK_QUEUE_FAMILY_IGNORED,                                                                                                                                // deUint32                                     destQueueFamilyIndex;
                                        caseDef.multisample ? *msColorImages[renderTargetIdx] : *colorImages[renderTargetIdx],  // VkImage                                      image;