Added ASTC format to compressed texture test.
authorAri Suonpaa <ari.suonpaa@siru.fi>
Tue, 31 Oct 2017 11:17:49 +0000 (13:17 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 24 Nov 2017 10:44:25 +0000 (05:44 -0500)
Added ASTC format to the compressed texutre test. Not much is
needed to change in test code since TCU library already supports
this format.

Affects:

dEQP-VK.texture.compressed.astc*

Components: Vulkan

VK-GL-CTS issue: 787

Change-Id: I764ee05479748bc19724bd2b4675c350e23e29c5

android/cts/master/vk-master.txt
external/vulkancts/modules/vulkan/texture/vktTextureCompressedFormatTests.cpp
external/vulkancts/mustpass/1.1.0/vk-default.txt

index 8531677..b13274c 100755 (executable)
@@ -251071,6 +251071,34 @@ dEQP-VK.texture.compressed.eac_r11_unorm_block_2d_pot
 dEQP-VK.texture.compressed.eac_r11_snorm_block_2d_pot
 dEQP-VK.texture.compressed.eac_r11g11_unorm_block_2d_pot
 dEQP-VK.texture.compressed.eac_r11g11_snorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_4x4_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_4x4_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_5x4_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_5x4_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_5x5_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_5x5_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_6x5_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_6x5_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_6x6_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_6x6_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x5_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x5_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x6_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x6_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x8_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x8_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x5_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x5_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x6_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x6_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x8_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x8_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x10_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x10_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_12x10_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_12x10_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_12x12_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_12x12_srgb_block_2d_pot
 dEQP-VK.texture.compressed.etc2_r8g8b8_unorm_block_2d_npot
 dEQP-VK.texture.compressed.etc2_r8g8b8_srgb_block_2d_npot
 dEQP-VK.texture.compressed.etc2_r8g8b8a1_unorm_block_2d_npot
@@ -251081,6 +251109,34 @@ dEQP-VK.texture.compressed.eac_r11_unorm_block_2d_npot
 dEQP-VK.texture.compressed.eac_r11_snorm_block_2d_npot
 dEQP-VK.texture.compressed.eac_r11g11_unorm_block_2d_npot
 dEQP-VK.texture.compressed.eac_r11g11_snorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_4x4_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_4x4_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_5x4_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_5x4_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_5x5_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_5x5_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_6x5_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_6x5_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_6x6_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_6x6_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x5_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x5_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x6_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x6_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x8_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x8_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x5_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x5_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x6_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x6_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x8_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x8_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x10_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x10_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_12x10_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_12x10_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_12x12_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_12x12_srgb_block_2d_npot
 dEQP-VK.geometry.input.basic_primitive.points
 dEQP-VK.geometry.input.basic_primitive.lines
 dEQP-VK.geometry.input.basic_primitive.line_strip
index ce39927..f080d48 100644 (file)
@@ -30,6 +30,7 @@
 #include "tcuCompressedTexture.hpp"
 #include "tcuTexture.hpp"
 #include "tcuTextureUtil.hpp"
+#include "tcuAstcUtil.hpp"
 #include "vkImageUtil.hpp"
 #include "vktTestGroupUtil.hpp"
 #include "vktTextureTestUtil.hpp"
@@ -101,8 +102,16 @@ tcu::TestStatus Compressed2DTestInstance::iterate (void)
        sampleParams.sampler                    = util::createSampler(m_testParameters.wrapS, m_testParameters.wrapT, m_testParameters.minFilter, m_testParameters.magFilter);
        sampleParams.samplerType                = SAMPLERTYPE_FLOAT;
        sampleParams.lodMode                    = LODMODE_EXACT;
-       sampleParams.colorBias                  = formatInfo.lookupBias;
-       sampleParams.colorScale                 = formatInfo.lookupScale;
+       if (isAstcFormat(m_compressedFormat))
+       {
+               sampleParams.colorBias                  = tcu::Vec4(0.0f);
+               sampleParams.colorScale                 = tcu::Vec4(1.0f);
+       }
+       else
+       {
+               sampleParams.colorBias                  = formatInfo.lookupBias;
+               sampleParams.colorScale                 = formatInfo.lookupScale;
+       }
 
        log << TestLog::Message << "Compare reference value = " << sampleParams.ref << TestLog::EndMessage;
 
@@ -118,7 +127,7 @@ tcu::TestStatus Compressed2DTestInstance::iterate (void)
        sampleTexture(tcu::SurfaceAccess(referenceFrame, pixelFormat), m_texture->getTexture(), &texCoord[0], sampleParams);
 
        // Compare and log.
-       const bool isOk = compareImages(log, referenceFrame, rendered, pixelFormat.getColorThreshold() + tcu::RGBA(1, 1, 1, 1));
+       const bool isOk = compareImages(log, referenceFrame, rendered, pixelFormat.getColorThreshold() + tcu::RGBA(2, 2, 2, 2));
 
        return isOk ? tcu::TestStatus::pass("Pass") : tcu::TestStatus::fail("Image verification failed");
 }
