dEQP-VK.renderpass*.load_store_op_none.* tests depth-stencil format support check
authorNeslisah <Neslisah.Torosdagli@amd.com>
Thu, 12 Aug 2021 15:32:21 +0000 (11:32 -0400)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 22 Oct 2021 20:56:23 +0000 (20:56 +0000)
In this test case, depth stencil format is set to VK_FORMAT_D24_UNORM_S8_UINT by default without checking if it is supported or not. If this format is not supported, then the test case crashes without even giving "Not Supported" result.

In this update I defined a set of depth stencil formats, and added a separate test case for each depth_stencil format. If the depth_stencil format is not supported, "Not Supported" is returned.

Affects: dEQP-VK.renderpass*.load_store_op_none.*

Components: Vulkan
VK-GL-CTS issue: 3049

Change-Id: Ifea5d0955a8325ecbed7f27296da4120e473d463
(cherry picked from commit 79c44fc79b7d17b8c70d2469e113c764011c51c6)

android/cts/master/vk-master-2021-03-01/renderpass.txt
android/cts/master/vk-master-2021-03-01/renderpass2.txt
android/cts/master/vk-master/renderpass.txt
android/cts/master/vk-master/renderpass2.txt
external/vulkancts/modules/vulkan/renderpass/vktRenderPassLoadStoreOpNoneTests.cpp
external/vulkancts/mustpass/master/vk-default/renderpass.txt
external/vulkancts/mustpass/master/vk-default/renderpass2.txt

index e9a8ce1..b9780bc 100644 (file)
@@ -1359,8 +1359,28 @@ dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_load_store_op_
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_none_write_off
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_store
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_dontcare
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_load_store_op_none
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_none_write_off
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_store
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
 dEQP-VK.renderpass.multiple_subpasses_multiple_command_buffers.test
index 5767c7e..c6b99dc 100644 (file)
@@ -1368,10 +1368,30 @@ dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_load_store_op
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_none_write_off
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_store
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_dontcare
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_load_store_op_none
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_none_write_off
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_store
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
 dEQP-VK.renderpass2.multiple_subpasses_multiple_command_buffers.test
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.s8_uint.depth_zero_stencil_zero_testing_stencil_samplemask
 dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.s8_uint.depth_zero_stencil_zero_unused_resolve_testing_stencil_samplemask
index 5bd8908..6d32dba 100644 (file)
@@ -8815,10 +8815,30 @@ dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_load_store_op_
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_none_write_off
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_store
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_dontcare
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_load_store_op_none
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_none_write_off
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_store
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
 dEQP-VK.renderpass.dedicated_allocation.simple.color
 dEQP-VK.renderpass.dedicated_allocation.simple.depth
 dEQP-VK.renderpass.dedicated_allocation.simple.stencil
index da51e51..1caafb1 100644 (file)
@@ -6772,10 +6772,30 @@ dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_load_store_op
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_none_write_off
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_store
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_dontcare
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_load_store_op_none
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_none_write_off
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_store
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
 dEQP-VK.renderpass2.dedicated_allocation.simple.color
 dEQP-VK.renderpass2.dedicated_allocation.simple.depth
 dEQP-VK.renderpass2.dedicated_allocation.simple.stencil
index d961bb2..d7b1ac2 100644 (file)
@@ -100,6 +100,7 @@ struct TestParams
        std::vector<AttachmentParams>   attachments;
        std::vector<SubpassParams>              subpasses;
        RenderPassType                                  renderPassType;
+       VkFormat                                                depthStencilFormat;
        bool                                                    alphaBlend;
 };
 
@@ -158,6 +159,11 @@ deUint32 getFirstUsage (deUint32 attachmentIdx, const std::vector<SubpassParams>
        return ATTACHMENT_USAGE_UNDEFINED;
 }
 
