Fix crashes on depth stencil resolve tests with separate layouts
authorSamuel Iglesias Gonsálvez <siglesias@igalia.com>
Tue, 28 Sep 2021 09:05:30 +0000 (11:05 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 7 Oct 2021 20:53:03 +0000 (20:53 +0000)
Mesa drivers were crashing in depth stencil resolve tests when
used with separate layouts.

The issue was that if layout only specifies the layout of the
depth aspect of the attachment, the layout of the stencil aspect
is specified by the stencilLayout member of a
VkAttachmentReferenceStencilLayout structure included in the
pNext chain. We were not setting it.

Affected tests:

   dEQP-VK.renderpass2.depth_stencil_resolve.*separate_layouts*

Components: Vulkan
VK-GL-CTS issue: 3157

Change-Id: I72f8fdba88717ab0442501911fb26a7469da65d8
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp

index ce2092c..e27aed6 100644 (file)
@@ -528,7 +528,7 @@ Move<VkRenderPass> DepthStencilResolveTest::createRenderPass (void)
        AttachmentReference2 singlesampleAttachmentRef                  // VkAttachmentReference2
        (
                                                                                                                                // VkStructureType                                      sType;
-               DE_NULL,                                                                                                // const void*                                          pNext;
+               attachmentRefStencil,                                                                   // const void*                                          pNext;
                (m_config.unusedResolve ? VK_ATTACHMENT_UNUSED : 1u),   // deUint32                                                     attachment;
                layout,                                                                                                 // VkImageLayout                                        layout;
                0u                                                                                                              // VkImageAspectFlags                           aspectMask;