Define tokens for VIEW_CLASS_{EAC*,ETC2*,ASTC*}
Add view compatibility classes for EAC/ETC2 and ASTC formats
and add them for ARB_internalformat_query2.
These are mentioned in EXT/OES_texture_view for ES, but they
are never externally visibile and thus weren't assigned tokens.
However we also support these formats natively in GL on some
platforms, so we need tokens to return when the VIEW_COMPATIBILITY_CLASS
is queried on those platforms.
Reserve tokens for the VIEW_CLASSes for ASTC_3D, but don't
actually enable them since there are no extensions which
add these for GL.
diff --git a/extensions/ARB/ARB_internalformat_query2.txt b/extensions/ARB/ARB_internalformat_query2.txt
index 065fc2f..79337c8 100644
--- a/extensions/ARB/ARB_internalformat_query2.txt
+++ b/extensions/ARB/ARB_internalformat_query2.txt
@@ -33,8 +33,8 @@
Version
- Last Modified Date: February 14, 2018
- Revision: 19
+ Last Modified Date: October 12, 2018
+ Revision: 20
Number
@@ -42,7 +42,7 @@
Dependencies
- OpenGL 2.0 or OpenGL ES 2.0 is required.
+ OpenGL 2.0 is required.
ARB_internalformat_query is required.
@@ -61,7 +61,8 @@
ARB_depth_texture, OES_depth_texture, ARB_texture_view,
ARB_texture_storage, ARB_texture_storage_multisample,
ARB_shader_image_load_store, EXT_direct_state_access,
- EXT_texture_compression_s3tc, and core specifications
+ EXT_texture_compression_s3tc, ARB_ES3_compatibility,
+ KHR_texture_compression_astc_ldr, and core specifications
that incorporate these extensions affect the definition
of this extension.
@@ -252,7 +253,28 @@
VIEW_CLASS_RGTC1_RED 0x82D0
VIEW_CLASS_RGTC2_RG 0x82D1
VIEW_CLASS_BPTC_UNORM 0x82D2
- VIEW_CLASS_BPTC_FLOAT 0x82D3
+ VIEW_CLASS_BPTC_FLOAT 0x82D3
+ [interactions with ARB_ES3_compatibility]
+ VIEW_CLASS_EAC_R11 0x9383
+ VIEW_CLASS_EAC_RG11 0x9384
+ VIEW_CLASS_ETC2_RGB 0x9385
+ VIEW_CLASS_ETC2_RGBA 0x9386
+ VIEW_CLASS_ETC2_EAC_RGBA 0x9387
+ [interactions with KHR_texture_compression_astc_ldr]
+ VIEW_CLASS_ASTC_4x4_RGBA 0x9388
+ VIEW_CLASS_ASTC_5x4_RGBA 0x9389
+ VIEW_CLASS_ASTC_5x5_RGBA 0x938A
+ VIEW_CLASS_ASTC_6x5_RGBA 0x938B
+ VIEW_CLASS_ASTC_6x6_RGBA 0x938C
+ VIEW_CLASS_ASTC_8x5_RGBA 0x938D
+ VIEW_CLASS_ASTC_8x6_RGBA 0x938E
+ VIEW_CLASS_ASTC_8x8_RGBA 0x938F
+ VIEW_CLASS_ASTC_10x5_RGBA 0x9390
+ VIEW_CLASS_ASTC_10x6_RGBA 0x9391
+ VIEW_CLASS_ASTC_10x8_RGBA 0x9392
+ VIEW_CLASS_ASTC_10x10_RGBA 0x9393
+ VIEW_CLASS_ASTC_12x10_RGBA 0x9394
+ VIEW_CLASS_ASTC_12x12_RGBA 0x9395
Additions to Chapter 2 of the OpenGL 4.2 (Core Profile) Specification
@@ -828,7 +850,8 @@
- VIEW_COMPATIBILITY_CLASS: The compatibility class of the resource when
used as a texture view is returned in <params>. The compatibility
- class is one of the values from the /Class/ column of Table 3.X.2. If
+ class is one of the values from the /Class/ column of Table 3.X.2
+ (added by the ARB_texture_view extension). If
the resource has no other formats that are compatible, the resource
does not support views, or if texture views are not supported, NONE is
returned.
@@ -1059,6 +1082,21 @@
supported, ignore all references to VIEW_CLASS_RGTC1_RED and
VIEW_CLASS_RGTC2_RG.
+Dependencies on ARB_ES3_compatibility
+ If ARB_ES3_compatibility or equivalent functionality is not supported,
+ ingore all references to VIEW_CLASS_EAC_R11, VIEW_CLASS_EAC_RG11,
+ VIEW_CLASS_ETC2_RGB, VIEW_CLASS_ETC2_RGBA, and VIEW_CLASS_ETC2_EAC_RGBA.
+
+Dependencies on KHR_texture_compression_astc_ldr
+ If KHR_texture_compression_astc_ldr or equivalent functionality is not
+ supported, ignore all references to VIEW_CLASS_ASTC_4x4_RGBA,
+ VIEW_CLASS_ASTC_5x4_RGBA, VIEW_CLASS_ASTC_5x5_RGBA,
+ VIEW_CLASS_ASTC_6x5_RGBA, VIEW_CLASS_ASTC_6x6_RGBA,
+ VIEW_CLASS_ASTC_8x5_RGBA, VIEW_CLASS_ASTC_8x6_RGBA, VIEW_CLASS_ASTC_8x8_RGBA,
+ VIEW_CLASS_ASTC_10x5_RGBA, VIEW_CLASS_ASTC_10x6_RGBA,
+ VIEW_CLASS_ASTC_10x8_RGBA, VIEW_CLASS_ASTC_10x10_RGBA,
+ VIEW_CLASS_ASTC_12x10_RGBA, and VIEW_CLASS_ASTC_12x12_RGBA.
+
Dependencies on ARB_stencil_texturing
If ARB_stencil_texturing or equivalent functionality is not supported,
ignore all references to stencil texturing.
@@ -1339,6 +1377,9 @@
Rev. Date Author Changes
---- ---------- -------- --------------------------------------------
+ 20 10/12/2018 dgkoch Add tokens for ETC2/EAC and ASTC VIEW_CLASSES
+ as interactions with ARB_ES3_compatibility
+ and KHR_texture_compression_astc_ldr.
19 02/14/2018 dgkoch Add issue 16, clarify references to
GetTexLevelParameter (gitlab/opengl/api/65)
18 07/15/2013 Jon Leech Remove redundant list of VIEW_CLASS_* tokens
diff --git a/xml/gl.xml b/xml/gl.xml
index 4d3e024..61d4fb1 100755
--- a/xml/gl.xml
+++ b/xml/gl.xml
@@ -10047,7 +10047,36 @@
<enum value="0x9381" name="GL_MULTISAMPLE_LINE_WIDTH_RANGE"/>
<enum value="0x9382" name="GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB"/>
<enum value="0x9382" name="GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY"/>
- <unused start="0x9383" end="0x939F" vendor="ARB"/>
+ <enum value="0x9383" name="GL_VIEW_CLASS_EAC_R11"/>
+ <enum value="0x9384" name="GL_VIEW_CLASS_EAC_RG11"/>
+ <enum value="0x9385" name="GL_VIEW_CLASS_ETC2_RGB"/>
+ <enum value="0x9386" name="GL_VIEW_CLASS_ETC2_RGBA"/>
+ <enum value="0x9387" name="GL_VIEW_CLASS_ETC2_EAC_RGBA"/>
+ <enum value="0x9388" name="GL_VIEW_CLASS_ASTC_4x4_RGBA"/>
+ <enum value="0x9389" name="GL_VIEW_CLASS_ASTC_5x4_RGBA"/>
+ <enum value="0x938A" name="GL_VIEW_CLASS_ASTC_5x5_RGBA"/>
+ <enum value="0x938B" name="GL_VIEW_CLASS_ASTC_6x5_RGBA"/>
+ <enum value="0x938C" name="GL_VIEW_CLASS_ASTC_6x6_RGBA"/>
+ <enum value="0x938D" name="GL_VIEW_CLASS_ASTC_8x5_RGBA"/>
+ <enum value="0x938E" name="GL_VIEW_CLASS_ASTC_8x6_RGBA"/>
+ <enum value="0x938F" name="GL_VIEW_CLASS_ASTC_8x8_RGBA"/>
+ <enum value="0x9390" name="GL_VIEW_CLASS_ASTC_10x5_RGBA"/>
+ <enum value="0x9391" name="GL_VIEW_CLASS_ASTC_10x6_RGBA"/>
+ <enum value="0x9392" name="GL_VIEW_CLASS_ASTC_10x8_RGBA"/>
+ <enum value="0x9393" name="GL_VIEW_CLASS_ASTC_10x10_RGBA"/>
+ <enum value="0x9394" name="GL_VIEW_CLASS_ASTC_12x10_RGBA"/>
+ <enum value="0x9395" name="GL_VIEW_CLASS_ASTC_12x12_RGBA"/>
+ <unused start="0x9396" end="0x939F" vendor="ARB" comment="reserved for ASTC 3D interactions with ARB_ifq2"/>
+ <!-- <enum value="0x9396" name="GL_VIEW_CLASS_ASTC_3x3x3_RGBA"/> -->
+ <!-- <enum value="0x9397" name="GL_VIEW_CLASS_ASTC_4x3x3_RGBA"/> -->
+ <!-- <enum value="0x9398" name="GL_VIEW_CLASS_ASTC_4x4x3_RGBA"/> -->
+ <!-- <enum value="0x9399" name="GL_VIEW_CLASS_ASTC_4x4x4_RGBA"/> -->
+ <!-- <enum value="0x939A" name="GL_VIEW_CLASS_ASTC_5x4x4_RGBA"/> -->
+ <!-- <enum value="0x939B" name="GL_VIEW_CLASS_ASTC_5x5x4_RGBA"/> -->
+ <!-- <enum value="0x939C" name="GL_VIEW_CLASS_ASTC_5x5x5_RGBA"/> -->
+ <!-- <enum value="0x939D" name="GL_VIEW_CLASS_ASTC_6x5x5_RGBA"/> -->
+ <!-- <enum value="0x939E" name="GL_VIEW_CLASS_ASTC_6x6x5_RGBA"/> -->
+ <!-- <enum value="0x939F" name="GL_VIEW_CLASS_ASTC_6x6x6_RGBA"/> -->
</enums>
<enums namespace="GL" start="0x93A0" end="0x93AF" vendor="ANGLE" comment="Khronos bug 8100">
@@ -40871,6 +40900,25 @@
<enum name="GL_VIEW_CLASS_RGTC2_RG"/>
<enum name="GL_VIEW_CLASS_BPTC_UNORM"/>
<enum name="GL_VIEW_CLASS_BPTC_FLOAT"/>
+ <enum name="GL_VIEW_CLASS_EAC_R11"/>
+ <enum name="GL_VIEW_CLASS_EAC_RG11"/>
+ <enum name="GL_VIEW_CLASS_ETC2_RGB"/>
+ <enum name="GL_VIEW_CLASS_ETC2_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ETC2_EAC_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_4x4_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_5x4_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_5x5_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_6x5_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_6x6_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_8x5_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_8x6_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_8x8_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_10x5_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_10x6_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_10x8_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_10x10_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_12x10_RGBA"/>
+ <enum name="GL_VIEW_CLASS_ASTC_12x12_RGBA"/>
<command name="glGetInternalformati64v"/>
</require>
</extension>