+std::string getFormatCaseName(VkFormat format)
+{
+       return de::toLower(de::toString(getFormatStr(format)).substr(10));
+}
+
 template<typename AttachmentDesc, typename AttachmentRef, typename SubpassDesc, typename SubpassDep, typename RenderPassCreateInfo>
 Move<VkRenderPass> createRenderPass (const DeviceInterface&    vk,
                                                                         VkDevice                               vkDevice,
@@ -186,7 +192,7 @@ Move<VkRenderPass> createRenderPass (const DeviceInterface& vk,
 
                if (testParams.attachments[i].usage & ATTACHMENT_USAGE_DEPTH_STENCIL)
                {
-                       format = VK_FORMAT_D24_UNORM_S8_UINT;
+                       format = testParams.depthStencilFormat;
                }
                else
                {
@@ -554,11 +560,20 @@ tcu::TestStatus LoadStoreOpNoneTestInstance::iterate (void)
 
                if (att.verifyInner || att.verifyOuter) usage |= VK_IMAGE_USAGE_TRANSFER_SRC_BIT;
                if (att.init & ATTACHMENT_INIT_PRE) usage |= VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+
                if (att.usage & ATTACHMENT_USAGE_DEPTH_STENCIL)
                {
-                       format = VK_FORMAT_D24_UNORM_S8_UINT;
                        aspectFlags = VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT;
                        usage |= VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
+                       format = m_testParams.depthStencilFormat;
+
+                       VkImageFormatProperties         properties;
+                       VkResult result = m_context.getInstanceInterface().getPhysicalDeviceImageFormatProperties(
+                               m_context.getPhysicalDevice(), format, VK_IMAGE_TYPE_2D, VK_IMAGE_TILING_OPTIMAL, usage, 0u, &properties);
+                       if (result != VK_SUCCESS)
+                       {
+                               TCU_THROW(NotSupportedError, "Depth-stencil format not supported");
+                       }
                }
                else
                {
@@ -981,11 +996,11 @@ tcu::TestStatus LoadStoreOpNoneTestInstance::iterate (void)
 
                        if (m_testParams.attachments[i].usage & ATTACHMENT_USAGE_DEPTH)
                        {
-                               textureLevelResult = pipeline::readDepthAttachment(vk, vkDevice, queue, queueFamilyIndex, allocator, *attachmentImages[i], VK_FORMAT_D24_UNORM_S8_UINT, m_imageSize, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
+                               textureLevelResult = pipeline::readDepthAttachment(vk, vkDevice, queue, queueFamilyIndex, allocator, *attachmentImages[i], m_testParams.depthStencilFormat, m_imageSize, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
                        }
                        else if (m_testParams.attachments[i].usage & ATTACHMENT_USAGE_STENCIL)
                        {
-                               textureLevelResult = pipeline::readStencilAttachment(vk, vkDevice, queue, queueFamilyIndex, allocator, *attachmentImages[i], VK_FORMAT_D24_UNORM_S8_UINT, m_imageSize, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
+                               textureLevelResult = pipeline::readStencilAttachment(vk, vkDevice, queue, queueFamilyIndex, allocator, *attachmentImages[i], m_testParams.depthStencilFormat, m_imageSize, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
                        }
                        else
                        {
@@ -1274,106 +1289,224 @@ tcu::TestCaseGroup* createRenderPassLoadStoreOpNoneTests (tcu::TestContext& test
                opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "depth_load_op_none_store_op_dontcare", "", params));
        }
 
-       // Preinitialize attachment 0 (color) to green and attachment 1 (stencil) to 128.
-       // Draw a red rectangle using stencil testing with compare op 'greater' and reference of 255. The stencil test
-       // will pass. This is followed by another draw with a blue rectangle using the same stencil settings. This time
-       // the stencil test fails and nothing is written.
-       // After the renderpass the red color should remain inside the render area of the color buffer.
-       // Store op 'store' for stencil buffer makes the written values undefined, but the pixels outside
-       // render area should still contain the original value of 128.
+       std::vector<VkFormat>   formats = { VK_FORMAT_D16_UNORM_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT };
+
+       for (deUint32 f = 0; f < formats.size(); ++f)
        {
-               TestParams params;
-               params.alphaBlend = false;
-               params.renderPassType = renderPassType;
-               params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
-                                                                         VK_ATTACHMENT_LOAD_OP_LOAD,
-                                                                         VK_ATTACHMENT_STORE_OP_STORE,
-                                                                         ATTACHMENT_INIT_PRE,
-                                                                         true, red,
-                                                                         true, green});
-               params.attachments.push_back({ATTACHMENT_USAGE_STENCIL,
-                                                                         VK_ATTACHMENT_LOAD_OP_LOAD,
-                                                                         VK_ATTACHMENT_STORE_OP_NONE_EXT,
-                                                                         ATTACHMENT_INIT_PRE,
-                                                                         false, stencilInit,
-                                                                         true, stencilInit});
-               params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_STENCIL}}, 2u});
+               const std::string       formatName = getFormatCaseName(formats[f]);
+
+               // Preinitialize attachment 0 (color) to green and attachment 1 (depth) to 0.5.
+               // Draw a red rectangle using depth 1.0 and depth op 'greater'. Depth test will pass and update
+               // depth buffer to 1.0.
+               // This is followed by another draw with a blue rectangle using the same depth of 1.0. This time
+               // the depth test fails and nothing is written.
+               // After the renderpass the red color should remain inside the render area of the color buffer.
+               // Store op 'store' for depth buffer makes the written values undefined, but the pixels outside
+               // render area should still contain the original value of 0.5.
+               {
+                       TestParams params;
+                       params.alphaBlend = false;
+                       params.depthStencilFormat = formats[f];
+                       params.renderPassType = renderPassType;
+                       params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, red,
+                                                                                 true, green});
+                       params.attachments.push_back({ATTACHMENT_USAGE_DEPTH,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_NONE_EXT,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 false, depthInit,
+                                                                                 true, depthInit});
+                       params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_DEPTH}}, 2u});
+
+                       opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "depth_" + formatName + "_load_op_load_store_op_none", "", params));
+               }
 
