Remove invalid texture filtering test cases
authorToni Merilehti <toni.merilehti@siru.fi>
Tue, 26 Apr 2022 10:05:14 +0000 (13:05 +0300)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 12 May 2022 22:25:09 +0000 (22:25 +0000)
Remove the 3D texture filtering test cases that use YCbCr conversion
formats. Specification states that VK_IMAGE_TYPE_2D must be used
for formats that require a sampler YCbCr conversion.

Removed tests:
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.*

VK-GL-CTS Issue: 3646

Components: Vulkan

Change-Id: I31646db161da2f3d19d3f556b7bd39be6d261442

android/cts/master/vk-master-2021-03-01/texture.txt
android/cts/master/vk-master/texture.txt
external/vulkancts/framework/vulkan/vkImageUtil.cpp
external/vulkancts/framework/vulkan/vkImageUtil.hpp
external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp
external/vulkancts/mustpass/master/vk-default/texture.txt

index 446bfbb..0ecf567 100644 (file)
@@ -509,12 +509,6 @@ dEQP-VK.texture.filtering.2d_array.formats.a4b4g4r4_unorm.a4b4g4r4_unorm_nearest
 dEQP-VK.texture.filtering.2d_array.formats.a4b4g4r4_unorm.a4b4g4r4_unorm_linear_mipmap_nearest
 dEQP-VK.texture.filtering.2d_array.formats.a4b4g4r4_unorm.a4b4g4r4_unorm_nearest_mipmap_linear
 dEQP-VK.texture.filtering.2d_array.formats.a4b4g4r4_unorm.a4b4g4r4_unorm_linear_mipmap_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_linear
 dEQP-VK.texture.filtering.3d.formats.a4r4g4b4_unorm.a4r4g4b4_unorm_nearest
 dEQP-VK.texture.filtering.3d.formats.a4r4g4b4_unorm.a4r4g4b4_unorm_linear
 dEQP-VK.texture.filtering.3d.formats.a4r4g4b4_unorm.a4r4g4b4_unorm_nearest_mipmap_nearest
index 35ca5a7..22a221d 100644 (file)
@@ -1767,12 +1767,6 @@ dEQP-VK.texture.filtering.3d.formats.r5g6b5_unorm.r5g6b5_unorm_nearest_mipmap_ne
 dEQP-VK.texture.filtering.3d.formats.r5g6b5_unorm.r5g6b5_unorm_linear_mipmap_nearest
 dEQP-VK.texture.filtering.3d.formats.r5g6b5_unorm.r5g6b5_unorm_nearest_mipmap_linear
 dEQP-VK.texture.filtering.3d.formats.r5g6b5_unorm.r5g6b5_unorm_linear_mipmap_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_linear
 dEQP-VK.texture.filtering.3d.formats.r4g4b4a4_unorm.r4g4b4a4_unorm_nearest
 dEQP-VK.texture.filtering.3d.formats.r4g4b4a4_unorm.r4g4b4a4_unorm_linear
 dEQP-VK.texture.filtering.3d.formats.r4g4b4a4_unorm.r4g4b4a4_unorm_nearest_mipmap_nearest
index 79bb92e..563b955 100644 (file)
@@ -266,6 +266,51 @@ bool isYCbCrExtensionFormat (VkFormat format)
        }
 }
 
+bool isYCbCrConversionFormat (VkFormat format)
+{
+       switch (format)
+       {
+               case VK_FORMAT_G8B8G8R8_422_UNORM:
+               case VK_FORMAT_B8G8R8G8_422_UNORM:
+               case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
+               case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
+               case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:
+               case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:
+               case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:
+               case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:
+               case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:
+               case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:
+               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:
+               case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:
+               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:
+               case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:
+               case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:
+               case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:
+               case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:
+               case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:
+               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:
+               case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:
+               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:
+               case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:
+               case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:
+               case VK_FORMAT_G16B16G16R16_422_UNORM:
+               case VK_FORMAT_B16G16R16G16_422_UNORM:
+               case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:
+               case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:
+               case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:
+               case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:
+               case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:
+               case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT:
+               case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT:
+               case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT:
+               case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT:
+                       return true;
+
+               default:
+                       return false;
+       }
+}
+
 bool isYCbCr420Format (VkFormat format)
 {
        switch (format)
index 0bb0285..4770e37 100644 (file)
@@ -136,6 +136,7 @@ struct PlanarFormatDescription
 
 bool                                                   isYCbCrFormat                                   (VkFormat                                               format);
 bool                                                   isYCbCrExtensionFormat                  (VkFormat                                               format);
+bool                                                   isYCbCrConversionFormat                 (VkFormat                                               format);
 PlanarFormatDescription                        getPlanarFormatDescription              (VkFormat                                               format);
 int                                                            getPlaneCount                                   (VkFormat                                               format);
 deUint32                                               getMipmapCount                                  (VkFormat                                               format,
index ed35a98..7f3972a 100644 (file)
@@ -1664,6 +1664,11 @@ void populateTextureFilteringTests (tcu::TestCaseGroup* textureFilteringTests)
                // Formats.
                for (int fmtNdx = 0; fmtNdx < DE_LENGTH_OF_ARRAY(filterableFormatsByType); fmtNdx++)
                {
+                       // YCbCr conversion formats require that imageType is VK_IMAGE_TYPE_2D.
+                       // Skip for 3D texture filtering tests.
+                       if (isYCbCrConversionFormat(filterableFormatsByType[fmtNdx].format))
+                               continue;
+
                        const string                                    filterGroupName = filterableFormatsByType[fmtNdx].name;
                        de::MovePtr<tcu::TestCaseGroup> filterGroup             (new tcu::TestCaseGroup(testCtx, filterGroupName.c_str(), ""));
 
index a8390d7..7f06139 100644 (file)
@@ -1767,12 +1767,6 @@ dEQP-VK.texture.filtering.3d.formats.r5g6b5_unorm.r5g6b5_unorm_nearest_mipmap_ne
 dEQP-VK.texture.filtering.3d.formats.r5g6b5_unorm.r5g6b5_unorm_linear_mipmap_nearest
 dEQP-VK.texture.filtering.3d.formats.r5g6b5_unorm.r5g6b5_unorm_nearest_mipmap_linear
 dEQP-VK.texture.filtering.3d.formats.r5g6b5_unorm.r5g6b5_unorm_linear_mipmap_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_nearest
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_linear
-dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_linear
 dEQP-VK.texture.filtering.3d.formats.r4g4b4a4_unorm.r4g4b4a4_unorm_nearest
 dEQP-VK.texture.filtering.3d.formats.r4g4b4a4_unorm.r4g4b4a4_unorm_linear
 dEQP-VK.texture.filtering.3d.formats.r4g4b4a4_unorm.r4g4b4a4_unorm_nearest_mipmap_nearest