diff --git a/doc/opengl-support.dox b/doc/opengl-support.dox index d140b2734..151cc5ce9 100644 --- a/doc/opengl-support.dox +++ b/doc/opengl-support.dox @@ -234,8 +234,8 @@ GLSL 4.50 | done Extension | Status ------------------------------------------- | ------ @extension{ARB,robustness} | done -@extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | | -@extension{KHR,texture_compression_astc_hdr} | | +@extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | done +@extension{KHR,texture_compression_astc_hdr} | done @extension{ARB,robustness_isolation} | done @extension{ARB,bindless_texture} | | @extension{ARB,compute_variable_group_size} | | @@ -371,8 +371,8 @@ Extension | Status @es_extension{EXT,texture_buffer} | done @es_extension{EXT,texture_cube_map_array} | done @es_extension{EXT,primitive_bounding_box} | | -@es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | | -@es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} | | +@es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | done +@es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} | done @es_extension{KHR,debug} | see above @es_extension2{KHR,blend_equation_advanced,blend_equation_advanced} | | @es_extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | | diff --git a/src/Magnum/AbstractTexture.cpp b/src/Magnum/AbstractTexture.cpp index 284986718..d15579e3b 100644 --- a/src/Magnum/AbstractTexture.cpp +++ b/src/Magnum/AbstractTexture.cpp @@ -646,6 +646,36 @@ ColorFormat AbstractTexture::imageFormatForInternalFormat(const TextureFormat in case TextureFormat::CompressedRGBAS3tcDxt1: case TextureFormat::CompressedRGBAS3tcDxt3: case TextureFormat::CompressedRGBAS3tcDxt5: + #ifndef MAGNUM_TARGET_WEBGL + case TextureFormat::CompressedRGBAAstc4x4: + case TextureFormat::CompressedSRGB8Alpha8Astc4x4: + case TextureFormat::CompressedRGBAAstc5x4: + case TextureFormat::CompressedSRGB8Alpha8Astc5x4: + case TextureFormat::CompressedRGBAAstc5x5: + case TextureFormat::CompressedSRGB8Alpha8Astc5x5: + case TextureFormat::CompressedRGBAAstc6x5: + case TextureFormat::CompressedSRGB8Alpha8Astc6x5: + case TextureFormat::CompressedRGBAAstc6x6: + case TextureFormat::CompressedSRGB8Alpha8Astc6x6: + case TextureFormat::CompressedRGBAAstc8x5: + case TextureFormat::CompressedSRGB8Alpha8Astc8x5: + case TextureFormat::CompressedRGBAAstc8x6: + case TextureFormat::CompressedSRGB8Alpha8Astc8x6: + case TextureFormat::CompressedRGBAAstc8x8: + case TextureFormat::CompressedSRGB8Alpha8Astc8x8: + case TextureFormat::CompressedRGBAAstc10x5: + case TextureFormat::CompressedSRGB8Alpha8Astc10x5: + case TextureFormat::CompressedRGBAAstc10x6: + case TextureFormat::CompressedSRGB8Alpha8Astc10x6: + case TextureFormat::CompressedRGBAAstc10x8: + case TextureFormat::CompressedSRGB8Alpha8Astc10x8: + case TextureFormat::CompressedRGBAAstc10x10: + case TextureFormat::CompressedSRGB8Alpha8Astc10x10: + case TextureFormat::CompressedRGBAAstc12x10: + case TextureFormat::CompressedSRGB8Alpha8Astc12x10: + case TextureFormat::CompressedRGBAAstc12x12: + case TextureFormat::CompressedSRGB8Alpha8Astc12x12: + #endif return ColorFormat::RGBA; #ifndef MAGNUM_TARGET_GLES2 @@ -756,6 +786,36 @@ ColorType AbstractTexture::imageTypeForInternalFormat(const TextureFormat intern case TextureFormat::CompressedRGBAS3tcDxt1: case TextureFormat::CompressedRGBAS3tcDxt3: case TextureFormat::CompressedRGBAS3tcDxt5: + #ifndef MAGNUM_TARGET_WEBGL + case TextureFormat::CompressedRGBAAstc4x4: + case TextureFormat::CompressedSRGB8Alpha8Astc4x4: + case TextureFormat::CompressedRGBAAstc5x4: + case TextureFormat::CompressedSRGB8Alpha8Astc5x4: + case TextureFormat::CompressedRGBAAstc5x5: + case TextureFormat::CompressedSRGB8Alpha8Astc5x5: + case TextureFormat::CompressedRGBAAstc6x5: + case TextureFormat::CompressedSRGB8Alpha8Astc6x5: + case TextureFormat::CompressedRGBAAstc6x6: + case TextureFormat::CompressedSRGB8Alpha8Astc6x6: + case TextureFormat::CompressedRGBAAstc8x5: + case TextureFormat::CompressedSRGB8Alpha8Astc8x5: + case TextureFormat::CompressedRGBAAstc8x6: + case TextureFormat::CompressedSRGB8Alpha8Astc8x6: + case TextureFormat::CompressedRGBAAstc8x8: + case TextureFormat::CompressedSRGB8Alpha8Astc8x8: + case TextureFormat::CompressedRGBAAstc10x5: + case TextureFormat::CompressedSRGB8Alpha8Astc10x5: + case TextureFormat::CompressedRGBAAstc10x6: + case TextureFormat::CompressedSRGB8Alpha8Astc10x6: + case TextureFormat::CompressedRGBAAstc10x8: + case TextureFormat::CompressedSRGB8Alpha8Astc10x8: + case TextureFormat::CompressedRGBAAstc10x10: + case TextureFormat::CompressedSRGB8Alpha8Astc10x10: + case TextureFormat::CompressedRGBAAstc12x10: + case TextureFormat::CompressedSRGB8Alpha8Astc12x10: + case TextureFormat::CompressedRGBAAstc12x12: + case TextureFormat::CompressedSRGB8Alpha8Astc12x12: + #endif return ColorType::UnsignedByte; #ifndef MAGNUM_TARGET_GLES2 diff --git a/src/Magnum/ColorFormat.cpp b/src/Magnum/ColorFormat.cpp index b53bca5bc..9fc0b9db0 100644 --- a/src/Magnum/ColorFormat.cpp +++ b/src/Magnum/ColorFormat.cpp @@ -170,6 +170,36 @@ Debug operator<<(Debug debug, const CompressedColorFormat value) { _c(RGBAS3tcDxt1) _c(RGBAS3tcDxt3) _c(RGBAS3tcDxt5) + #ifndef MAGNUM_TARGET_WEBGL + _c(RGBAAstc4x4) + _c(SRGB8Alpha8Astc4x4) + _c(RGBAAstc5x4) + _c(SRGB8Alpha8Astc5x4) + _c(RGBAAstc5x5) + _c(SRGB8Alpha8Astc5x5) + _c(RGBAAstc6x5) + _c(SRGB8Alpha8Astc6x5) + _c(RGBAAstc6x6) + _c(SRGB8Alpha8Astc6x6) + _c(RGBAAstc8x5) + _c(SRGB8Alpha8Astc8x5) + _c(RGBAAstc8x6) + _c(SRGB8Alpha8Astc8x6) + _c(RGBAAstc8x8) + _c(SRGB8Alpha8Astc8x8) + _c(RGBAAstc10x5) + _c(SRGB8Alpha8Astc10x5) + _c(RGBAAstc10x6) + _c(SRGB8Alpha8Astc10x6) + _c(RGBAAstc10x8) + _c(SRGB8Alpha8Astc10x8) + _c(RGBAAstc10x10) + _c(SRGB8Alpha8Astc10x10) + _c(RGBAAstc12x10) + _c(SRGB8Alpha8Astc12x10) + _c(RGBAAstc12x12) + _c(SRGB8Alpha8Astc12x12) + #endif #undef _c } diff --git a/src/Magnum/ColorFormat.h b/src/Magnum/ColorFormat.h index e6d5bd2c1..7a686135e 100644 --- a/src/Magnum/ColorFormat.h +++ b/src/Magnum/ColorFormat.h @@ -795,7 +795,401 @@ enum class CompressedColorFormat: GLenum { * @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc} */ - RGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT + RGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, + + #ifndef MAGNUM_TARGET_WEBGL + /** + * ASTC compressed RGBA with 4x4 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc4x4 = GL_COMPRESSED_RGBA_ASTC_4x4_KHR, + + /** + * ASTC compressed sRGB with alpha with 4x4 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, + + /** + * ASTC compressed RGBA with 5x4 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc5x4 = GL_COMPRESSED_RGBA_ASTC_5x4_KHR, + + /** + * ASTC compressed sRGB with alpha with 5x4 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, + + /** + * ASTC compressed RGBA with 5x5 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc5x5 = GL_COMPRESSED_RGBA_ASTC_5x5_KHR, + + /** + * ASTC compressed sRGB with alpha with 5x5 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, + + /** + * ASTC compressed RGBA with 6x5 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc6x5 = GL_COMPRESSED_RGBA_ASTC_6x5_KHR, + + /** + * ASTC compressed sRGB with alpha with 6x5 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, + + /** + * ASTC compressed RGBA with 6x6 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc6x6 = GL_COMPRESSED_RGBA_ASTC_6x6_KHR, + + /** + * ASTC compressed sRGB with alpha with 6x6 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, + + /** + * ASTC compressed RGBA with 8x5 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc8x5 = GL_COMPRESSED_RGBA_ASTC_8x5_KHR, + + /** + * ASTC compressed sRGB with alpha with 8x5 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc8x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, + + /** + * ASTC compressed RGBA with 8x6 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc8x6 = GL_COMPRESSED_RGBA_ASTC_8x6_KHR, + + /** + * ASTC compressed sRGB with alpha with 8x6 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc8x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, + + /** + * ASTC compressed RGBA with 8x8 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc8x8 = GL_COMPRESSED_RGBA_ASTC_8x8_KHR, + + /** + * ASTC compressed sRGB with alpha with 8x8 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc8x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, + + /** + * ASTC compressed RGBA with 10x5 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc10x5 = GL_COMPRESSED_RGBA_ASTC_10x5_KHR, + + /** + * ASTC compressed sRGB with alpha with 10x5 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc10x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, + + /** + * ASTC compressed RGBA with 10x6 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc10x6 = GL_COMPRESSED_RGBA_ASTC_10x6_KHR, + + /** + * ASTC compressed sRGB with alpha with 10x6 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc10x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, + + /** + * ASTC compressed RGBA with 10x8 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc10x8 = GL_COMPRESSED_RGBA_ASTC_10x8_KHR, + + /** + * ASTC compressed sRGB with alpha with 10x8 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc10x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, + + /** + * ASTC compressed RGBA with 10x10 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc10x10 = GL_COMPRESSED_RGBA_ASTC_10x10_KHR, + + /** + * ASTC compressed sRGB with alpha with 10x10 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc10x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, + + /** + * ASTC compressed RGBA with 12x10 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc12x10 = GL_COMPRESSED_RGBA_ASTC_12x10_KHR, + + /** + * ASTC compressed sRGB with alpha with 12x10 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc12x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, + + /** + * ASTC compressed RGBA with 12x12 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + RGBAAstc12x12 = GL_COMPRESSED_RGBA_ASTC_12x12_KHR, + + /** + * ASTC compressed sRGB with alpha with 12x12 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + SRGB8Alpha8Astc12x12 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, + #endif }; /** @debugoperatorenum{Magnum::ColorFormat} */ diff --git a/src/Magnum/TextureFormat.h b/src/Magnum/TextureFormat.h index dba45efd6..b25d2f295 100644 --- a/src/Magnum/TextureFormat.h +++ b/src/Magnum/TextureFormat.h @@ -1056,6 +1056,400 @@ enum class TextureFormat: GLenum { */ CompressedRGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, + #ifndef MAGNUM_TARGET_WEBGL + /** + * ASTC compressed RGBA with 4x4 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc4x4 = GL_COMPRESSED_RGBA_ASTC_4x4_KHR, + + /** + * ASTC compressed sRGB with alpha with 4x4 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, + + /** + * ASTC compressed RGBA with 5x4 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc5x4 = GL_COMPRESSED_RGBA_ASTC_5x4_KHR, + + /** + * ASTC compressed sRGB with alpha with 5x4 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, + + /** + * ASTC compressed RGBA with 5x5 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc5x5 = GL_COMPRESSED_RGBA_ASTC_5x5_KHR, + + /** + * ASTC compressed sRGB with alpha with 5x5 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, + + /** + * ASTC compressed RGBA with 6x5 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc6x5 = GL_COMPRESSED_RGBA_ASTC_6x5_KHR, + + /** + * ASTC compressed sRGB with alpha with 6x5 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, + + /** + * ASTC compressed RGBA with 6x6 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc6x6 = GL_COMPRESSED_RGBA_ASTC_6x6_KHR, + + /** + * ASTC compressed sRGB with alpha with 6x6 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, + + /** + * ASTC compressed RGBA with 8x5 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc8x5 = GL_COMPRESSED_RGBA_ASTC_8x5_KHR, + + /** + * ASTC compressed sRGB with alpha with 8x5 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc8x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, + + /** + * ASTC compressed RGBA with 8x6 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc8x6 = GL_COMPRESSED_RGBA_ASTC_8x6_KHR, + + /** + * ASTC compressed sRGB with alpha with 8x6 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc8x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, + + /** + * ASTC compressed RGBA with 8x8 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc8x8 = GL_COMPRESSED_RGBA_ASTC_8x8_KHR, + + /** + * ASTC compressed sRGB with alpha with 8x8 blocks. **Available only on 2D, + * 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc8x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, + + /** + * ASTC compressed RGBA with 10x5 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc10x5 = GL_COMPRESSED_RGBA_ASTC_10x5_KHR, + + /** + * ASTC compressed sRGB with alpha with 10x5 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc10x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, + + /** + * ASTC compressed RGBA with 10x6 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc10x6 = GL_COMPRESSED_RGBA_ASTC_10x6_KHR, + + /** + * ASTC compressed sRGB with alpha with 10x6 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc10x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, + + /** + * ASTC compressed RGBA with 10x8 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc10x8 = GL_COMPRESSED_RGBA_ASTC_10x8_KHR, + + /** + * ASTC compressed sRGB with alpha with 10x8 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc10x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, + + /** + * ASTC compressed RGBA with 10x10 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc10x10 = GL_COMPRESSED_RGBA_ASTC_10x10_KHR, + + /** + * ASTC compressed sRGB with alpha with 10x10 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc10x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, + + /** + * ASTC compressed RGBA with 12x10 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc12x10 = GL_COMPRESSED_RGBA_ASTC_12x10_KHR, + + /** + * ASTC compressed sRGB with alpha with 12x10 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc12x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, + + /** + * ASTC compressed RGBA with 12x12 blocks. **Available only on 2D, 3D, 2D + * array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedRGBAAstc12x12 = GL_COMPRESSED_RGBA_ASTC_12x12_KHR, + + /** + * ASTC compressed sRGB with alpha with 12x12 blocks. **Available only on + * 2D, 3D, 2D array, cube map and cube map array textures.** + * @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_extension Extension @extension{KHR,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/ + * @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} + * @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} + * for 3D textures and HDR profile + * @requires_gles ASTC texture compression is not available in WebGL. + */ + CompressedSRGB8Alpha8Astc12x12 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, + #endif + /** * Depth component, size implementation-dependent. Not supported in 3D * textures. Not allowed in unemulated @ref Texture::setStorage()