-               opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "stencil_load_op_load_store_op_none", "", params));
-       }
+               // Preinitialize depth attachment to 0.5. Use a render pass with load and store ops none for the depth, but
+               // disable depth test which also disables depth writes. The depth attachment should have the original
+               // preinitialized value after the render pass.
+               {
+                       TestParams params;
+                       params.alphaBlend = false;
+                       params.depthStencilFormat = formats[f];
+                       params.renderPassType = renderPassType;
+                       params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, red,
+                                                                                 true, green});
+                       params.attachments.push_back({ATTACHMENT_USAGE_DEPTH,
+                                                                                 VK_ATTACHMENT_LOAD_OP_NONE_EXT,
+                                                                                 VK_ATTACHMENT_STORE_OP_NONE_EXT,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, depthInit,
+                                                                                 true, depthInit});
+                       params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_DEPTH | ATTACHMENT_USAGE_WRITE_OFF}}, 1u});
+
+                       opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "depth_" + formatName + "_load_op_none_store_op_none_write_off", "", params));
+               }
 
-       // Preinitialize stencil attachment to 128. Use a render pass with load and store ops none for the stencil, but
-       // disable stencil test which also disables stencil writes. The stencil attachment should have the original
-       // preinitialized value after the render pass.
-       {
-               TestParams params;
-               params.alphaBlend = false;
-               params.renderPassType = renderPassType;
-               params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
-                                                                         VK_ATTACHMENT_LOAD_OP_LOAD,
-                                                                         VK_ATTACHMENT_STORE_OP_STORE,
-                                                                         ATTACHMENT_INIT_PRE,
-                                                                         true, red,
-                                                                         true, green});
-               params.attachments.push_back({ATTACHMENT_USAGE_STENCIL,
-                                                                         VK_ATTACHMENT_LOAD_OP_NONE_EXT,
-                                                                         VK_ATTACHMENT_STORE_OP_NONE_EXT,
-                                                                         ATTACHMENT_INIT_PRE,
-                                                                         true, stencilInit,
-                                                                         true, stencilInit});
-               params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_STENCIL | ATTACHMENT_USAGE_WRITE_OFF}}, 1u});
+               // Preinitialize attachment 0 (color) to green and depth buffer to 0.5. During the render pass initialize attachment 1 (depth) to 0.25
+               // using cmdClearAttachments. Draw a red rectangle using depth 1.0 and depth op 'greater'. Depth test will pass and update
+               // depth buffer to 1.0. After the renderpass the color buffer should have red inside the render area and depth should have the
+               // shader updated value of 1.0.
+               {
+                       TestParams params;
+                       params.alphaBlend = false;
+                       params.depthStencilFormat = formats[f];
+                       params.renderPassType = renderPassType;
+                       params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, red,
+                                                                                 true, green});
+                       params.attachments.push_back({ATTACHMENT_USAGE_DEPTH,
+                                                                                 VK_ATTACHMENT_LOAD_OP_NONE_EXT,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE | ATTACHMENT_INIT_CMD_CLEAR,
+                                                                                 true, depthFull,
+                                                                                 true, depthInit});
+                       params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_DEPTH}}, 1u});
+
+                       opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "depth_" + formatName + "_load_op_none_store_op_store", "", params));
+               }
 
