}
}
+/*--------------------------------------------------------------------*//*!
+ * \brief Map compressed GL format to generic compressed format.
+ *
+ * Maps compressed GL format to generic compressed format.
+ * If no mapping is found, throws tcu::InternalError.
+ *
+ * \param GL compressed texture format.
+ * \return format Generic compressed format.
+ *//*--------------------------------------------------------------------*/
+tcu::CompressedTexFormat mapGLCompressedTexFormat (deUint32 format)
+{
+ switch (format)
+ {
+ case GL_ETC1_RGB8_OES: return tcu::COMPRESSEDTEXFORMAT_ETC1_RGB8;
+ case GL_COMPRESSED_R11_EAC: return tcu::COMPRESSEDTEXFORMAT_EAC_R11;
+ case GL_COMPRESSED_SIGNED_R11_EAC: return tcu::COMPRESSEDTEXFORMAT_EAC_SIGNED_R11;
+ case GL_COMPRESSED_RG11_EAC: return tcu::COMPRESSEDTEXFORMAT_EAC_RG11;
+ case GL_COMPRESSED_SIGNED_RG11_EAC: return tcu::COMPRESSEDTEXFORMAT_EAC_SIGNED_RG11;
+ case GL_COMPRESSED_RGB8_ETC2: return tcu::COMPRESSEDTEXFORMAT_ETC2_RGB8;
+ case GL_COMPRESSED_SRGB8_ETC2: return tcu::COMPRESSEDTEXFORMAT_ETC2_SRGB8;
+ case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: return tcu::COMPRESSEDTEXFORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1;
+ case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: return tcu::COMPRESSEDTEXFORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1;
+ case GL_COMPRESSED_RGBA8_ETC2_EAC: return tcu::COMPRESSEDTEXFORMAT_ETC2_EAC_RGBA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: return tcu::COMPRESSEDTEXFORMAT_ETC2_EAC_SRGB8_ALPHA8;
+
+ case GL_COMPRESSED_RGBA_ASTC_4x4_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_4x4_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_5x4_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_5x4_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_5x5_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_5x5_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_6x5_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_6x5_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_6x6_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_6x6_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_8x5_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_8x5_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_8x6_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_8x6_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_8x8_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_8x8_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_10x5_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_10x5_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_10x6_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_10x6_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_10x8_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_10x8_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_10x10_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_10x10_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_12x10_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_12x10_RGBA;
+ case GL_COMPRESSED_RGBA_ASTC_12x12_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_12x12_RGBA;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_4x4_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_5x4_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_5x5_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_6x5_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_6x6_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_8x5_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_8x6_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_8x8_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_10x5_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_10x6_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_10x8_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_10x10_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_12x10_SRGB8_ALPHA8;
+ case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: return tcu::COMPRESSEDTEXFORMAT_ASTC_12x12_SRGB8_ALPHA8;
+
+ default:
+ throw tcu::InternalError("Can't map compressed GL format to compressed format");
+ }
+}
+
static tcu::TextureFormat::ChannelType mapGLChannelType (deUint32 dataType, bool normalized)
{
// \note Normalized bit is ignored where it doesn't apply.