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
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
#include "tcuCompressedTexture.hpp"
#include "tcuTexture.hpp"
#include "tcuTextureUtil.hpp"
+#include "tcuAstcUtil.hpp"
#include "vkImageUtil.hpp"
#include "vktTestGroupUtil.hpp"
#include "vktTextureTestUtil.hpp"
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;
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");
}
{
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 },
{ 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 {
};
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;
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
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