-               opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "stencil_load_op_none_store_op_none_write_off", "", params));
-       }
+               // Preinitialize attachment 0 (color) to green and depth buffer to 0.5. During the render pass initialize attachment 1 (depth) to 0.25
+               // using cmdClearAttachments. Draw a red rectangle using depth 1.0 and depth op 'greater' which will pass.
+               // After the renderpass the color buffer should have red inside the render area. Depth buffer contents inside render
+               // are is undefined because of store op 'don't care', but the outside should have the original value of 0.5.
+               {
+                       TestParams params;
+                       params.alphaBlend = false;
+                       params.depthStencilFormat = formats[f];
+                       params.renderPassType = renderPassType;
+                       params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, red,
+                                                                                 true, green});
+                       params.attachments.push_back({ATTACHMENT_USAGE_DEPTH,
+                                                                                 VK_ATTACHMENT_LOAD_OP_NONE_EXT,
+                                                                                 VK_ATTACHMENT_STORE_OP_DONT_CARE,
+                                                                                 ATTACHMENT_INIT_PRE | ATTACHMENT_INIT_CMD_CLEAR,
+                                                                                 false, depthFull,
+                                                                                 true, depthInit});
+                       params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_DEPTH}}, 1u});
+
+                       opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "depth_" + formatName + "_load_op_none_store_op_dontcare", "", params));
+               }
 
