From 855536826c62708579fd6ac9f6e1829cde228095 Mon Sep 17 00:00:00 2001 From: Toni Merilehti Date: Tue, 26 Apr 2022 13:05:14 +0300 Subject: [PATCH] Remove invalid texture filtering test cases 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 --- .../cts/master/vk-master-2021-03-01/texture.txt | 6 --- android/cts/master/vk-master/texture.txt | 6 --- .../vulkancts/framework/vulkan/vkImageUtil.cpp | 45 ++++++++++++++++++++++ .../vulkancts/framework/vulkan/vkImageUtil.hpp | 1 + .../vulkan/texture/vktTextureFilteringTests.cpp | 5 +++ .../mustpass/master/vk-default/texture.txt | 6 --- 6 files changed, 51 insertions(+), 18 deletions(-) diff --git a/android/cts/master/vk-master-2021-03-01/texture.txt b/android/cts/master/vk-master-2021-03-01/texture.txt index 446bfbb..0ecf567 100644 --- a/android/cts/master/vk-master-2021-03-01/texture.txt +++ b/android/cts/master/vk-master-2021-03-01/texture.txt @@ -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 diff --git a/android/cts/master/vk-master/texture.txt b/android/cts/master/vk-master/texture.txt index 35ca5a7..22a221d 100644 --- a/android/cts/master/vk-master/texture.txt +++ b/android/cts/master/vk-master/texture.txt @@ -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 diff --git a/external/vulkancts/framework/vulkan/vkImageUtil.cpp b/external/vulkancts/framework/vulkan/vkImageUtil.cpp index 79bb92e..563b955 100644 --- a/external/vulkancts/framework/vulkan/vkImageUtil.cpp +++ b/external/vulkancts/framework/vulkan/vkImageUtil.cpp @@ -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) diff --git a/external/vulkancts/framework/vulkan/vkImageUtil.hpp b/external/vulkancts/framework/vulkan/vkImageUtil.hpp index 0bb0285..4770e37 100644 --- a/external/vulkancts/framework/vulkan/vkImageUtil.hpp +++ b/external/vulkancts/framework/vulkan/vkImageUtil.hpp @@ -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, diff --git a/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp b/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp index ed35a98..7f3972a 100644 --- a/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp +++ b/external/vulkancts/modules/vulkan/texture/vktTextureFilteringTests.cpp @@ -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 filterGroup (new tcu::TestCaseGroup(testCtx, filterGroupName.c_str(), "")); diff --git a/external/vulkancts/mustpass/master/vk-default/texture.txt b/external/vulkancts/mustpass/master/vk-default/texture.txt index a8390d7..7f06139 100644 --- a/external/vulkancts/mustpass/master/vk-default/texture.txt +++ b/external/vulkancts/mustpass/master/vk-default/texture.txt @@ -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 -- 2.7.4