@@ -127,10 +136,9 @@ void populateTextureCompressedFormatTests (tcu::TestCaseGroup* compressedTexture
 {
        tcu::TestContext&       testCtx = compressedTextureTests->getTestContext();
 
-       // ETC2 and EAC compressed formats.
        const struct {
                const VkFormat  format;
-       } etc2Formats[] =
+       } formats[] =
        {
                { VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK             },
                { VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK              },
@@ -143,6 +151,35 @@ void populateTextureCompressedFormatTests (tcu::TestCaseGroup* compressedTexture
                { VK_FORMAT_EAC_R11_SNORM_BLOCK                 },
                { VK_FORMAT_EAC_R11G11_UNORM_BLOCK              },
                { VK_FORMAT_EAC_R11G11_SNORM_BLOCK              },
+
+               { VK_FORMAT_ASTC_4x4_UNORM_BLOCK                },
+               { VK_FORMAT_ASTC_4x4_SRGB_BLOCK                 },
+               { VK_FORMAT_ASTC_5x4_UNORM_BLOCK                },
+               { VK_FORMAT_ASTC_5x4_SRGB_BLOCK                 },
+               { VK_FORMAT_ASTC_5x5_UNORM_BLOCK                },
+               { VK_FORMAT_ASTC_5x5_SRGB_BLOCK                 },
+               { VK_FORMAT_ASTC_6x5_UNORM_BLOCK                },
+               { VK_FORMAT_ASTC_6x5_SRGB_BLOCK                 },
+               { VK_FORMAT_ASTC_6x6_UNORM_BLOCK                },
+               { VK_FORMAT_ASTC_6x6_SRGB_BLOCK                 },
+               { VK_FORMAT_ASTC_8x5_UNORM_BLOCK                },
+               { VK_FORMAT_ASTC_8x5_SRGB_BLOCK                 },
+               { VK_FORMAT_ASTC_8x6_UNORM_BLOCK                },
+               { VK_FORMAT_ASTC_8x6_SRGB_BLOCK                 },
+               { VK_FORMAT_ASTC_8x8_UNORM_BLOCK                },
+               { VK_FORMAT_ASTC_8x8_SRGB_BLOCK                 },
+               { VK_FORMAT_ASTC_10x5_UNORM_BLOCK               },
+               { VK_FORMAT_ASTC_10x5_SRGB_BLOCK                },
+               { VK_FORMAT_ASTC_10x6_UNORM_BLOCK               },
+               { VK_FORMAT_ASTC_10x6_SRGB_BLOCK                },
+               { VK_FORMAT_ASTC_10x8_UNORM_BLOCK               },
+               { VK_FORMAT_ASTC_10x8_SRGB_BLOCK                },
+               { VK_FORMAT_ASTC_10x10_UNORM_BLOCK              },
+               { VK_FORMAT_ASTC_10x10_SRGB_BLOCK               },
+               { VK_FORMAT_ASTC_12x10_UNORM_BLOCK              },
+               { VK_FORMAT_ASTC_12x10_SRGB_BLOCK               },
+               { VK_FORMAT_ASTC_12x12_UNORM_BLOCK              },
+               { VK_FORMAT_ASTC_12x12_SRGB_BLOCK               }
        };
 
        const struct {
@@ -156,13 +193,13 @@ void populateTextureCompressedFormatTests (tcu::TestCaseGroup* compressedTexture
        };
 
        for (int sizeNdx = 0; sizeNdx < DE_LENGTH_OF_ARRAY(sizes); sizeNdx++)
-       for (int formatNdx = 0; formatNdx < DE_LENGTH_OF_ARRAY(etc2Formats); formatNdx++)
+       for (int formatNdx = 0; formatNdx < DE_LENGTH_OF_ARRAY(formats); formatNdx++)
        {
-               const string    formatStr       = de::toString(getFormatStr(etc2Formats[formatNdx].format));
+               const string    formatStr       = de::toString(getFormatStr(formats[formatNdx].format));
                const string    nameBase        = de::toLower(formatStr.substr(10));
 
                Compressed2DTestParameters      testParameters;
-               testParameters.format           = etc2Formats[formatNdx].format;
+               testParameters.format           = formats[formatNdx].format;
                testParameters.width            = sizes[sizeNdx].width;
                testParameters.height           = sizes[sizeNdx].height;
                testParameters.minFilter        = tcu::Sampler::NEAREST;
index 4d0f7a5..86ac606 100755 (executable)
@@ -251347,6 +251347,34 @@ dEQP-VK.texture.compressed.eac_r11_unorm_block_2d_pot
 dEQP-VK.texture.compressed.eac_r11_snorm_block_2d_pot
 dEQP-VK.texture.compressed.eac_r11g11_unorm_block_2d_pot
 dEQP-VK.texture.compressed.eac_r11g11_snorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_4x4_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_4x4_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_5x4_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_5x4_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_5x5_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_5x5_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_6x5_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_6x5_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_6x6_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_6x6_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x5_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x5_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x6_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x6_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x8_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_8x8_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x5_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x5_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x6_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x6_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x8_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x8_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x10_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_10x10_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_12x10_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_12x10_srgb_block_2d_pot
+dEQP-VK.texture.compressed.astc_12x12_unorm_block_2d_pot
+dEQP-VK.texture.compressed.astc_12x12_srgb_block_2d_pot
 dEQP-VK.texture.compressed.etc2_r8g8b8_unorm_block_2d_npot
 dEQP-VK.texture.compressed.etc2_r8g8b8_srgb_block_2d_npot
 dEQP-VK.texture.compressed.etc2_r8g8b8a1_unorm_block_2d_npot
@@ -251357,6 +251385,34 @@ dEQP-VK.texture.compressed.eac_r11_unorm_block_2d_npot
 dEQP-VK.texture.compressed.eac_r11_snorm_block_2d_npot
 dEQP-VK.texture.compressed.eac_r11g11_unorm_block_2d_npot
 dEQP-VK.texture.compressed.eac_r11g11_snorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_4x4_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_4x4_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_5x4_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_5x4_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_5x5_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_5x5_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_6x5_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_6x5_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_6x6_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_6x6_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x5_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x5_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x6_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x6_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x8_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_8x8_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x5_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x5_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x6_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x6_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x8_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x8_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x10_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_10x10_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_12x10_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_12x10_srgb_block_2d_npot
+dEQP-VK.texture.compressed.astc_12x12_unorm_block_2d_npot
+dEQP-VK.texture.compressed.astc_12x12_srgb_block_2d_npot
 dEQP-VK.geometry.input.basic_primitive.points
 dEQP-VK.geometry.input.basic_primitive.lines
 dEQP-VK.geometry.input.basic_primitive.line_strip