-       // Preinitialize attachment 0 (color) to green and stencil buffer to 128. During the render pass initialize attachment 1 (stencil) to 64
-       // using cmdClearAttachments. Draw a red rectangle using stencil reference of 255 and stencil op 'greater'. Stencil test will pass and update
-       // stencil buffer to 255. After the renderpass the color buffer should have red inside the render area and stencil should have the
-       // shader updated value of 255.
-       {
-               TestParams params;
-               params.alphaBlend = false;
-               params.renderPassType = renderPassType;
-               params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
-                                                                         VK_ATTACHMENT_LOAD_OP_LOAD,
-                                                                         VK_ATTACHMENT_STORE_OP_STORE,
-                                                                         ATTACHMENT_INIT_PRE,
-                                                                         true, red,
-                                                                         true, green});
-               params.attachments.push_back({ATTACHMENT_USAGE_STENCIL,
-                                                                         VK_ATTACHMENT_LOAD_OP_NONE_EXT,
-                                                                         VK_ATTACHMENT_STORE_OP_STORE,
-                                                                         ATTACHMENT_INIT_PRE | ATTACHMENT_INIT_CMD_CLEAR,
-                                                                         true, stencilFull,
-                                                                         true, stencilInit});
-               params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_STENCIL}}, 1u});
+               // Preinitialize attachment 0 (color) to green and attachment 1 (stencil) to 128.
+               // Draw a red rectangle using stencil testing with compare op 'greater' and reference of 255. The stencil test
+               // will pass. This is followed by another draw with a blue rectangle using the same stencil settings. This time
+               // the stencil test fails and nothing is written.
+               // After the renderpass the red color should remain inside the render area of the color buffer.
+               // Store op 'store' for stencil buffer makes the written values undefined, but the pixels outside
+               // render area should still contain the original value of 128.
+               {
+                       TestParams params;
+                       params.alphaBlend = false;
+                       params.depthStencilFormat = formats[f];
+                       params.renderPassType = renderPassType;
+                       params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, red,
+                                                                                 true, green});
+                       params.attachments.push_back({ATTACHMENT_USAGE_STENCIL,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_NONE_EXT,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 false, stencilInit,
+                                                                                 true, stencilInit});
+                       params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_STENCIL}}, 2u});
+
+                       opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "stencil_" + formatName + "_load_op_load_store_op_none", "", params));
+               }
 
-               opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "stencil_load_op_none_store_op_store", "", params));
-       }
+               // Preinitialize stencil attachment to 128. Use a render pass with load and store ops none for the stencil, but
+               // disable stencil test which also disables stencil writes. The stencil attachment should have the original
+               // preinitialized value after the render pass.
+               {
+                       TestParams params;
+                       params.alphaBlend = false;
+                       params.depthStencilFormat = formats[f];
+                       params.renderPassType = renderPassType;
+                       params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, red,
+                                                                                 true, green});
+                       params.attachments.push_back({ATTACHMENT_USAGE_STENCIL,
+                                                                                 VK_ATTACHMENT_LOAD_OP_NONE_EXT,
+                                                                                 VK_ATTACHMENT_STORE_OP_NONE_EXT,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, stencilInit,
+                                                                                 true, stencilInit});
+                       params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_STENCIL | ATTACHMENT_USAGE_WRITE_OFF}}, 1u});
+
+                       opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "stencil_" + formatName + "_load_op_none_store_op_none_write_off", "", params));
+               }
 
-       // Preinitialize attachment 0 (color) to green and stencil buffer to 128. During the render pass initialize attachment 1 (stencil) to 64
-       // using cmdClearAttachments. Draw a red rectangle using stencil reference 255 and stencil op 'greater' which will pass.
-       // After the renderpass the color buffer should have red inside the render area. Stencil buffer contents inside render
-       // are is undefined because of store op 'don't care', but the outside should have the original value of 128.
-       {
-               TestParams params;
-               params.alphaBlend = false;
-               params.renderPassType = renderPassType;
-               params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
-                                                                         VK_ATTACHMENT_LOAD_OP_LOAD,
-                                                                         VK_ATTACHMENT_STORE_OP_STORE,
-                                                                         ATTACHMENT_INIT_PRE,
-                                                                         true, red,
-                                                                         true, green});
-               params.attachments.push_back({ATTACHMENT_USAGE_STENCIL,
-                                                                         VK_ATTACHMENT_LOAD_OP_NONE_EXT,
-                                                                         VK_ATTACHMENT_STORE_OP_DONT_CARE,
-                                                                         ATTACHMENT_INIT_PRE | ATTACHMENT_INIT_CMD_CLEAR,
-                                                                         false, stencilFull,
-                                                                         true, stencilInit});
-               params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_STENCIL}}, 1u});
+               // Preinitialize attachment 0 (color) to green and stencil buffer to 128. During the render pass initialize attachment 1 (stencil) to 64
+               // using cmdClearAttachments. Draw a red rectangle using stencil reference of 255 and stencil op 'greater'. Stencil test will pass and update
+               // stencil buffer to 255. After the renderpass the color buffer should have red inside the render area and stencil should have the
+               // shader updated value of 255.
+               {
+                       TestParams params;
+                       params.alphaBlend = false;
+                       params.depthStencilFormat = formats[f];
+                       params.renderPassType = renderPassType;
+                       params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, red,
+                                                                                 true, green});
+                       params.attachments.push_back({ATTACHMENT_USAGE_STENCIL,
+                                                                                 VK_ATTACHMENT_LOAD_OP_NONE_EXT,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE | ATTACHMENT_INIT_CMD_CLEAR,
+                                                                                 true, stencilFull,
+                                                                                 true, stencilInit});
+                       params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_STENCIL}}, 1u});
+
+                       opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "stencil_" + formatName + "_load_op_none_store_op_store", "", params));
+               }
 
