From 2b9772d86a1565818024ac84a4a602c25e988853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 26 Aug 2019 00:17:56 +0200 Subject: [PATCH] Added generic ASTC formats and the corresponding WebGL extensions. --- doc/changelog.dox | 26 +- doc/opengl-support.dox | 1 + src/Magnum/GL/AbstractTexture.cpp | 32 +- src/Magnum/GL/Context.cpp | 1 + src/Magnum/GL/Extensions.h | 5 +- .../compressedPixelFormatMapping.hpp | 28 ++ src/Magnum/GL/PixelFormat.cpp | 2 - src/Magnum/GL/PixelFormat.h | 58 ++-- src/Magnum/GL/TextureFormat.h | 58 ++-- src/Magnum/PixelFormat.cpp | 28 ++ src/Magnum/PixelFormat.h | 296 +++++++++++++++++- .../compressedFormatMapping.hpp | 28 ++ .../OpenGL/GLES2/Emscripten/extensions.txt | 1 + .../OpenGL/GLES2/flextGLEmscripten.h | 31 ++ .../OpenGL/GLES3/Emscripten/extensions.txt | 1 + .../OpenGL/GLES3/flextGLEmscripten.h | 31 ++ 16 files changed, 532 insertions(+), 95 deletions(-) diff --git a/doc/changelog.dox b/doc/changelog.dox index 33193ad6b..0beb9db0c 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -50,7 +50,7 @@ See also: - New @ref BasicMutableImageView "MutableImageView*D" and @ref BasicMutableCompressedImageView "MutableCompressedImageView*D" types for mutable views onto image data -- Added sRGB BC1-3, BC4, BC5, BC6G, BC7, ETC2 and EAC formats to +- Added sRGB BC1-3, BC4, BC5, BC6G, BC7, ETC2, EAC and ASTC formats to @ref CompressedPixelFormat as well as their conversion to corresponding GL/Vulkan formats in @ref GL::compressedPixelFormat() and @ref Vk::vkFormat(Magnum::CompressedPixelFormat) @@ -84,6 +84,18 @@ See also: @subsubsection changelog-latest-new-gl GL library +- Additions to @ref GL::CompressedPixelFormat and compressed + @link GL::TextureFormat @endlink: + - sRGB S3TC formats as defined by the @gl_extension{EXT,texture_sRGB} + desktop, @gl_extension{EXT,texture_compression_s3tc_srgb} ES and + @webgl_extension{WEBGL,compressed_texture_s3tc_srgb} WebGL extension + - @gl_extension{EXT,texture_compression_rgtc} / + @gl_extension{EXT,texture_compression_bptc} OpenGL ES and + @webgl_extension{EXT,texture_compression_rgtc} / + @webgl_extension{EXT,texture_compression_bptc} WebGL extensions, + complementing the desktop support for BC4, BC5, BC6H and BC7 formats + - @webgl_extension{WEBGL,texture_compression_astc} WebGL extension, + complementing the desktop and ES support for ASTC - New @ref GL::AbstractFramebuffer::implementationColorReadFormat() and @ref GL::AbstractFramebuffer::implementationColorReadType() queries for more robust checks when doing framebuffer readbacks; together with three @@ -158,17 +170,7 @@ See also: texture classes now can read the pixels into @ref BasicMutableImageView "MutableImageView*D" and @ref BasicMutableCompressedImageView "MutableCompressedImageView*D" as well -- Added sRGB S3TC formats as defined by the - @gl_extension{EXT,texture_sRGB} desktop, - @gl_extension{EXT,texture_compression_s3tc_srgb} ES and - @webgl_extension{WEBGL,compressed_texture_s3tc_srgb} WebGL extension to - @ref GL::CompressedPixelFormat and @ref GL::TextureFormat -- Added support for @gl_extension{EXT,texture_compression_rgtc} / - @gl_extension{EXT,texture_compression_bptc} OpenGL ES and - @webgl_extension{EXT,texture_compression_rgtc} / - @webgl_extension{EXT,texture_compression_bptc} WebGL extensions, - complementing the desktop support for BC4, BC5, BC6H and BC7 formats in - @ref GL::CompressedPixelFormat and @ref GL::TextureFormat + @subsubsection changelog-latest-new-math Math library diff --git a/doc/opengl-support.dox b/doc/opengl-support.dox index 5627e68bf..1ab2a7068 100644 --- a/doc/opengl-support.dox +++ b/doc/opengl-support.dox @@ -529,6 +529,7 @@ Extension | Status @gl_extension{EXT,texture_compression_bptc} | done @webgl_extension{OES,texture_float_linear} | done @webgl_extension{WEBGL,compressed_texture_s3tc} | done +@webgl_extension{WEBGL,compressed_texture_astc} | done @webgl_extension{WEBGL,compressed_texture_s3tc_srgb} | done @section opengl-unsupported Unsupported OpenGL features diff --git a/src/Magnum/GL/AbstractTexture.cpp b/src/Magnum/GL/AbstractTexture.cpp index 42526b6bf..8a4d0367f 100644 --- a/src/Magnum/GL/AbstractTexture.cpp +++ b/src/Magnum/GL/AbstractTexture.cpp @@ -747,36 +747,20 @@ PixelFormat pixelFormatForInternalFormat(const TextureFormat internalFormat) { 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 PixelFormat::RGBA; #if !defined(MAGNUM_TARGET_GLES) || defined(MAGNUM_TARGET_GLES2) @@ -791,6 +775,20 @@ PixelFormat pixelFormatForInternalFormat(const TextureFormat internalFormat) { case TextureFormat::CompressedSRGBAlphaS3tcDxt1: case TextureFormat::CompressedSRGBAlphaS3tcDxt3: case TextureFormat::CompressedSRGBAlphaS3tcDxt5: + case TextureFormat::CompressedSRGB8Alpha8Astc4x4: + case TextureFormat::CompressedSRGB8Alpha8Astc5x4: + case TextureFormat::CompressedSRGB8Alpha8Astc5x5: + case TextureFormat::CompressedSRGB8Alpha8Astc6x5: + case TextureFormat::CompressedSRGB8Alpha8Astc6x6: + case TextureFormat::CompressedSRGB8Alpha8Astc8x5: + case TextureFormat::CompressedSRGB8Alpha8Astc8x6: + case TextureFormat::CompressedSRGB8Alpha8Astc8x8: + case TextureFormat::CompressedSRGB8Alpha8Astc10x5: + case TextureFormat::CompressedSRGB8Alpha8Astc10x6: + case TextureFormat::CompressedSRGB8Alpha8Astc10x8: + case TextureFormat::CompressedSRGB8Alpha8Astc10x10: + case TextureFormat::CompressedSRGB8Alpha8Astc12x10: + case TextureFormat::CompressedSRGB8Alpha8Astc12x12: #ifndef MAGNUM_TARGET_GLES2 return PixelFormat::RGBA; #else @@ -920,7 +918,6 @@ PixelType pixelTypeForInternalFormat(const TextureFormat internalFormat) { case TextureFormat::CompressedSRGBAlphaS3tcDxt3: case TextureFormat::CompressedRGBAS3tcDxt5: case TextureFormat::CompressedSRGBAlphaS3tcDxt5: - #ifndef MAGNUM_TARGET_WEBGL case TextureFormat::CompressedRGBAAstc4x4: case TextureFormat::CompressedSRGB8Alpha8Astc4x4: case TextureFormat::CompressedRGBAAstc5x4: @@ -949,7 +946,6 @@ PixelType pixelTypeForInternalFormat(const TextureFormat internalFormat) { case TextureFormat::CompressedSRGB8Alpha8Astc12x10: case TextureFormat::CompressedRGBAAstc12x12: case TextureFormat::CompressedSRGB8Alpha8Astc12x12: - #endif return PixelType::UnsignedByte; #ifndef MAGNUM_TARGET_GLES2 diff --git a/src/Magnum/GL/Context.cpp b/src/Magnum/GL/Context.cpp index 664855db2..3b774857b 100644 --- a/src/Magnum/GL/Context.cpp +++ b/src/Magnum/GL/Context.cpp @@ -252,6 +252,7 @@ constexpr Extension ExtensionList[]{ _extension(EXT,texture_compression_bptc), _extension(OES,texture_float_linear), _extension(WEBGL,compressed_texture_s3tc), + _extension(WEBGL,compressed_texture_astc), _extension(WEBGL,compressed_texture_s3tc_srgb)}; constexpr Extension ExtensionListES300[]{ #ifdef MAGNUM_TARGET_GLES2 diff --git a/src/Magnum/GL/Extensions.h b/src/Magnum/GL/Extensions.h index 5da574dcc..9f8afb95e 100644 --- a/src/Magnum/GL/Extensions.h +++ b/src/Magnum/GL/Extensions.h @@ -303,9 +303,10 @@ namespace ANGLE { _extension(27,WEBGL,color_buffer_float, GLES200, None) // #14 _extension(28,WEBGL,draw_buffers, GLES200, GLES300) // #18 #endif - _extension(29,WEBGL,compressed_texture_s3tc_srgb, GLES200, None) // #32 + _extension(29,WEBGL,compressed_texture_astc, GLES200, None) // #30 + _extension(30,WEBGL,compressed_texture_s3tc_srgb, GLES200, None) // #32 } namespace MAGNUM { - _extension(30,MAGNUM,shader_vertex_id, GLES300, GLES300) + _extension(31,MAGNUM,shader_vertex_id, GLES300, GLES300) } #else namespace ANDROID { diff --git a/src/Magnum/GL/Implementation/compressedPixelFormatMapping.hpp b/src/Magnum/GL/Implementation/compressedPixelFormatMapping.hpp index 47f7c5e54..2f1bb1f08 100644 --- a/src/Magnum/GL/Implementation/compressedPixelFormatMapping.hpp +++ b/src/Magnum/GL/Implementation/compressedPixelFormatMapping.hpp @@ -75,4 +75,32 @@ _s(Etc2RGB8A1Srgb) _s(Etc2RGBA8Unorm) _s(Etc2RGBA8Srgb) #endif +_c(Astc4x4RGBAUnorm, RGBAAstc4x4) +_c(Astc4x4RGBASrgb, SRGB8Alpha8Astc4x4) +_c(Astc5x4RGBAUnorm, RGBAAstc5x4) +_c(Astc5x4RGBASrgb, SRGB8Alpha8Astc5x4) +_c(Astc5x5RGBAUnorm, RGBAAstc5x5) +_c(Astc5x5RGBASrgb, SRGB8Alpha8Astc5x5) +_c(Astc6x5RGBAUnorm, RGBAAstc6x5) +_c(Astc6x5RGBASrgb, SRGB8Alpha8Astc6x5) +_c(Astc6x6RGBAUnorm, RGBAAstc6x6) +_c(Astc6x6RGBASrgb, SRGB8Alpha8Astc6x6) +_c(Astc8x5RGBAUnorm, RGBAAstc8x5) +_c(Astc8x5RGBASrgb, SRGB8Alpha8Astc8x5) +_c(Astc8x6RGBAUnorm, RGBAAstc8x6) +_c(Astc8x6RGBASrgb, SRGB8Alpha8Astc8x6) +_c(Astc8x8RGBAUnorm, RGBAAstc8x8) +_c(Astc8x8RGBASrgb, SRGB8Alpha8Astc8x8) +_c(Astc10x5RGBAUnorm, RGBAAstc10x5) +_c(Astc10x5RGBASrgb, SRGB8Alpha8Astc10x5) +_c(Astc10x6RGBAUnorm, RGBAAstc10x6) +_c(Astc10x6RGBASrgb, SRGB8Alpha8Astc10x6) +_c(Astc10x8RGBAUnorm, RGBAAstc10x8) +_c(Astc10x8RGBASrgb, SRGB8Alpha8Astc10x8) +_c(Astc10x10RGBAUnorm, RGBAAstc10x10) +_c(Astc10x10RGBASrgb, SRGB8Alpha8Astc10x10) +_c(Astc12x10RGBAUnorm, RGBAAstc12x10) +_c(Astc12x10RGBASrgb, SRGB8Alpha8Astc12x10) +_c(Astc12x12RGBAUnorm, RGBAAstc12x12) +_c(Astc12x12RGBASrgb, SRGB8Alpha8Astc12x12) #endif diff --git a/src/Magnum/GL/PixelFormat.cpp b/src/Magnum/GL/PixelFormat.cpp index 6f084eeae..fb629382d 100644 --- a/src/Magnum/GL/PixelFormat.cpp +++ b/src/Magnum/GL/PixelFormat.cpp @@ -434,7 +434,6 @@ Debug& operator<<(Debug& debug, const CompressedPixelFormat value) { _c(SRGBAlphaS3tcDxt3) _c(RGBAS3tcDxt5) _c(SRGBAlphaS3tcDxt5) - #ifndef MAGNUM_TARGET_WEBGL _c(RGBAAstc4x4) _c(SRGB8Alpha8Astc4x4) _c(RGBAAstc5x4) @@ -463,7 +462,6 @@ Debug& operator<<(Debug& debug, const CompressedPixelFormat value) { _c(SRGB8Alpha8Astc12x10) _c(RGBAAstc12x12) _c(SRGB8Alpha8Astc12x12) - #endif #undef _c /* LCOV_EXCL_STOP */ } diff --git a/src/Magnum/GL/PixelFormat.h b/src/Magnum/GL/PixelFormat.h index 614b801c1..bb595672e 100644 --- a/src/Magnum/GL/PixelFormat.h +++ b/src/Magnum/GL/PixelFormat.h @@ -1020,7 +1020,6 @@ enum class CompressedPixelFormat: GLenum { */ SRGBAlphaS3tcDxt5 = GL_COMPRESSED_SRGB_ALPHA_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.** @@ -1031,7 +1030,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc4x4 = GL_COMPRESSED_RGBA_ASTC_4x4_KHR, @@ -1045,7 +1044,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, @@ -1059,7 +1058,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc5x4 = GL_COMPRESSED_RGBA_ASTC_5x4_KHR, @@ -1073,7 +1072,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, @@ -1087,7 +1086,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc5x5 = GL_COMPRESSED_RGBA_ASTC_5x5_KHR, @@ -1101,7 +1100,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, @@ -1115,7 +1114,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc6x5 = GL_COMPRESSED_RGBA_ASTC_6x5_KHR, @@ -1129,7 +1128,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, @@ -1143,7 +1142,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc6x6 = GL_COMPRESSED_RGBA_ASTC_6x6_KHR, @@ -1157,7 +1156,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, @@ -1171,7 +1170,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc8x5 = GL_COMPRESSED_RGBA_ASTC_8x5_KHR, @@ -1185,7 +1184,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc8x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, @@ -1199,7 +1198,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc8x6 = GL_COMPRESSED_RGBA_ASTC_8x6_KHR, @@ -1213,7 +1212,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc8x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, @@ -1227,7 +1226,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc8x8 = GL_COMPRESSED_RGBA_ASTC_8x8_KHR, @@ -1241,7 +1240,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc8x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, @@ -1255,7 +1254,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc10x5 = GL_COMPRESSED_RGBA_ASTC_10x5_KHR, @@ -1269,7 +1268,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc10x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, @@ -1283,7 +1282,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc10x6 = GL_COMPRESSED_RGBA_ASTC_10x6_KHR, @@ -1297,7 +1296,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc10x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, @@ -1311,7 +1310,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc10x8 = GL_COMPRESSED_RGBA_ASTC_10x8_KHR, @@ -1325,7 +1324,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc10x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, @@ -1339,7 +1338,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc10x10 = GL_COMPRESSED_RGBA_ASTC_10x10_KHR, @@ -1353,7 +1352,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc10x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, @@ -1367,7 +1366,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc12x10 = GL_COMPRESSED_RGBA_ASTC_12x10_KHR, @@ -1381,7 +1380,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc12x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, @@ -1395,7 +1394,7 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ RGBAAstc12x12 = GL_COMPRESSED_RGBA_ASTC_12x12_KHR, @@ -1409,10 +1408,9 @@ enum class CompressedPixelFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + ** @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ SRGB8Alpha8Astc12x12 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR - #endif }; /** diff --git a/src/Magnum/GL/TextureFormat.h b/src/Magnum/GL/TextureFormat.h index 62aebe330..fe012215c 100644 --- a/src/Magnum/GL/TextureFormat.h +++ b/src/Magnum/GL/TextureFormat.h @@ -1322,7 +1322,6 @@ enum class TextureFormat: GLenum { */ CompressedSRGBAlphaS3tcDxt5 = GL_COMPRESSED_SRGB_ALPHA_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.** @@ -1333,7 +1332,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc4x4 = GL_COMPRESSED_RGBA_ASTC_4x4_KHR, @@ -1347,7 +1346,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, @@ -1361,7 +1360,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc5x4 = GL_COMPRESSED_RGBA_ASTC_5x4_KHR, @@ -1375,7 +1374,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, @@ -1389,7 +1388,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc5x5 = GL_COMPRESSED_RGBA_ASTC_5x5_KHR, @@ -1403,7 +1402,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, @@ -1417,7 +1416,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc6x5 = GL_COMPRESSED_RGBA_ASTC_6x5_KHR, @@ -1431,7 +1430,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, @@ -1445,7 +1444,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc6x6 = GL_COMPRESSED_RGBA_ASTC_6x6_KHR, @@ -1459,7 +1458,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, @@ -1473,7 +1472,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc8x5 = GL_COMPRESSED_RGBA_ASTC_8x5_KHR, @@ -1487,7 +1486,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc8x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, @@ -1501,7 +1500,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc8x6 = GL_COMPRESSED_RGBA_ASTC_8x6_KHR, @@ -1515,7 +1514,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc8x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, @@ -1529,7 +1528,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc8x8 = GL_COMPRESSED_RGBA_ASTC_8x8_KHR, @@ -1543,7 +1542,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc8x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, @@ -1557,7 +1556,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc10x5 = GL_COMPRESSED_RGBA_ASTC_10x5_KHR, @@ -1571,7 +1570,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc10x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, @@ -1585,7 +1584,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc10x6 = GL_COMPRESSED_RGBA_ASTC_10x6_KHR, @@ -1599,7 +1598,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc10x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, @@ -1613,7 +1612,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc10x8 = GL_COMPRESSED_RGBA_ASTC_10x8_KHR, @@ -1627,7 +1626,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc10x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, @@ -1641,7 +1640,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc10x10 = GL_COMPRESSED_RGBA_ASTC_10x10_KHR, @@ -1655,7 +1654,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc10x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, @@ -1669,7 +1668,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc12x10 = GL_COMPRESSED_RGBA_ASTC_12x10_KHR, @@ -1683,7 +1682,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc12x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, @@ -1697,7 +1696,7 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedRGBAAstc12x12 = GL_COMPRESSED_RGBA_ASTC_12x12_KHR, @@ -1711,10 +1710,9 @@ enum class TextureFormat: GLenum { * @gl_extension2{KHR,texture_compression_astc_ldr,KHR_texture_compression_astc_hdr} * @requires_es_extension Extension @gl_extension{KHR,texture_compression_astc_hdr} * for 3D textures and HDR profile - * @requires_gles ASTC texture compression is not available in WebGL. + * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_astc} */ CompressedSRGB8Alpha8Astc12x12 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, - #endif /** * Depth component, size implementation-dependent. Not supported in 3D diff --git a/src/Magnum/PixelFormat.cpp b/src/Magnum/PixelFormat.cpp index 5bbb3ff0e..e4d084713 100644 --- a/src/Magnum/PixelFormat.cpp +++ b/src/Magnum/PixelFormat.cpp @@ -214,6 +214,34 @@ Debug& operator<<(Debug& debug, const CompressedPixelFormat value) { _c(Etc2RGB8A1Srgb) _c(Etc2RGBA8Unorm) _c(Etc2RGBA8Srgb) + _c(Astc4x4RGBAUnorm) + _c(Astc4x4RGBASrgb) + _c(Astc5x4RGBAUnorm) + _c(Astc5x4RGBASrgb) + _c(Astc5x5RGBAUnorm) + _c(Astc5x5RGBASrgb) + _c(Astc6x5RGBAUnorm) + _c(Astc6x5RGBASrgb) + _c(Astc6x6RGBAUnorm) + _c(Astc6x6RGBASrgb) + _c(Astc8x5RGBAUnorm) + _c(Astc8x5RGBASrgb) + _c(Astc8x6RGBAUnorm) + _c(Astc8x6RGBASrgb) + _c(Astc8x8RGBAUnorm) + _c(Astc8x8RGBASrgb) + _c(Astc10x5RGBAUnorm) + _c(Astc10x5RGBASrgb) + _c(Astc10x6RGBAUnorm) + _c(Astc10x6RGBASrgb) + _c(Astc10x8RGBAUnorm) + _c(Astc10x8RGBASrgb) + _c(Astc10x10RGBAUnorm) + _c(Astc10x10RGBASrgb) + _c(Astc12x10RGBAUnorm) + _c(Astc12x10RGBASrgb) + _c(Astc12x12RGBAUnorm) + _c(Astc12x12RGBASrgb) #undef _c /* LCOV_EXCL_STOP */ } diff --git a/src/Magnum/PixelFormat.h b/src/Magnum/PixelFormat.h index 4fa314172..abb55f46e 100644 --- a/src/Magnum/PixelFormat.h +++ b/src/Magnum/PixelFormat.h @@ -828,7 +828,301 @@ enum class CompressedPixelFormat: UnsignedInt { * @ref GL::TextureFormat::CompressedSRGB8Alpha8Etc2Eac / * @def_vk_keyword{FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK,Format}. */ - Etc2RGBA8Srgb + Etc2RGBA8Srgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 4x4 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc4x4, + * @ref GL::TextureFormat::CompressedRGBAAstc4x4 / + * @def_vk_keyword{FORMAT_ASTC_4x4_UNORM_BLOCK,Format}. + */ + Astc4x4RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 4x4 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc4x4, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc4x4 / + * @def_vk_keyword{FORMAT_ASTC_4x4_SRGB_BLOCK,Format}. + */ + Astc4x4RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 5x4 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x4, + * @ref GL::TextureFormat::CompressedRGBAAstc5x4 / + * @def_vk_keyword{FORMAT_ASTC_5x4_UNORM_BLOCK,Format}. + */ + Astc5x4RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 5x4 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc5x4, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc5x4 / + * @def_vk_keyword{FORMAT_ASTC_5x4_SRGB_BLOCK,Format}. + */ + Astc5x4RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 5x5 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc5x5, + * @ref GL::TextureFormat::CompressedRGBAAstc5x5 / + * @def_vk_keyword{FORMAT_ASTC_5x5_UNORM_BLOCK,Format}. + */ + Astc5x5RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 5x5 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc5x5, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc5x5 / + * @def_vk_keyword{FORMAT_ASTC_5x5_SRGB_BLOCK,Format}. + */ + Astc5x5RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 6x5 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x5, + * @ref GL::TextureFormat::CompressedRGBAAstc6x5 / + * @def_vk_keyword{FORMAT_ASTC_6x5_UNORM_BLOCK,Format}. + */ + Astc6x5RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 6x5 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc6x5, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc6x5 / + * @def_vk_keyword{FORMAT_ASTC_6x5_SRGB_BLOCK,Format}. + */ + Astc6x5RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 6x6 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc6x6, + * @ref GL::TextureFormat::CompressedRGBAAstc6x6 / + * @def_vk_keyword{FORMAT_ASTC_6x6_UNORM_BLOCK,Format}. + */ + Astc6x6RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 6x6 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc6x6, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc6x6 / + * @def_vk_keyword{FORMAT_ASTC_6x6_SRGB_BLOCK,Format}. + */ + Astc6x6RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 8x5 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x5, + * @ref GL::TextureFormat::CompressedRGBAAstc8x5 / + * @def_vk_keyword{FORMAT_ASTC_8x5_UNORM_BLOCK,Format}. + */ + Astc8x5RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 8x5 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc8x5, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc8x5 / + * @def_vk_keyword{FORMAT_ASTC_8x5_SRGB_BLOCK,Format}. + */ + Astc8x5RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 8x6 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x6, + * @ref GL::TextureFormat::CompressedRGBAAstc8x6 / + * @def_vk_keyword{FORMAT_ASTC_8x6_UNORM_BLOCK,Format}. + */ + Astc8x6RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 8x6 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc8x6, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc8x6 / + * @def_vk_keyword{FORMAT_ASTC_8x6_SRGB_BLOCK,Format}. + */ + Astc8x6RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 8x8 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc8x8, + * @ref GL::TextureFormat::CompressedRGBAAstc8x8 / + * @def_vk_keyword{FORMAT_ASTC_8x8_UNORM_BLOCK,Format}. + */ + Astc8x8RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 8x8 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc8x8, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc8x8 / + * @def_vk_keyword{FORMAT_ASTC_8x8_SRGB_BLOCK,Format}. + */ + Astc8x8RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 10x5 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x5, + * @ref GL::TextureFormat::CompressedRGBAAstc10x5 / + * @def_vk_keyword{FORMAT_ASTC_10x5_UNORM_BLOCK,Format}. + */ + Astc10x5RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 10x5 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc10x5, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc10x5 / + * @def_vk_keyword{FORMAT_ASTC_10x5_SRGB_BLOCK,Format}. + */ + Astc10x5RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 10x6 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x6, + * @ref GL::TextureFormat::CompressedRGBAAstc10x6 / + * @def_vk_keyword{FORMAT_ASTC_10x6_UNORM_BLOCK,Format}. + */ + Astc10x6RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 10x6 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc10x6, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc10x6 / + * @def_vk_keyword{FORMAT_ASTC_10x6_SRGB_BLOCK,Format}. + */ + Astc10x6RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 10x8 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x8, + * @ref GL::TextureFormat::CompressedRGBAAstc10x8 / + * @def_vk_keyword{FORMAT_ASTC_10x8_UNORM_BLOCK,Format}. + */ + Astc10x8RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 10x8 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc10x8, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc10x8 / + * @def_vk_keyword{FORMAT_ASTC_10x8_SRGB_BLOCK,Format}. + */ + Astc10x8RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 10x10 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc10x10, + * @ref GL::TextureFormat::CompressedRGBAAstc10x10 / + * @def_vk_keyword{FORMAT_ASTC_10x10_UNORM_BLOCK,Format}. + */ + Astc10x10RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 10x10 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc10x10, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc10x10 / + * @def_vk_keyword{FORMAT_ASTC_10x10_SRGB_BLOCK,Format}. + */ + Astc10x10RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 12x10 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x10, + * @ref GL::TextureFormat::CompressedRGBAAstc12x10 / + * @def_vk_keyword{FORMAT_ASTC_12x10_UNORM_BLOCK,Format}. + */ + Astc12x10RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 12x10 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc12x10, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc12x10 / + * @def_vk_keyword{FORMAT_ASTC_12x10_SRGB_BLOCK,Format}. + */ + Astc12x10RGBASrgb, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed RGBA, normalized unsigned byte with 12x12 blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::RGBAAstc12x12, + * @ref GL::TextureFormat::CompressedRGBAAstc12x12 / + * @def_vk_keyword{FORMAT_ASTC_12x12_UNORM_BLOCK,Format}. + */ + Astc12x12RGBAUnorm, + + /** + * [ASTC](https://en.wikipedia.org/wiki/Adaptive_Scalable_Texture_Compression) + * compressed sRGB + linear alpha, normalized unsigned byte with 12x12 + * blocks. + * + * Corresponds to @ref GL::CompressedPixelFormat::SRGB8Alpha8Astc12x12, + * @ref GL::TextureFormat::CompressedSRGB8Alpha8Astc12x12 / + * @def_vk_keyword{FORMAT_ASTC_12x12_SRGB_BLOCK,Format}. + */ + Astc12x12RGBASrgb }; /** @debugoperatorenum{CompressedPixelFormat} */ diff --git a/src/Magnum/Vk/Implementation/compressedFormatMapping.hpp b/src/Magnum/Vk/Implementation/compressedFormatMapping.hpp index 732d52042..f902ef60c 100644 --- a/src/Magnum/Vk/Implementation/compressedFormatMapping.hpp +++ b/src/Magnum/Vk/Implementation/compressedFormatMapping.hpp @@ -51,4 +51,32 @@ _c(Etc2RGB8A1Unorm, ETC2_R8G8B8A1_UNORM_BLOCK) _c(Etc2RGB8A1Srgb, ETC2_R8G8B8A1_SRGB_BLOCK) _c(Etc2RGBA8Unorm, ETC2_R8G8B8A8_UNORM_BLOCK) _c(Etc2RGBA8Srgb, ETC2_R8G8B8A8_SRGB_BLOCK) +_c(Astc4x4RGBAUnorm, ASTC_4x4_UNORM_BLOCK) +_c(Astc4x4RGBASrgb, ASTC_4x4_SRGB_BLOCK) +_c(Astc5x4RGBAUnorm, ASTC_5x4_UNORM_BLOCK) +_c(Astc5x4RGBASrgb, ASTC_5x4_SRGB_BLOCK) +_c(Astc5x5RGBAUnorm, ASTC_5x5_UNORM_BLOCK) +_c(Astc5x5RGBASrgb, ASTC_5x5_SRGB_BLOCK) +_c(Astc6x5RGBAUnorm, ASTC_6x5_UNORM_BLOCK) +_c(Astc6x5RGBASrgb, ASTC_6x5_SRGB_BLOCK) +_c(Astc6x6RGBAUnorm, ASTC_6x6_UNORM_BLOCK) +_c(Astc6x6RGBASrgb, ASTC_6x6_SRGB_BLOCK) +_c(Astc8x5RGBAUnorm, ASTC_8x5_UNORM_BLOCK) +_c(Astc8x5RGBASrgb, ASTC_8x5_SRGB_BLOCK) +_c(Astc8x6RGBAUnorm, ASTC_8x6_UNORM_BLOCK) +_c(Astc8x6RGBASrgb, ASTC_8x6_SRGB_BLOCK) +_c(Astc8x8RGBAUnorm, ASTC_8x8_UNORM_BLOCK) +_c(Astc8x8RGBASrgb, ASTC_8x8_SRGB_BLOCK) +_c(Astc10x5RGBAUnorm, ASTC_10x5_UNORM_BLOCK) +_c(Astc10x5RGBASrgb, ASTC_10x5_SRGB_BLOCK) +_c(Astc10x6RGBAUnorm, ASTC_10x6_UNORM_BLOCK) +_c(Astc10x6RGBASrgb, ASTC_10x6_SRGB_BLOCK) +_c(Astc10x8RGBAUnorm, ASTC_10x8_UNORM_BLOCK) +_c(Astc10x8RGBASrgb, ASTC_10x8_SRGB_BLOCK) +_c(Astc10x10RGBAUnorm, ASTC_10x10_UNORM_BLOCK) +_c(Astc10x10RGBASrgb, ASTC_10x10_SRGB_BLOCK) +_c(Astc12x10RGBAUnorm, ASTC_12x10_UNORM_BLOCK) +_c(Astc12x10RGBASrgb, ASTC_12x10_SRGB_BLOCK) +_c(Astc12x12RGBAUnorm, ASTC_12x12_UNORM_BLOCK) +_c(Astc12x12RGBASrgb, ASTC_12x12_SRGB_BLOCK) #endif diff --git a/src/MagnumExternal/OpenGL/GLES2/Emscripten/extensions.txt b/src/MagnumExternal/OpenGL/GLES2/Emscripten/extensions.txt index baa7f786b..5ce34c88d 100644 --- a/src/MagnumExternal/OpenGL/GLES2/Emscripten/extensions.txt +++ b/src/MagnumExternal/OpenGL/GLES2/Emscripten/extensions.txt @@ -28,3 +28,4 @@ extension EXT_texture_compression_bptc optional extension EXT_color_buffer_float optional extension EXT_texture_compression_s3tc optional extension EXT_texture_compression_s3tc_srgb optional +extension KHR_texture_compression_astc_ldr optional diff --git a/src/MagnumExternal/OpenGL/GLES2/flextGLEmscripten.h b/src/MagnumExternal/OpenGL/GLES2/flextGLEmscripten.h index 5454983ef..71242a115 100644 --- a/src/MagnumExternal/OpenGL/GLES2/flextGLEmscripten.h +++ b/src/MagnumExternal/OpenGL/GLES2/flextGLEmscripten.h @@ -520,6 +520,37 @@ typedef khronos_uint64_t GLuint64; #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F +/* GL_KHR_texture_compression_astc_ldr */ + +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD + /* Function prototypes */ /* GL_ANGLE_instanced_arrays */ diff --git a/src/MagnumExternal/OpenGL/GLES3/Emscripten/extensions.txt b/src/MagnumExternal/OpenGL/GLES3/Emscripten/extensions.txt index 183278414..2eac73438 100644 --- a/src/MagnumExternal/OpenGL/GLES3/Emscripten/extensions.txt +++ b/src/MagnumExternal/OpenGL/GLES3/Emscripten/extensions.txt @@ -11,3 +11,4 @@ extension EXT_texture_compression_bptc optional # These are used as a base for WEBGL_* extensions extension EXT_texture_compression_s3tc optional extension EXT_texture_compression_s3tc_srgb optional +extension KHR_texture_compression_astc_ldr optional diff --git a/src/MagnumExternal/OpenGL/GLES3/flextGLEmscripten.h b/src/MagnumExternal/OpenGL/GLES3/flextGLEmscripten.h index bb735428c..793b0672a 100644 --- a/src/MagnumExternal/OpenGL/GLES3/flextGLEmscripten.h +++ b/src/MagnumExternal/OpenGL/GLES3/flextGLEmscripten.h @@ -759,6 +759,37 @@ typedef struct __GLsync *GLsync; #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F +/* GL_KHR_texture_compression_astc_ldr */ + +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD + /* Function prototypes */ /* GL_ES_VERSION_2_0 */