-               opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "stencil_load_op_none_store_op_dontcare", "", params));
+               // Preinitialize attachment 0 (color) to green and stencil buffer to 128. During the render pass initialize attachment 1 (stencil) to 64
+               // using cmdClearAttachments. Draw a red rectangle using stencil reference 255 and stencil op 'greater' which will pass.
+               // After the renderpass the color buffer should have red inside the render area. Stencil buffer contents inside render
+               // are is undefined because of store op 'don't care', but the outside should have the original value of 128.
+               {
+                       TestParams params;
+                       params.alphaBlend = false;
+                       params.depthStencilFormat = formats[f];
+                       params.renderPassType = renderPassType;
+                       params.attachments.push_back({ATTACHMENT_USAGE_COLOR,
+                                                                                 VK_ATTACHMENT_LOAD_OP_LOAD,
+                                                                                 VK_ATTACHMENT_STORE_OP_STORE,
+                                                                                 ATTACHMENT_INIT_PRE,
+                                                                                 true, red,
+                                                                                 true, green});
+                       params.attachments.push_back({ATTACHMENT_USAGE_STENCIL,
+                                                                                 VK_ATTACHMENT_LOAD_OP_NONE_EXT,
+                                                                                 VK_ATTACHMENT_STORE_OP_DONT_CARE,
+                                                                                 ATTACHMENT_INIT_PRE | ATTACHMENT_INIT_CMD_CLEAR,
+                                                                                 false, stencilFull,
+                                                                                 true, stencilInit});
+                       params.subpasses.push_back({{{0u, ATTACHMENT_USAGE_COLOR}, {1u, ATTACHMENT_USAGE_STENCIL}}, 1u});
+
+                       opNoneTests->addChild(new LoadStoreOpNoneTest(testCtx, "stencil_" + formatName + "_load_op_none_store_op_dontcare", "", params));
+               }
        }
 
        return opNoneTests.release();
index 5bd8908..6d32dba 100644 (file)
@@ -8815,10 +8815,30 @@ dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_load_store_op_
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_none_write_off
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_store
 dEQP-VK.renderpass.suballocation.load_store_op_none.depth_load_op_none_store_op_dontcare
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_load_store_op_none
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_none_write_off
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_store
-dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
 dEQP-VK.renderpass.dedicated_allocation.simple.color
 dEQP-VK.renderpass.dedicated_allocation.simple.depth
 dEQP-VK.renderpass.dedicated_allocation.simple.stencil
index da51e51..1caafb1 100644 (file)
@@ -6772,10 +6772,30 @@ dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_load_store_op
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_none_write_off
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_store
 dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_load_op_none_store_op_dontcare
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_load_store_op_none
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_none_write_off
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_store
-dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d16_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d24_unorm_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.depth_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_load_store_op_none
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_none_write_off
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_store
+dEQP-VK.renderpass2.suballocation.load_store_op_none.stencil_d32_sfloat_s8_uint_load_op_none_store_op_dontcare
 dEQP-VK.renderpass2.dedicated_allocation.simple.color
 dEQP-VK.renderpass2.dedicated_allocation.simple.depth
 dEQP-VK.renderpass2.dedicated_allocation.simple.stencil