aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xwin
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xwin')
-rw-r--r--xorg-server/hw/xwin/glx/genheaders.py26
-rw-r--r--xorg-server/hw/xwin/glx/gl.xml1750
-rw-r--r--xorg-server/hw/xwin/glx/reg.py2
-rw-r--r--xorg-server/hw/xwin/glx/wgl.xml7
-rw-r--r--xorg-server/hw/xwin/glx/wglext.h4
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c2820
6 files changed, 3792 insertions, 817 deletions
diff --git a/xorg-server/hw/xwin/glx/genheaders.py b/xorg-server/hw/xwin/glx/genheaders.py
index baaf93de9..78a4a4321 100644
--- a/xorg-server/hw/xwin/glx/genheaders.py
+++ b/xorg-server/hw/xwin/glx/genheaders.py
@@ -130,7 +130,8 @@ allVersions = allExtensions = '.*'
noVersions = noExtensions = None
gl12andLaterPat = '1\.[2-9]|[234]\.[0-9]'
gles2onlyPat = '2\.[0-9]'
-gles2and3Pat = '[23]\.[0-9]'
+gles2and30Pat = '2\.[0-9]|3.0'
+gles2and30and31Pat = '2.[0-9]|3.[01]'
es1CorePat = makeREstring(es1CoreList)
# Extensions in old glcorearb.h but not yet tagged accordingly in gl.xml
glCoreARBPat = None
@@ -360,7 +361,7 @@ buildList = [
apicall = 'GL_APICALL ',
apientry = 'GL_APIENTRY ',
apientryp = 'GL_APIENTRYP '),
- # GLES 2.0 extensions - GLES2/gl2ext.h
+ # GLES 3.1 / 3.0 / 2.0 extensions - GLES2/gl2ext.h
CGeneratorOptions(
filename = 'GLES2/gl2ext.h',
apiname = 'gles2',
@@ -379,12 +380,31 @@ buildList = [
apicall = 'GL_APICALL ',
apientry = 'GL_APIENTRY ',
apientryp = 'GL_APIENTRYP '),
+ # GLES 3.1 API - GLES3/gl31.h (no function pointers)
+ CGeneratorOptions(
+ filename = 'GLES3/gl31.h',
+ apiname = 'gles2',
+ profile = 'common',
+ versions = gles2and30and31Pat,
+ emitversions = allVersions,
+ defaultExtensions = None, # No default extensions
+ addExtensions = None,
+ removeExtensions = None,
+ prefixText = prefixStrings + gles3PlatformStrings + genDateCommentString,
+ genFuncPointers = False,
+ protectFile = protectFile,
+ protectFeature = protectFeature,
+ protectProto = False, # Core ES API functions are in the static link libraries
+ protectProtoStr = 'GL_GLEXT_PROTOTYPES',
+ apicall = 'GL_APICALL ',
+ apientry = 'GL_APIENTRY ',
+ apientryp = 'GL_APIENTRYP '),
# GLES 3.0 API - GLES3/gl3.h (no function pointers)
CGeneratorOptions(
filename = 'GLES3/gl3.h',
apiname = 'gles2',
profile = 'common',
- versions = gles2and3Pat,
+ versions = gles2and30Pat,
emitversions = allVersions,
defaultExtensions = None, # No default extensions
addExtensions = None,
diff --git a/xorg-server/hw/xwin/glx/gl.xml b/xorg-server/hw/xwin/glx/gl.xml
index 669ff8d26..7f46d566c 100644
--- a/xorg-server/hw/xwin/glx/gl.xml
+++ b/xorg-server/hw/xwin/glx/gl.xml
@@ -1726,9 +1726,11 @@ typedef unsigned int GLhandleARB;
<enum name="GL_LINE_STRIP_ADJACENCY_ARB"/>
<enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
<enum name="GL_PATCHES"/>
+ <enum name="GL_PATCHES_EXT"/>
<enum name="GL_POINTS"/>
<enum name="GL_POLYGON"/>
<enum name="GL_QUADS"/>
+ <enum name="GL_QUADS_EXT"/>
<enum name="GL_QUAD_STRIP"/>
<enum name="GL_TRIANGLES"/>
<enum name="GL_TRIANGLES_ADJACENCY"/>
@@ -1990,8 +1992,11 @@ typedef unsigned int GLhandleARB;
<enum name="GL_FRAGMENT_SHADER_BIT"/>
<enum name="GL_FRAGMENT_SHADER_BIT_EXT"/>
<enum name="GL_GEOMETRY_SHADER_BIT"/>
+ <enum name="GL_GEOMETRY_SHADER_BIT_EXT"/>
<enum name="GL_TESS_CONTROL_SHADER_BIT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
<enum name="GL_TESS_EVALUATION_SHADER_BIT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
<enum name="GL_COMPUTE_SHADER_BIT"/>
<enum name="GL_ALL_SHADER_BITS"/>
<enum name="GL_ALL_SHADER_BITS_EXT"/>
@@ -2078,6 +2083,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x0080" name="GL_MAP_COHERENT_BIT"/>
<enum value="0x0100" name="GL_DYNAMIC_STORAGE_BIT"/>
<enum value="0x0200" name="GL_CLIENT_STORAGE_BIT"/>
+ <!-- 0x0400 reserved for future GL features -->
</enums>
<enums namespace="GL" group="MemoryBarrierMask" type="bitmask">
@@ -2132,8 +2138,11 @@ typedef unsigned int GLhandleARB;
<enum value="0x00000002" name="GL_FRAGMENT_SHADER_BIT"/>
<enum value="0x00000002" name="GL_FRAGMENT_SHADER_BIT_EXT"/>
<enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT"/>
+ <enum value="0x00000004" name="GL_GEOMETRY_SHADER_BIT_EXT"/>
<enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT"/>
+ <enum value="0x00000008" name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
<enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT"/>
+ <enum value="0x00000010" name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
<enum value="0x00000020" name="GL_COMPUTE_SHADER_BIT"/>
<enum value="0xFFFFFFFF" name="GL_ALL_SHADER_BITS"/>
<enum value="0xFFFFFFFF" name="GL_ALL_SHADER_BITS_EXT"/>
@@ -2364,6 +2373,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x0005" name="GL_TRIANGLE_STRIP"/>
<enum value="0x0006" name="GL_TRIANGLE_FAN"/>
<enum value="0x0007" name="GL_QUADS"/>
+ <enum value="0x0007" name="GL_QUADS_EXT"/>
<enum value="0x0008" name="GL_QUAD_STRIP"/>
<enum value="0x0009" name="GL_POLYGON"/>
<enum value="0x000A" name="GL_LINES_ADJACENCY"/>
@@ -2379,6 +2389,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_ARB"/>
<enum value="0x000D" name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
<enum value="0x000E" name="GL_PATCHES"/>
+ <enum value="0x000E" name="GL_PATCHES_EXT"/>
<unused start="0x000F" end="0x00FF" comment="Unused for PrimitiveType"/>
<enum value="0x0100" name="GL_ACCUM"/>
<enum value="0x0101" name="GL_LOAD"/>
@@ -2430,7 +2441,8 @@ typedef unsigned int GLhandleARB;
<enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
<enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION_EXT"/>
<enum value="0x0506" name="GL_INVALID_FRAMEBUFFER_OPERATION_OES"/>
- <unused start="0x0507" end="0x05FF" comment="Unused for ErrorCode"/>
+ <!-- 0x0507 reserved for future GL features -->
+ <unused start="0x0508" end="0x05FF" comment="Unused for ErrorCode"/>
<enum value="0x0600" name="GL_2D"/>
<enum value="0x0601" name="GL_3D"/>
<enum value="0x0602" name="GL_3D_COLOR"/>
@@ -2725,9 +2737,11 @@ typedef unsigned int GLhandleARB;
<enum value="0x1003" name="GL_TEXTURE_INTERNAL_FORMAT"/>
<enum value="0x1003" name="GL_TEXTURE_COMPONENTS"/>
<enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR"/>
+ <enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_EXT"/>
<enum value="0x1004" name="GL_TEXTURE_BORDER_COLOR_NV"/>
<enum value="0x1005" name="GL_TEXTURE_BORDER"/>
- <unused start="0x1006" end="0x10FF" comment="Unused for GetTextureParameter"/>
+ <!-- 0x1006 reserved for future GL features -->
+ <unused start="0x1007" end="0x10FF" comment="Unused for GetTextureParameter"/>
<enum value="0x1100" name="GL_DONT_CARE"/>
<enum value="0x1101" name="GL_FASTEST"/>
<enum value="0x1102" name="GL_NICEST"/>
@@ -2807,6 +2821,7 @@ typedef unsigned int GLhandleARB;
<unused start="0x1803" end="0x18FF" comment="Unused for PixelCopyType"/>
<enum value="0x1900" name="GL_COLOR_INDEX"/>
<enum value="0x1901" name="GL_STENCIL_INDEX"/>
+ <enum value="0x1901" name="GL_STENCIL_INDEX_OES"/>
<enum value="0x1902" name="GL_DEPTH_COMPONENT"/>
<enum value="0x1903" name="GL_RED"/>
<enum value="0x1903" name="GL_RED_EXT"/>
@@ -2938,9 +2953,7 @@ typedef unsigned int GLhandleARB;
<unused start="0x7000" end="0x7FFF" comment="Unused. Do not use."/>
</enums>
- <enums namespace="GL" start="0x8000" end="0x80BF" vendor="SGI" comment="The primary GL enumerant space begins here. All modern enum allocations are in this range. These enums are mostly assigned the default class since it's a great deal of not very useful work to be more specific"/>
-
- <enums namespace="GL" vendor="ARB">
+ <enums namespace="GL" start="0x8000" end="0x80BF" vendor="ARB" comment="The primary GL enumerant space begins here. All modern enum allocations are in this range. These enums are mostly assigned the default class since it's a great deal of not very useful work to be more specific">
<enum value="0x8000" name="GL_ABGR_EXT"/>
<enum value="0x8001" name="GL_CONSTANT_COLOR"/>
<enum value="0x8001" name="GL_CONSTANT_COLOR_EXT"/>
@@ -3334,7 +3347,7 @@ typedef unsigned int GLhandleARB;
</enums>
<enums namespace="GL" start="0x80C0" end="0x80CF" vendor="ZiiLabs">
- <unused start="0x80C0" end="0x80C7"/>
+ <unused start="0x80C0" end="0x80C7" vendor="ZiiLabs"/>
<enum value="0x80C8" name="GL_BLEND_DST_RGB"/>
<enum value="0x80C8" name="GL_BLEND_DST_RGB_EXT"/>
<enum value="0x80C8" name="GL_BLEND_DST_RGB_OES"/>
@@ -3411,7 +3424,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x80EE" name="GL_PARAMETER_BUFFER_ARB"/>
<enum value="0x80EF" name="GL_PARAMETER_BUFFER_BINDING_ARB"/>
<enum value="0x80F0" name="GL_CLIP_VOLUME_CLIPPING_HINT_EXT"/>
- <unused start="0x80F1" end="0x810F"/>
+ <unused start="0x80F1" end="0x810F" vendor="MS"/>
</enums>
<enums namespace="GL" start="0x8110" end="0x814F" vendor="SGI">
@@ -3458,6 +3471,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x812C" name="GL_MAX_FOG_FUNC_POINTS_SGIS"/>
<enum value="0x812D" name="GL_CLAMP_TO_BORDER"/>
<enum value="0x812D" name="GL_CLAMP_TO_BORDER_ARB"/>
+ <enum value="0x812D" name="GL_CLAMP_TO_BORDER_EXT"/>
<enum value="0x812D" name="GL_CLAMP_TO_BORDER_NV"/>
<enum value="0x812D" name="GL_CLAMP_TO_BORDER_SGIS"/>
<enum value="0x812E" name="GL_TEXTURE_MULTI_BUFFER_HINT_SGIX"/>
@@ -3506,7 +3520,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8150" name="GL_IGNORE_BORDER_HP"/>
<enum value="0x8151" name="GL_CONSTANT_BORDER"/>
<enum value="0x8151" name="GL_CONSTANT_BORDER_HP"/>
- <unused start="0x8152" comment="GL_WRAP_BORDER = 0x8152 was proposed, but not actually promoted to core"/>
+ <unused start="0x8152" vendor="HP" comment="GL_WRAP_BORDER = 0x8152 was proposed, but not actually promoted to core"/>
<enum value="0x8153" name="GL_REPLICATE_BORDER"/>
<enum value="0x8153" name="GL_REPLICATE_BORDER_HP"/>
<enum value="0x8154" name="GL_CONVOLUTION_BORDER_COLOR"/>
@@ -3526,13 +3540,13 @@ typedef unsigned int GLhandleARB;
<enum value="0x8161" name="GL_IMAGE_TRANSFORM_2D_HP"/>
<enum value="0x8162" name="GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
<enum value="0x8163" name="GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP"/>
- <unused start="0x8164"/>
+ <unused start="0x8164" vendor="HP"/>
<enum value="0x8165" name="GL_OCCLUSION_TEST_HP"/>
<enum value="0x8166" name="GL_OCCLUSION_TEST_RESULT_HP"/>
<enum value="0x8167" name="GL_TEXTURE_LIGHTING_MODE_HP"/>
<enum value="0x8168" name="GL_TEXTURE_POST_SPECULAR_HP"/>
<enum value="0x8169" name="GL_TEXTURE_PRE_SPECULAR_HP"/>
- <unused start="0x816A" end="0x816F"/>
+ <unused start="0x816A" end="0x816F" vendor="HP"/>
</enums>
<enums namespace="GL" start="0x8170" end="0x81CF" vendor="SGI">
@@ -3651,7 +3665,7 @@ typedef unsigned int GLhandleARB;
</enums>
<enums namespace="GL" start="0x81D0" end="0x81DF" vendor="SUN">
- <unused start="0x81D0" end="0x81D1"/>
+ <unused start="0x81D0" end="0x81D1" vendor="SUN"/>
<unused start="0x81D2" end="0x81D3" comment="No extension spec SUNX_surface_hint"/>
<!-- <enum value="0x81D2" name="GL_SURFACE_SIZE_HINT_SUNX"/> -->
<!-- <enum value="0x81D3" name="GL_LARGE_SUNX"/> -->
@@ -3662,7 +3676,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x81D8" name="GL_REPLACEMENT_CODE_SUN"/>
<enum value="0x81D9" name="GL_GLOBAL_ALPHA_SUN"/>
<enum value="0x81DA" name="GL_GLOBAL_ALPHA_FACTOR_SUN"/>
- <unused start="0x81DB" end="0x81DF"/>
+ <unused start="0x81DB" end="0x81DF" vendor="SUN"/>
</enums>
<enums namespace="GL" start="0x81E0" end="0x81FF" vendor="SGI">
@@ -3708,7 +3722,7 @@ typedef unsigned int GLhandleARB;
<enums namespace="GL" start="0x8200" end="0x820F" vendor="AMD" comment="Range released by MS 2002/9/16">
<enum value="0x8200" name="GL_TEXT_FRAGMENT_SHADER_ATI"/>
- <unused start="0x8201" end="0x820F"/>
+ <unused start="0x8201" end="0x820F" vendor="AMD"/>
</enums>
<enums namespace="GL" start="0x8210" end="0x823F" vendor="ARB">
@@ -3734,8 +3748,8 @@ typedef unsigned int GLhandleARB;
<enum value="0x8220" name="GL_BUFFER_STORAGE_FLAGS"/>
<enum value="0x8221" name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED" comment="Proposed for Bug 10364"/>
<enum value="0x8222" name="GL_INDEX"/>
- <unused start="0x8223" comment="GL_DEPTH_BUFFER = 0x8223 not actually used in the API"/>
- <unused start="0x8224" comment="GL_STENCIL_BUFFER = 0x8224 not actually used in the API"/>
+ <unused start="0x8223" vendor="ARB" comment="GL_DEPTH_BUFFER = 0x8223 not actually used in the API"/>
+ <unused start="0x8224" vendor="ARB" comment="GL_STENCIL_BUFFER = 0x8224 not actually used in the API"/>
<enum value="0x8225" name="GL_COMPRESSED_RED"/>
<enum value="0x8226" name="GL_COMPRESSED_RG"/>
<enum value="0x8227" name="GL_RG"/>
@@ -3767,7 +3781,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x823A" name="GL_RG16UI"/>
<enum value="0x823B" name="GL_RG32I"/>
<enum value="0x823C" name="GL_RG32UI"/>
- <unused start="0x823D" end="0x823F"/>
+ <unused start="0x823D" end="0x823F" vendor="ARB"/>
</enums>
<enums namespace="GL" start="0x8240" end="0x82AF" vendor="ARB" comment="Range released by MS on 2002/9/16">
@@ -3842,8 +3856,10 @@ typedef unsigned int GLhandleARB;
<enum value="0x825C" name="GL_VIEWPORT_SUBPIXEL_BITS"/>
<enum value="0x825D" name="GL_VIEWPORT_BOUNDS_RANGE"/>
<enum value="0x825E" name="GL_LAYER_PROVOKING_VERTEX"/>
+ <enum value="0x825E" name="GL_LAYER_PROVOKING_VERTEX_EXT"/>
<enum value="0x825F" name="GL_VIEWPORT_INDEX_PROVOKING_VERTEX"/>
<enum value="0x8260" name="GL_UNDEFINED_VERTEX"/>
+ <enum value="0x8260" name="GL_UNDEFINED_VERTEX_EXT"/>
<enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_ARB"/>
<enum value="0x8261" name="GL_NO_RESET_NOTIFICATION_EXT"/>
<enum value="0x8262" name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
@@ -3925,7 +3941,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x82A8" name="GL_IMAGE_COMPATIBILITY_CLASS"/>
<enum value="0x82A9" name="GL_IMAGE_PIXEL_FORMAT"/>
<enum value="0x82AA" name="GL_IMAGE_PIXEL_TYPE"/>
- <unused start="0x82AB"/>
+ <unused start="0x82AB" vendor="ARB"/>
<enum value="0x82AC" name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST"/>
<enum value="0x82AD" name="GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST"/>
<enum value="0x82AE" name="GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE"/>
@@ -3933,7 +3949,7 @@ typedef unsigned int GLhandleARB;
</enums>
<enums namespace="GL" start="0x82B0" end="0x830F" vendor="ARB" comment="Range reclaimed from ADD on 2012/05/10">
- <unused start="0x82B0"/>
+ <unused start="0x82B0" vendor="ARB"/>
<enum value="0x82B1" name="GL_TEXTURE_COMPRESSED_BLOCK_WIDTH"/>
<enum value="0x82B2" name="GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT"/>
<enum value="0x82B3" name="GL_TEXTURE_COMPRESSED_BLOCK_SIZE"/>
@@ -3977,9 +3993,13 @@ typedef unsigned int GLhandleARB;
<enum value="0x82D9" name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
<enum value="0x82DA" name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
<enum value="0x82DB" name="GL_TEXTURE_VIEW_MIN_LEVEL"/>
+ <enum value="0x82DB" name="GL_TEXTURE_VIEW_MIN_LEVEL_EXT"/>
<enum value="0x82DC" name="GL_TEXTURE_VIEW_NUM_LEVELS"/>
+ <enum value="0x82DC" name="GL_TEXTURE_VIEW_NUM_LEVELS_EXT"/>
<enum value="0x82DD" name="GL_TEXTURE_VIEW_MIN_LAYER"/>
+ <enum value="0x82DD" name="GL_TEXTURE_VIEW_MIN_LAYER_EXT"/>
<enum value="0x82DE" name="GL_TEXTURE_VIEW_NUM_LAYERS"/>
+ <enum value="0x82DE" name="GL_TEXTURE_VIEW_NUM_LAYERS_EXT"/>
<enum value="0x82DF" name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
<enum value="0x82E0" name="GL_BUFFER"/>
<enum value="0x82E0" name="GL_BUFFER_KHR"/>
@@ -3997,7 +4017,8 @@ typedef unsigned int GLhandleARB;
<enum value="0x82E8" name="GL_MAX_LABEL_LENGTH"/>
<enum value="0x82E8" name="GL_MAX_LABEL_LENGTH_KHR"/>
<enum value="0x82E9" name="GL_NUM_SHADING_LANGUAGE_VERSIONS"/>
- <unused start="0x82E9" end="0x830F"/>
+ <!-- 0x82EA - 0x82FC reserved for future GL features -->
+ <unused start="0x82FD" end="0x830F" vendor="ARB"/>
</enums>
<enums namespace="GL" start="0x8310" end="0x832F" vendor="SGI">
@@ -4049,7 +4070,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8336" name="GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
<enum value="0x8337" name="GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT"/>
<enum value="0x8338" name="GL_PIXEL_TRANSFORM_2D_MATRIX_EXT"/>
- <unused start="0x8339" end="0x833F"/>
+ <unused start="0x8339" end="0x833F" vendor="SUN"/>
</enums>
<enums namespace="GL" start="0x8340" end="0x836F" vendor="SGI">
@@ -4130,10 +4151,12 @@ typedef unsigned int GLhandleARB;
<enum value="0x8370" name="GL_MIRRORED_REPEAT_ARB"/>
<enum value="0x8370" name="GL_MIRRORED_REPEAT_IBM"/>
<enum value="0x8370" name="GL_MIRRORED_REPEAT_OES"/>
- <unused start="0x8371" end="0x837F"/>
+ <unused start="0x8371" end="0x837F" vendor="HP"/>
</enums>
- <enums namespace="GL" start="0x8380" end="0x839F" vendor="IBM"/>
+ <enums namespace="GL" start="0x8380" end="0x839F" vendor="IBM">
+ <unused start="0x8380" end="0x839F" vendor="IBM"/>
+ </enums>
<enums namespace="GL" start="0x83A0" end="0x83BF" vendor="S3">
<enum value="0x83A0" name="GL_RGB_S3TC"/>
@@ -4142,7 +4165,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x83A3" name="GL_RGBA4_S3TC"/>
<enum value="0x83A4" name="GL_RGBA_DXT5_S3TC"/>
<enum value="0x83A5" name="GL_RGBA4_DXT5_S3TC"/>
- <unused start="0x83A6" end="0x83BF"/>
+ <unused start="0x83A6" end="0x83BF" vendor="S3"/>
</enums>
<enums namespace="GL" start="0x83C0" end="0x83EF" vendor="SGI" comment="Most of this could be reclaimed">
@@ -4158,7 +4181,7 @@ typedef unsigned int GLhandleARB;
<!-- <enum value="0x83C8" name="GL_TEXTURE1_SGIS"/> -->
<!-- <enum value="0x83C9" name="GL_TEXTURE2_SGIS"/> -->
<!-- <enum value="0x83CA" name="GL_TEXTURE3_SGIS"/> -->
- <unused start="0x83CB" end="0x83E5"/>
+ <unused start="0x83CB" end="0x83E5" vendor="SGI"/>
<unused start="0x83E6" end="0x83E9" comment="Incomplete extension SGIX_bali_g_instruments"/>
<!-- <enum value="0x83E6" name="GL_BALI_NUM_TRIS_CULLED_INSTRUMENT_SGIX"/> -->
<!-- <enum value="0x83E7" name="GL_BALI_NUM_PRIMS_CLIPPED_INSTRUMENT_SGIX"/> -->
@@ -4191,7 +4214,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x83F9" name="GL_PERFQUERY_DONOT_FLUSH_INTEL"/>
<enum value="0x83FA" name="GL_PERFQUERY_FLUSH_INTEL"/>
<enum value="0x83FB" name="GL_PERFQUERY_WAIT_INTEL"/>
- <unused start="0x83FC" end="0x83FE"/>
+ <unused start="0x83FC" end="0x83FE" vendor="INTEL"/>
<enum value="0x83FF" name="GL_TEXTURE_MEMORY_LAYOUT_INTEL"/>
</enums>
@@ -4216,13 +4239,13 @@ typedef unsigned int GLhandleARB;
<enum value="0x8411" name="GL_FRAGMENT_LIGHT5_SGIX"/>
<enum value="0x8412" name="GL_FRAGMENT_LIGHT6_SGIX"/>
<enum value="0x8413" name="GL_FRAGMENT_LIGHT7_SGIX"/>
- <unused start="0x8414" end="0x842B"/>
+ <unused start="0x8414" end="0x842B" vendor="SGI"/>
<enum value="0x842C" name="GL_PACK_RESAMPLE_SGIX"/>
<enum value="0x842D" name="GL_UNPACK_RESAMPLE_SGIX"/>
<enum value="0x842E" name="GL_RESAMPLE_REPLICATE_SGIX"/>
<enum value="0x842F" name="GL_RESAMPLE_ZERO_FILL_SGIX"/>
<enum value="0x8430" name="GL_RESAMPLE_DECIMATE_SGIX"/>
- <unused start="0x8431" end="0x8435"/>
+ <unused start="0x8431" end="0x8435" vendor="SGI"/>
<!-- Incomplete extension SGIX_fragment_lighting -->
<!-- <enum value="0x8436" name="GL_EYE_SPACE_SGIX"/> -->
<!-- <enum value="0x8437" name="GL_TANGENT_SPACE_SGIX"/> -->
@@ -4248,7 +4271,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x843A" name="GL_BINORMAL_ARRAY_EXT"/>
<enum value="0x843B" name="GL_CURRENT_TANGENT_EXT"/>
<enum value="0x843C" name="GL_CURRENT_BINORMAL_EXT"/>
- <unused start="0x844D"/>
+ <unused start="0x844D" vendor="SGI"/>
<enum value="0x843E" name="GL_TANGENT_ARRAY_TYPE_EXT"/>
<enum value="0x843F" name="GL_TANGENT_ARRAY_STRIDE_EXT"/>
<enum value="0x8440" name="GL_BINORMAL_ARRAY_TYPE_EXT"/>
@@ -4320,21 +4343,25 @@ typedef unsigned int GLhandleARB;
<!-- <enum value="0x8469" name="GL_LUMINANCE16_ICC_SGIX"/> -->
<!-- <enum value="0x846A" name="GL_INTENSITY16_ICC_SGIX"/> -->
<!-- <enum value="0x846B" name="GL_LUMINANCE16_ALPHA8_ICC_SGIX"/> -->
- <unused start="0x846C"/>
+ <unused start="0x846C" vendor="SGI"/>
<enum value="0x846D" name="GL_ALIASED_POINT_SIZE_RANGE"/>
<enum value="0x846E" name="GL_ALIASED_LINE_WIDTH_RANGE"/>
- <unused start="0x846F"/>
+ <unused start="0x846F" vendor="SGI"/>
</enums>
- <enums namespace="GL" start="0x8470" end="0x848F" vendor="AMD"/>
+ <enums namespace="GL" start="0x8470" end="0x848F" vendor="AMD">
+ <unused start="0x8470" end="0x848F" vendor="AMD"/>
+ </enums>
<enums namespace="GL" start="0x8490" end="0x849F" vendor="REND">
<enum value="0x8490" name="GL_SCREEN_COORDINATES_REND"/>
<enum value="0x8491" name="GL_INVERTED_SCREEN_W_REND"/>
- <unused start="0x8492" end="0x849F"/>
+ <unused start="0x8492" end="0x849F" vendor="REND"/>
</enums>
- <enums namespace="GL" start="0x84A0" end="0x84BF" vendor="AMD"/>
+ <enums namespace="GL" start="0x84A0" end="0x84BF" vendor="AMD">
+ <unused start="0x84A0" end="0x84BF" vendor="AMD"/>
+ </enums>
<enums namespace="GL" start="0x84C0" end="0x84EF" vendor="ARB">
<enum value="0x84C0" name="GL_TEXTURE0"/>
@@ -4462,7 +4489,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_EXT"/>
<enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_NV"/>
<enum value="0x84FA" name="GL_UNSIGNED_INT_24_8_OES"/>
- <unused start="0x84FB" end="0x84FC"/>
+ <unused start="0x84FB" end="0x84FC" vendor="NV"/>
<enum value="0x84FD" name="GL_MAX_TEXTURE_LOD_BIAS"/>
<enum value="0x84FD" name="GL_MAX_TEXTURE_LOD_BIAS_EXT"/>
<enum value="0x84FE" name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/>
@@ -4623,7 +4650,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8566" name="GL_BLUE_MAX_CLAMP_INGR"/>
<enum value="0x8567" name="GL_ALPHA_MAX_CLAMP_INGR"/>
<enum value="0x8568" name="GL_INTERLACE_READ_INGR"/>
- <unused start="0x8569" end="0x856F"/>
+ <unused start="0x8569" end="0x856F" vendor="ZiiLabs"/>
</enums>
<enums namespace="GL" start="0x8570" end="0x859F" group="RegisterCombinerPname" vendor="AMD/NV">
@@ -4736,7 +4763,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING"/>
<enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING_APPLE"/>
<enum value="0x85B5" name="GL_VERTEX_ARRAY_BINDING_OES"/>
- <unused start="0x85B6" comment="Unknown extension (Khronos bug 632)"/>
+ <unused start="0x85B6" vendor="APPLE" comment="Unknown extension (Khronos bug 632)"/>
<!-- <enum value="0x85B6" name="GL_TEXTURE_MINIMIZE_STORAGE_APPLE"/> -->
<enum value="0x85B7" name="GL_TEXTURE_RANGE_LENGTH_APPLE"/>
<enum value="0x85B8" name="GL_TEXTURE_RANGE_POINTER_APPLE"/>
@@ -4765,14 +4792,14 @@ typedef unsigned int GLhandleARB;
<enum value="0x85CA" name="GL_R1UI_T2F_N3F_V3F_SUN"/>
<enum value="0x85CB" name="GL_R1UI_T2F_C4F_N3F_V3F_SUN"/>
<enum value="0x85CC" name="GL_SLICE_ACCUM_SUN"/>
- <unused start="0x85CD" end="0x85CF"/>
+ <unused start="0x85CD" end="0x85CF" vendor="SUN"/>
</enums>
<enums namespace="GL" start="0x85D0" end="0x85DF" vendor="ZiiLabs" comment="3Dlabs private extension for Autodesk">
<unused start="0x85D0" end="0x85D1" comment="Unknown 3Dlabs private extension for Autodesk (but we know the enum values)"/>
<!-- <enum value="0x85D0" name="GL_FACET_NORMAL_AUTODESK"/> -->
<!-- <enum value="0x85D1" name="GL_FACET_NORMAL_ARRAY_AUTODESK"/> -->
- <unused start="0x85D2" end="0x85DF"/>
+ <unused start="0x85D2" end="0x85DF" vendor="ZiiLabs"/>
</enums>
<enums namespace="GL" start="0x85E0" end="0x85FF" vendor="SGI">
@@ -4805,14 +4832,14 @@ typedef unsigned int GLhandleARB;
<!-- <enum value="0x85F9" name="GL_MAX_LUMINANCE_SGIS"/> -->
<!-- <enum value="0x85FA" name="GL_MIN_INTENSITY_SGIS"/> -->
<!-- <enum value="0x85FB" name="GL_MAX_INTENSITY_SGIS"/> -->
- <unused start="0x85FC" end="0x85FF"/>
+ <unused start="0x85FC" end="0x85FF" vendor="SGI"/>
</enums>
<enums namespace="GL" start="0x8600" end="0x861F" vendor="SUN">
- <unused start="0x8600" end="0x8613"/>
+ <unused start="0x8600" end="0x8613" vendor="SUN"/>
<enum value="0x8614" name="GL_QUAD_MESH_SUN"/>
<enum value="0x8615" name="GL_TRIANGLE_MESH_SUN"/>
- <unused start="0x8614" end="0x861F"/>
+ <unused start="0x8614" end="0x861F" vendor="SUN"/>
</enums>
<enums namespace="GL" start="0x8620" end="0x867F" vendor="NV">
@@ -4943,7 +4970,9 @@ typedef unsigned int GLhandleARB;
<enum value="0x867F" name="GL_MAP2_VERTEX_ATTRIB15_4_NV"/>
</enums>
- <enums namespace="GL" start="0x8680" end="0x869F" vendor="Pixelfusion"/>
+ <enums namespace="GL" start="0x8680" end="0x869F" vendor="Pixelfusion">
+ <unused start="0x8680" end="0x869F" vendor="Pixelfusion"/>
+ </enums>
<enums namespace="GL" start="0x86A0" end="0x86AF" vendor="ARB">
<enum value="0x86A0" name="GL_TEXTURE_COMPRESSED_IMAGE_SIZE"/>
@@ -4983,7 +5012,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x86B2" name="GL_MULTISAMPLE_3DFX"/>
<enum value="0x86B3" name="GL_SAMPLE_BUFFERS_3DFX"/>
<enum value="0x86B4" name="GL_SAMPLES_3DFX"/>
- <unused start="0x86B5" end="0x86BF"/>
+ <unused start="0x86B5" end="0x86BF" vendor="3DFX"/>
</enums>
<enums namespace="GL" start="0x86C0" end="0x871F" vendor="NV">
@@ -5136,7 +5165,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8744" name="GL_MODULATE_ADD_ATI"/>
<enum value="0x8745" name="GL_MODULATE_SIGNED_ADD_ATI"/>
<enum value="0x8746" name="GL_MODULATE_SUBTRACT_ATI"/>
- <unused start="0x8747" end="0x8749"/>
+ <unused start="0x8747" end="0x8749" vendor="AMD"/>
<enum value="0x874A" name="GL_SET_AMD"/>
<enum value="0x874B" name="GL_REPLACE_VALUE_AMD"/>
<enum value="0x874C" name="GL_STENCIL_OP_VALUE_AMD"/>
@@ -5164,7 +5193,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x875C" name="GL_PROXY_TEXTURE_2D_STACK_MESAX"/>
<enum value="0x875D" name="GL_TEXTURE_1D_STACK_BINDING_MESAX"/>
<enum value="0x875E" name="GL_TEXTURE_2D_STACK_BINDING_MESAX"/>
- <unused start="0x875F"/>
+ <unused start="0x875F" vendor="MESA"/>
</enums>
<enums namespace="GL" start="0x8760" end="0x883F" vendor="AMD">
@@ -5201,7 +5230,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x877A" name="GL_DU8DV8_ATI"/>
<enum value="0x877B" name="GL_BUMP_ENVMAP_ATI"/>
<enum value="0x877C" name="GL_BUMP_TARGET_ATI"/>
- <unused start="0x877D" end="0x877F"/>
+ <unused start="0x877D" end="0x877F" vendor="AMD"/>
<enum value="0x8780" name="GL_VERTEX_SHADER_EXT"/>
<enum value="0x8781" name="GL_VERTEX_SHADER_BINDING_EXT"/>
<enum value="0x8782" name="GL_OP_INDEX_EXT"/>
@@ -5352,7 +5381,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x880E" name="GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB"/>
<enum value="0x880F" name="GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB"/>
<enum value="0x8810" name="GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB"/>
- <unused start="0x8811" end="0x8813"/>
+ <unused start="0x8811" end="0x8813" vendor="AMD"/>
<enum value="0x8814" name="GL_RGBA32F"/>
<enum value="0x8814" name="GL_RGBA32F_ARB"/>
<enum value="0x8814" name="GL_RGBA32F_EXT"/>
@@ -5406,7 +5435,7 @@ typedef unsigned int GLhandleARB;
<!-- RGBA_FLOAT_MODE_ARB equivalent to TYPE_RGBA_FLOAT_ATI -->
<enum value="0x8820" name="GL_RGBA_FLOAT_MODE_ARB"/>
<enum value="0x8820" name="GL_RGBA_FLOAT_MODE_ATI"/>
- <unused start="0x8821" end="0x8822"/>
+ <unused start="0x8821" end="0x8822" vendor="AMD"/>
<enum value="0x8823" name="GL_WRITEONLY_RENDERING_QCOM"/>
<enum value="0x8824" name="GL_MAX_DRAW_BUFFERS"/>
<enum value="0x8824" name="GL_MAX_DRAW_BUFFERS_ARB"/>
@@ -5494,13 +5523,13 @@ typedef unsigned int GLhandleARB;
<enum value="0x8834" name="GL_DRAW_BUFFER15_EXT"/>
<enum value="0x8834" name="GL_DRAW_BUFFER15_NV"/>
<enum value="0x8835" name="GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI"/>
- <unused start="0x8836"/>
+ <unused start="0x8836" vendor="AMD"/>
<enum value="0x8837" name="GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI" comment="Defined by Mesa but not ATI"/>
- <unused start="0x8838" end="0x883C"/>
+ <unused start="0x8838" end="0x883C" vendor="AMD"/>
<enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA"/>
<enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA_EXT"/>
<enum value="0x883D" name="GL_BLEND_EQUATION_ALPHA_OES"/>
- <unused start="0x883E"/>
+ <unused start="0x883E" vendor="AMD"/>
<enum value="0x883F" name="GL_SUBSAMPLE_DISTANCE_AMD"/>
</enums>
@@ -5589,9 +5618,11 @@ typedef unsigned int GLhandleARB;
<enum value="0x8869" name="GL_MAX_VERTEX_ATTRIBS_ARB"/>
<enum value="0x886A" name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
<enum value="0x886A" name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB"/>
- <unused start="0x886B"/>
+ <unused start="0x886B" vendor="NV"/>
<enum value="0x886C" name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
+ <enum value="0x886C" name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT"/>
<enum value="0x886D" name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
+ <enum value="0x886D" name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT"/>
<enum value="0x886E" name="GL_DEPTH_STENCIL_TO_RGBA_NV"/>
<enum value="0x886F" name="GL_DEPTH_STENCIL_TO_BGRA_NV"/>
<enum value="0x8870" name="GL_FRAGMENT_PROGRAM_NV"/>
@@ -5606,15 +5637,16 @@ typedef unsigned int GLhandleARB;
<enum value="0x8874" name="GL_PROGRAM_ERROR_STRING_NV"/>
<enum value="0x8875" name="GL_PROGRAM_FORMAT_ASCII_ARB"/>
<enum value="0x8876" name="GL_PROGRAM_FORMAT_ARB"/>
- <unused start="0x8877" comment="Should have been assigned to PROGRAM_BINDING_ARB"/>
+ <unused start="0x8877" vendor="NV" comment="Should have been assigned to PROGRAM_BINDING_ARB"/>
<enum value="0x8878" name="GL_WRITE_PIXEL_DATA_RANGE_NV"/>
<enum value="0x8879" name="GL_READ_PIXEL_DATA_RANGE_NV"/>
<enum value="0x887A" name="GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV"/>
<enum value="0x887B" name="GL_READ_PIXEL_DATA_RANGE_LENGTH_NV"/>
<enum value="0x887C" name="GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV"/>
<enum value="0x887D" name="GL_READ_PIXEL_DATA_RANGE_POINTER_NV"/>
- <unused start="0x887E"/>
+ <unused start="0x887E" vendor="NV"/>
<enum value="0x887F" name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+ <enum value="0x887F" name="GL_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
<enum value="0x8880" name="GL_FLOAT_R_NV"/>
<enum value="0x8881" name="GL_FLOAT_RG_NV"/>
<enum value="0x8882" name="GL_FLOAT_RGB_NV"/>
@@ -5744,14 +5776,14 @@ typedef unsigned int GLhandleARB;
<enum value="0x88E1" name="GL_STREAM_READ_ARB"/>
<enum value="0x88E2" name="GL_STREAM_COPY"/>
<enum value="0x88E2" name="GL_STREAM_COPY_ARB"/>
- <unused start="0x88E3" comment="To extend ARB_vbo"/>
+ <unused start="0x88E3" vendor="NV" comment="To extend ARB_vbo"/>
<enum value="0x88E4" name="GL_STATIC_DRAW"/>
<enum value="0x88E4" name="GL_STATIC_DRAW_ARB"/>
<enum value="0x88E5" name="GL_STATIC_READ"/>
<enum value="0x88E5" name="GL_STATIC_READ_ARB"/>
<enum value="0x88E6" name="GL_STATIC_COPY"/>
<enum value="0x88E6" name="GL_STATIC_COPY_ARB"/>
- <unused start="0x88E7" comment="To extend ARB_vbo"/>
+ <unused start="0x88E7" vendor="NV" comment="To extend ARB_vbo"/>
<enum value="0x88E8" name="GL_DYNAMIC_DRAW"/>
<enum value="0x88E8" name="GL_DYNAMIC_DRAW_ARB"/>
<enum value="0x88E9" name="GL_DYNAMIC_READ"/>
@@ -5810,13 +5842,16 @@ typedef unsigned int GLhandleARB;
<enum value="0x8910" name="GL_STENCIL_TEST_TWO_SIDE_EXT"/>
<enum value="0x8911" name="GL_ACTIVE_STENCIL_FACE_EXT"/>
<enum value="0x8912" name="GL_MIRROR_CLAMP_TO_BORDER_EXT"/>
- <unused start="0x8913"/>
+ <unused start="0x8913" vendor="NV"/>
<enum value="0x8914" name="GL_SAMPLES_PASSED"/>
<enum value="0x8914" name="GL_SAMPLES_PASSED_ARB"/>
- <unused start="0x8915"/>
+ <unused start="0x8915" vendor="NV"/>
<enum value="0x8916" name="GL_GEOMETRY_VERTICES_OUT"/>
+ <enum value="0x8916" name="GL_GEOMETRY_LINKED_VERTICES_OUT_EXT"/>
<enum value="0x8917" name="GL_GEOMETRY_INPUT_TYPE"/>
+ <enum value="0x8917" name="GL_GEOMETRY_LINKED_INPUT_TYPE_EXT"/>
<enum value="0x8918" name="GL_GEOMETRY_OUTPUT_TYPE"/>
+ <enum value="0x8918" name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT"/>
<enum value="0x8919" name="GL_SAMPLER_BINDING"/>
<enum value="0x891A" name="GL_CLAMP_VERTEX_COLOR"/>
<enum value="0x891A" name="GL_CLAMP_VERTEX_COLOR_ARB"/>
@@ -5922,7 +5957,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8979" name="GL_SWIZZLE_STQ_DQ_ATI"/>
<enum value="0x897A" name="GL_SWIZZLE_STRQ_ATI"/>
<enum value="0x897B" name="GL_SWIZZLE_STRQ_DQ_ATI"/>
- <unused start="0x897C" end="0x897F"/>
+ <unused start="0x897C" end="0x897F" vendor="AMD"/>
</enums>
<enums namespace="GL" start="0x8980" end="0x898F" vendor="OML">
@@ -5944,9 +5979,13 @@ typedef unsigned int GLhandleARB;
<enum value="0x898F" name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"/>
</enums>
- <enums namespace="GL" start="0x8990" end="0x899F" vendor="ZiiLabs"/>
+ <enums namespace="GL" start="0x8990" end="0x899F" vendor="ZiiLabs">
+ <unused start="0x8990" end="0x899F" vendor="ZiiLabs"/>
+ </enums>
- <enums namespace="GL" start="0x89A0" end="0x89FF" vendor="Matrox"/>
+ <enums namespace="GL" start="0x89A0" end="0x89FF" vendor="Matrox">
+ <unused start="0x89A0" end="0x89FF" vendor="Matrox"/>
+ </enums>
<enums namespace="GL" start="0x8A00" end="0x8A7F" vendor="APPLE">
<enum value="0x8A00" name="GL_VERTEX_ATTRIB_MAP1_APPLE"/>
@@ -5965,7 +6004,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8A0D" name="GL_ELEMENT_ARRAY_TYPE_APPLE"/>
<enum value="0x8A0E" name="GL_ELEMENT_ARRAY_POINTER_APPLE"/>
<enum value="0x8A0F" name="GL_COLOR_FLOAT_APPLE"/>
- <unused start="0x8A10" comment="Unknown extension (Khronos bug 632)"/>
+ <unused start="0x8A10" vendor="APPLE" comment="Unknown extension (Khronos bug 632)"/>
<!-- <enum value="0x8A10" name="GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE"/> -->
<enum value="0x8A11" name="GL_UNIFORM_BUFFER"/>
<enum value="0x8A12" name="GL_BUFFER_SERIALIZED_MODIFY_APPLE"/>
@@ -5973,26 +6012,28 @@ typedef unsigned int GLhandleARB;
<enum value="0x8A14" name="GL_AUX_DEPTH_STENCIL_APPLE"/>
<enum value="0x8A15" name="GL_PACK_ROW_BYTES_APPLE"/>
<enum value="0x8A16" name="GL_UNPACK_ROW_BYTES_APPLE"/>
- <unused start="0x8A17" end="0x8A18"/>
+ <unused start="0x8A17" end="0x8A18" vendor="APPLE"/>
<enum value="0x8A19" name="GL_RELEASED_APPLE"/>
<enum value="0x8A1A" name="GL_VOLATILE_APPLE"/>
<enum value="0x8A1B" name="GL_RETAINED_APPLE"/>
<enum value="0x8A1C" name="GL_UNDEFINED_APPLE"/>
<enum value="0x8A1D" name="GL_PURGEABLE_APPLE"/>
- <unused start="0x8A1E"/>
+ <unused start="0x8A1E" vendor="APPLE"/>
<enum value="0x8A1F" name="GL_RGB_422_APPLE"/>
- <unused start="0x8A20" end="0x8A27"/>
+ <unused start="0x8A20" end="0x8A27" vendor="APPLE"/>
<enum value="0x8A28" name="GL_UNIFORM_BUFFER_BINDING"/>
<enum value="0x8A29" name="GL_UNIFORM_BUFFER_START"/>
<enum value="0x8A2A" name="GL_UNIFORM_BUFFER_SIZE"/>
<enum value="0x8A2B" name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
<enum value="0x8A2C" name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
+ <enum value="0x8A2C" name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT"/>
<enum value="0x8A2D" name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
<enum value="0x8A2E" name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
<enum value="0x8A2F" name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
<enum value="0x8A30" name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
<enum value="0x8A31" name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
<enum value="0x8A32" name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
+ <enum value="0x8A32" name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
<enum value="0x8A33" name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
<enum value="0x8A34" name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
<enum value="0x8A35" name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
@@ -6013,13 +6054,13 @@ typedef unsigned int GLhandleARB;
<enum value="0x8A44" name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
<enum value="0x8A45" name="GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"/>
<enum value="0x8A46" name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
- <unused start="0x8A47"/>
+ <unused start="0x8A47" vendor="APPLE"/>
<enum value="0x8A48" name="GL_TEXTURE_SRGB_DECODE_EXT"/>
<enum value="0x8A49" name="GL_DECODE_EXT"/>
<enum value="0x8A4A" name="GL_SKIP_DECODE_EXT"/>
- <unused start="0x8A4B" end="0x8A4E"/>
+ <unused start="0x8A4B" end="0x8A4E" vendor="APPLE"/>
<enum value="0x8A4F" name="GL_PROGRAM_PIPELINE_OBJECT_EXT"/>
- <unused start="0x8A50"/>
+ <unused start="0x8A50" vendor="APPLE"/>
<enum value="0x8A51" name="GL_RGB_RAW_422_APPLE"/>
<enum value="0x8A52" name="GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT"/>
<enum value="0x8A53" name="GL_SYNC_OBJECT_APPLE"/>
@@ -6027,12 +6068,16 @@ typedef unsigned int GLhandleARB;
<enum value="0x8A55" name="GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT"/>
<enum value="0x8A56" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT"/>
<enum value="0x8A57" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT"/>
- <unused start="0x8A58" end="0x8A7F"/>
+ <unused start="0x8A58" end="0x8A7F" vendor="APPLE"/>
</enums>
- <enums namespace="GL" start="0x8A80" end="0x8AEF" vendor="Matrox"/>
+ <enums namespace="GL" start="0x8A80" end="0x8AEF" vendor="Matrox">
+ <unused start="0x8A80" end="0x8AEF" vendor="Matrox"/>
+ </enums>
- <enums namespace="GL" start="0x8AF0" end="0x8B2F" vendor="Chromium" comment="For Brian Paul"/>
+ <enums namespace="GL" start="0x8AF0" end="0x8B2F" vendor="Chromium" comment="For Brian Paul">
+ <unused start="0x8AF0" end="0x8B2F" vendor="Chromium"/>
+ </enums>
<enums namespace="GL" start="0x8B30" end="0x8B3F" group="ShaderType" vendor="ARB">
<enum value="0x8B30" name="GL_FRAGMENT_SHADER"/>
@@ -6158,7 +6203,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8B8C" name="GL_SHADING_LANGUAGE_VERSION_ARB"/>
<enum value="0x8B8D" name="GL_CURRENT_PROGRAM"/>
<enum value="0x8B8D" api="gl" name="GL_ACTIVE_PROGRAM_EXT" alias="GL_CURRENT_PROGRAM" comment="For the OpenGL version of EXT_separate_shader_objects"/>
- <unused start="0x8B8E" end="0x8B8F"/>
+ <unused start="0x8B8E" end="0x8B8F" vendor="ARB"/>
</enums>
<enums namespace="GL" start="0x8B90" end="0x8B9F" vendor="OES">
@@ -6182,7 +6227,9 @@ typedef unsigned int GLhandleARB;
<enum value="0x8B9F" name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"/>
</enums>
- <enums namespace="GL" start="0x8BA0" end="0x8BAF" vendor="Seaweed"/>
+ <enums namespace="GL" start="0x8BA0" end="0x8BAF" vendor="Seaweed">
+ <unused start="0x8BA0" end="0x8BAF" vendor="Seaweed"/>
+ </enums>
<enums namespace="GL" start="0x8BB0" end="0x8BBF" vendor="MESA">
<enum value="0x8BB0" name="GL_FRAGMENT_PROGRAM_POSITION_MESA"/>
@@ -6203,7 +6250,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8BC4" name="GL_PERFMON_RESULT_AVAILABLE_AMD"/>
<enum value="0x8BC5" name="GL_PERFMON_RESULT_SIZE_AMD"/>
<enum value="0x8BC6" name="GL_PERFMON_RESULT_AMD"/>
- <unused start="0x8BC7" end="0x8BD1"/>
+ <unused start="0x8BC7" end="0x8BD1" vendor="AMD"/>
<enum value="0x8BD2" name="GL_TEXTURE_WIDTH_QCOM"/>
<enum value="0x8BD3" name="GL_TEXTURE_HEIGHT_QCOM"/>
<enum value="0x8BD4" name="GL_TEXTURE_DEPTH_QCOM"/>
@@ -6215,7 +6262,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8BDA" name="GL_TEXTURE_TARGET_QCOM"/>
<enum value="0x8BDB" name="GL_TEXTURE_OBJECT_VALID_QCOM"/>
<enum value="0x8BDC" name="GL_STATE_RESTORE"/>
- <unused start="0x8BDD" end="0x8BFF"/>
+ <unused start="0x8BDD" end="0x8BFF" vendor="AMD"/>
</enums>
<enums namespace="GL" start="0x8C00" end="0x8C0F" vendor="IMG">
@@ -6230,7 +6277,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8C08" name="GL_FRAGMENT_ALPHA_MODULATE_IMG"/>
<enum value="0x8C09" name="GL_ADD_BLEND_IMG"/>
<enum value="0x8C0A" name="GL_SGX_BINARY_IMG"/>
- <unused start="0x8C0B" end="0x8C0F"/>
+ <unused start="0x8C0B" end="0x8C0F" vendor="IMG"/>
</enums>
<enums namespace="GL" start="0x8C10" end="0x8C8F" vendor="NV" comment="For Pat Brown">
@@ -6263,7 +6310,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8C1C" name="GL_TEXTURE_BINDING_1D_ARRAY_EXT"/>
<enum value="0x8C1D" name="GL_TEXTURE_BINDING_2D_ARRAY"/>
<enum value="0x8C1D" name="GL_TEXTURE_BINDING_2D_ARRAY_EXT"/>
- <unused start="0x8C1E" end="0x8C25"/>
+ <unused start="0x8C1E" end="0x8C25" vendor="NV"/>
<enum value="0x8C26" name="GL_GEOMETRY_PROGRAM_NV"/>
<enum value="0x8C27" name="GL_MAX_PROGRAM_OUTPUT_VERTICES_NV"/>
<enum value="0x8C28" name="GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV"/>
@@ -6274,6 +6321,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8C2A" name="GL_TEXTURE_BUFFER_ARB"/>
<enum value="0x8C2A" name="GL_TEXTURE_BUFFER_EXT"/>
<enum value="0x8C2A" name="GL_TEXTURE_BUFFER_BINDING" comment="Equivalent to GL_TEXTURE_BUFFER_ARB query, but named more consistently"/>
+ <enum value="0x8C2A" name="GL_TEXTURE_BUFFER_BINDING_EXT"/>
<enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
<enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_ARB"/>
<enum value="0x8C2B" name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
@@ -6287,12 +6335,14 @@ typedef unsigned int GLhandleARB;
<enum value="0x8C2E" name="GL_TEXTURE_BUFFER_FORMAT_EXT"/>
<enum value="0x8C2F" name="GL_ANY_SAMPLES_PASSED"/>
<enum value="0x8C2F" name="GL_ANY_SAMPLES_PASSED_EXT"/>
- <unused start="0x8C30" end="0x8C35"/>
+ <unused start="0x8C30" end="0x8C35" vendor="NV"/>
<enum value="0x8C36" name="GL_SAMPLE_SHADING"/>
<enum value="0x8C36" name="GL_SAMPLE_SHADING_ARB"/>
+ <enum value="0x8C36" name="GL_SAMPLE_SHADING_OES"/>
<enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE"/>
<enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE_ARB"/>
- <unused start="0x8C38" end="0x8C39"/>
+ <enum value="0x8C37" name="GL_MIN_SAMPLE_SHADING_VALUE_OES"/>
+ <unused start="0x8C38" end="0x8C39" vendor="NV"/>
<enum value="0x8C3A" name="GL_R11F_G11F_B10F"/>
<enum value="0x8C3A" name="GL_R11F_G11F_B10F_EXT"/>
<enum value="0x8C3B" name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
@@ -6341,7 +6391,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8C4E" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV"/>
<enum value="0x8C4F" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"/>
<enum value="0x8C4F" name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV"/>
- <unused start="0x8C50" end="0x8C6F"/>
+ <unused start="0x8C50" end="0x8C6F" vendor="NV"/>
<enum value="0x8C70" name="GL_COMPRESSED_LUMINANCE_LATC1_EXT"/>
<enum value="0x8C71" name="GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT"/>
<enum value="0x8C72" name="GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT"/>
@@ -6408,10 +6458,10 @@ typedef unsigned int GLhandleARB;
<enums namespace="GL" start="0x8C90" end="0x8C9F" vendor="QCOM" comment="For Affie Munshi, OpenGL ES extensions">
<!-- Reassigned from ATI to QCOM at time of
mobile/desktop split (bug 5874) -->
- <unused start="0x8C90" end="0x8C91"/>
+ <unused start="0x8C90" end="0x8C91" vendor="QCOM"/>
<enum value="0x8C92" name="GL_ATC_RGB_AMD"/>
<enum value="0x8C93" name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD"/>
- <unused start="0x8C94" end="0x8C9F"/>
+ <unused start="0x8C94" end="0x8C9F" vendor="QCOM"/>
</enums>
<enums namespace="GL" start="0x8CA0" end="0x8CAF" vendor="ARB">
@@ -6457,10 +6507,12 @@ typedef unsigned int GLhandleARB;
<enum value="0x8CAB" name="GL_RENDERBUFFER_SAMPLES_NV"/>
<enum value="0x8CAC" name="GL_DEPTH_COMPONENT32F"/>
<enum value="0x8CAD" name="GL_DEPTH32F_STENCIL8"/>
- <unused start="0x8CAE" end="0x8CAF"/>
+ <unused start="0x8CAE" end="0x8CAF" vendor="ARB"/>
</enums>
- <enums namespace="GL" start="0x8CB0" end="0x8CCF" vendor="ZiiLabs" comment="For Barthold Lichtenbelt 2004/12/1"/>
+ <enums namespace="GL" start="0x8CB0" end="0x8CCF" vendor="ZiiLabs" comment="For Barthold Lichtenbelt 2004/12/1">
+ <unused start="0x8CB0" end="0x8CCF" vendor="ZiiLabs"/>
+ </enums>
<enums namespace="GL" start="0x8CD0" end="0x8D5F" vendor="ARB" comment="Framebuffer object specification + headroom">
<enum value="0x8CD0" name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
@@ -6488,7 +6540,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
<enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT"/>
<enum value="0x8CD7" name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES"/>
- <unused start="0x8CD8" comment="Removed 2005/09/26 in revision #117 of the FBO extension spec"/>
+ <unused start="0x8CD8" vendor="ARB" comment="Removed 2005/09/26 in revision #117 of the FBO extension spec"/>
<!-- <enum value="0x8CD8" name="GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT"/> -->
<enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
<enum value="0x8CD9" name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT"/>
@@ -6504,7 +6556,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED"/>
<enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED_EXT"/>
<enum value="0x8CDD" name="GL_FRAMEBUFFER_UNSUPPORTED_OES"/>
- <unused start="0x8CDE" comment="Removed 2005/05/31 in revision #113 of the FBO extension spec"/>
+ <unused start="0x8CDE" vendor="ARB" comment="Removed 2005/05/31 in revision #113 of the FBO extension spec"/>
<!-- <enum value="0x8CDE" name="GL_FRAMEBUFFER_STATUS_ERROR_EXT"/> -->
<enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS"/>
<enum value="0x8CDF" name="GL_MAX_COLOR_ATTACHMENTS_EXT"/>
@@ -6558,15 +6610,15 @@ typedef unsigned int GLhandleARB;
<enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15"/>
<enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15_EXT"/>
<enum value="0x8CEF" name="GL_COLOR_ATTACHMENT15_NV"/>
- <unused start="0x8CF0" end="0x8CFF" comment="For color attachments 16-31"/>
+ <unused start="0x8CF0" end="0x8CFF" vendor="ARB" comment="For color attachments 16-31"/>
<enum value="0x8D00" name="GL_DEPTH_ATTACHMENT"/>
<enum value="0x8D00" name="GL_DEPTH_ATTACHMENT_EXT"/>
<enum value="0x8D00" name="GL_DEPTH_ATTACHMENT_OES"/>
- <unused start="0x8D01" end="0x8D1F" comment="For depth attachments 16-31"/>
+ <unused start="0x8D01" end="0x8D1F" vendor="ARB" comment="For depth attachments 16-31"/>
<enum value="0x8D20" name="GL_STENCIL_ATTACHMENT"/>
<enum value="0x8D20" name="GL_STENCIL_ATTACHMENT_EXT"/>
<enum value="0x8D20" name="GL_STENCIL_ATTACHMENT_OES"/>
- <unused start="0x8D21" end="0x8D3F" comment="For stencil attachments 16-31"/>
+ <unused start="0x8D21" end="0x8D3F" vendor="ARB" comment="For stencil attachments 16-31"/>
<enum value="0x8D40" name="GL_FRAMEBUFFER"/>
<enum value="0x8D40" name="GL_FRAMEBUFFER_EXT"/>
<enum value="0x8D40" name="GL_FRAMEBUFFER_OES"/>
@@ -6582,7 +6634,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
<enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT_EXT"/>
<enum value="0x8D44" name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
- <unused start="0x8D45" comment="Was for GL_STENCIL_INDEX_EXT, but now use core STENCIL_INDEX instead"/>
+ <unused start="0x8D45" vendor="ARB" comment="Was for GL_STENCIL_INDEX_EXT, but now use core STENCIL_INDEX instead"/>
<enum value="0x8D46" name="GL_STENCIL_INDEX1"/>
<enum value="0x8D46" name="GL_STENCIL_INDEX1_EXT"/>
<enum value="0x8D46" name="GL_STENCIL_INDEX1_OES"/>
@@ -6594,7 +6646,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8D48" name="GL_STENCIL_INDEX8_OES"/>
<enum value="0x8D49" name="GL_STENCIL_INDEX16"/>
<enum value="0x8D49" name="GL_STENCIL_INDEX16_EXT"/>
- <unused start="0x8D4A" end="0x8D4F" comment="For additional stencil formats"/>
+ <unused start="0x8D4A" end="0x8D4F" vendor="ARB" comment="For additional stencil formats"/>
<enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE"/>
<enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE_EXT"/>
<enum value="0x8D50" name="GL_RENDERBUFFER_RED_SIZE_OES"/>
@@ -6623,7 +6675,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8D57" name="GL_MAX_SAMPLES_APPLE"/>
<enum value="0x8D57" name="GL_MAX_SAMPLES_EXT"/>
<enum value="0x8D57" name="GL_MAX_SAMPLES_NV"/>
- <unused start="0x8D58" end="0x8D5F"/>
+ <unused start="0x8D58" end="0x8D5F" vendor="ARB"/>
</enums>
<enums namespace="GL" start="0x8D60" end="0x8D6F" vendor="OES">
@@ -6631,7 +6683,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8D61" name="GL_HALF_FLOAT_OES"/>
<enum value="0x8D62" name="GL_RGB565_OES"/>
<enum value="0x8D62" name="GL_RGB565"/>
- <unused start="0x8D63" comment="Was GL_TEXTURE_IMMUTABLE_LEVELS in draft ES 3.0 spec"/>
+ <unused start="0x8D63" vendor="OES" comment="Was GL_TEXTURE_IMMUTABLE_LEVELS in draft ES 3.0 spec"/>
<enum value="0x8D64" name="GL_ETC1_RGB8_OES"/>
<enum value="0x8D65" name="GL_TEXTURE_EXTERNAL_OES"/>
<enum value="0x8D66" name="GL_SAMPLER_EXTERNAL_OES"/>
@@ -6642,7 +6694,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8D6A" name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT"/>
<enum value="0x8D6B" name="GL_MAX_ELEMENT_INDEX"/>
<enum value="0x8D6C" name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT"/>
- <unused start="0x8D6D" end="0x8D6F"/>
+ <unused start="0x8D6D" end="0x8D6F" vendor="OES"/>
</enums>
<enums namespace="GL" start="0x8D70" end="0x8DEF" vendor="NV" comment="For Pat Brown 2005/10/13">
@@ -6737,7 +6789,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8DAD" name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV"/>
<enum value="0x8DAE" name="GL_SHADER_INCLUDE_ARB"/>
<enum value="0x8DAF" name="GL_DEPTH_BUFFER_FLOAT_MODE_NV"/>
- <unused start="0x8DB0" end="0x8DB8"/>
+ <unused start="0x8DB0" end="0x8DB8" vendor="NV"/>
<enum value="0x8DB9" name="GL_FRAMEBUFFER_SRGB"/>
<enum value="0x8DB9" name="GL_FRAMEBUFFER_SRGB_EXT"/>
<enum value="0x8DBA" name="GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
@@ -6832,7 +6884,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8DE8" name="GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"/>
<enum value="0x8DE9" name="GL_NAMED_STRING_LENGTH_ARB"/>
<enum value="0x8DEA" name="GL_NAMED_STRING_TYPE_ARB"/>
- <unused start="0x8DEB" end="0x8DEC"/>
+ <unused start="0x8DEB" end="0x8DEC" vendor="NV"/>
<enum value="0x8DED" name="GL_MAX_BINDABLE_UNIFORM_SIZE_EXT"/>
<enum value="0x8DEE" name="GL_UNIFORM_BUFFER_EXT"/>
<enum value="0x8DEF" name="GL_UNIFORM_BUFFER_BINDING_EXT"/>
@@ -6853,7 +6905,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8DFB" name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
<enum value="0x8DFC" name="GL_MAX_VARYING_VECTORS"/>
<enum value="0x8DFD" name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
- <unused start="0x8DFE" end="0x8E0F"/>
+ <unused start="0x8DFE" end="0x8E0F" vendor="OES"/>
</enums>
<enums namespace="GL" start="0x8E10" end="0x8E8F" vendor="NV" comment="For Michael Gold 2006/08/07">
@@ -6868,11 +6920,14 @@ typedef unsigned int GLhandleARB;
<enum value="0x8E15" name="GL_QUERY_BY_REGION_WAIT_NV"/>
<enum value="0x8E16" name="GL_QUERY_BY_REGION_NO_WAIT"/>
<enum value="0x8E16" name="GL_QUERY_BY_REGION_NO_WAIT_NV"/>
- <unused start="0x8E17" end="0x8E1D"/>
+ <!-- 0x8E17 - 0x8E1A reserved for future GL features -->
+ <unused start="0x8E1B" end="0x8E1D" vendor="NV"/>
<enum value="0x8E1E" name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+ <enum value="0x8E1E" name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
<enum value="0x8E1F" name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+ <enum value="0x8E1F" name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
<enum value="0x8E20" name="GL_COLOR_SAMPLES_NV"/>
- <unused start="0x8E21"/>
+ <unused start="0x8E21" vendor="NV"/>
<enum value="0x8E22" name="GL_TRANSFORM_FEEDBACK"/>
<enum value="0x8E22" name="GL_TRANSFORM_FEEDBACK_NV"/>
<enum value="0x8E23" name="GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"/>
@@ -6895,7 +6950,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8E2D" name="GL_PROGRAM_MATRIX_EXT"/>
<enum value="0x8E2E" name="GL_TRANSPOSE_PROGRAM_MATRIX_EXT"/>
<enum value="0x8E2F" name="GL_PROGRAM_MATRIX_STACK_DEPTH_EXT"/>
- <unused start="0x8E30" end="0x8E41"/>
+ <unused start="0x8E30" end="0x8E41" vendor="NV"/>
<enum value="0x8E42" name="GL_TEXTURE_SWIZZLE_R"/>
<enum value="0x8E42" name="GL_TEXTURE_SWIZZLE_R_EXT"/>
<enum value="0x8E43" name="GL_TEXTURE_SWIZZLE_G"/>
@@ -6935,11 +6990,15 @@ typedef unsigned int GLhandleARB;
<enum value="0x8E59" name="GL_MAX_SAMPLE_MASK_WORDS_NV"/>
<enum value="0x8E5A" name="GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV"/>
<enum value="0x8E5A" name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
+ <enum value="0x8E5A" name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
<enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
+ <enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
<enum value="0x8E5B" name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
<enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
+ <enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
<enum value="0x8E5C" name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV"/>
<enum value="0x8E5D" name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
+ <enum value="0x8E5D" name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES"/>
<enum value="0x8E5D" name="GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV"/>
<enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
<enum value="0x8E5E" name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
@@ -6947,34 +7006,60 @@ typedef unsigned int GLhandleARB;
<enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
<enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB"/>
<enum value="0x8E5F" name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV"/>
- <unused start="0x8E60" end="0x8E6F"/>
+ <unused start="0x8E60" end="0x8E6F" vendor="NV"/>
<enum value="0x8E70" name="GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"/>
<enum value="0x8E71" name="GL_MAX_VERTEX_STREAMS"/>
<enum value="0x8E72" name="GL_PATCH_VERTICES"/>
+ <enum value="0x8E72" name="GL_PATCH_VERTICES_EXT"/>
<enum value="0x8E73" name="GL_PATCH_DEFAULT_INNER_LEVEL"/>
+ <enum value="0x8E73" name="GL_PATCH_DEFAULT_INNER_LEVEL_EXT"/>
<enum value="0x8E74" name="GL_PATCH_DEFAULT_OUTER_LEVEL"/>
+ <enum value="0x8E74" name="GL_PATCH_DEFAULT_OUTER_LEVEL_EXT"/>
<enum value="0x8E75" name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
+ <enum value="0x8E75" name="GL_TESS_CONTROL_OUTPUT_VERTICES_EXT"/>
<enum value="0x8E76" name="GL_TESS_GEN_MODE"/>
+ <enum value="0x8E76" name="GL_TESS_GEN_MODE_EXT"/>
<enum value="0x8E77" name="GL_TESS_GEN_SPACING"/>
+ <enum value="0x8E77" name="GL_TESS_GEN_SPACING_EXT"/>
<enum value="0x8E78" name="GL_TESS_GEN_VERTEX_ORDER"/>
+ <enum value="0x8E78" name="GL_TESS_GEN_VERTEX_ORDER_EXT"/>
<enum value="0x8E79" name="GL_TESS_GEN_POINT_MODE"/>
+ <enum value="0x8E79" name="GL_TESS_GEN_POINT_MODE_EXT"/>
<enum value="0x8E7A" name="GL_ISOLINES"/>
+ <enum value="0x8E7A" name="GL_ISOLINES_EXT"/>
<enum value="0x8E7B" name="GL_FRACTIONAL_ODD"/>
+ <enum value="0x8E7B" name="GL_FRACTIONAL_ODD_EXT"/>
<enum value="0x8E7C" name="GL_FRACTIONAL_EVEN"/>
+ <enum value="0x8E7C" name="GL_FRACTIONAL_EVEN_EXT"/>
<enum value="0x8E7D" name="GL_MAX_PATCH_VERTICES"/>
+ <enum value="0x8E7D" name="GL_MAX_PATCH_VERTICES_EXT"/>
<enum value="0x8E7E" name="GL_MAX_TESS_GEN_LEVEL"/>
+ <enum value="0x8E7E" name="GL_MAX_TESS_GEN_LEVEL_EXT"/>
<enum value="0x8E7F" name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+ <enum value="0x8E7F" name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
<enum value="0x8E80" name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+ <enum value="0x8E80" name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
<enum value="0x8E81" name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x8E81" name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT"/>
<enum value="0x8E82" name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
+ <enum value="0x8E82" name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT"/>
<enum value="0x8E83" name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
+ <enum value="0x8E83" name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT"/>
<enum value="0x8E84" name="GL_MAX_TESS_PATCH_COMPONENTS"/>
+ <enum value="0x8E84" name="GL_MAX_TESS_PATCH_COMPONENTS_EXT"/>
<enum value="0x8E85" name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
+ <enum value="0x8E85" name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT"/>
<enum value="0x8E86" name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
+ <enum value="0x8E86" name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT"/>
<enum value="0x8E87" name="GL_TESS_EVALUATION_SHADER"/>
+ <enum value="0x8E87" name="GL_TESS_EVALUATION_SHADER_EXT"/>
<enum value="0x8E88" name="GL_TESS_CONTROL_SHADER"/>
+ <enum value="0x8E88" name="GL_TESS_CONTROL_SHADER_EXT"/>
<enum value="0x8E89" name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
+ <enum value="0x8E89" name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT"/>
<enum value="0x8E8A" name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
+ <enum value="0x8E8A" name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT"/>
+ <unused start="0x8E8B" vendor="NV"/>
<enum value="0x8E8C" name="GL_COMPRESSED_RGBA_BPTC_UNORM"/>
<enum value="0x8E8C" name="GL_COMPRESSED_RGBA_BPTC_UNORM_ARB"/>
<enum value="0x8E8D" name="GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM"/>
@@ -6986,14 +7071,20 @@ typedef unsigned int GLhandleARB;
</enums>
<enums namespace="GL" start="0x8E90" end="0x8E9F" vendor="QNX" comment="For QNX_texture_tiling, QNX_complex_polygon, QNX_stippled_lines (Khronos bug 696)">
- <unused start="0x8E90" end="0x8E9F"/>
+ <unused start="0x8E90" end="0x8E9F" vendor="QNX"/>
</enums>
- <enums namespace="GL" start="0x8EA0" end="0x8EAF" vendor="IMG"/>
+ <enums namespace="GL" start="0x8EA0" end="0x8EAF" vendor="IMG">
+ <unused start="0x8EA0" end="0x8EAF" vendor="IMG"/>
+ </enums>
- <enums namespace="GL" start="0x8EB0" end="0x8EBF" vendor="OES" comment="For Affie Munshi 2007/07/20"/>
+ <enums namespace="GL" start="0x8EB0" end="0x8EBF" vendor="OES" comment="For Affie Munshi 2007/07/20">
+ <unused start="0x8EB0" end="0x8EBF" vendor="OES"/>
+ </enums>
- <enums namespace="GL" start="0x8EC0" end="0x8ECF" vendor="Vincent"/>
+ <enums namespace="GL" start="0x8EC0" end="0x8ECF" vendor="Vincent">
+ <unused start="0x8EC0" end="0x8ECF" vendor="Vincent"/>
+ </enums>
<enums namespace="GL" start="0x8ED0" end="0x8F4F" vendor="NV" comment="For Pat Brown, Khronos bug 3191">
<enum value="0x8ED0" name="GL_COVERAGE_COMPONENT_NV"/>
@@ -7004,7 +7095,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8ED5" name="GL_COVERAGE_ALL_FRAGMENTS_NV"/>
<enum value="0x8ED6" name="GL_COVERAGE_EDGE_FRAGMENTS_NV"/>
<enum value="0x8ED7" name="GL_COVERAGE_AUTOMATIC_NV"/>
- <unused start="0x8ED8" end="0x8F1C"/>
+ <unused start="0x8ED8" end="0x8F1C" vendor="NV"/>
<enum value="0x8F1D" name="GL_BUFFER_GPU_ADDRESS_NV"/>
<enum value="0x8F1E" name="GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV"/>
<enum value="0x8F1F" name="GL_ELEMENT_ARRAY_UNIFIED_NV"/>
@@ -7076,20 +7167,32 @@ typedef unsigned int GLhandleARB;
<enum value="0x8F4D" name="GL_DOUBLE_MAT4x2_EXT"/>
<enum value="0x8F4E" name="GL_DOUBLE_MAT4x3"/>
<enum value="0x8F4E" name="GL_DOUBLE_MAT4x3_EXT"/>
- <unused start="0x8F4F"/>
+ <enum value="0x8F4F" name="GL_VERTEX_BINDING_BUFFER"/>
</enums>
- <enums namespace="GL" start="0x8F50" end="0x8F5F" vendor="ZiiLabs" comment="For Jon Kennedy, Khronos public bug 75"/>
+ <enums namespace="GL" start="0x8F50" end="0x8F5F" vendor="ZiiLabs" comment="For Jon Kennedy, Khronos public bug 75">
+ <unused start="0x8F50" end="0x8F5F" vendor="ZiiLabs"/>
+ </enums>
<enums namespace="GL" start="0x8F60" end="0x8F6F" vendor="ARM" comment="For Remi Pedersen, Khronos bug 3745">
<enum value="0x8F60" name="GL_MALI_SHADER_BINARY_ARM"/>
<enum value="0x8F61" name="GL_MALI_PROGRAM_BINARY_ARM"/>
- <unused start="0x8F62" end="0x8F6F"/>
+ <unused start="0x8F62" vendor="ARM"/>
+ <enum value="0x8F63" name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT"/>
+ <enum value="0x8F64" name="GL_SHADER_PIXEL_LOCAL_STORAGE_EXT"/>
+ <enum value="0x8F65" name="GL_FETCH_PER_SAMPLE_ARM"/>
+ <enum value="0x8F66" name="GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM"/>
+ <enum value="0x8F67" name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT"/>
+ <unused start="0x8F68" end="0x8F6F" vendor="ARM"/>
</enums>
- <enums namespace="GL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with EGL."/>
+ <enums namespace="GL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with EGL.">
+ <unused start="0x8F70" end="0x8F7F" vendor="HI"/>
+ </enums>
- <enums namespace="GL" start="0x8F80" end="0x8F8F" vendor="Zebra" comment="For Mike Weiblen, public bug 910"/>
+ <enums namespace="GL" start="0x8F80" end="0x8F8F" vendor="Zebra" comment="For Mike Weiblen, public bug 910">
+ <unused start="0x8F80" end="0x8F8F" vendor="Zebra"/>
+ </enums>
<enums namespace="GL" start="0x8F90" end="0x8F9F" vendor="ARB">
<enum value="0x8F90" name="GL_RED_SNORM"/>
@@ -7112,14 +7215,14 @@ typedef unsigned int GLhandleARB;
<enums namespace="GL" start="0x8FA0" end="0x8FBF" vendor="QCOM" comment="For Maurice Ribble, bug 4512">
<enum value="0x8FA0" name="GL_PERFMON_GLOBAL_MODE_QCOM"/>
- <unused start="0x8FA1" end="0x8FAF"/>
+ <unused start="0x8FA1" end="0x8FAF" vendor="QCOM"/>
<enum value="0x8FB0" name="GL_BINNING_CONTROL_HINT_QCOM"/>
<enum value="0x8FB1" name="GL_CPU_OPTIMIZED_QCOM"/>
<enum value="0x8FB2" name="GL_GPU_OPTIMIZED_QCOM"/>
<enum value="0x8FB3" name="GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM"/>
- <unused start="0x8FB4" end="0x8FBA"/>
+ <unused start="0x8FB4" end="0x8FBA" vendor="QCOM"/>
<enum value="0x8FBB" name="GL_GPU_DISJOINT_EXT"/>
- <unused start="0x8FBC" end="0x8FBF"/>
+ <unused start="0x8FBC" end="0x8FBF" vendor="QCOM"/>
</enums>
<enums namespace="GL" start="0x8FC0" end="0x8FDF" vendor="VIV" comment="For Frido Garritsen, bug 4526">
@@ -7159,7 +7262,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x8FFD" name="GL_DOUBLE_VEC3_EXT"/>
<enum value="0x8FFE" name="GL_DOUBLE_VEC4"/>
<enum value="0x8FFE" name="GL_DOUBLE_VEC4_EXT"/>
- <unused start="0x8FFF"/>
+ <unused start="0x8FFF" vendor="NV"/>
</enums>
<enums namespace="GL" start="0x9000" end="0x901F" vendor="AMD" comment="For Bill Licea-Kane">
@@ -7170,21 +7273,27 @@ typedef unsigned int GLhandleARB;
<enum value="0x9005" name="GL_TESSELLATION_FACTOR_AMD"/>
<enum value="0x9006" name="GL_DISCRETE_AMD"/>
<enum value="0x9007" name="GL_CONTINUOUS_AMD"/>
- <unused start="0x9008"/>
+ <unused start="0x9008" vendor="AMD"/>
<enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
<enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x9009" name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT"/>
<enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
<enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900A" name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT"/>
<enum value="0x900B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"/>
<enum value="0x900B" name="GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB"/>
<enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY"/>
<enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900C" name="GL_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
<enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"/>
<enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB"/>
+ <enum value="0x900D" name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT"/>
<enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY"/>
<enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900E" name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
<enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"/>
<enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
+ <enum value="0x900F" name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
<enum value="0x9010" name="GL_ALPHA_SNORM"/>
<enum value="0x9011" name="GL_LUMINANCE_SNORM"/>
<enum value="0x9012" name="GL_LUMINANCE_ALPHA_SNORM"/>
@@ -7233,7 +7342,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x903A" name="GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV"/>
<enum value="0x903B" name="GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV"/>
<enum value="0x903C" name="GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV"/>
- <unused start="0x903D" end="0x9044"/>
+ <unused start="0x903D" end="0x9044" vendor="NV"/>
<enum value="0x9045" name="GL_TEXTURE_COVERAGE_SAMPLES_NV"/>
<enum value="0x9046" name="GL_TEXTURE_COLOR_SAMPLES_NV"/>
<enum value="0x9047" name="GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX"/>
@@ -7392,14 +7501,17 @@ typedef unsigned int GLhandleARB;
<enum value="0x90BD" name="GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV"/>
<enum value="0x90BE" name="GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV"/>
<enum value="0x90BF" name="GL_PATH_COVER_DEPTH_FUNC_NV"/>
- <unused start="0x90C0" end="0x90C6"/>
+ <unused start="0x90C0" end="0x90C6" vendor="NV"/>
<enum value="0x90C7" name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
<enum value="0x90C8" name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
<enum value="0x90C9" name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
<enum value="0x90CA" name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
<enum value="0x90CB" name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
+ <enum value="0x90CB" name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT"/>
<enum value="0x90CC" name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
+ <enum value="0x90CC" name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT"/>
<enum value="0x90CD" name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
+ <enum value="0x90CD" name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT"/>
<enum value="0x90CE" name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
<enum value="0x90CF" name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
<enum value="0x90D0" name="GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV"/>
@@ -7410,17 +7522,20 @@ typedef unsigned int GLhandleARB;
<enum value="0x90D5" name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
<enum value="0x90D6" name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
<enum value="0x90D7" name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90D7" name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT"/>
<enum value="0x90D8" name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90D8" name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT"/>
<enum value="0x90D9" name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
+ <enum value="0x90D9" name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT"/>
<enum value="0x90DA" name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
<enum value="0x90DB" name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
<enum value="0x90DC" name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
<enum value="0x90DD" name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
<enum value="0x90DE" name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
<enum value="0x90DF" name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
- <unused start="0x90E0"/>
+ <unused start="0x90E0" vendor="NV"/>
<enum value="0x90E1" name="GL_SYNC_X11_FENCE_EXT"/>
- <unused start="0x90E2" end="0x90E9"/>
+ <unused start="0x90E2" end="0x90E9" vendor="NV"/>
<enum value="0x90EA" name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
<enum value="0x90EB" name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
<enum value="0x90EB" name="GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB" alias="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
@@ -7432,27 +7547,32 @@ typedef unsigned int GLhandleARB;
<enum value="0x90F1" name="GL_MULTIVIEW_EXT"/>
<enum value="0x90F2" name="GL_MAX_MULTIVIEW_BUFFERS_EXT"/>
<enum value="0x90F3" name="GL_CONTEXT_ROBUST_ACCESS_EXT"/>
- <unused start="0x90F4" end="0x90FA"/>
+ <unused start="0x90F4" end="0x90FA" vendor="NV"/>
<enum value="0x90FB" name="GL_COMPUTE_PROGRAM_NV"/>
<enum value="0x90FC" name="GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV"/>
- <unused start="0x90FD" end="0x90FF"/>
+ <unused start="0x90FD" end="0x90FF" vendor="NV"/>
</enums>
<enums namespace="GL" start="0x9100" end="0x912F" vendor="ARB">
<enum value="0x9100" name="GL_TEXTURE_2D_MULTISAMPLE"/>
<enum value="0x9101" name="GL_PROXY_TEXTURE_2D_MULTISAMPLE"/>
<enum value="0x9102" name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x9102" name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES"/>
<enum value="0x9103" name="GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
<enum value="0x9104" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
<enum value="0x9105" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x9105" name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"/>
<enum value="0x9106" name="GL_TEXTURE_SAMPLES"/>
<enum value="0x9107" name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
<enum value="0x9108" name="GL_SAMPLER_2D_MULTISAMPLE"/>
<enum value="0x9109" name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
<enum value="0x910A" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
<enum value="0x910B" name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x910B" name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
<enum value="0x910C" name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x910C" name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
<enum value="0x910D" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+ <enum value="0x910D" name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
<enum value="0x910E" name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
<enum value="0x910F" name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
<enum value="0x9110" name="GL_MAX_INTEGER_SAMPLES"/>
@@ -7487,7 +7607,9 @@ typedef unsigned int GLhandleARB;
<enum value="0x9121" name="GL_BUFFER_MAP_OFFSET"/>
<enum value="0x9122" name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
<enum value="0x9123" name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
+ <enum value="0x9123" name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT"/>
<enum value="0x9124" name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
+ <enum value="0x9124" name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT"/>
<enum value="0x9125" name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
<enum value="0x9126" name="GL_CONTEXT_PROFILE_MASK"/>
<enum value="0x9127" name="GL_UNPACK_COMPRESSED_BLOCK_WIDTH"/>
@@ -7504,18 +7626,18 @@ typedef unsigned int GLhandleARB;
<enums namespace="GL" start="0x9130" end="0x913F" vendor="IMG" comment="Khronos bug 882">
<enum value="0x9130" name="GL_SGX_PROGRAM_BINARY_IMG"/>
- <unused start="0x9131" end="0x9132"/>
+ <unused start="0x9131" end="0x9132" vendor="IMG"/>
<enum value="0x9133" name="GL_RENDERBUFFER_SAMPLES_IMG"/>
<enum value="0x9134" name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG"/>
<enum value="0x9135" name="GL_MAX_SAMPLES_IMG"/>
<enum value="0x9136" name="GL_TEXTURE_SAMPLES_IMG"/>
<enum value="0x9137" name="GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG"/>
<enum value="0x9138" name="GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG"/>
- <unused start="0x9139" end="0x913F"/>
+ <unused start="0x9139" end="0x913F" vendor="IMG"/>
</enums>
<enums namespace="GL" start="0x9140" end="0x923F" vendor="AMD" comment="Khronos bugs 5899, 6004">
- <unused start="0x9140" end="0x9142"/>
+ <unused start="0x9140" end="0x9142" vendor="AMD"/>
<enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
<enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"/>
<enum value="0x9143" name="GL_MAX_DEBUG_MESSAGE_LENGTH_ARB"/>
@@ -7556,9 +7678,9 @@ typedef unsigned int GLhandleARB;
<enum value="0x9154" name="GL_VERTEX_ARRAY_OBJECT_AMD"/>
<enum value="0x9154" name="GL_VERTEX_ARRAY_OBJECT_EXT"/>
<enum value="0x9155" name="GL_SAMPLER_OBJECT_AMD"/>
- <unused start="0x9156" end="0x915F"/>
+ <unused start="0x9156" end="0x915F" vendor="AMD"/>
<enum value="0x9160" name="GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD"/>
- <unused start="0x9161"/>
+ <unused start="0x9161" vendor="AMD"/>
<enum value="0x9192" name="GL_QUERY_BUFFER"/>
<enum value="0x9192" name="GL_QUERY_BUFFER_AMD"/>
<enum value="0x9193" name="GL_QUERY_BUFFER_BINDING"/>
@@ -7581,25 +7703,29 @@ typedef unsigned int GLhandleARB;
<enum value="0x919B" name="GL_MIN_SPARSE_LEVEL_AMD"/>
<enum value="0x919C" name="GL_MIN_LOD_WARNING_AMD"/>
<enum value="0x919D" name="GL_TEXTURE_BUFFER_OFFSET"/>
+ <enum value="0x919D" name="GL_TEXTURE_BUFFER_OFFSET_EXT"/>
<enum value="0x919E" name="GL_TEXTURE_BUFFER_SIZE"/>
+ <enum value="0x919E" name="GL_TEXTURE_BUFFER_SIZE_EXT"/>
<enum value="0x919F" name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
- <unused start="0x91A0" end="0x91A3"/>
+ <enum value="0x919F" name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT"/>
+ <enum value="0x91A0" name="GL_STREAM_RASTERIZATION_AMD"/>
+ <unused start="0x91A1" end="0x91A3" vendor="AMD"/>
<enum value="0x91A4" name="GL_VERTEX_ELEMENT_SWIZZLE_AMD"/>
<enum value="0x91A5" name="GL_VERTEX_ID_SWIZZLE_AMD"/>
<enum value="0x91A6" name="GL_TEXTURE_SPARSE_ARB"/>
<enum value="0x91A7" name="GL_VIRTUAL_PAGE_SIZE_INDEX_ARB"/>
<enum value="0x91A8" name="GL_NUM_VIRTUAL_PAGE_SIZES_ARB"/>
<enum value="0x91A9" name="GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB"/>
- <unused start="0x91AA" end="0x91B8"/>
+ <unused start="0x91AA" end="0x91B8" vendor="AMD"/>
<enum value="0x91B9" name="GL_COMPUTE_SHADER"/>
- <unused start="0x91BA"/>
+ <unused start="0x91BA" vendor="AMD"/>
<enum value="0x91BB" name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
<enum value="0x91BC" name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
<enum value="0x91BD" name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
<enum value="0x91BE" name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
<enum value="0x91BF" name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
<enum value="0x91BF" name="GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB" alias="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
- <unused start="0x91C0" end="0x923F"/>
+ <unused start="0x91C0" end="0x923F" vendor="AMD"/>
</enums>
<enums namespace="GL" start="0x9240" end="0x924F" vendor="WEBGL" comment="Khronos bug 6473,6884">
@@ -7608,17 +7734,17 @@ typedef unsigned int GLhandleARB;
<enum value="0x9242" name="GL_CONTEXT_LOST_WEBGL"/>
<enum value="0x9243" name="GL_UNPACK_COLORSPACE_CONVERSION_WEBGL"/>
<enum value="0x9244" name="GL_BROWSER_DEFAULT_WEBGL"/>
- <unused start="0x9245" end="0x924F"/>
+ <unused start="0x9245" end="0x924F" vendor="WEBGL"/>
</enums>
<enums namespace="GL" start="0x9250" end="0x925F" vendor="DMP" comment="For Eisaku Ohbuchi via email">
<enum value="0x9250" name="GL_SHADER_BINARY_DMP"/>
- <unused start="0x9251" end="0x925F"/>
+ <unused start="0x9251" end="0x925F" vendor="DMP"/>
</enums>
<enums namespace="GL" start="0x9260" end="0x926F" vendor="FJ" comment="Khronos bug 7486">
<enum value="0x9260" name="GL_GCCSO_SHADER_BINARY_FJ"/>
- <unused start="0x9261" end="0x926F"/>
+ <unused start="0x9261" end="0x926F" vendor="FJ"/>
</enums>
<enums namespace="GL" start="0x9270" end="0x927F" vendor="OES" comment="Khronos bug 7625">
@@ -7642,7 +7768,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x9278" name="GL_COMPRESSED_RGBA8_ETC2_EAC_OES"/>
<enum value="0x9279" name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"/>
<enum value="0x9279" name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES"/>
- <unused start="0x927A" end="0x927F"/>
+ <unused start="0x927A" end="0x927F" vendor="OES"/>
</enums>
<enums namespace="GL" start="0x9280" end="0x937F" vendor="NV" comment="Khronos bug 7658">
@@ -7651,6 +7777,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x9282" name="GL_UNCORRELATED_NV"/>
<enum value="0x9283" name="GL_DISJOINT_NV"/>
<enum value="0x9284" name="GL_CONJOINT_NV"/>
+ <enum value="0x9285" name="GL_BLEND_ADVANCED_COHERENT_KHR"/>
<enum value="0x9285" name="GL_BLEND_ADVANCED_COHERENT_NV"/>
<enum value="0x9286" name="GL_SRC_NV"/>
<enum value="0x9287" name="GL_DST_NV"/>
@@ -7662,25 +7789,36 @@ typedef unsigned int GLhandleARB;
<enum value="0x928D" name="GL_DST_OUT_NV"/>
<enum value="0x928E" name="GL_SRC_ATOP_NV"/>
<enum value="0x928F" name="GL_DST_ATOP_NV"/>
- <unused start="0x9290"/>
+ <unused start="0x9290" vendor="NV"/>
<enum value="0x9291" name="GL_PLUS_NV"/>
<enum value="0x9292" name="GL_PLUS_DARKER_NV"/>
- <unused start="0x9293"/>
+ <unused start="0x9293" vendor="NV"/>
+ <enum value="0x9294" name="GL_MULTIPLY_KHR"/>
<enum value="0x9294" name="GL_MULTIPLY_NV"/>
+ <enum value="0x9295" name="GL_SCREEN_KHR"/>
<enum value="0x9295" name="GL_SCREEN_NV"/>
+ <enum value="0x9296" name="GL_OVERLAY_KHR"/>
<enum value="0x9296" name="GL_OVERLAY_NV"/>
+ <enum value="0x9297" name="GL_DARKEN_KHR"/>
<enum value="0x9297" name="GL_DARKEN_NV"/>
+ <enum value="0x9298" name="GL_LIGHTEN_KHR"/>
<enum value="0x9298" name="GL_LIGHTEN_NV"/>
+ <enum value="0x9299" name="GL_COLORDODGE_KHR"/>
<enum value="0x9299" name="GL_COLORDODGE_NV"/>
+ <enum value="0x929A" name="GL_COLORBURN_KHR"/>
<enum value="0x929A" name="GL_COLORBURN_NV"/>
+ <enum value="0x929B" name="GL_HARDLIGHT_KHR"/>
<enum value="0x929B" name="GL_HARDLIGHT_NV"/>
+ <enum value="0x929C" name="GL_SOFTLIGHT_KHR"/>
<enum value="0x929C" name="GL_SOFTLIGHT_NV"/>
- <unused start="0x929D"/>
+ <unused start="0x929D" vendor="NV"/>
+ <enum value="0x929E" name="GL_DIFFERENCE_KHR"/>
<enum value="0x929E" name="GL_DIFFERENCE_NV"/>
<enum value="0x929F" name="GL_MINUS_NV"/>
+ <enum value="0x92A0" name="GL_EXCLUSION_KHR"/>
<enum value="0x92A0" name="GL_EXCLUSION_NV"/>
<enum value="0x92A1" name="GL_CONTRAST_NV"/>
- <unused start="0x92A2"/>
+ <unused start="0x92A2" vendor="NV"/>
<enum value="0x92A3" name="GL_INVERT_RGB_NV"/>
<enum value="0x92A4" name="GL_LINEARDODGE_NV"/>
<enum value="0x92A5" name="GL_LINEARBURN_NV"/>
@@ -7688,16 +7826,22 @@ typedef unsigned int GLhandleARB;
<enum value="0x92A7" name="GL_LINEARLIGHT_NV"/>
<enum value="0x92A8" name="GL_PINLIGHT_NV"/>
<enum value="0x92A9" name="GL_HARDMIX_NV"/>
- <unused start="0x92AA" end="0x92AC"/>
+ <unused start="0x92AA" end="0x92AC" vendor="NV"/>
+ <enum value="0x92AD" name="GL_HSL_HUE_KHR"/>
<enum value="0x92AD" name="GL_HSL_HUE_NV"/>
+ <enum value="0x92AE" name="GL_HSL_SATURATION_KHR"/>
<enum value="0x92AE" name="GL_HSL_SATURATION_NV"/>
+ <enum value="0x92AF" name="GL_HSL_COLOR_KHR"/>
<enum value="0x92AF" name="GL_HSL_COLOR_NV"/>
+ <enum value="0x92B0" name="GL_HSL_LUMINOSITY_KHR"/>
<enum value="0x92B0" name="GL_HSL_LUMINOSITY_NV"/>
<enum value="0x92B1" name="GL_PLUS_CLAMPED_NV"/>
<enum value="0x92B2" name="GL_PLUS_CLAMPED_ALPHA_NV"/>
<enum value="0x92B3" name="GL_MINUS_CLAMPED_NV"/>
<enum value="0x92B4" name="GL_INVERT_OVG_NV"/>
- <unused start="0x92B5" end="0x92BF"/>
+ <unused start="0x92B5" end="0x92BD" vendor="NV"/>
+ <enum value="0x92BE" name="GL_PRIMITIVE_BOUNDING_BOX_EXT"/>
+ <unused start="0x92BF" vendor="NV"/>
<enum value="0x92C0" name="GL_ATOMIC_COUNTER_BUFFER"/>
<enum value="0x92C1" name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
<enum value="0x92C2" name="GL_ATOMIC_COUNTER_BUFFER_START"/>
@@ -7712,14 +7856,20 @@ typedef unsigned int GLhandleARB;
<enum value="0x92CB" name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER"/>
<enum value="0x92CC" name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
<enum value="0x92CD" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92CD" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT"/>
<enum value="0x92CE" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92CE" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT"/>
<enum value="0x92CF" name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
+ <enum value="0x92CF" name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT"/>
<enum value="0x92D0" name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
<enum value="0x92D1" name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
<enum value="0x92D2" name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
<enum value="0x92D3" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
+ <enum value="0x92D3" name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT"/>
<enum value="0x92D4" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
+ <enum value="0x92D4" name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT"/>
<enum value="0x92D5" name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
+ <enum value="0x92D5" name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT"/>
<enum value="0x92D6" name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
<enum value="0x92D7" name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
<enum value="0x92D8" name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
@@ -7727,7 +7877,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x92DA" name="GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX"/>
<enum value="0x92DB" name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
<enum value="0x92DC" name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
- <unused start="0x92DC" end="0x92DF"/>
+ <unused start="0x92DC" end="0x92DF" vendor="NV"/>
<enum value="0x92E0" name="GL_DEBUG_OUTPUT"/>
<enum value="0x92E0" name="GL_DEBUG_OUTPUT_KHR"/>
<enum value="0x92E1" name="GL_UNIFORM"/>
@@ -7737,6 +7887,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x92E5" name="GL_BUFFER_VARIABLE"/>
<enum value="0x92E6" name="GL_SHADER_STORAGE_BLOCK"/>
<enum value="0x92E7" name="GL_IS_PER_PATCH"/>
+ <enum value="0x92E7" name="GL_IS_PER_PATCH_EXT"/>
<enum value="0x92E8" name="GL_VERTEX_SUBROUTINE"/>
<enum value="0x92E9" name="GL_TESS_CONTROL_SUBROUTINE"/>
<enum value="0x92EA" name="GL_TESS_EVALUATION_SUBROUTINE"/>
@@ -7769,8 +7920,11 @@ typedef unsigned int GLhandleARB;
<enum value="0x9305" name="GL_ACTIVE_VARIABLES"/>
<enum value="0x9306" name="GL_REFERENCED_BY_VERTEX_SHADER"/>
<enum value="0x9307" name="GL_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+ <enum value="0x9307" name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT"/>
<enum value="0x9308" name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+ <enum value="0x9308" name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT"/>
<enum value="0x9309" name="GL_REFERENCED_BY_GEOMETRY_SHADER"/>
+ <enum value="0x9309" name="GL_REFERENCED_BY_GEOMETRY_SHADER_EXT"/>
<enum value="0x930A" name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
<enum value="0x930B" name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
<enum value="0x930C" name="GL_TOP_LEVEL_ARRAY_SIZE"/>
@@ -7780,27 +7934,33 @@ typedef unsigned int GLhandleARB;
<enum value="0x9310" name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
<enum value="0x9311" name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
<enum value="0x9312" name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
+ <enum value="0x9312" name="GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT"/>
<enum value="0x9313" name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
<enum value="0x9314" name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
<enum value="0x9315" name="GL_MAX_FRAMEBUFFER_WIDTH"/>
<enum value="0x9316" name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
<enum value="0x9317" name="GL_MAX_FRAMEBUFFER_LAYERS"/>
+ <enum value="0x9317" name="GL_MAX_FRAMEBUFFER_LAYERS_EXT"/>
<enum value="0x9318" name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
- <unused start="0x9319" end="0x9343"/>
+ <unused start="0x9319" end="0x9338" vendor="NV"/>
+ <enum value="0x9339" name="GL_WARP_SIZE_NV"/>
+ <enum value="0x933A" name="GL_WARPS_PER_SM_NV"/>
+ <enum value="0x933B" name="GL_SM_COUNT_NV"/>
+ <unused start="0x933C" end="0x9343" vendor="NV"/>
<enum value="0x9344" name="GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB"/>
<enum value="0x9345" name="GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB"/>
- <unused start="0x9346" end="0x9349"/>
+ <unused start="0x9346" end="0x9349" vendor="NV"/>
<enum value="0x934A" name="GL_LOCATION_COMPONENT"/>
<enum value="0x934B" name="GL_TRANSFORM_FEEDBACK_BUFFER_INDEX"/>
<enum value="0x934C" name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
- <unused start="0x934D" end="0x9364"/>
+ <unused start="0x934D" end="0x9364" vendor="NV"/>
<enum value="0x9365" name="GL_CLEAR_TEXTURE"/>
- <unused start="0x9366" end="0x937F"/>
+ <unused start="0x9366" end="0x937F" vendor="NV"/>
</enums>
<enums namespace="GL" start="0x9380" end="0x939F" vendor="ARB">
<enum value="0x9380" name="GL_NUM_SAMPLE_COUNTS"/>
- <unused start="0x9381" end="0x939F"/>
+ <unused start="0x9381" end="0x939F" vendor="ARB"/>
</enums>
<enums namespace="GL" start="0x93A0" end="0x93AF" vendor="ANGLE" comment="Khronos bug 8100">
@@ -7809,9 +7969,9 @@ typedef unsigned int GLhandleARB;
<enum value="0x93A2" name="GL_TEXTURE_USAGE_ANGLE"/>
<enum value="0x93A3" name="GL_FRAMEBUFFER_ATTACHMENT_ANGLE"/>
<enum value="0x93A4" name="GL_PACK_REVERSE_ROW_ORDER_ANGLE"/>
- <unused start="0x93A5"/>
+ <unused start="0x93A5" vendor="ANGLE"/>
<enum value="0x93A6" name="GL_PROGRAM_BINARY_ANGLE"/>
- <unused start="0x93A7" end="0x93AF"/>
+ <unused start="0x93A7" end="0x93AF" vendor="ANGLE"/>
</enums>
<enums namespace="GL" start="0x93B0" end="0x93EF" vendor="OES" comment="Khronos bug 8853">
@@ -7829,7 +7989,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x93BB" name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
<enum value="0x93BC" name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
<enum value="0x93BD" name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
- <unused start="0x93BE" end="0x93BF"/>
+ <unused start="0x93BE" end="0x93BF" vendor="OES"/>
<enum value="0x93C0" name="GL_COMPRESSED_RGBA_ASTC_3x3x3_OES"/>
<enum value="0x93C1" name="GL_COMPRESSED_RGBA_ASTC_4x3x3_OES"/>
<enum value="0x93C2" name="GL_COMPRESSED_RGBA_ASTC_4x4x3_OES"/>
@@ -7840,7 +8000,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x93C7" name="GL_COMPRESSED_RGBA_ASTC_6x5x5_OES"/>
<enum value="0x93C8" name="GL_COMPRESSED_RGBA_ASTC_6x6x5_OES"/>
<enum value="0x93C9" name="GL_COMPRESSED_RGBA_ASTC_6x6x6_OES"/>
- <unused start="0x93CA" end="0x93CF"/>
+ <unused start="0x93CA" end="0x93CF" vendor="OES"/>
<enum value="0x93D0" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
<enum value="0x93D1" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
<enum value="0x93D2" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
@@ -7855,7 +8015,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x93DB" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
<enum value="0x93DC" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
<enum value="0x93DD" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
- <unused start="0x93DE" end="0x93DF"/>
+ <unused start="0x93DE" end="0x93DF" vendor="OES"/>
<enum value="0x93E0" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES"/>
<enum value="0x93E1" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES"/>
<enum value="0x93E2" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES"/>
@@ -7866,11 +8026,13 @@ typedef unsigned int GLhandleARB;
<enum value="0x93E7" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES"/>
<enum value="0x93E8" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES"/>
<enum value="0x93E9" name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES"/>
- <unused start="0x93EA" end="0x93EF"/>
+ <unused start="0x93EA" end="0x93EF" vendor="OES"/>
</enums>
<enums namespace="GL" start="0x93F0" end="0x94EF" vendor="APPLE" comment="Khronos bug 10233">
- <unused start="0x93F0" end="0x94EF"/>
+ <enum value="0x93F0" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG"/>
+ <enum value="0x93F1" name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG"/>
+ <unused start="0x93F2" end="0x94EF" vendor="APPLE"/>
</enums>
<enums namespace="GL" start="0x94F0" end="0x950F" vendor="INTEL" comment="Khronos bug 11345">
@@ -7880,7 +8042,7 @@ typedef unsigned int GLhandleARB;
<enum value="0x94F3" name="GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL"/>
<enum value="0x94F4" name="GL_PERFQUERY_COUNTER_RAW_INTEL"/>
<enum value="0x94F5" name="GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL"/>
- <unused start="0x94F6" end="0x94F7"/>
+ <unused start="0x94F6" end="0x94F7" vendor="INTEL"/>
<enum value="0x94F8" name="GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL"/>
<enum value="0x94F9" name="GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL"/>
<enum value="0x94FA" name="GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL"/>
@@ -7890,7 +8052,11 @@ typedef unsigned int GLhandleARB;
<enum value="0x94FE" name="GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL"/>
<enum value="0x94FF" name="GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL"/>
<enum value="0x9500" name="GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL"/>
- <unused start="0x9501" end="0x950F"/>
+ <unused start="0x9501" end="0x950F" vendor="INTEL"/>
+ </enums>
+
+ <enums namespace="GL" start="0x9510" end="0x952F" vendor="Broadcom" comment="Khronos bug 12203">
+ <unused start="0x9510" end="0x952F" vendor="Broadcom"/>
</enums>
<!-- Enums reservable for future use. To reserve a new range, allocate one
@@ -7902,8 +8068,8 @@ typedef unsigned int GLhandleARB;
file) File requests in the Khronos Bugzilla, OpenGL project, Registry
component. -->
- <enums namespace="GL" start="0x9510" end="99999" vendor="ARB" comment="RESERVED FOR FUTURE ALLOCATIONS BY KHRONOS">
- <unused start="0x9510" end="99999"/>
+ <enums namespace="GL" start="0x9530" end="99999" vendor="ARB" comment="RESERVED FOR FUTURE ALLOCATIONS BY KHRONOS">
+ <unused start="0x9530" end="99999" comment="RESERVED"/>
</enums>
<!-- Historical large block allocations, all unused except (in older days) by IBM -->
@@ -8622,6 +8788,9 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glBlendBarrierNV</name></proto>
</command>
<command>
+ <proto>void <name>glBlendBarrierKHR</name></proto>
+ </command>
+ <command>
<proto>void <name>glBlendColor</name></proto>
<param group="ColorF"><ptype>GLfloat</ptype> <name>red</name></param>
<param group="ColorF"><ptype>GLfloat</ptype> <name>green</name></param>
@@ -8705,11 +8874,24 @@ typedef unsigned int GLhandleARB;
<alias name="glBlendEquationSeparatei"/>
</command>
<command>
+ <proto>void <name>glBlendEquationSeparateiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>modeRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>modeAlpha</name></param>
+ <alias name="glBlendEquationSeparatei"/>
+ </command>
+ <command>
<proto>void <name>glBlendEquationi</name></proto>
<param><ptype>GLuint</ptype> <name>buf</name></param>
<param><ptype>GLenum</ptype> <name>mode</name></param>
</command>
<command>
+ <proto>void <name>glBlendEquationiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>mode</name></param>
+ <alias name="glBlendEquationi"/>
+ </command>
+ <command>
<proto>void <name>glBlendEquationiARB</name></proto>
<param><ptype>GLuint</ptype> <name>buf</name></param>
<param><ptype>GLenum</ptype> <name>mode</name></param>
@@ -8788,6 +8970,15 @@ typedef unsigned int GLhandleARB;
<alias name="glBlendFuncSeparatei"/>
</command>
<command>
+ <proto>void <name>glBlendFuncSeparateiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>srcRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>dstRGB</name></param>
+ <param><ptype>GLenum</ptype> <name>srcAlpha</name></param>
+ <param><ptype>GLenum</ptype> <name>dstAlpha</name></param>
+ <alias name="glBlendFuncSeparatei"/>
+ </command>
+ <command>
<proto>void <name>glBlendFunci</name></proto>
<param><ptype>GLuint</ptype> <name>buf</name></param>
<param><ptype>GLenum</ptype> <name>src</name></param>
@@ -8801,6 +8992,13 @@ typedef unsigned int GLhandleARB;
<alias name="glBlendFunci"/>
</command>
<command>
+ <proto>void <name>glBlendFunciEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>buf</name></param>
+ <param><ptype>GLenum</ptype> <name>src</name></param>
+ <param><ptype>GLenum</ptype> <name>dst</name></param>
+ <alias name="glBlendFunci"/>
+ </command>
+ <command>
<proto>void <name>glBlendParameteriNV</name></proto>
<param><ptype>GLenum</ptype> <name>pname</name></param>
<param><ptype>GLint</ptype> <name>value</name></param>
@@ -9588,6 +9786,15 @@ typedef unsigned int GLhandleARB;
<param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
</command>
<command>
+ <proto>void <name>glColorMaskiEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>r</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>g</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>b</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>a</name></param>
+ <alias name="glColorMaski"/>
+ </command>
+ <command>
<proto>void <name>glColorMaterial</name></proto>
<param group="MaterialFace"><ptype>GLenum</ptype> <name>face</name></param>
<param group="ColorMaterialParameter"><ptype>GLenum</ptype> <name>mode</name></param>
@@ -10366,6 +10573,25 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
</command>
<command>
+ <proto>void <name>glCopyImageSubDataEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>srcName</name></param>
+ <param><ptype>GLenum</ptype> <name>srcTarget</name></param>
+ <param><ptype>GLint</ptype> <name>srcLevel</name></param>
+ <param><ptype>GLint</ptype> <name>srcX</name></param>
+ <param><ptype>GLint</ptype> <name>srcY</name></param>
+ <param><ptype>GLint</ptype> <name>srcZ</name></param>
+ <param><ptype>GLuint</ptype> <name>dstName</name></param>
+ <param><ptype>GLenum</ptype> <name>dstTarget</name></param>
+ <param><ptype>GLint</ptype> <name>dstLevel</name></param>
+ <param><ptype>GLint</ptype> <name>dstX</name></param>
+ <param><ptype>GLint</ptype> <name>dstY</name></param>
+ <param><ptype>GLint</ptype> <name>dstZ</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcWidth</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcHeight</name></param>
+ <param><ptype>GLsizei</ptype> <name>srcDepth</name></param>
+ <alias name="glCopyImageSubData"/>
+ </command>
+ <command>
<proto>void <name>glCopyImageSubDataNV</name></proto>
<param><ptype>GLuint</ptype> <name>srcName</name></param>
<param><ptype>GLenum</ptype> <name>srcTarget</name></param>
@@ -11263,6 +11489,12 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLuint</ptype> <name>index</name></param>
</command>
<command>
+ <proto>void <name>glDisableiEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glDisablei"/>
+ </command>
+ <command>
<proto>void <name>glDiscardFramebufferEXT</name></proto>
<param><ptype>GLenum</ptype> <name>target</name></param>
<param><ptype>GLsizei</ptype> <name>numAttachments</name></param>
@@ -11766,6 +11998,12 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLuint</ptype> <name>index</name></param>
</command>
<command>
+ <proto>void <name>glEnableiEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glEnablei"/>
+ </command>
+ <command>
<proto>void <name>glEnd</name></proto>
<glx type="render" opcode="23"/>
</command>
@@ -12906,7 +13144,7 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLuint</ptype> <name>program</name></param>
<param><ptype>GLuint</ptype> <name>uniformBlockIndex</name></param>
<param><ptype>GLenum</ptype> <name>pname</name></param>
- <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <param len="COMPSIZE(program, uniformBlockIndex, pname)"><ptype>GLint</ptype> *<name>params</name></param>
</command>
<command>
<proto>void <name>glGetActiveUniformName</name></proto>
@@ -12920,9 +13158,9 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glGetActiveUniformsiv</name></proto>
<param><ptype>GLuint</ptype> <name>program</name></param>
<param><ptype>GLsizei</ptype> <name>uniformCount</name></param>
- <param len="COMPSIZE(uniformCount)">const <ptype>GLuint</ptype> *<name>uniformIndices</name></param>
+ <param len="uniformCount">const <ptype>GLuint</ptype> *<name>uniformIndices</name></param>
<param><ptype>GLenum</ptype> <name>pname</name></param>
- <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <param len="COMPSIZE(uniformCount, pname)"><ptype>GLint</ptype> *<name>params</name></param>
</command>
<command>
<proto>void <name>glGetActiveVaryingNV</name></proto>
@@ -14784,12 +15022,26 @@ typedef unsigned int GLhandleARB;
<param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
</command>
<command>
+ <proto>void <name>glGetSamplerParameterIivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLint</ptype> *<name>params</name></param>
+ <alias name="glGetSamplerParameterIiv"/>
+ </command>
+ <command>
<proto>void <name>glGetSamplerParameterIuiv</name></proto>
<param><ptype>GLuint</ptype> <name>sampler</name></param>
<param><ptype>GLenum</ptype> <name>pname</name></param>
<param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
</command>
<command>
+ <proto>void <name>glGetSamplerParameterIuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)"><ptype>GLuint</ptype> *<name>params</name></param>
+ <alias name="glGetSamplerParameterIuiv"/>
+ </command>
+ <command>
<proto>void <name>glGetSamplerParameterfv</name></proto>
<param><ptype>GLuint</ptype> <name>sampler</name></param>
<param><ptype>GLenum</ptype> <name>pname</name></param>
@@ -15235,38 +15487,38 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glGetUniformdv</name></proto>
<param><ptype>GLuint</ptype> <name>program</name></param>
<param><ptype>GLint</ptype> <name>location</name></param>
- <param len="COMPSIZE(location)"><ptype>GLdouble</ptype> *<name>params</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLdouble</ptype> *<name>params</name></param>
</command>
<command>
<proto>void <name>glGetUniformfv</name></proto>
<param><ptype>GLuint</ptype> <name>program</name></param>
<param><ptype>GLint</ptype> <name>location</name></param>
- <param len="COMPSIZE(location)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLfloat</ptype> *<name>params</name></param>
</command>
<command>
<proto>void <name>glGetUniformfvARB</name></proto>
<param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
<param><ptype>GLint</ptype> <name>location</name></param>
- <param len="COMPSIZE(location)"><ptype>GLfloat</ptype> *<name>params</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLfloat</ptype> *<name>params</name></param>
<alias name="glGetUniformfv"/>
</command>
<command>
<proto>void <name>glGetUniformi64vNV</name></proto>
<param><ptype>GLuint</ptype> <name>program</name></param>
<param><ptype>GLint</ptype> <name>location</name></param>
- <param len="COMPSIZE(location)"><ptype>GLint64EXT</ptype> *<name>params</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLint64EXT</ptype> *<name>params</name></param>
</command>
<command>
<proto>void <name>glGetUniformiv</name></proto>
<param><ptype>GLuint</ptype> <name>program</name></param>
<param><ptype>GLint</ptype> <name>location</name></param>
- <param len="COMPSIZE(location)"><ptype>GLint</ptype> *<name>params</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLint</ptype> *<name>params</name></param>
</command>
<command>
<proto>void <name>glGetUniformivARB</name></proto>
<param group="handleARB"><ptype>GLhandleARB</ptype> <name>programObj</name></param>
<param><ptype>GLint</ptype> <name>location</name></param>
- <param len="COMPSIZE(location)"><ptype>GLint</ptype> *<name>params</name></param>
+ <param len="COMPSIZE(program, location)"><ptype>GLint</ptype> *<name>params</name></param>
<alias name="glGetUniformiv"/>
</command>
<command>
@@ -16016,6 +16268,12 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLuint</ptype> <name>index</name></param>
</command>
<command>
+ <proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsEnablediEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>index</name></param>
+ <alias name="glIsEnabledi"/>
+ </command>
+ <command>
<proto group="Boolean"><ptype>GLboolean</ptype> <name>glIsFenceAPPLE</name></proto>
<param group="FenceNV"><ptype>GLuint</ptype> <name>fence</name></param>
</command>
@@ -16967,6 +17225,10 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLbitfield</ptype> <name>barriers</name></param>
</command>
<command>
+ <proto>void <name>glMemoryBarrierByRegion</name></proto>
+ <param><ptype>GLbitfield</ptype> <name>barriers</name></param>
+ </command>
+ <command>
<proto>void <name>glMemoryBarrierEXT</name></proto>
<param><ptype>GLbitfield</ptype> <name>barriers</name></param>
<alias name="glMemoryBarrier"/>
@@ -16981,6 +17243,11 @@ typedef unsigned int GLhandleARB;
<alias name="glMinSampleShading"/>
</command>
<command>
+ <proto>void <name>glMinSampleShadingOES</name></proto>
+ <param group="ColorF"><ptype>GLfloat</ptype> <name>value</name></param>
+ <alias name="glMinSampleShading"/>
+ </command>
+ <command>
<proto>void <name>glMinmax</name></proto>
<param group="MinmaxTarget"><ptype>GLenum</ptype> <name>target</name></param>
<param group="PixelInternalFormat"><ptype>GLenum</ptype> <name>internalformat</name></param>
@@ -18622,6 +18889,12 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>value</name></param>
</command>
<command>
+ <proto>void <name>glPatchParameteriEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param><ptype>GLint</ptype> <name>value</name></param>
+ <alias name="glPatchParameteri"/>
+ </command>
+ <command>
<proto>void <name>glPathColorGenNV</name></proto>
<param group="PathColor"><ptype>GLenum</ptype> <name>color</name></param>
<param group="PathGenMode"><ptype>GLenum</ptype> <name>genMode</name></param>
@@ -19133,6 +19406,17 @@ typedef unsigned int GLhandleARB;
<glx type="render" opcode="4118"/>
</command>
<command>
+ <proto>void <name>glPrimitiveBoundingBoxEXT</name></proto>
+ <param><ptype>GLfloat</ptype> <name>minX</name></param>
+ <param><ptype>GLfloat</ptype> <name>minY</name></param>
+ <param><ptype>GLfloat</ptype> <name>minZ</name></param>
+ <param><ptype>GLfloat</ptype> <name>minW</name></param>
+ <param><ptype>GLfloat</ptype> <name>maxX</name></param>
+ <param><ptype>GLfloat</ptype> <name>maxY</name></param>
+ <param><ptype>GLfloat</ptype> <name>maxZ</name></param>
+ <param><ptype>GLfloat</ptype> <name>maxW</name></param>
+ </command>
+ <command>
<proto>void <name>glPrioritizeTexturesEXT</name></proto>
<param><ptype>GLsizei</ptype> <name>n</name></param>
<param group="Texture" len="n">const <ptype>GLuint</ptype> *<name>textures</name></param>
@@ -21203,12 +21487,26 @@ typedef unsigned int GLhandleARB;
<param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
</command>
<command>
+ <proto>void <name>glSamplerParameterIivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLint</ptype> *<name>param</name></param>
+ <alias name="glSamplerParameterIiv"/>
+ </command>
+ <command>
<proto>void <name>glSamplerParameterIuiv</name></proto>
<param><ptype>GLuint</ptype> <name>sampler</name></param>
<param><ptype>GLenum</ptype> <name>pname</name></param>
<param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>param</name></param>
</command>
<command>
+ <proto>void <name>glSamplerParameterIuivEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>sampler</name></param>
+ <param><ptype>GLenum</ptype> <name>pname</name></param>
+ <param len="COMPSIZE(pname)">const <ptype>GLuint</ptype> *<name>param</name></param>
+ <alias name="glSamplerParameterIuiv"/>
+ </command>
+ <command>
<proto>void <name>glSamplerParameterf</name></proto>
<param><ptype>GLuint</ptype> <name>sampler</name></param>
<param><ptype>GLenum</ptype> <name>pname</name></param>
@@ -21955,6 +22253,15 @@ typedef unsigned int GLhandleARB;
<param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
</command>
<command>
+ <proto>void <name>glTexBufferRangeEXT</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>buffer</name></param>
+ <param group="BufferOffset"><ptype>GLintptr</ptype> <name>offset</name></param>
+ <param group="BufferSize"><ptype>GLsizeiptr</ptype> <name>size</name></param>
+ <alias name="glTexBufferRange"/>
+ </command>
+ <command>
<proto>void <name>glTexBumpParameterfvATI</name></proto>
<param group="TexBumpParameterATI"><ptype>GLenum</ptype> <name>pname</name></param>
<param len="COMPSIZE(pname)">const <ptype>GLfloat</ptype> *<name>param</name></param>
@@ -22905,6 +23212,17 @@ typedef unsigned int GLhandleARB;
<param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
</command>
<command>
+ <proto>void <name>glTexStorage3DMultisampleOES</name></proto>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLsizei</ptype> <name>samples</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLsizei</ptype> <name>width</name></param>
+ <param><ptype>GLsizei</ptype> <name>height</name></param>
+ <param><ptype>GLsizei</ptype> <name>depth</name></param>
+ <param group="Boolean"><ptype>GLboolean</ptype> <name>fixedsamplelocations</name></param>
+ <alias name="glTexStorage3DMultisample"/>
+ </command>
+ <command>
<proto>void <name>glTexStorageSparseAMD</name></proto>
<param><ptype>GLenum</ptype> <name>target</name></param>
<param><ptype>GLenum</ptype> <name>internalFormat</name></param>
@@ -23332,6 +23650,18 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLuint</ptype> <name>numlayers</name></param>
</command>
<command>
+ <proto>void <name>glTextureViewEXT</name></proto>
+ <param><ptype>GLuint</ptype> <name>texture</name></param>
+ <param><ptype>GLenum</ptype> <name>target</name></param>
+ <param><ptype>GLuint</ptype> <name>origtexture</name></param>
+ <param><ptype>GLenum</ptype> <name>internalformat</name></param>
+ <param><ptype>GLuint</ptype> <name>minlevel</name></param>
+ <param><ptype>GLuint</ptype> <name>numlevels</name></param>
+ <param><ptype>GLuint</ptype> <name>minlayer</name></param>
+ <param><ptype>GLuint</ptype> <name>numlayers</name></param>
+ <alias name="glTextureView"/>
+ </command>
+ <command>
<proto>void <name>glTrackMatrixNV</name></proto>
<param group="VertexAttribEnumNV"><ptype>GLenum</ptype> <name>target</name></param>
<param><ptype>GLuint</ptype> <name>address</name></param>
@@ -23341,7 +23671,7 @@ typedef unsigned int GLhandleARB;
</command>
<command>
<proto>void <name>glTransformFeedbackAttribsNV</name></proto>
- <param><ptype>GLuint</ptype> <name>count</name></param>
+ <param><ptype>GLsizei</ptype> <name>count</name></param>
<param len="COMPSIZE(count)">const <ptype>GLint</ptype> *<name>attribs</name></param>
<param><ptype>GLenum</ptype> <name>bufferMode</name></param>
</command>
@@ -23417,7 +23747,7 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform1dv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform1f</name></proto>
@@ -23434,13 +23764,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform1fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLfloat</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform1fvARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniform1fv"/>
</command>
<command>
@@ -23457,7 +23787,7 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform1i64vNV</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLint64EXT</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform1iARB</name></proto>
@@ -23469,13 +23799,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform1iv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLint</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform1ivARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLint</ptype> *<name>value</name></param>
<alias name="glUniform1iv"/>
</command>
<command>
@@ -23492,7 +23822,7 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform1ui64vNV</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform1uiEXT</name></proto>
@@ -23504,13 +23834,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform1uiv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLuint</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform1uivEXT</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLuint</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLuint</ptype> *<name>value</name></param>
<alias name="glUniform1uiv"/>
</command>
<command>
@@ -23523,7 +23853,7 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform2dv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*2">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform2f</name></proto>
@@ -23542,13 +23872,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform2fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform2fvARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*2">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniform2fv"/>
</command>
<command>
@@ -23580,13 +23910,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform2iv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform2ivARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <param len="count*2">const <ptype>GLint</ptype> *<name>value</name></param>
<alias name="glUniform2iv"/>
</command>
<command>
@@ -23638,7 +23968,7 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform3dv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*3">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform3f</name></proto>
@@ -23659,13 +23989,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform3fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform3fvARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*3">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniform3fv"/>
</command>
<command>
@@ -23700,13 +24030,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform3iv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform3ivARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <param len="count*3">const <ptype>GLint</ptype> *<name>value</name></param>
<alias name="glUniform3iv"/>
</command>
<command>
@@ -23762,7 +24092,7 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform4dv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform4f</name></proto>
@@ -23785,13 +24115,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform4fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform4fvARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniform4fv"/>
</command>
<command>
@@ -23829,13 +24159,13 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniform4iv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniform4ivARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLint</ptype> *<name>value</name></param>
+ <param len="count*4">const <ptype>GLint</ptype> *<name>value</name></param>
<alias name="glUniform4iv"/>
</command>
<command>
@@ -23921,21 +24251,21 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*4">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix2fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix2fvARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*4">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix2fv"/>
</command>
<command>
@@ -23943,14 +24273,14 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix2x3fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
<glx type="render" opcode="305"/>
</command>
<command>
@@ -23958,7 +24288,7 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix2x3fv"/>
</command>
<command>
@@ -23966,14 +24296,14 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix2x4fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
<glx type="render" opcode="307"/>
</command>
<command>
@@ -23981,7 +24311,7 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix2x4fv"/>
</command>
<command>
@@ -23989,21 +24319,21 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*9">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix3fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix3fvARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*9">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix3fv"/>
</command>
<command>
@@ -24011,14 +24341,14 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*6">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix3x2fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
<glx type="render" opcode="306"/>
</command>
<command>
@@ -24026,7 +24356,7 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="6">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*6">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix3x2fv"/>
</command>
<command>
@@ -24034,14 +24364,14 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix3x4fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
<glx type="render" opcode="309"/>
</command>
<command>
@@ -24049,7 +24379,7 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix3x4fv"/>
</command>
<command>
@@ -24057,21 +24387,21 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*16">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix4fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix4fvARB</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*16">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix4fv"/>
</command>
<command>
@@ -24079,14 +24409,14 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*8">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix4x2fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
<glx type="render" opcode="308"/>
</command>
<command>
@@ -24094,7 +24424,7 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="8">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*8">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix4x2fv"/>
</command>
<command>
@@ -24102,14 +24432,14 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="count">const <ptype>GLdouble</ptype> *<name>value</name></param>
+ <param len="count*12">const <ptype>GLdouble</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUniformMatrix4x3fv</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
<glx type="render" opcode="310"/>
</command>
<command>
@@ -24117,7 +24447,7 @@ typedef unsigned int GLhandleARB;
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
<param group="Boolean"><ptype>GLboolean</ptype> <name>transpose</name></param>
- <param len="12">const <ptype>GLfloat</ptype> *<name>value</name></param>
+ <param len="count*12">const <ptype>GLfloat</ptype> *<name>value</name></param>
<alias name="glUniformMatrix4x3fv"/>
</command>
<command>
@@ -24135,7 +24465,7 @@ typedef unsigned int GLhandleARB;
<proto>void <name>glUniformui64vNV</name></proto>
<param><ptype>GLint</ptype> <name>location</name></param>
<param><ptype>GLsizei</ptype> <name>count</name></param>
- <param len="count">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
+ <param len="count*1">const <ptype>GLuint64EXT</ptype> *<name>value</name></param>
</command>
<command>
<proto>void <name>glUnlockArraysEXT</name></proto>
@@ -28894,11 +29224,13 @@ typedef unsigned int GLhandleARB;
<enum name="GL_UNIFORM_BUFFER_START"/>
<enum name="GL_UNIFORM_BUFFER_SIZE"/>
<enum name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
<enum name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
<enum name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
<enum name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
<enum name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
<enum name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
<enum name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
<enum name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
<enum name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
@@ -28917,6 +29249,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"/>
<enum name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"/>
<enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"/>
<enum name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
<enum name="GL_INVALID_INDEX"/>
<command name="glGetUniformIndices"/>
@@ -30242,8 +30575,6 @@ typedef unsigned int GLhandleARB;
</require>
</feature>
<feature api="gl" name="GL_VERSION_4_2" number="4.2">
- <require>
- </require>
<require comment="Reuse tokens from ARB_base_instance (none)">
</require>
<require comment="Reuse tokens from ARB_shading_language_420pack (none)">
@@ -30464,6 +30795,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER"/>
<enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
<enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+ <enum name="GL_COMPUTE_SHADER_BIT"/>
</require>
<require comment="Reuse tokens from ARB_copy_image (none)">
</require>
@@ -30721,6 +31053,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_VERTEX_BINDING_STRIDE"/>
<enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
<enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+ <enum name="GL_VERTEX_BINDING_BUFFER" comment="Added in 2013/10/22 update to the spec"/>
</require>
<require comment="Reuse commands from ARB_arrays_of_arrays (none, GLSL only)">
</require>
@@ -32245,6 +32578,298 @@ typedef unsigned int GLhandleARB;
<command name="glGetInternalformativ"/>
</require>
</feature>
+ <feature api="gles2" name="GL_ES_VERSION_3_1" number="3.1">
+ <!-- arrays_of_arrays features -->
+ <require/>
+ <!-- compute_shader features -->
+ <require>
+ <command name="glDispatchCompute"/>
+ <command name="glDispatchComputeIndirect"/>
+ <enum name="GL_COMPUTE_SHADER"/>
+ <enum name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+ <enum name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+ <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+ <enum name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+ <enum name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+ <enum name="GL_DISPATCH_INDIRECT_BUFFER"/>
+ <enum name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+ <enum name="GL_COMPUTE_SHADER_BIT"/>
+ </require>
+ <!-- draw_indirect features -->
+ <require>
+ <command name="glDrawArraysIndirect"/>
+ <command name="glDrawElementsIndirect"/>
+ <enum name="GL_DRAW_INDIRECT_BUFFER"/>
+ <enum name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
+ </require>
+ <!-- explicit_uniform_location features -->
+ <require>
+ <enum name="GL_MAX_UNIFORM_LOCATIONS"/>
+ </require>
+ <!-- framebuffer_no_attachments features -->
+ <require>
+ <command name="glFramebufferParameteri"/>
+ <command name="glGetFramebufferParameteriv"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+ <enum name="GL_MAX_FRAMEBUFFER_WIDTH"/>
+ <enum name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+ <enum name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
+ </require>
+ <!-- program_interface_query features -->
+ <require>
+ <command name="glGetProgramInterfaceiv"/>
+ <command name="glGetProgramResourceIndex"/>
+ <command name="glGetProgramResourceName"/>
+ <command name="glGetProgramResourceiv"/>
+ <command name="glGetProgramResourceLocation"/>
+ <enum name="GL_UNIFORM"/>
+ <enum name="GL_UNIFORM_BLOCK"/>
+ <enum name="GL_PROGRAM_INPUT"/>
+ <enum name="GL_PROGRAM_OUTPUT"/>
+ <enum name="GL_BUFFER_VARIABLE"/>
+ <enum name="GL_SHADER_STORAGE_BLOCK"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_VARYING"/>
+ <enum name="GL_ACTIVE_RESOURCES"/>
+ <enum name="GL_MAX_NAME_LENGTH"/>
+ <enum name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+ <enum name="GL_NAME_LENGTH"/>
+ <enum name="GL_TYPE"/>
+ <enum name="GL_ARRAY_SIZE"/>
+ <enum name="GL_OFFSET"/>
+ <enum name="GL_BLOCK_INDEX"/>
+ <enum name="GL_ARRAY_STRIDE"/>
+ <enum name="GL_MATRIX_STRIDE"/>
+ <enum name="GL_IS_ROW_MAJOR"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+ <enum name="GL_BUFFER_BINDING"/>
+ <enum name="GL_BUFFER_DATA_SIZE"/>
+ <enum name="GL_NUM_ACTIVE_VARIABLES"/>
+ <enum name="GL_ACTIVE_VARIABLES"/>
+ <enum name="GL_REFERENCED_BY_VERTEX_SHADER"/>
+ <enum name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
+ <enum name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
+ <enum name="GL_TOP_LEVEL_ARRAY_SIZE"/>
+ <enum name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+ <enum name="GL_LOCATION"/>
+ </require>
+ <!-- separate_shader_objects features -->
+ <require>
+ <command name="glUseProgramStages"/>
+ <command name="glActiveShaderProgram"/>
+ <command name="glCreateShaderProgramv"/>
+ <command name="glBindProgramPipeline"/>
+ <command name="glDeleteProgramPipelines"/>
+ <command name="glGenProgramPipelines"/>
+ <command name="glIsProgramPipeline"/>
+ <command name="glGetProgramPipelineiv"/>
+ <command name="glProgramUniform1i"/>
+ <command name="glProgramUniform2i"/>
+ <command name="glProgramUniform3i"/>
+ <command name="glProgramUniform4i"/>
+ <command name="glProgramUniform1ui"/>
+ <command name="glProgramUniform2ui"/>
+ <command name="glProgramUniform3ui"/>
+ <command name="glProgramUniform4ui"/>
+ <command name="glProgramUniform1f"/>
+ <command name="glProgramUniform2f"/>
+ <command name="glProgramUniform3f"/>
+ <command name="glProgramUniform4f"/>
+ <command name="glProgramUniform1iv"/>
+ <command name="glProgramUniform2iv"/>
+ <command name="glProgramUniform3iv"/>
+ <command name="glProgramUniform4iv"/>
+ <command name="glProgramUniform1uiv"/>
+ <command name="glProgramUniform2uiv"/>
+ <command name="glProgramUniform3uiv"/>
+ <command name="glProgramUniform4uiv"/>
+ <command name="glProgramUniform1fv"/>
+ <command name="glProgramUniform2fv"/>
+ <command name="glProgramUniform3fv"/>
+ <command name="glProgramUniform4fv"/>
+ <command name="glProgramUniformMatrix2fv"/>
+ <command name="glProgramUniformMatrix3fv"/>
+ <command name="glProgramUniformMatrix4fv"/>
+ <command name="glProgramUniformMatrix2x3fv"/>
+ <command name="glProgramUniformMatrix3x2fv"/>
+ <command name="glProgramUniformMatrix2x4fv"/>
+ <command name="glProgramUniformMatrix4x2fv"/>
+ <command name="glProgramUniformMatrix3x4fv"/>
+ <command name="glProgramUniformMatrix4x3fv"/>
+ <command name="glValidateProgramPipeline"/>
+ <command name="glGetProgramPipelineInfoLog"/>
+ <enum name="GL_VERTEX_SHADER_BIT"/>
+ <enum name="GL_FRAGMENT_SHADER_BIT"/>
+ <enum name="GL_ALL_SHADER_BITS"/>
+ <enum name="GL_PROGRAM_SEPARABLE"/>
+ <enum name="GL_ACTIVE_PROGRAM"/>
+ <enum name="GL_PROGRAM_PIPELINE_BINDING"/>
+ </require>
+ <!-- shader_atomic_counters features -->
+ <require>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+ <enum name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+ <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+ <enum name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+ <enum name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+ <enum name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
+ </require>
+ <!-- shader_bitfield_operations features -->
+ <require/>
+ <!-- shader_image_load_store features -->
+ <require>
+ <command name="glBindImageTexture"/>
+ <command name="glGetBooleani_v"/>
+ <command name="glMemoryBarrier"/>
+ <command name="glMemoryBarrierByRegion"/>
+ <enum name="GL_MAX_IMAGE_UNITS"/>
+ <enum name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+ <enum name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+ <enum name="GL_IMAGE_BINDING_NAME"/>
+ <enum name="GL_IMAGE_BINDING_LEVEL"/>
+ <enum name="GL_IMAGE_BINDING_LAYERED"/>
+ <enum name="GL_IMAGE_BINDING_LAYER"/>
+ <enum name="GL_IMAGE_BINDING_ACCESS"/>
+ <enum name="GL_IMAGE_BINDING_FORMAT"/>
+ <enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_ELEMENT_ARRAY_BARRIER_BIT"/>
+ <enum name="GL_UNIFORM_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+ <enum name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"/>
+ <enum name="GL_COMMAND_BARRIER_BIT"/>
+ <enum name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+ <enum name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+ <enum name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+ <enum name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+ <enum name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+ <enum name="GL_ALL_BARRIER_BITS"/>
+ <enum name="GL_IMAGE_2D"/>
+ <enum name="GL_IMAGE_3D"/>
+ <enum name="GL_IMAGE_CUBE"/>
+ <enum name="GL_IMAGE_2D_ARRAY"/>
+ <enum name="GL_INT_IMAGE_2D"/>
+ <enum name="GL_INT_IMAGE_3D"/>
+ <enum name="GL_INT_IMAGE_CUBE"/>
+ <enum name="GL_INT_IMAGE_2D_ARRAY"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_3D"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+ <enum name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+ <enum name="GL_READ_ONLY"/>
+ <enum name="GL_WRITE_ONLY"/>
+ <enum name="GL_READ_WRITE"/>
+ </require>
+ <!-- shader_layout_binding features -->
+ <require/>
+ <!-- shader_storage_buffer_object features -->
+ <require>
+ <enum name="GL_SHADER_STORAGE_BUFFER"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_START"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+ <enum name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+ <enum name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+ <enum name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+ <enum name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+ <enum name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+ <enum name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
+ </require>
+ <!-- stencil_texturing features -->
+ <require>
+ <enum name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
+ <enum name="GL_STENCIL_INDEX"/>
+ </require>
+ <!-- texture_gather features -->
+ <require>
+ <enum name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+ <enum name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+ </require>
+ <!-- texture_storage_multisample features -->
+ <require>
+ <command name="glTexStorage2DMultisample"/>
+ <command name="glGetMultisamplefv"/>
+ <command name="glSampleMaski"/>
+ <command name="glGetTexLevelParameteriv"/>
+ <command name="glGetTexLevelParameterfv"/>
+ <enum name="GL_SAMPLE_POSITION"/>
+ <enum name="GL_SAMPLE_MASK"/>
+ <enum name="GL_SAMPLE_MASK_VALUE"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE"/>
+ <enum name="GL_MAX_SAMPLE_MASK_WORDS"/>
+ <enum name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+ <enum name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+ <enum name="GL_MAX_INTEGER_SAMPLES"/>
+ <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+ <enum name="GL_TEXTURE_SAMPLES"/>
+ <enum name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+ <enum name="GL_TEXTURE_WIDTH"/>
+ <enum name="GL_TEXTURE_HEIGHT"/>
+ <enum name="GL_TEXTURE_DEPTH"/>
+ <enum name="GL_TEXTURE_INTERNAL_FORMAT"/>
+ <enum name="GL_TEXTURE_RED_SIZE"/>
+ <enum name="GL_TEXTURE_GREEN_SIZE"/>
+ <enum name="GL_TEXTURE_BLUE_SIZE"/>
+ <enum name="GL_TEXTURE_ALPHA_SIZE"/>
+ <enum name="GL_TEXTURE_DEPTH_SIZE"/>
+ <enum name="GL_TEXTURE_STENCIL_SIZE"/>
+ <enum name="GL_TEXTURE_SHARED_SIZE"/>
+ <enum name="GL_TEXTURE_RED_TYPE"/>
+ <enum name="GL_TEXTURE_GREEN_TYPE"/>
+ <enum name="GL_TEXTURE_BLUE_TYPE"/>
+ <enum name="GL_TEXTURE_ALPHA_TYPE"/>
+ <enum name="GL_TEXTURE_DEPTH_TYPE"/>
+ <enum name="GL_TEXTURE_COMPRESSED"/>
+ <enum name="GL_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+ </require>
+ <!-- vertex_attrib_binding features -->
+ <require>
+ <command name="glBindVertexBuffer"/>
+ <command name="glVertexAttribFormat"/>
+ <command name="glVertexAttribIFormat"/>
+ <command name="glVertexAttribBinding"/>
+ <command name="glVertexBindingDivisor"/>
+ <enum name="GL_VERTEX_ATTRIB_BINDING"/>
+ <enum name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum name="GL_VERTEX_BINDING_DIVISOR"/>
+ <enum name="GL_VERTEX_BINDING_OFFSET"/>
+ <enum name="GL_VERTEX_BINDING_STRIDE"/>
+ <enum name="GL_VERTEX_BINDING_BUFFER"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+ <enum name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
+ </require>
+ </feature>
<!-- SECTION: OpenGL / OpenGL ES extension interface definitions -->
<extensions>
@@ -32286,10 +32911,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD"/>
</require>
</extension>
- <extension name="GL_AMD_conservative_depth" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_AMD_conservative_depth" supported="gl"/>
<extension name="GL_AMD_debug_output" supported="gl">
<require>
<enum name="GL_MAX_DEBUG_MESSAGE_LENGTH_AMD"/>
@@ -32326,6 +32948,74 @@ typedef unsigned int GLhandleARB;
<command name="glBlendEquationSeparateIndexedAMD"/>
</require>
</extension>
+ <extension name="GL_AMD_gpu_shader_int64" supported="gl">
+ <require>
+ <enum name="GL_INT64_NV"/>
+ <enum name="GL_UNSIGNED_INT64_NV"/>
+ <enum name="GL_INT8_NV"/>
+ <enum name="GL_INT8_VEC2_NV"/>
+ <enum name="GL_INT8_VEC3_NV"/>
+ <enum name="GL_INT8_VEC4_NV"/>
+ <enum name="GL_INT16_NV"/>
+ <enum name="GL_INT16_VEC2_NV"/>
+ <enum name="GL_INT16_VEC3_NV"/>
+ <enum name="GL_INT16_VEC4_NV"/>
+ <enum name="GL_INT64_VEC2_NV"/>
+ <enum name="GL_INT64_VEC3_NV"/>
+ <enum name="GL_INT64_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT8_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT8_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT16_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT16_VEC4_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC2_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC3_NV"/>
+ <enum name="GL_UNSIGNED_INT64_VEC4_NV"/>
+ <enum name="GL_FLOAT16_NV"/>
+ <enum name="GL_FLOAT16_VEC2_NV"/>
+ <enum name="GL_FLOAT16_VEC3_NV"/>
+ <enum name="GL_FLOAT16_VEC4_NV"/>
+ <command name="glUniform1i64NV"/>
+ <command name="glUniform2i64NV"/>
+ <command name="glUniform3i64NV"/>
+ <command name="glUniform4i64NV"/>
+ <command name="glUniform1i64vNV"/>
+ <command name="glUniform2i64vNV"/>
+ <command name="glUniform3i64vNV"/>
+ <command name="glUniform4i64vNV"/>
+ <command name="glUniform1ui64NV"/>
+ <command name="glUniform2ui64NV"/>
+ <command name="glUniform3ui64NV"/>
+ <command name="glUniform4ui64NV"/>
+ <command name="glUniform1ui64vNV"/>
+ <command name="glUniform2ui64vNV"/>
+ <command name="glUniform3ui64vNV"/>
+ <command name="glUniform4ui64vNV"/>
+ <command name="glGetUniformi64vNV"/>
+ <command name="glGetUniformui64vNV"/>
+ </require>
+ <require comment="Supported only if GL_EXT_direct_state_access is supported">
+ <command name="glProgramUniform1i64NV"/>
+ <command name="glProgramUniform2i64NV"/>
+ <command name="glProgramUniform3i64NV"/>
+ <command name="glProgramUniform4i64NV"/>
+ <command name="glProgramUniform1i64vNV"/>
+ <command name="glProgramUniform2i64vNV"/>
+ <command name="glProgramUniform3i64vNV"/>
+ <command name="glProgramUniform4i64vNV"/>
+ <command name="glProgramUniform1ui64NV"/>
+ <command name="glProgramUniform2ui64NV"/>
+ <command name="glProgramUniform3ui64NV"/>
+ <command name="glProgramUniform4ui64NV"/>
+ <command name="glProgramUniform1ui64vNV"/>
+ <command name="glProgramUniform2ui64vNV"/>
+ <command name="glProgramUniform3ui64vNV"/>
+ <command name="glProgramUniform4ui64vNV"/>
+ </require>
+ </extension>
<extension name="GL_AMD_interleaved_elements" supported="gl">
<require>
<enum name="GL_VERTEX_ELEMENT_SWIZZLE_AMD"/>
@@ -32340,6 +33030,7 @@ typedef unsigned int GLhandleARB;
<command name="glVertexAttribParameteriAMD"/>
</require>
</extension>
+ <extension name="GL_AMD_gcn_shader" supported="gl"/>
<extension name="GL_AMD_multi_draw_indirect" supported="gl">
<require>
<command name="glMultiDrawArraysIndirectAMD"/>
@@ -32419,18 +33110,9 @@ typedef unsigned int GLhandleARB;
<enum name="GL_TEXTURE_CUBE_MAP_SEAMLESS"/>
</require>
</extension>
- <extension name="GL_AMD_shader_atomic_counter_ops" supported="gl">
- <require>
- </require>
- </extension>
- <extension name="GL_AMD_shader_stencil_export" supported="gl">
- <require>
- </require>
- </extension>
- <extension name="GL_AMD_shader_trinary_minmax" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_AMD_shader_atomic_counter_ops" supported="gl"/>
+ <extension name="GL_AMD_shader_stencil_export" supported="gl"/>
+ <extension name="GL_AMD_shader_trinary_minmax" supported="gl"/>
<extension name="GL_AMD_sparse_texture" supported="gl">
<require>
<enum name="GL_VIRTUAL_PAGE_SIZE_X_AMD"/>
@@ -32455,18 +33137,14 @@ typedef unsigned int GLhandleARB;
<command name="glStencilOpValueAMD"/>
</require>
</extension>
- <extension name="GL_AMD_texture_texture4" supported="gl">
- <require>
- </require>
- </extension>
- <extension name="GL_AMD_transform_feedback3_lines_triangles" supported="gl">
- <require>
- </require>
- </extension>
- <extension name="GL_AMD_vertex_shader_layer" supported="gl">
+ <extension name="GL_AMD_texture_texture4" supported="gl"/>
+ <extension name="GL_AMD_transform_feedback3_lines_triangles" supported="gl"/>
+ <extension name="GL_AMD_transform_feedback4" supported="gl">
<require>
+ <enum name="GL_STREAM_RASTERIZATION_AMD"/>
</require>
</extension>
+ <extension name="GL_AMD_vertex_shader_layer" supported="gl"/>
<extension name="GL_AMD_vertex_shader_tessellator" supported="gl">
<require>
<enum name="GL_SAMPLER_BUFFER_AMD"/>
@@ -32480,8 +33158,31 @@ typedef unsigned int GLhandleARB;
<command name="glTessellationModeAMD"/>
</require>
</extension>
- <extension name="GL_AMD_vertex_shader_viewport_index" supported="gl">
- <require>
+ <extension name="GL_AMD_vertex_shader_viewport_index" supported="gl"/>
+ <extension name="GL_ANDROID_extension_pack_es31a" supported="gles2">
+ <require comment="This is an alias for the following extensions. At present gl.xml doesn't actually replicate all their interfaces here.">
+ <!--
+ KHR_debug
+ KHR_texture_compression_astc_ldr
+ KHR_blend_equation_advanced
+ OES_sample_shading
+ OES_sample_variables
+ OES_shader_image_atomic
+ OES_shader_multisample_interpolation
+ OES_texture_stencil8
+ OES_texture_storage_multisample_2d_array
+ EXT_copy_image
+ EXT_draw_buffers_indexed
+ EXT_geometry_shader
+ EXT_gpu_shader5
+ EXT_primitive_bounding_box
+ EXT_shader_io_blocks
+ EXT_tessellation_shader
+ EXT_texture_border_clamp
+ EXT_texture_buffer
+ EXT_texture_cube_map_array
+ EXT_texture_srgb_decode
+ -->
</require>
</extension>
<extension name="GL_ANGLE_depth_texture" supported="gles2">
@@ -32694,10 +33395,7 @@ typedef unsigned int GLhandleARB;
<command name="glGetSyncivAPPLE"/>
</require>
</extension>
- <extension name="GL_APPLE_texture_2D_limited_npot" supported="gles1">
- <require>
- </require>
- </extension>
+ <extension name="GL_APPLE_texture_2D_limited_npot" supported="gles1"/>
<extension name="GL_APPLE_texture_format_BGRA8888" supported="gles1|gles2">
<require>
<enum name="GL_BGRA_EXT"/>
@@ -32821,10 +33519,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_MAX_ELEMENT_INDEX"/>
</require>
</extension>
- <extension name="GL_ARB_arrays_of_arrays" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_arrays_of_arrays" supported="gl|glcore"/>
<extension name="GL_ARB_base_instance" supported="gl|glcore">
<require>
<command name="glDrawArraysInstancedBaseInstance"/>
@@ -32957,10 +33652,7 @@ typedef unsigned int GLhandleARB;
<command name="glDispatchComputeGroupSizeARB"/>
</require>
</extension>
- <extension name="GL_ARB_conservative_depth" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_conservative_depth" supported="gl|glcore"/>
<extension name="GL_ARB_copy_buffer" supported="gl|glcore">
<require>
<enum name="GL_COPY_READ_BUFFER_BINDING"/>
@@ -33086,23 +33778,14 @@ typedef unsigned int GLhandleARB;
<enum name="GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE"/>
</require>
</extension>
- <extension name="GL_ARB_explicit_attrib_location" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_explicit_attrib_location" supported="gl|glcore"/>
<extension name="GL_ARB_explicit_uniform_location" supported="gl|glcore">
<require>
<enum name="GL_MAX_UNIFORM_LOCATIONS"/>
</require>
</extension>
- <extension name="GL_ARB_fragment_coord_conventions" supported="gl|glcore">
- <require>
- </require>
- </extension>
- <extension name="GL_ARB_fragment_layer_viewport" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_fragment_coord_conventions" supported="gl|glcore"/>
+ <extension name="GL_ARB_fragment_layer_viewport" supported="gl|glcore"/>
<extension name="GL_ARB_fragment_program" supported="gl">
<require>
<enum name="GL_FRAGMENT_PROGRAM_ARB"/>
@@ -33206,10 +33889,7 @@ typedef unsigned int GLhandleARB;
<command name="glIsProgramARB"/>
</require>
</extension>
- <extension name="GL_ARB_fragment_program_shadow" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_fragment_program_shadow" supported="gl"/>
<extension name="GL_ARB_fragment_shader" supported="gl">
<require>
<enum name="GL_FRAGMENT_SHADER_ARB"/>
@@ -33966,10 +34646,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_QUERY_RESULT_NO_WAIT"/>
</require>
</extension>
- <extension name="GL_ARB_robust_buffer_access_behavior" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_robust_buffer_access_behavior" supported="gl|glcore"/>
<extension name="GL_ARB_robustness" supported="gl|glcore">
<require>
<enum name="GL_NO_ERROR"/>
@@ -34004,10 +34681,7 @@ typedef unsigned int GLhandleARB;
<command name="glGetnMinmaxARB"/>
</require>
</extension>
- <extension name="GL_ARB_robustness_isolation" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_robustness_isolation" supported="gl|glcore"/>
<extension name="GL_ARB_sample_shading" supported="gl|glcore">
<require>
<enum name="GL_SAMPLE_SHADING_ARB"/>
@@ -34151,14 +34825,9 @@ typedef unsigned int GLhandleARB;
<command name="glGetActiveAtomicCounterBufferiv"/>
</require>
</extension>
- <extension name="GL_ARB_shader_bit_encoding" supported="gl|glcore">
- <require>
- </require>
- </extension>
- <extension name="GL_ARB_shader_draw_parameters" supported="gl|glcore">
- </extension>
- <extension name="GL_ARB_shader_group_vote" supported="gl|glcore">
- </extension>
+ <extension name="GL_ARB_shader_bit_encoding" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_draw_parameters" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_group_vote" supported="gl|glcore"/>
<extension name="GL_ARB_shader_image_load_store" supported="gl|glcore">
<require>
<enum name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"/>
@@ -34229,10 +34898,7 @@ typedef unsigned int GLhandleARB;
<command name="glMemoryBarrier"/>
</require>
</extension>
- <extension name="GL_ARB_shader_image_size" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_shader_image_size" supported="gl|glcore"/>
<extension name="GL_ARB_shader_objects" supported="gl">
<require>
<enum name="GL_PROGRAM_OBJECT_ARB"/>
@@ -34310,14 +34976,8 @@ typedef unsigned int GLhandleARB;
<command name="glGetShaderSourceARB"/>
</require>
</extension>
- <extension name="GL_ARB_shader_precision" supported="gl|glcore">
- <require>
- </require>
- </extension>
- <extension name="GL_ARB_shader_stencil_export" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_shader_precision" supported="gl|glcore"/>
+ <extension name="GL_ARB_shader_stencil_export" supported="gl|glcore"/>
<extension name="GL_ARB_shader_storage_buffer_object" supported="gl|glcore">
<require>
<enum name="GL_SHADER_STORAGE_BUFFER"/>
@@ -34363,19 +35023,13 @@ typedef unsigned int GLhandleARB;
<command name="glGetProgramStageiv"/>
</require>
</extension>
- <extension name="GL_ARB_shader_texture_lod" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_shader_texture_lod" supported="gl"/>
<extension name="GL_ARB_shading_language_100" supported="gl">
<require>
<enum name="GL_SHADING_LANGUAGE_VERSION_ARB"/>
</require>
</extension>
- <extension name="GL_ARB_shading_language_420pack" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_shading_language_420pack" supported="gl|glcore"/>
<extension name="GL_ARB_shading_language_include" supported="gl|glcore">
<require>
<enum name="GL_SHADER_INCLUDE_ARB"/>
@@ -34389,10 +35043,7 @@ typedef unsigned int GLhandleARB;
<command name="glGetNamedStringivARB"/>
</require>
</extension>
- <extension name="GL_ARB_shading_language_packing" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_shading_language_packing" supported="gl|glcore"/>
<extension name="GL_ARB_shadow" supported="gl">
<require>
<enum name="GL_TEXTURE_COMPARE_MODE_ARB"/>
@@ -34590,10 +35241,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB"/>
</require>
</extension>
- <extension name="GL_ARB_texture_env_add" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_texture_env_add" supported="gl"/>
<extension name="GL_ARB_texture_env_combine" supported="gl">
<require>
<enum name="GL_COMBINE_ARB"/>
@@ -34620,10 +35268,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_PREVIOUS_ARB"/>
</require>
</extension>
- <extension name="GL_ARB_texture_env_crossbar" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_texture_env_crossbar" supported="gl"/>
<extension name="GL_ARB_texture_env_dot3" supported="gl">
<require>
<enum name="GL_DOT3_RGB_ARB"/>
@@ -34700,18 +35345,9 @@ typedef unsigned int GLhandleARB;
<command name="glSampleMaski"/>
</require>
</extension>
- <extension name="GL_ARB_texture_non_power_of_two" supported="gl">
- <require>
- </require>
- </extension>
- <extension name="GL_ARB_texture_query_levels" supported="gl|glcore">
- <require>
- </require>
- </extension>
- <extension name="GL_ARB_texture_query_lod" supported="gl|glcore">
- <require>
- </require>
- </extension>
+ <extension name="GL_ARB_texture_non_power_of_two" supported="gl"/>
+ <extension name="GL_ARB_texture_query_levels" supported="gl|glcore"/>
+ <extension name="GL_ARB_texture_query_lod" supported="gl|glcore"/>
<extension name="GL_ARB_texture_rectangle" supported="gl">
<require>
<enum name="GL_TEXTURE_RECTANGLE_ARB"/>
@@ -35377,10 +36013,14 @@ typedef unsigned int GLhandleARB;
<enum name="GL_MALI_SHADER_BINARY_ARM"/>
</require>
</extension>
- <extension name="GL_ARM_rgba8" supported="gles1|gles2">
+ <extension name="GL_ARM_rgba8" supported="gles1|gles2"/>
+ <extension name="GL_ARM_shader_framebuffer_fetch" supported="gles2">
<require>
+ <enum name="GL_FETCH_PER_SAMPLE_ARM"/>
+ <enum name="GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM"/>
</require>
</extension>
+ <extension name="GL_ARM_shader_framebuffer_fetch_depth_stencil" supported="gles2"/>
<extension name="GL_ATI_draw_buffers" supported="gl">
<require>
<enum name="GL_MAX_DRAW_BUFFERS_ATI"/>
@@ -35782,10 +36422,7 @@ typedef unsigned int GLhandleARB;
<command name="glBlendFuncSeparateEXT"/>
</require>
</extension>
- <extension name="GL_EXT_blend_logic_op" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_EXT_blend_logic_op" supported="gl"/>
<extension name="GL_EXT_blend_minmax" supported="gl|gles1|gles2">
<require>
<enum name="GL_MIN_EXT"/>
@@ -35917,6 +36554,11 @@ typedef unsigned int GLhandleARB;
<command name="glBinormalPointerEXT"/>
</require>
</extension>
+ <extension name="GL_EXT_copy_image" supported="gles2">
+ <require>
+ <command name="glCopyImageSubDataEXT"/>
+ </require>
+ </extension>
<extension name="GL_EXT_copy_texture" supported="gl">
<require>
<command name="glCopyTexImage1DEXT"/>
@@ -36398,6 +37040,46 @@ typedef unsigned int GLhandleARB;
<command name="glIsEnabledIndexedEXT"/>
</require>
</extension>
+ <extension name="GL_EXT_draw_buffers_indexed" supported="gles2">
+ <require>
+ <enum name="GL_BLEND_EQUATION_RGB"/>
+ <enum name="GL_BLEND_EQUATION_ALPHA"/>
+ <enum name="GL_BLEND_SRC_RGB"/>
+ <enum name="GL_BLEND_SRC_ALPHA"/>
+ <enum name="GL_BLEND_DST_RGB"/>
+ <enum name="GL_BLEND_DST_ALPHA"/>
+ <enum name="GL_COLOR_WRITEMASK"/>
+ <enum name="GL_BLEND"/>
+ <enum name="GL_FUNC_ADD"/>
+ <enum name="GL_FUNC_SUBTRACT"/>
+ <enum name="GL_FUNC_REVERSE_SUBTRACT"/>
+ <enum name="GL_MIN"/>
+ <enum name="GL_MAX"/>
+ <enum name="GL_ZERO"/>
+ <enum name="GL_ONE"/>
+ <enum name="GL_SRC_COLOR"/>
+ <enum name="GL_ONE_MINUS_SRC_COLOR"/>
+ <enum name="GL_DST_COLOR"/>
+ <enum name="GL_ONE_MINUS_DST_COLOR"/>
+ <enum name="GL_SRC_ALPHA"/>
+ <enum name="GL_ONE_MINUS_SRC_ALPHA"/>
+ <enum name="GL_DST_ALPHA"/>
+ <enum name="GL_ONE_MINUS_DST_ALPHA"/>
+ <enum name="GL_CONSTANT_COLOR"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_COLOR"/>
+ <enum name="GL_CONSTANT_ALPHA"/>
+ <enum name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
+ <enum name="GL_SRC_ALPHA_SATURATE"/>
+ <command name="glEnableiEXT"/>
+ <command name="glDisableiEXT"/>
+ <command name="glBlendEquationiEXT"/>
+ <command name="glBlendEquationSeparateiEXT"/>
+ <command name="glBlendFunciEXT"/>
+ <command name="glBlendFuncSeparateiEXT"/>
+ <command name="glColorMaskiEXT"/>
+ <command name="glIsEnablediEXT"/>
+ </require>
+ </extension>
<extension name="GL_EXT_draw_instanced" supported="gl|gles2">
<require>
<command name="glDrawArraysInstancedEXT"/>
@@ -36529,6 +37211,45 @@ typedef unsigned int GLhandleARB;
<enum name="GL_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
</require>
</extension>
+ <extension name="GL_EXT_geometry_point_size" supported="gles2"/>
+ <extension name="GL_EXT_geometry_shader" supported="gles2">
+ <require>
+ <enum name="GL_GEOMETRY_SHADER_EXT"/>
+ <enum name="GL_GEOMETRY_SHADER_BIT_EXT"/>
+ <enum name="GL_GEOMETRY_LINKED_VERTICES_OUT_EXT"/>
+ <enum name="GL_GEOMETRY_LINKED_INPUT_TYPE_EXT"/>
+ <enum name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT"/>
+ <enum name="GL_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+ <enum name="GL_LAYER_PROVOKING_VERTEX_EXT"/>
+ <enum name="GL_LINES_ADJACENCY_EXT"/>
+ <enum name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLES_ADJACENCY_EXT"/>
+ <enum name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT"/>
+ <enum name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum name="GL_FIRST_VERTEX_CONVENTION_EXT"/>
+ <enum name="GL_LAST_VERTEX_CONVENTION_EXT"/>
+ <enum name="GL_UNDEFINED_VERTEX_EXT"/>
+ <enum name="GL_PRIMITIVES_GENERATED_EXT"/>
+ <enum name="GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT"/>
+ <enum name="GL_MAX_FRAMEBUFFER_LAYERS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
+ <enum name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
+ <enum name="GL_REFERENCED_BY_GEOMETRY_SHADER_EXT"/>
+ <command name="glFramebufferTextureEXT"/>
+ </require>
+ </extension>
<extension name="GL_EXT_geometry_shader4" supported="gl">
<require>
<enum name="GL_GEOMETRY_SHADER_EXT"/>
@@ -36603,6 +37324,9 @@ typedef unsigned int GLhandleARB;
<command name="glUniform4uivEXT"/>
</require>
</extension>
+ <extension name="GL_EXT_gpu_shader5" supported="gles2">
+ <require/>
+ </extension>
<extension name="GL_EXT_histogram" supported="gl">
<require>
<enum name="GL_HISTOGRAM_EXT"/>
@@ -36659,10 +37383,7 @@ typedef unsigned int GLhandleARB;
<command name="glIndexMaterialEXT"/>
</require>
</extension>
- <extension name="GL_EXT_index_texture" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_EXT_index_texture" supported="gl"/>
<extension name="GL_EXT_instanced_arrays" supported="gles2">
<require>
<enum name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT"/>
@@ -36700,10 +37421,7 @@ typedef unsigned int GLhandleARB;
<command name="glFlushMappedBufferRangeEXT"/>
</require>
</extension>
- <extension name="GL_EXT_misc_attribute" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_EXT_misc_attribute" supported="gl"/>
<extension name="GL_EXT_multi_draw_arrays" supported="gl|gles1|gles2">
<require>
<command name="glMultiDrawArraysEXT"/>
@@ -36837,10 +37555,7 @@ typedef unsigned int GLhandleARB;
<command name="glGetPixelTransformParameterfvEXT"/>
</require>
</extension>
- <extension name="GL_EXT_pixel_transform_color_table" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_EXT_pixel_transform_color_table" supported="gl"/>
<extension name="GL_EXT_point_parameters" supported="gl">
<require>
<enum name="GL_POINT_SIZE_MIN_EXT"/>
@@ -36859,6 +37574,12 @@ typedef unsigned int GLhandleARB;
<command name="glPolygonOffsetEXT"/>
</require>
</extension>
+ <extension name="GL_EXT_primitive_bounding_box" supported="gles2">
+ <require>
+ <enum name="GL_PRIMITIVE_BOUNDING_BOX_EXT"/>
+ <command name="glPrimitiveBoundingBoxEXT"/>
+ </require>
+ </extension>
<extension name="GL_EXT_provoking_vertex" supported="gl">
<require>
<enum name="GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT"/>
@@ -36874,6 +37595,8 @@ typedef unsigned int GLhandleARB;
<enum name="GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT"/>
<enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT"/>
<enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG"/>
+ <enum name="GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG"/>
</require>
</extension>
<extension name="GL_EXT_read_format_bgra" supported="gles1|gles2">
@@ -37020,6 +37743,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT"/>
</require>
</extension>
+ <extension name="GL_EXT_shader_image_load_formatted" supported="gl"/>
<extension name="GL_EXT_shader_image_load_store" supported="gl">
<require>
<enum name="GL_MAX_IMAGE_UNITS_EXT"/>
@@ -37081,18 +37805,18 @@ typedef unsigned int GLhandleARB;
<command name="glMemoryBarrierEXT"/>
</require>
</extension>
- <extension name="GL_EXT_shader_integer_mix" supported="gl|gles2">
- <require>
- </require>
- </extension>
- <extension name="GL_EXT_shader_texture_lod" supported="gles2">
- <require>
- </require>
- </extension>
- <extension name="GL_EXT_shadow_funcs" supported="gl">
+ <extension name="GL_EXT_shader_implicit_conversions" supported="gles2"/>
+ <extension name="GL_EXT_shader_integer_mix" supported="gl|gles2"/>
+ <extension name="GL_EXT_shader_io_blocks" supported="gles2"/>
+ <extension name="GL_EXT_shader_pixel_local_storage" supported="gles2">
<require>
+ <enum name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT"/>
+ <enum name="GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT"/>
+ <enum name="GL_SHADER_PIXEL_LOCAL_STORAGE_EXT"/>
</require>
</extension>
+ <extension name="GL_EXT_shader_texture_lod" supported="gles2"/>
+ <extension name="GL_EXT_shadow_funcs" supported="gl"/>
<extension name="GL_EXT_shadow_samplers" supported="gles2">
<require>
<enum name="GL_TEXTURE_COMPARE_MODE_EXT"/>
@@ -37132,6 +37856,59 @@ typedef unsigned int GLhandleARB;
<command name="glTexSubImage2DEXT"/>
</require>
</extension>
+ <extension name="GL_EXT_tessellation_point_size" supported="gles2"/>
+ <extension name="GL_EXT_tessellation_shader" supported="gles2">
+ <require>
+ <enum name="GL_PATCHES_EXT"/>
+ <enum name="GL_PATCH_VERTICES_EXT"/>
+ <enum name="GL_TESS_CONTROL_OUTPUT_VERTICES_EXT"/>
+ <enum name="GL_TESS_GEN_MODE_EXT"/>
+ <enum name="GL_TESS_GEN_SPACING_EXT"/>
+ <enum name="GL_TESS_GEN_VERTEX_ORDER_EXT"/>
+ <enum name="GL_TESS_GEN_POINT_MODE_EXT"/>
+ <enum name="GL_TRIANGLES"/>
+ <enum name="GL_ISOLINES_EXT"/>
+ <enum name="GL_QUADS_EXT"/>
+ <enum name="GL_EQUAL"/>
+ <enum name="GL_FRACTIONAL_ODD_EXT"/>
+ <enum name="GL_FRACTIONAL_EVEN_EXT"/>
+ <enum name="GL_CCW"/>
+ <enum name="GL_CW"/>
+ <enum name="GL_MAX_PATCH_VERTICES_EXT"/>
+ <enum name="GL_MAX_TESS_GEN_LEVEL_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_PATCH_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT"/>
+ <enum name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT"/>
+ <enum name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+ <enum name="GL_IS_PER_PATCH_EXT"/>
+ <enum name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT"/>
+ <enum name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_EXT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_EXT"/>
+ <enum name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
+ <enum name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
+ <command name="glPatchParameteriEXT"/>
+ </require>
+ </extension>
<extension name="GL_EXT_texture" supported="gl">
<require>
<enum name="GL_ALPHA4_EXT"/>
@@ -37205,6 +37982,41 @@ typedef unsigned int GLhandleARB;
<enum name="GL_MAX_ARRAY_TEXTURE_LAYERS_EXT"/>
<enum name="GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT"/>
<enum name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT"/>
+ <command name="glFramebufferTextureLayerEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_border_clamp" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_BORDER_COLOR_EXT"/>
+ <enum name="GL_CLAMP_TO_BORDER_EXT"/>
+ <command name="glTexParameterIivEXT"/>
+ <command name="glTexParameterIuivEXT"/>
+ <command name="glGetTexParameterIivEXT"/>
+ <command name="glGetTexParameterIuivEXT"/>
+ <command name="glSamplerParameterIivEXT"/>
+ <command name="glSamplerParameterIuivEXT"/>
+ <command name="glGetSamplerParameterIivEXT"/>
+ <command name="glGetSamplerParameterIuivEXT"/>
+ </require>
+ </extension>
+ <extension name="GL_EXT_texture_buffer" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_BUFFER_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_BINDING_EXT"/>
+ <enum name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
+ <enum name="GL_TEXTURE_BINDING_BUFFER_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT"/>
+ <enum name="GL_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_INT_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"/>
+ <enum name="GL_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_INT_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_OFFSET_EXT"/>
+ <enum name="GL_TEXTURE_BUFFER_SIZE_EXT"/>
+ <command name="glTexBufferEXT"/>
+ <command name="glTexBufferRangeEXT"/>
</require>
</extension>
<extension name="GL_EXT_texture_buffer_object" supported="gl">
@@ -37263,10 +38075,20 @@ typedef unsigned int GLhandleARB;
<enum name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT"/>
</require>
</extension>
- <extension name="GL_EXT_texture_env_add" supported="gl">
+ <extension name="GL_EXT_texture_cube_map_array" supported="gles2">
<require>
+ <enum name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT"/>
+ <enum name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+ <enum name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
</require>
</extension>
+ <extension name="GL_EXT_texture_env_add" supported="gl"/>
<extension name="GL_EXT_texture_env_combine" supported="gl">
<require>
<enum name="GL_COMBINE_EXT"/>
@@ -37522,6 +38344,16 @@ typedef unsigned int GLhandleARB;
<enum name="GL_UNSIGNED_INT_2_10_10_10_REV_EXT"/>
</require>
</extension>
+ <extension name="GL_EXT_texture_view" supported="gles2">
+ <require>
+ <enum name="GL_TEXTURE_VIEW_MIN_LEVEL_EXT"/>
+ <enum name="GL_TEXTURE_VIEW_NUM_LEVELS_EXT"/>
+ <enum name="GL_TEXTURE_VIEW_MIN_LAYER_EXT"/>
+ <enum name="GL_TEXTURE_VIEW_NUM_LAYERS_EXT"/>
+ <enum name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+ <command name="glTextureViewEXT"/>
+ </require>
+ </extension>
<extension name="GL_EXT_timer_query" supported="gl">
<require>
<enum name="GL_TIME_ELAPSED_EXT"/>
@@ -38024,9 +38856,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_INTERLACE_READ_INGR"/>
</require>
</extension>
- <extension name="GL_INTEL_fragment_shader_ordering" supported="gl">
- <require/>
- </extension>
+ <extension name="GL_INTEL_fragment_shader_ordering" supported="gl"/>
<extension name="GL_INTEL_map_texture" supported="gl">
<require>
<enum name="GL_TEXTURE_MEMORY_LAYOUT_INTEL"/>
@@ -38085,6 +38915,27 @@ typedef unsigned int GLhandleARB;
<command name="glGetPerfQueryInfoINTEL"/>
</require>
</extension>
+ <extension name="GL_KHR_blend_equation_advanced" supported="gles2">
+ <require>
+ <command name="glBlendBarrierKHR"/>
+ <enum name="GL_BLEND_ADVANCED_COHERENT_KHR"/>
+ <enum name="GL_MULTIPLY_KHR"/>
+ <enum name="GL_SCREEN_KHR"/>
+ <enum name="GL_OVERLAY_KHR"/>
+ <enum name="GL_DARKEN_KHR"/>
+ <enum name="GL_LIGHTEN_KHR"/>
+ <enum name="GL_COLORDODGE_KHR"/>
+ <enum name="GL_COLORBURN_KHR"/>
+ <enum name="GL_HARDLIGHT_KHR"/>
+ <enum name="GL_SOFTLIGHT_KHR"/>
+ <enum name="GL_DIFFERENCE_KHR"/>
+ <enum name="GL_EXCLUSION_KHR"/>
+ <enum name="GL_HSL_HUE_KHR"/>
+ <enum name="GL_HSL_SATURATION_KHR"/>
+ <enum name="GL_HSL_COLOR_KHR"/>
+ <enum name="GL_HSL_LUMINOSITY_KHR"/>
+ </require>
+ </extension>
<extension name="GL_KHR_debug" supported="gl|glcore|gles2">
<require api="gl" comment="KHR extensions *mandate* suffixes for ES, unlike for GL">
<enum name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
@@ -38416,10 +39267,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_BLEND_ADVANCED_COHERENT_NV"/>
</require>
</extension>
- <extension name="GL_NV_blend_square" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_blend_square" supported="gl"/>
<extension name="GL_NV_compute_program5" supported="gl">
<require>
<enum name="GL_COMPUTE_PROGRAM_NV"/>
@@ -38582,10 +39430,7 @@ typedef unsigned int GLhandleARB;
<command name="glEvalMapsNV"/>
</require>
</extension>
- <extension name="GL_NV_explicit_attrib_location" supported="gles2">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_explicit_attrib_location" supported="gles2"/>
<extension name="GL_NV_explicit_multisample" supported="gl">
<require>
<enum name="GL_SAMPLE_POSITION_NV"/>
@@ -38692,14 +39537,8 @@ typedef unsigned int GLhandleARB;
<enum name="GL_MAX_PROGRAM_LOOP_COUNT_NV"/>
</require>
</extension>
- <extension name="GL_NV_fragment_program4" supported="gl">
- <require>
- </require>
- </extension>
- <extension name="GL_NV_fragment_program_option" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_fragment_program4" supported="gl"/>
+ <extension name="GL_NV_fragment_program_option" supported="gl"/>
<extension name="GL_NV_framebuffer_blit" supported="gles2">
<require>
<enum name="GL_READ_FRAMEBUFFER_NV"/>
@@ -38726,10 +39565,7 @@ typedef unsigned int GLhandleARB;
<command name="glRenderbufferStorageMultisampleCoverageNV"/>
</require>
</extension>
- <extension name="GL_NV_generate_mipmap_sRGB" supported="gles2">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_generate_mipmap_sRGB" supported="gles2"/>
<extension name="GL_NV_geometry_program4" supported="gl">
<require>
<enum name="GL_LINES_ADJACENCY_EXT"/>
@@ -38754,10 +39590,7 @@ typedef unsigned int GLhandleARB;
<command name="glFramebufferTextureFaceEXT"/>
</require>
</extension>
- <extension name="GL_NV_geometry_shader4" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_geometry_shader4" supported="gl"/>
<extension name="GL_NV_gpu_program4" supported="gl">
<require>
<enum name="GL_MIN_PROGRAM_TEXEL_OFFSET_NV"/>
@@ -38800,10 +39633,7 @@ typedef unsigned int GLhandleARB;
<command name="glGetProgramSubroutineParameteruivNV"/>
</require>
</extension>
- <extension name="GL_NV_gpu_program5_mem_extended" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_gpu_program5_mem_extended" supported="gl"/>
<extension name="GL_NV_gpu_shader5" supported="gl">
<require>
<enum name="GL_INT64_NV"/>
@@ -38995,10 +39825,7 @@ typedef unsigned int GLhandleARB;
<command name="glProgramBufferParametersIuivNV"/>
</require>
</extension>
- <extension name="GL_NV_parameter_buffer_object2" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_parameter_buffer_object2" supported="gl"/>
<extension name="GL_NV_path_rendering" supported="gl">
<require>
<enum name="GL_PATH_FORMAT_SVG_NV"/>
@@ -39233,22 +40060,10 @@ typedef unsigned int GLhandleARB;
<command name="glReadBufferNV"/>
</require>
</extension>
- <extension name="GL_NV_read_buffer_front" supported="gles2">
- <require>
- </require>
- </extension>
- <extension name="GL_NV_read_depth" supported="gles2">
- <require>
- </require>
- </extension>
- <extension name="GL_NV_read_depth_stencil" supported="gles2">
- <require>
- </require>
- </extension>
- <extension name="GL_NV_read_stencil" supported="gles2">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_read_buffer_front" supported="gles2"/>
+ <extension name="GL_NV_read_depth" supported="gles2"/>
+ <extension name="GL_NV_read_depth_stencil" supported="gles2"/>
+ <extension name="GL_NV_read_stencil" supported="gles2"/>
<extension name="GL_NV_register_combiners" supported="gl">
<require>
<enum name="GL_REGISTER_COMBINERS_NV"/>
@@ -39343,14 +40158,8 @@ typedef unsigned int GLhandleARB;
<enum name="GL_ETC1_SRGB8_NV"/>
</require>
</extension>
- <extension name="GL_NV_shader_atomic_counters" supported="gl">
- <require>
- </require>
- </extension>
- <extension name="GL_NV_shader_atomic_float" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_shader_atomic_counters" supported="gl"/>
+ <extension name="GL_NV_shader_atomic_float" supported="gl"/>
<extension name="GL_NV_shader_buffer_load" supported="gl">
<require>
<enum name="GL_BUFFER_GPU_ADDRESS_NV"/>
@@ -39379,10 +40188,15 @@ typedef unsigned int GLhandleARB;
<enum name="GL_WRITE_ONLY"/>
</require>
</extension>
- <extension name="GL_NV_shader_storage_buffer_object" supported="gl">
+ <extension name="GL_NV_shader_storage_buffer_object" supported="gl"/>
+ <extension name="GL_NV_shader_thread_group" supported="gl">
<require>
+ <enum name="GL_WARP_SIZE_NV"/>
+ <enum name="GL_WARPS_PER_SM_NV"/>
+ <enum name="GL_SM_COUNT_NV"/>
</require>
</extension>
+ <extension name="GL_NV_shader_thread_shuffle" supported="gl"/>
<extension name="GL_NV_shadow_samplers_array" supported="gles2">
<require>
<enum name="GL_SAMPLER_2D_ARRAY_SHADOW_NV"/>
@@ -39426,14 +40240,8 @@ typedef unsigned int GLhandleARB;
<enum name="GL_CLAMP_TO_BORDER_NV"/>
</require>
</extension>
- <extension name="GL_NV_texture_compression_s3tc_update" supported="gles2">
- <require>
- </require>
- </extension>
- <extension name="GL_NV_texture_compression_vtc" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_texture_compression_s3tc_update" supported="gles2"/>
+ <extension name="GL_NV_texture_compression_vtc" supported="gl"/>
<extension name="GL_NV_texture_env_combine4" supported="gl">
<require>
<enum name="GL_COMBINE4_NV"/>
@@ -39462,10 +40270,7 @@ typedef unsigned int GLhandleARB;
<command name="glTextureImage3DMultisampleCoverageNV"/>
</require>
</extension>
- <extension name="GL_NV_texture_npot_2D_mipmap" supported="gles2">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_texture_npot_2D_mipmap" supported="gles2"/>
<extension name="GL_NV_texture_rectangle" supported="gl">
<require>
<enum name="GL_TEXTURE_RECTANGLE_NV"/>
@@ -39892,14 +40697,8 @@ typedef unsigned int GLhandleARB;
<command name="glVertexAttribs4ubvNV"/>
</require>
</extension>
- <extension name="GL_NV_vertex_program1_1" supported="gl">
- <require>
- </require>
- </extension>
- <extension name="GL_NV_vertex_program2" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_NV_vertex_program1_1" supported="gl"/>
+ <extension name="GL_NV_vertex_program2" supported="gl"/>
<extension name="GL_NV_vertex_program2_option" supported="gl">
<require>
<enum name="GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV"/>
@@ -40107,14 +40906,8 @@ typedef unsigned int GLhandleARB;
<enum name="GL_UNSIGNED_INT"/>
</require>
</extension>
- <extension name="GL_OES_extended_matrix_palette" supported="gles1">
- <require>
- </require>
- </extension>
- <extension name="GL_OES_fbo_render_mipmap" supported="gles1|gles2">
- <require>
- </require>
- </extension>
+ <extension name="GL_OES_extended_matrix_palette" supported="gles1"/>
+ <extension name="GL_OES_fbo_render_mipmap" supported="gles1|gles2"/>
<extension name="GL_OES_fixed_point" supported="gl|gles1">
<require>
<enum name="GL_FIXED_OES"/>
@@ -40398,6 +41191,22 @@ typedef unsigned int GLhandleARB;
<enum name="GL_RGBA8_OES"/>
</require>
</extension>
+ <extension name="GL_OES_sample_shading" supported="gles2">
+ <require>
+ <command name="glMinSampleShadingOES"/>
+ <enum name="GL_SAMPLE_SHADING_OES"/>
+ <enum name="GL_MIN_SAMPLE_SHADING_VALUE_OES"/>
+ </require>
+ </extension>
+ <extension name="GL_OES_sample_variables" supported="gles2"/>
+ <extension name="GL_OES_shader_image_atomic" supported="gles2"/>
+ <extension name="GL_OES_shader_multisample_interpolation" supported="gles2">
+ <require>
+ <enum name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+ <enum name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+ <enum name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES"/>
+ </require>
+ </extension>
<extension name="GL_OES_single_precision" supported="gl|gles1">
<require>
<command name="glClearDepthfOES"/>
@@ -40533,35 +41342,39 @@ typedef unsigned int GLhandleARB;
<command name="glGetTexGenxvOES"/>
</require>
</extension>
- <extension name="GL_OES_texture_env_crossbar" supported="gles1">
- <require>
- </require>
- </extension>
+ <extension name="GL_OES_texture_env_crossbar" supported="gles1"/>
<extension name="GL_OES_texture_float" supported="gles2">
<require>
<enum name="GL_FLOAT"/>
</require>
</extension>
- <extension name="GL_OES_texture_float_linear" supported="gles2">
- <require>
- </require>
- </extension>
+ <extension name="GL_OES_texture_float_linear" supported="gles2"/>
<extension name="GL_OES_texture_half_float" supported="gles2">
<require>
<enum name="GL_HALF_FLOAT_OES"/>
</require>
</extension>
- <extension name="GL_OES_texture_half_float_linear" supported="gles2">
+ <extension name="GL_OES_texture_half_float_linear" supported="gles2"/>
+ <extension name="GL_OES_texture_mirrored_repeat" supported="gles1">
<require>
+ <enum name="GL_MIRRORED_REPEAT_OES"/>
</require>
</extension>
- <extension name="GL_OES_texture_mirrored_repeat" supported="gles1">
+ <extension name="GL_OES_texture_npot" supported="gles2"/>
+ <extension name="GL_OES_texture_stencil8" supported="gles2">
<require>
- <enum name="GL_MIRRORED_REPEAT_OES"/>
+ <enum name="GL_STENCIL_INDEX_OES"/>
+ <enum name="GL_STENCIL_INDEX8_OES"/>
</require>
</extension>
- <extension name="GL_OES_texture_npot" supported="gles2">
+ <extension name="GL_OES_texture_storage_multisample_2d_array" supported="gles2">
<require>
+ <command name="glTexStorage3DMultisampleOES"/>
+ <enum name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+ <enum name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
</require>
</extension>
<extension name="GL_OES_vertex_array_object" supported="gles1|gles2">
@@ -41006,10 +41819,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_CONVOLUTION_HINT_SGIX"/>
</require>
</extension>
- <extension name="GL_SGIX_depth_pass_instrument" supported="gl">
- <require>
- </require>
- </extension>
+ <extension name="GL_SGIX_depth_pass_instrument" supported="gl"/>
<extension name="GL_SGIX_depth_texture" supported="gl">
<require>
<enum name="GL_DEPTH_COMPONENT16_SGIX"/>
@@ -41256,9 +42066,7 @@ typedef unsigned int GLhandleARB;
<enum name="GL_YCRCB_444_SGIX"/>
</require>
</extension>
- <extension name="GL_SGIX_ycrcb_subsample" supported="gl">
- <require/>
- </extension>
+ <extension name="GL_SGIX_ycrcb_subsample" supported="gl"/>
<extension name="GL_SGIX_ycrcba" supported="gl">
<require>
<enum name="GL_YCRCB_SGIX"/>
diff --git a/xorg-server/hw/xwin/glx/reg.py b/xorg-server/hw/xwin/glx/reg.py
index 1bbe0a052..9248b6624 100644
--- a/xorg-server/hw/xwin/glx/reg.py
+++ b/xorg-server/hw/xwin/glx/reg.py
@@ -222,7 +222,7 @@ def regSortFeatures(featureList):
# the <extension>. Defaults to None. Usually the same as apiname.
# addExtensions - regex matching names of additional extensions
# to include. Defaults to None.
-# removeExtenions - regex matching names of extensions to
+# removeExtensions - regex matching names of extensions to
# remove (after defaultExtensions and addExtensions). Defaults
# to None.
# sortProcedure - takes a list of FeatureInfo objects and sorts
diff --git a/xorg-server/hw/xwin/glx/wgl.xml b/xorg-server/hw/xwin/glx/wgl.xml
index 102185a03..0114547c2 100644
--- a/xorg-server/hw/xwin/glx/wgl.xml
+++ b/xorg-server/hw/xwin/glx/wgl.xml
@@ -326,11 +326,11 @@
<unused start="0x2059" end="0x205F"/>
</enums>
- <enums namespace="WGL" start="0x2060" end="0x206F" vendor="3Dfx">
+ <enums namespace="WGL" start="0x2060" end="0x206F" vendor="3DFX">
<unused start="0x2060" end="0x206F" comment="Could be reclaimed"/>
</enums>
- <enums namespace="WGL" start="0x2070" end="0x209F" vendor="ARB">
+ <enums namespace="WGL" start="0x2070" end="0x209F" vendor="ARB" comment="Shared with GLX; synchronize create_context enums">
<enum value="0x2060" name="WGL_SAMPLE_BUFFERS_3DFX"/>
<enum value="0x2061" name="WGL_SAMPLES_3DFX"/>
<enum value="0x2070" name="WGL_BIND_TO_TEXTURE_RGB_ARB"/>
@@ -372,7 +372,8 @@
<enum value="0x2094" name="WGL_CONTEXT_FLAGS_ARB"/>
<enum value="0x2095" name="ERROR_INVALID_VERSION_ARB"/>
<enum value="0x2096" name="ERROR_INVALID_PROFILE_ARB"/>
- <unused start="0x2097" end="0x209F"/>
+ <!-- 0x2097-0x2098 reserved for future WGL/GLX extensions -->
+ <unused start="0x2099" end="0x209F"/>
</enums>
<enums namespace="WGL" start="0x20A0" end="0x219F" vendor="NV" comment="shared with GLX">
diff --git a/xorg-server/hw/xwin/glx/wglext.h b/xorg-server/hw/xwin/glx/wglext.h
index cf9781ddd..5860c867a 100644
--- a/xorg-server/hw/xwin/glx/wglext.h
+++ b/xorg-server/hw/xwin/glx/wglext.h
@@ -33,7 +33,7 @@ extern "C" {
** used to make the header, and the header can be found at
** http://www.opengl.org/registry/
**
-** Khronos $Revision: 25401 $ on $Date: 2014-02-18 15:43:24 -0800 (Tue, 18 Feb 2014) $
+** Khronos $Revision: 27191 $ on $Date: 2014-06-30 15:11:33 -0700 (Mon, 30 Jun 2014) $
*/
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
@@ -41,7 +41,7 @@ extern "C" {
#include <windows.h>
#endif
-#define WGL_WGLEXT_VERSION 20140203
+#define WGL_WGLEXT_VERSION 20140630
/* Generated C header for:
* API: wgl
diff --git a/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c b/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c
index 52b7203b5..6036f347f 100644
--- a/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c
+++ b/xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c
@@ -30,6 +30,11 @@ BOOL doubleBuffered = FALSE;
struct __DRIscreenRec
{
int ScreenNum;
+ int max_gl_core_version;
+ int max_gl_compat_version;
+ int max_gl_es1_version;
+ int max_gl_es2_version;
+
const __DRIextension **extensions;
const __DRIswrastLoaderExtension *swrast_loader;
};
@@ -492,7 +497,6 @@ static const struct { unsigned int attrib, offset; } attribMap[] = {
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_GREEN_VALUE, transparentGreen),
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_BLUE_VALUE, transparentBlue),
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE, transparentAlpha),
- __ATTRIB(__DRI_ATTRIB_FLOAT_MODE, floatMode),
__ATTRIB(__DRI_ATTRIB_RED_MASK, redMask),
__ATTRIB(__DRI_ATTRIB_GREEN_MASK, greenMask),
__ATTRIB(__DRI_ATTRIB_BLUE_MASK, blueMask),
@@ -520,376 +524,2516 @@ static const struct { unsigned int attrib, offset; } attribMap[] = {
#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0]))
-__DRIconfig **
-driCreateConfigs(GLenum fb_format, GLenum fb_type,
- const uint8_t * depth_bits, const uint8_t * stencil_bits,
- unsigned num_depth_stencil_bits,
- const GLenum * db_modes, unsigned num_db_modes,
- const uint8_t * msaa_samples, unsigned num_msaa_modes,
- GLboolean enable_accum)
+/**
+ * Mesa texture/renderbuffer image formats.
+ */
+typedef enum
{
- static const uint8_t bits_table[4][4] = {
- /* R G B A */
- { 3, 3, 2, 0 }, /* Any GL_UNSIGNED_BYTE_3_3_2 */
- { 5, 6, 5, 0 }, /* Any GL_UNSIGNED_SHORT_5_6_5 */
- { 8, 8, 8, 0 }, /* Any RGB with any GL_UNSIGNED_INT_8_8_8_8 */
- { 8, 8, 8, 8 } /* Any RGBA with any GL_UNSIGNED_INT_8_8_8_8 */
- };
-
- static const uint32_t masks_table_rgb[6][4] = {
- { 0x000000E0, 0x0000001C, 0x00000003, 0x00000000 }, /* 3_3_2 */
- { 0x00000007, 0x00000038, 0x000000C0, 0x00000000 }, /* 2_3_3_REV */
- { 0x0000F800, 0x000007E0, 0x0000001F, 0x00000000 }, /* 5_6_5 */
- { 0x0000001F, 0x000007E0, 0x0000F800, 0x00000000 }, /* 5_6_5_REV */
- { 0xFF000000, 0x00FF0000, 0x0000FF00, 0x00000000 }, /* 8_8_8_8 */
- { 0x000000FF, 0x0000FF00, 0x00FF0000, 0x00000000 } /* 8_8_8_8_REV */
- };
-
- static const uint32_t masks_table_rgba[6][4] = {
- { 0x000000E0, 0x0000001C, 0x00000003, 0x00000000 }, /* 3_3_2 */
- { 0x00000007, 0x00000038, 0x000000C0, 0x00000000 }, /* 2_3_3_REV */
- { 0x0000F800, 0x000007E0, 0x0000001F, 0x00000000 }, /* 5_6_5 */
- { 0x0000001F, 0x000007E0, 0x0000F800, 0x00000000 }, /* 5_6_5_REV */
- { 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF }, /* 8_8_8_8 */
- { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 }, /* 8_8_8_8_REV */
- };
-
- static const uint32_t masks_table_bgr[6][4] = {
- { 0x00000007, 0x00000038, 0x000000C0, 0x00000000 }, /* 3_3_2 */
- { 0x000000E0, 0x0000001C, 0x00000003, 0x00000000 }, /* 2_3_3_REV */
- { 0x0000001F, 0x000007E0, 0x0000F800, 0x00000000 }, /* 5_6_5 */
- { 0x0000F800, 0x000007E0, 0x0000001F, 0x00000000 }, /* 5_6_5_REV */
- { 0x0000FF00, 0x00FF0000, 0xFF000000, 0x00000000 }, /* 8_8_8_8 */
- { 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 }, /* 8_8_8_8_REV */
- };
-
- static const uint32_t masks_table_bgra[6][4] = {
- { 0x00000007, 0x00000038, 0x000000C0, 0x00000000 }, /* 3_3_2 */
- { 0x000000E0, 0x0000001C, 0x00000003, 0x00000000 }, /* 2_3_3_REV */
- { 0x0000001F, 0x000007E0, 0x0000F800, 0x00000000 }, /* 5_6_5 */
- { 0x0000F800, 0x000007E0, 0x0000001F, 0x00000000 }, /* 5_6_5_REV */
- { 0x0000FF00, 0x00FF0000, 0xFF000000, 0x000000FF }, /* 8_8_8_8 */
- { 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 }, /* 8_8_8_8_REV */
- };
-
- static const uint8_t bytes_per_pixel[6] = {
- 1, /* 3_3_2 */
- 1, /* 2_3_3_REV */
- 2, /* 5_6_5 */
- 2, /* 5_6_5_REV */
- 4, /* 8_8_8_8 */
- 4 /* 8_8_8_8_REV */
-
- };
-
- const uint8_t * bits;
- const uint32_t * masks;
- int index;
- __DRIconfig **configs, **c;
-
- struct gl_config *modes;
- unsigned i, j, k, h;
- unsigned num_modes;
- unsigned num_accum_bits = (enable_accum) ? 2 : 1;
-
- PRINTF(__FUNCTION__"\n");
- switch ( fb_type ) {
- case GL_UNSIGNED_BYTE_3_3_2:
- index = 0;
- break;
- case GL_UNSIGNED_BYTE_2_3_3_REV:
- index = 1;
- break;
- case GL_UNSIGNED_SHORT_5_6_5:
- index = 2;
- break;
- case GL_UNSIGNED_SHORT_5_6_5_REV:
- index = 3;
- break;
- case GL_UNSIGNED_INT_8_8_8_8:
- index = 4;
- break;
- case GL_UNSIGNED_INT_8_8_8_8_REV:
- index = 5;
- break;
- default:
- fprintf( stderr, "[%s:%u] Unknown framebuffer type 0x%04x.\n",
- __FUNCTION__, __LINE__, fb_type );
- return NULL;
- }
-
-
- /* Valid types are GL_UNSIGNED_SHORT_5_6_5 and GL_UNSIGNED_INT_8_8_8_8 and
- * the _REV versions.
- *
- * Valid formats are GL_RGBA, GL_RGB, and GL_BGRA.
- */
+ MESA_FORMAT_NONE = 0,
+
+ /**
+ * \name Basic hardware formats
+ *
+ * The mesa format name specification is as follows:
+ *
+ * There shall be 3 naming format base types: those for component array
+ * formats (type A); those for compressed formats (type C); and those for
+ * packed component formats (type P). With type A formats, color component
+ * order does not change with endianess. Each format name shall begin with
+ * MESA_FORMAT_, followed by a component label (from the Component Label
+ * list below) for each component in the order that the component(s) occur
+ * in the format, except for non-linear color formats where the first
+ * letter shall be 'S'. For type P formats, each component label is
+ * followed by the number of bits that represent it in the fundamental
+ * data type used by the format.
+ *
+ * Following the listing of the component labels shall be an underscore; a
+ * compression type followed by an underscore for Type C formats only; a
+ * storage type from the list below; and a bit with for type A formats,
+ * which is the bit width for each array element.
+ *
+ *
+ * ---------- Format Base Type A: Array ----------
+ * MESA_FORMAT_[component list]_[storage type][array element bit width]
+ *
+ * examples:
+ * MESA_FORMAT_A_SNORM8 - uchar[i] = A
+ * MESA_FORMAT_RGBA_16 - ushort[i * 4 + 0] = R, ushort[i * 4 + 1] = G,
+ * ushort[i * 4 + 2] = B, ushort[i * 4 + 3] = A
+ * MESA_FORMAT_Z_UNORM32 - float[i] = Z
+ *
+ *
+ *
+ * ---------- Format Base Type C: Compressed ----------
+ * MESA_FORMAT_[component list*][_*][compression type][storage type*]
+ * * where required
+ *
+ * examples:
+ * MESA_FORMAT_RGB_ETC1
+ * MESA_FORMAT_RGBA_ETC2
+ * MESA_FORMAT_LATC1_UNORM
+ * MESA_FORMAT_RGBA_FXT1
+ *
+ *
+ *
+ * ---------- Format Base Type P: Packed ----------
+ * MESA_FORMAT_[[component list,bit width][storage type*][_]][_][storage type**]
+ * * when type differs between component
+ * ** when type applies to all components
+ *
+ * examples: msb <------ TEXEL BITS -----------> lsb
+ * MESA_FORMAT_A8B8G8R8_UNORM, AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR
+ * MESA_FORMAT_R5G6B5_UNORM RRRR RGGG GGGB BBBB
+ * MESA_FORMAT_B4G4R4X4_UNORM BBBB GGGG RRRR XXXX
+ * MESA_FORMAT_Z32_FLOAT_S8X24_UINT
+ * MESA_FORMAT_R10G10B10A2_UINT
+ * MESA_FORMAT_R9G9B9E5_FLOAT
+ *
+ *
+ *
+ * ---------- Component Labels: ----------
+ * A - Alpha
+ * B - Blue
+ * DU - Delta U
+ * DV - Delta V
+ * E - Shared Exponent
+ * G - Green
+ * I - Intensity
+ * L - Luminance
+ * R - Red
+ * S - Stencil (when not followed by RGB or RGBA)
+ * U - Chrominance
+ * V - Chrominance
+ * Y - Luma
+ * X - Packing bits
+ * Z - Depth
+ *
+ *
+ *
+ * ---------- Type C Compression Types: ----------
+ * DXT1 - Color component labels shall be given
+ * DXT3 - Color component labels shall be given
+ * DXT5 - Color component labels shall be given
+ * ETC1 - No other information required
+ * ETC2 - No other information required
+ * FXT1 - Color component labels shall be given
+ * FXT3 - Color component labels shall be given
+ * LATC1 - Fundamental data type shall be given
+ * LATC2 - Fundamental data type shall be given
+ * RGTC1 - Color component labels and data type shall be given
+ * RGTC2 - Color component labels and data type shall be given
+ *
+ *
+ *
+ * ---------- Storage Types: ----------
+ * FLOAT
+ * SINT
+ * UINT
+ * SNORM
+ * UNORM
+ * SRGB - RGB components, or L are UNORMs in sRGB color space.
+ * Alpha, if present is linear.
+ *
+ */
- switch ( fb_format ) {
- case GL_RGB:
- masks = masks_table_rgb[ index ];
- break;
+ /* Packed unorm formats */ /* msb <------ TEXEL BITS -----------> lsb */
+ /* ---- ---- ---- ---- ---- ---- ---- ---- */
+ MESA_FORMAT_A8B8G8R8_UNORM, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */
+ MESA_FORMAT_X8B8G8R8_UNORM, /* RRRR RRRR GGGG GGGG BBBB BBBB xxxx xxxx */
+ MESA_FORMAT_R8G8B8A8_UNORM, /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_R8G8B8X8_UNORM, /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_B8G8R8A8_UNORM, /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB BBBB */
+ MESA_FORMAT_B8G8R8X8_UNORM, /* xxxx xxxx RRRR RRRR GGGG GGGG BBBB BBBB */
+ MESA_FORMAT_A8R8G8B8_UNORM, /* BBBB BBBB GGGG GGGG RRRR RRRR AAAA AAAA */
+ MESA_FORMAT_X8R8G8B8_UNORM, /* BBBB BBBB GGGG GGGG RRRR RRRR xxxx xxxx */
+ MESA_FORMAT_L16A16_UNORM, /* AAAA AAAA AAAA AAAA LLLL LLLL LLLL LLLL */
+ MESA_FORMAT_A16L16_UNORM, /* LLLL LLLL LLLL LLLL AAAA AAAA AAAA AAAA */
+ MESA_FORMAT_B5G6R5_UNORM, /* RRRR RGGG GGGB BBBB */
+ MESA_FORMAT_R5G6B5_UNORM, /* BBBB BGGG GGGR RRRR */
+ MESA_FORMAT_B4G4R4A4_UNORM, /* AAAA RRRR GGGG BBBB */
+ MESA_FORMAT_B4G4R4X4_UNORM, /* xxxx RRRR GGGG BBBB */
+ MESA_FORMAT_A4R4G4B4_UNORM, /* BBBB GGGG RRRR AAAA */
+ MESA_FORMAT_A1B5G5R5_UNORM, /* RRRR RGGG GGBB BBBA */
+ MESA_FORMAT_B5G5R5A1_UNORM, /* ARRR RRGG GGGB BBBB */
+ MESA_FORMAT_B5G5R5X1_UNORM, /* xRRR RRGG GGGB BBBB */
+ MESA_FORMAT_A1R5G5B5_UNORM, /* BBBB BGGG GGRR RRRA */
+ MESA_FORMAT_L8A8_UNORM, /* AAAA AAAA LLLL LLLL */
+ MESA_FORMAT_A8L8_UNORM, /* LLLL LLLL AAAA AAAA */
+ MESA_FORMAT_R8G8_UNORM, /* GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_G8R8_UNORM, /* RRRR RRRR GGGG GGGG */
+ MESA_FORMAT_L4A4_UNORM, /* AAAA LLLL */
+ MESA_FORMAT_B2G3R3_UNORM, /* RRRG GGBB */
+
+ MESA_FORMAT_R16G16_UNORM, /* GGGG GGGG GGGG GGGG RRRR RRRR RRRR RRRR */
+ MESA_FORMAT_G16R16_UNORM, /* RRRR RRRR RRRR RRRR GGGG GGGG GGGG GGGG */
+ MESA_FORMAT_B10G10R10A2_UNORM,/* AARR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */
+ MESA_FORMAT_B10G10R10X2_UNORM,/* xxRR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */
+ MESA_FORMAT_R10G10B10A2_UNORM,/* AABB BBBB BBBB GGGG GGGG GGRR RRRR RRRR */
+
+ MESA_FORMAT_S8_UINT_Z24_UNORM,/* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ SSSS SSSS */
+ MESA_FORMAT_X8_UINT_Z24_UNORM,/* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ xxxx xxxx */
+ MESA_FORMAT_Z24_UNORM_S8_UINT,/* SSSS SSSS ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */
+ MESA_FORMAT_Z24_UNORM_X8_UINT,/* xxxx xxxx ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */
+
+ MESA_FORMAT_YCBCR, /* YYYY YYYY UorV UorV */
+ MESA_FORMAT_YCBCR_REV, /* UorV UorV YYYY YYYY */
+
+ /* Array unorm formats */
+ MESA_FORMAT_A_UNORM8, /* ubyte[i] = A */
+ MESA_FORMAT_A_UNORM16, /* ushort[i] = A */
+ MESA_FORMAT_L_UNORM8, /* ubyte[i] = L */
+ MESA_FORMAT_L_UNORM16, /* ushort[i] = L */
+ MESA_FORMAT_I_UNORM8, /* ubyte[i] = I */
+ MESA_FORMAT_I_UNORM16, /* ushort[i] = I */
+ MESA_FORMAT_R_UNORM8, /* ubyte[i] = R */
+ MESA_FORMAT_R_UNORM16, /* ushort[i] = R */
+ MESA_FORMAT_BGR_UNORM8, /* ubyte[i*3] = B, [i*3+1] = G, [i*3+2] = R */
+ MESA_FORMAT_RGB_UNORM8, /* ubyte[i*3] = R, [i*3+1] = G, [i*3+2] = B */
+ MESA_FORMAT_RGBA_UNORM16, /* ushort[i] = R, [1] = G, [2] = B, [3] = A */
+ MESA_FORMAT_RGBX_UNORM16,
+
+ MESA_FORMAT_Z_UNORM16, /* ushort[i] = Z */
+ MESA_FORMAT_Z_UNORM32, /* uint[i] = Z */
+ MESA_FORMAT_S_UINT8, /* ubyte[i] = S */
+
+ /* Packed signed/normalized formats */
+ /* msb <------ TEXEL BITS -----------> lsb */
+ /* ---- ---- ---- ---- ---- ---- ---- ---- */
+ MESA_FORMAT_A8B8G8R8_SNORM, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */
+ MESA_FORMAT_X8B8G8R8_SNORM, /* RRRR RRRR GGGG GGGG BBBB BBBB xxxx xxxx */
+ MESA_FORMAT_R8G8B8A8_SNORM, /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_R8G8B8X8_SNORM, /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_R16G16_SNORM, /* GGGG GGGG GGGG GGGG RRRR RRRR RRRR RRRR */
+ MESA_FORMAT_G16R16_SNORM, /* RRRR RRRR RRRR RRRR GGGG GGGG GGGG GGGG */
+ MESA_FORMAT_R8G8_SNORM, /* GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_G8R8_SNORM, /* RRRR RRRR GGGG GGGG */
+ MESA_FORMAT_L8A8_SNORM, /* AAAA AAAA LLLL LLLL */
+
+ /* Array signed/normalized formats */
+ MESA_FORMAT_A_SNORM8, /* byte[i] = A */
+ MESA_FORMAT_A_SNORM16, /* short[i] = A */
+ MESA_FORMAT_L_SNORM8, /* byte[i] = L */
+ MESA_FORMAT_L_SNORM16, /* short[i] = L */
+ MESA_FORMAT_I_SNORM8, /* byte[i] = I */
+ MESA_FORMAT_I_SNORM16, /* short[i] = I */
+ MESA_FORMAT_R_SNORM8, /* byte[i] = R */
+ MESA_FORMAT_R_SNORM16, /* short[i] = R */
+ MESA_FORMAT_LA_SNORM16, /* short[i * 2] = L, [i * 2 + 1] = A */
+ MESA_FORMAT_RGB_SNORM16, /* short[i*3] = R, [i*3+1] = G, [i*3+2] = B */
+ MESA_FORMAT_RGBA_SNORM16, /* ... */
+ MESA_FORMAT_RGBX_SNORM16, /* ... */
+
+ /* Packed sRGB formats */
+ MESA_FORMAT_A8B8G8R8_SRGB, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */
+ MESA_FORMAT_B8G8R8A8_SRGB, /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB BBBB */
+ MESA_FORMAT_B8G8R8X8_SRGB, /* xxxx xxxx RRRR RRRR GGGG GGGG BBBB BBBB */
+ MESA_FORMAT_R8G8B8A8_SRGB, /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_R8G8B8X8_SRGB, /* xxxx xxxx BBBB BBBB GGGG GGGG RRRR RRRR */
+ MESA_FORMAT_L8A8_SRGB, /* AAAA AAAA LLLL LLLL */
+
+ /* Array sRGB formats */
+ MESA_FORMAT_L_SRGB8, /* ubyte[i] = L */
+ MESA_FORMAT_BGR_SRGB8, /* ubyte[i*3] = B, [i*3+1] = G, [i*3+2] = R */
+
+ /* Packed float formats */
+ MESA_FORMAT_R9G9B9E5_FLOAT,
+ MESA_FORMAT_R11G11B10_FLOAT, /* BBBB BBBB BBGG GGGG GGGG GRRR RRRR RRRR */
+ MESA_FORMAT_Z32_FLOAT_S8X24_UINT, /* (float, x24s8) */
+
+ /* Array float formats */
+ MESA_FORMAT_A_FLOAT16,
+ MESA_FORMAT_A_FLOAT32,
+ MESA_FORMAT_L_FLOAT16,
+ MESA_FORMAT_L_FLOAT32,
+ MESA_FORMAT_LA_FLOAT16,
+ MESA_FORMAT_LA_FLOAT32,
+ MESA_FORMAT_I_FLOAT16,
+ MESA_FORMAT_I_FLOAT32,
+ MESA_FORMAT_R_FLOAT16,
+ MESA_FORMAT_R_FLOAT32,
+ MESA_FORMAT_RG_FLOAT16,
+ MESA_FORMAT_RG_FLOAT32,
+ MESA_FORMAT_RGB_FLOAT16,
+ MESA_FORMAT_RGB_FLOAT32,
+ MESA_FORMAT_RGBA_FLOAT16,
+ MESA_FORMAT_RGBA_FLOAT32, /* float[0] = R, [1] = G, [2] = B, [3] = A */
+ MESA_FORMAT_RGBX_FLOAT16,
+ MESA_FORMAT_RGBX_FLOAT32,
+ MESA_FORMAT_Z_FLOAT32,
+
+ /* Packed signed/unsigned non-normalized integer formats */
+ MESA_FORMAT_B10G10R10A2_UINT, /* AARR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */
+ MESA_FORMAT_R10G10B10A2_UINT, /* AABB BBBB BBBB GGGG GGGG GGRR RRRR RRRR */
+
+ /* Array signed/unsigned non-normalized integer formats */
+ MESA_FORMAT_A_UINT8,
+ MESA_FORMAT_A_UINT16,
+ MESA_FORMAT_A_UINT32,
+ MESA_FORMAT_A_SINT8,
+ MESA_FORMAT_A_SINT16,
+ MESA_FORMAT_A_SINT32,
+
+ MESA_FORMAT_I_UINT8,
+ MESA_FORMAT_I_UINT16,
+ MESA_FORMAT_I_UINT32,
+ MESA_FORMAT_I_SINT8,
+ MESA_FORMAT_I_SINT16,
+ MESA_FORMAT_I_SINT32,
+
+ MESA_FORMAT_L_UINT8,
+ MESA_FORMAT_L_UINT16,
+ MESA_FORMAT_L_UINT32,
+ MESA_FORMAT_L_SINT8,
+ MESA_FORMAT_L_SINT16,
+ MESA_FORMAT_L_SINT32,
+
+ MESA_FORMAT_LA_UINT8,
+ MESA_FORMAT_LA_UINT16,
+ MESA_FORMAT_LA_UINT32,
+ MESA_FORMAT_LA_SINT8,
+ MESA_FORMAT_LA_SINT16,
+ MESA_FORMAT_LA_SINT32,
+
+ MESA_FORMAT_R_UINT8,
+ MESA_FORMAT_R_UINT16,
+ MESA_FORMAT_R_UINT32,
+ MESA_FORMAT_R_SINT8,
+ MESA_FORMAT_R_SINT16,
+ MESA_FORMAT_R_SINT32,
+
+ MESA_FORMAT_RG_UINT8,
+ MESA_FORMAT_RG_UINT16,
+ MESA_FORMAT_RG_UINT32,
+ MESA_FORMAT_RG_SINT8,
+ MESA_FORMAT_RG_SINT16,
+ MESA_FORMAT_RG_SINT32,
+
+ MESA_FORMAT_RGB_UINT8,
+ MESA_FORMAT_RGB_UINT16,
+ MESA_FORMAT_RGB_UINT32,
+ MESA_FORMAT_RGB_SINT8,
+ MESA_FORMAT_RGB_SINT16,
+ MESA_FORMAT_RGB_SINT32,
+
+ MESA_FORMAT_RGBA_UINT8,
+ MESA_FORMAT_RGBA_UINT16,
+ MESA_FORMAT_RGBA_UINT32,
+ MESA_FORMAT_RGBA_SINT8,
+ MESA_FORMAT_RGBA_SINT16,
+ MESA_FORMAT_RGBA_SINT32,
+
+ MESA_FORMAT_RGBX_UINT8,
+ MESA_FORMAT_RGBX_UINT16,
+ MESA_FORMAT_RGBX_UINT32,
+ MESA_FORMAT_RGBX_SINT8,
+ MESA_FORMAT_RGBX_SINT16,
+ MESA_FORMAT_RGBX_SINT32,
+
+ /* DXT compressed formats */
+ MESA_FORMAT_RGB_DXT1,
+ MESA_FORMAT_RGBA_DXT1,
+ MESA_FORMAT_RGBA_DXT3,
+ MESA_FORMAT_RGBA_DXT5,
+
+ /* DXT sRGB compressed formats */
+ MESA_FORMAT_SRGB_DXT1,
+ MESA_FORMAT_SRGBA_DXT1,
+ MESA_FORMAT_SRGBA_DXT3,
+ MESA_FORMAT_SRGBA_DXT5,
+
+ /* FXT1 compressed formats */
+ MESA_FORMAT_RGB_FXT1,
+ MESA_FORMAT_RGBA_FXT1,
+
+ /* RGTC compressed formats */
+ MESA_FORMAT_R_RGTC1_UNORM,
+ MESA_FORMAT_R_RGTC1_SNORM,
+ MESA_FORMAT_RG_RGTC2_UNORM,
+ MESA_FORMAT_RG_RGTC2_SNORM,
+
+ /* LATC1/2 compressed formats */
+ MESA_FORMAT_L_LATC1_UNORM,
+ MESA_FORMAT_L_LATC1_SNORM,
+ MESA_FORMAT_LA_LATC2_UNORM,
+ MESA_FORMAT_LA_LATC2_SNORM,
+
+ /* ETC1/2 compressed formats */
+ MESA_FORMAT_ETC1_RGB8,
+ MESA_FORMAT_ETC2_RGB8,
+ MESA_FORMAT_ETC2_SRGB8,
+ MESA_FORMAT_ETC2_RGBA8_EAC,
+ MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC,
+ MESA_FORMAT_ETC2_R11_EAC,
+ MESA_FORMAT_ETC2_RG11_EAC,
+ MESA_FORMAT_ETC2_SIGNED_R11_EAC,
+ MESA_FORMAT_ETC2_SIGNED_RG11_EAC,
+ MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1,
+ MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1,
+
+ MESA_FORMAT_COUNT
+}
+ mesa_format;
- case GL_RGBA:
- masks = masks_table_rgba[ index ];
- break;
+/**
+ * Information about texture formats.
+ */
+struct gl_format_info
+{
+ mesa_format Name;
- case GL_BGR:
- masks = masks_table_bgr[ index ];
- break;
+ /** text name for debugging */
+ const char *StrName;
- case GL_BGRA:
- masks = masks_table_bgra[ index ];
- break;
+ /**
+ * Base format is one of GL_RED, GL_RG, GL_RGB, GL_RGBA, GL_ALPHA,
+ * GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_YCBCR_MESA,
+ * GL_DEPTH_COMPONENT, GL_STENCIL_INDEX, GL_DEPTH_STENCIL.
+ */
+ GLenum BaseFormat;
- default:
- fprintf( stderr, "[%s:%u] Unknown framebuffer format 0x%04x.\n",
- __FUNCTION__, __LINE__, fb_format );
- return NULL;
- }
+ /**
+ * Logical data type: one of GL_UNSIGNED_NORMALIZED, GL_SIGNED_NORMALIZED,
+ * GL_UNSIGNED_INT, GL_INT, GL_FLOAT.
+ */
+ GLenum DataType;
+
+ GLubyte RedBits;
+ GLubyte GreenBits;
+ GLubyte BlueBits;
+ GLubyte AlphaBits;
+ GLubyte LuminanceBits;
+ GLubyte IntensityBits;
+ GLubyte IndexBits;
+ GLubyte DepthBits;
+ GLubyte StencilBits;
+
+ /**
+ * To describe compressed formats. If not compressed, Width=Height=1.
+ */
+ GLubyte BlockWidth, BlockHeight;
+ GLubyte BytesPerBlock;
+};
- switch ( bytes_per_pixel[ index ] ) {
- case 1:
- bits = bits_table[0];
- break;
- case 2:
- bits = bits_table[1];
- break;
- default:
- bits = ((fb_format == GL_RGB) || (fb_format == GL_BGR))
- ? bits_table[2]
- : bits_table[3];
- break;
- }
+/**
+ * Info about each format.
+ * These must be in the same order as the MESA_FORMAT_* enums so that
+ * we can do lookups without searching.
+ */
+static struct gl_format_info format_info[MESA_FORMAT_COUNT] =
+{
+ /* Packed unorm formats */
+ {
+ MESA_FORMAT_NONE, /* Name */
+ "MESA_FORMAT_NONE", /* StrName */
+ GL_NONE, /* BaseFormat */
+ GL_NONE, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 0, 0, 0 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A8B8G8R8_UNORM, /* Name */
+ "MESA_FORMAT_A8B8G8R8_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_X8B8G8R8_UNORM, /* Name */
+ "MESA_FORMAT_X8B8G8R8_UNORM",/* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R8G8B8A8_UNORM, /* Name */
+ "MESA_FORMAT_R8G8B8A8_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R8G8B8X8_UNORM, /* Name */
+ "MESA_FORMAT_R8G8B8X8_UNORM",/* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B8G8R8A8_UNORM, /* Name */
+ "MESA_FORMAT_B8G8R8A8_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B8G8R8X8_UNORM, /* Name */
+ "MESA_FORMAT_B8G8R8X8_UNORM",/* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A8R8G8B8_UNORM, /* Name */
+ "MESA_FORMAT_A8R8G8B8_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_X8R8G8B8_UNORM, /* Name */
+ "MESA_FORMAT_X8R8G8B8_UNORM",/* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_L16A16_UNORM, /* Name */
+ "MESA_FORMAT_L16A16_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 16, /* Red/Green/Blue/AlphaBits */
+ 16, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A16L16_UNORM, /* Name */
+ "MESA_FORMAT_A16L16_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 16, /* Red/Green/Blue/AlphaBits */
+ 16, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B5G6R5_UNORM, /* Name */
+ "MESA_FORMAT_B5G6R5_UNORM", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 6, 5, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R5G6B5_UNORM, /* Name */
+ "MESA_FORMAT_R5G6B5_UNORM", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 6, 5, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B4G4R4A4_UNORM, /* Name */
+ "MESA_FORMAT_B4G4R4A4_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 4, 4, 4, 4, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B4G4R4X4_UNORM,
+ "MESA_FORMAT_B4G4R4X4_UNORM",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A4R4G4B4_UNORM, /* Name */
+ "MESA_FORMAT_A4R4G4B4_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 4, 4, 4, 4, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A1B5G5R5_UNORM, /* Name */
+ "MESA_FORMAT_A1B5G5R5_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 5, 5, 1, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B5G5R5A1_UNORM, /* Name */
+ "MESA_FORMAT_B5G5R5A1_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 5, 5, 1, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B5G5R5X1_UNORM,
+ "MESA_FORMAT_B5G5R5X1_UNORM",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 5, 5, 5, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A1R5G5B5_UNORM, /* Name */
+ "MESA_FORMAT_A1R5G5B5_UNORM",/* StrName */
+ GL_RGBA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 5, 5, 5, 1, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_L8A8_UNORM, /* Name */
+ "MESA_FORMAT_L8A8_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 8, /* Red/Green/Blue/AlphaBits */
+ 8, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A8L8_UNORM, /* Name */
+ "MESA_FORMAT_A8L8_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 8, /* Red/Green/Blue/AlphaBits */
+ 8, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R8G8_UNORM,
+ "MESA_FORMAT_R8G8_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_G8R8_UNORM,
+ "MESA_FORMAT_G8R8_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L4A4_UNORM, /* Name */
+ "MESA_FORMAT_L4A4_UNORM", /* StrName */
+ GL_LUMINANCE_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 4, /* Red/Green/Blue/AlphaBits */
+ 4, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_B2G3R3_UNORM, /* Name */
+ "MESA_FORMAT_B2G3R3_UNORM", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 3, 3, 2, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R16G16_UNORM,
+ "MESA_FORMAT_R16G16_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_G16R16_UNORM,
+ "MESA_FORMAT_G16R16_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_B10G10R10A2_UNORM,
+ "MESA_FORMAT_B10G10R10A2_UNORM",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 10, 10, 10, 2,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_B10G10R10X2_UNORM,
+ "MESA_FORMAT_B10G10R10X2_UNORM",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 10, 10, 10, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R10G10B10A2_UNORM,
+ "MESA_FORMAT_R10G10B10A2_UNORM",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 10, 10, 10, 2,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_S8_UINT_Z24_UNORM, /* Name */
+ "MESA_FORMAT_S8_UINT_Z24_UNORM", /* StrName */
+ GL_DEPTH_STENCIL, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 24, 8, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_X8_UINT_Z24_UNORM, /* Name */
+ "MESA_FORMAT_X8_UINT_Z24_UNORM", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 24, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_Z24_UNORM_S8_UINT, /* Name */
+ "MESA_FORMAT_Z24_UNORM_S8_UINT", /* StrName */
+ GL_DEPTH_STENCIL, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 24, 8, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_Z24_UNORM_X8_UINT, /* Name */
+ "MESA_FORMAT_Z24_UNORM_X8_UINT", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 24, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_YCBCR, /* Name */
+ "MESA_FORMAT_YCBCR", /* StrName */
+ GL_YCBCR_MESA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_YCBCR_REV, /* Name */
+ "MESA_FORMAT_YCBCR_REV", /* StrName */
+ GL_YCBCR_MESA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+
+ /* Array unorm formats */
+ {
+ MESA_FORMAT_A_UNORM8, /* Name */
+ "MESA_FORMAT_A_UNORM8", /* StrName */
+ GL_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 8, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_A_UNORM16, /* Name */
+ "MESA_FORMAT_A_UNORM16", /* StrName */
+ GL_ALPHA, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 16, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_L_UNORM8, /* Name */
+ "MESA_FORMAT_L_UNORM8", /* StrName */
+ GL_LUMINANCE, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 8, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_L_UNORM16, /* Name */
+ "MESA_FORMAT_L_UNORM16", /* StrName */
+ GL_LUMINANCE, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 16, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_I_UNORM8, /* Name */
+ "MESA_FORMAT_I_UNORM8", /* StrName */
+ GL_INTENSITY, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 8, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_I_UNORM16, /* Name */
+ "MESA_FORMAT_I_UNORM16", /* StrName */
+ GL_INTENSITY, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 16, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R_UNORM8,
+ "MESA_FORMAT_R_UNORM8",
+ GL_RED,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_R_UNORM16,
+ "MESA_FORMAT_R_UNORM16",
+ GL_RED,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_BGR_UNORM8, /* Name */
+ "MESA_FORMAT_BGR_UNORM8", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 3 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_RGB_UNORM8, /* Name */
+ "MESA_FORMAT_RGB_UNORM8", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 8, 8, 8, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 3 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_RGBA_UNORM16,
+ "MESA_FORMAT_RGBA_UNORM16",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_UNORM16,
+ "MESA_FORMAT_RGBX_UNORM16",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_Z_UNORM16, /* Name */
+ "MESA_FORMAT_Z_UNORM16", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 16, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 2 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_Z_UNORM32, /* Name */
+ "MESA_FORMAT_Z_UNORM32", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 32, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_S_UINT8, /* Name */
+ "MESA_FORMAT_S_UINT8", /* StrName */
+ GL_STENCIL_INDEX, /* BaseFormat */
+ GL_UNSIGNED_INT, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 8, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+
+ /* Packed signed/normalized formats */
+ {
+ MESA_FORMAT_A8B8G8R8_SNORM,
+ "MESA_FORMAT_A8B8G8R8_SNORM",
+ GL_RGBA,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_X8B8G8R8_SNORM,
+ "MESA_FORMAT_X8B8G8R8_SNORM",
+ GL_RGB,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4 /* 4 bpp, but no alpha */
+ },
+ {
+ MESA_FORMAT_R8G8B8A8_SNORM,
+ "MESA_FORMAT_R8G8B8A8_SNORM",
+ GL_RGBA,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R8G8B8X8_SNORM,
+ "MESA_FORMAT_R8G8B8X8_SNORM",
+ GL_RGB,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R16G16_SNORM,
+ "MESA_FORMAT_R16G16_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_G16R16_SNORM,
+ "MESA_FORMAT_G16R16_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R8G8_SNORM,
+ "MESA_FORMAT_R8G8_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_G8R8_SNORM,
+ "MESA_FORMAT_G8R8_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L8A8_SNORM,
+ "MESA_FORMAT_L8A8_SNORM",
+ GL_LUMINANCE_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 8,
+ 8, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+
+ /* Array signed/normalized formats */
+ {
+ MESA_FORMAT_A_SNORM8,
+ "MESA_FORMAT_A_SNORM8",
+ GL_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_A_SNORM16,
+ "MESA_FORMAT_A_SNORM16",
+ GL_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L_SNORM8,
+ "MESA_FORMAT_L_SNORM8",
+ GL_LUMINANCE,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 8, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_L_SNORM16,
+ "MESA_FORMAT_L_SNORM16",
+ GL_LUMINANCE,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 16, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_I_SNORM8,
+ "MESA_FORMAT_I_SNORM8",
+ GL_INTENSITY,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 0, 8, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_I_SNORM16,
+ "MESA_FORMAT_I_SNORM16",
+ GL_INTENSITY,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 0, 16, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_R_SNORM8, /* Name */
+ "MESA_FORMAT_R_SNORM8", /* StrName */
+ GL_RED, /* BaseFormat */
+ GL_SIGNED_NORMALIZED, /* DataType */
+ 8, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 1 /* BlockWidth/Height,Bytes */
+ },
+ {
+ MESA_FORMAT_R_SNORM16,
+ "MESA_FORMAT_R_SNORM16",
+ GL_RED,
+ GL_SIGNED_NORMALIZED,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_LA_SNORM16,
+ "MESA_FORMAT_LA_SNORM16",
+ GL_LUMINANCE_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 16,
+ 16, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGB_SNORM16,
+ "MESA_FORMAT_RGB_SNORM16",
+ GL_RGB,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 6
+ },
+ {
+ MESA_FORMAT_RGBA_SNORM16,
+ "MESA_FORMAT_RGBA_SNORM16",
+ GL_RGBA,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_SNORM16,
+ "MESA_FORMAT_RGBX_SNORM16",
+ GL_RGB,
+ GL_SIGNED_NORMALIZED,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+
+ /* Packed sRGB formats */
+ {
+ MESA_FORMAT_A8B8G8R8_SRGB,
+ "MESA_FORMAT_A8B8G8R8_SRGB",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_B8G8R8A8_SRGB,
+ "MESA_FORMAT_B8G8R8A8_SRGB",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_B8G8R8X8_SRGB,
+ "MESA_FORMAT_B8G8R8X8_SRGB",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R8G8B8A8_SRGB,
+ "MESA_FORMAT_R8G8B8A8_SRGB",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R8G8B8X8_SRGB,
+ "MESA_FORMAT_R8G8B8X8_SRGB",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_L8A8_SRGB,
+ "MESA_FORMAT_L8A8_SRGB",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_NORMALIZED,
+ 0, 0, 0, 8,
+ 8, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+
+ /* Array sRGB formats */
+ {
+ MESA_FORMAT_L_SRGB8,
+ "MESA_FORMAT_L_SRGB8",
+ GL_LUMINANCE,
+ GL_UNSIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 8, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_BGR_SRGB8,
+ "MESA_FORMAT_BGR_SRGB8",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 3
+ },
+
+ /* Packed float formats */
+ {
+ MESA_FORMAT_R9G9B9E5_FLOAT,
+ "MESA_FORMAT_RGB9_E5",
+ GL_RGB,
+ GL_FLOAT,
+ 9, 9, 9, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R11G11B10_FLOAT,
+ "MESA_FORMAT_R11G11B10_FLOAT",
+ GL_RGB,
+ GL_FLOAT,
+ 11, 11, 10, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_Z32_FLOAT_S8X24_UINT, /* Name */
+ "MESA_FORMAT_Z32_FLOAT_S8X24_UINT", /* StrName */
+ GL_DEPTH_STENCIL, /* BaseFormat */
+ /* DataType here is used to answer GL_TEXTURE_DEPTH_TYPE queries, and is
+ * never used for stencil because stencil is always GL_UNSIGNED_INT.
+ */
+ GL_FLOAT, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 32, 8, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 8 /* BlockWidth/Height,Bytes */
+ },
+
+ /* Array float formats */
+ {
+ MESA_FORMAT_A_FLOAT16,
+ "MESA_FORMAT_A_FLOAT16",
+ GL_ALPHA,
+ GL_FLOAT,
+ 0, 0, 0, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A_FLOAT32,
+ "MESA_FORMAT_A_FLOAT32",
+ GL_ALPHA,
+ GL_FLOAT,
+ 0, 0, 0, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_L_FLOAT16,
+ "MESA_FORMAT_L_FLOAT16",
+ GL_LUMINANCE,
+ GL_FLOAT,
+ 0, 0, 0, 0,
+ 16, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L_FLOAT32,
+ "MESA_FORMAT_L_FLOAT32",
+ GL_LUMINANCE,
+ GL_FLOAT,
+ 0, 0, 0, 0,
+ 32, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_FLOAT16,
+ "MESA_FORMAT_LA_FLOAT16",
+ GL_LUMINANCE_ALPHA,
+ GL_FLOAT,
+ 0, 0, 0, 16,
+ 16, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_FLOAT32,
+ "MESA_FORMAT_LA_FLOAT32",
+ GL_LUMINANCE_ALPHA,
+ GL_FLOAT,
+ 0, 0, 0, 32,
+ 32, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_I_FLOAT16,
+ "MESA_FORMAT_I_FLOAT16",
+ GL_INTENSITY,
+ GL_FLOAT,
+ 0, 0, 0, 0,
+ 0, 16, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_I_FLOAT32,
+ "MESA_FORMAT_I_FLOAT32",
+ GL_INTENSITY,
+ GL_FLOAT,
+ 0, 0, 0, 0,
+ 0, 32, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R_FLOAT16,
+ "MESA_FORMAT_R_FLOAT16",
+ GL_RED,
+ GL_FLOAT,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_R_FLOAT32,
+ "MESA_FORMAT_R_FLOAT32",
+ GL_RED,
+ GL_FLOAT,
+ 32, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_FLOAT16,
+ "MESA_FORMAT_RG_FLOAT16",
+ GL_RG,
+ GL_FLOAT,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_FLOAT32,
+ "MESA_FORMAT_RG_FLOAT32",
+ GL_RG,
+ GL_FLOAT,
+ 32, 32, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGB_FLOAT16,
+ "MESA_FORMAT_RGB_FLOAT16",
+ GL_RGB,
+ GL_FLOAT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 6
+ },
+ {
+ MESA_FORMAT_RGB_FLOAT32,
+ "MESA_FORMAT_RGB_FLOAT32",
+ GL_RGB,
+ GL_FLOAT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 12
+ },
+ {
+ MESA_FORMAT_RGBA_FLOAT16,
+ "MESA_FORMAT_RGBA_FLOAT16",
+ GL_RGBA,
+ GL_FLOAT,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBA_FLOAT32,
+ "MESA_FORMAT_RGBA_FLOAT32",
+ GL_RGBA,
+ GL_FLOAT,
+ 32, 32, 32, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_RGBX_FLOAT16,
+ "MESA_FORMAT_RGBX_FLOAT16",
+ GL_RGB,
+ GL_FLOAT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_FLOAT32,
+ "MESA_FORMAT_RGBX_FLOAT32",
+ GL_RGB,
+ GL_FLOAT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_Z_FLOAT32, /* Name */
+ "MESA_FORMAT_Z_FLOAT32", /* StrName */
+ GL_DEPTH_COMPONENT, /* BaseFormat */
+ GL_FLOAT, /* DataType */
+ 0, 0, 0, 0, /* Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 32, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 1, 1, 4 /* BlockWidth/Height,Bytes */
+ },
+
+ /* Packed signed/unsigned non-normalized integer formats */
+ {
+ MESA_FORMAT_B10G10R10A2_UINT,
+ "MESA_FORMAT_B10G10R10A2_UINT",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 10, 10, 10, 2,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R10G10B10A2_UINT,
+ "MESA_FORMAT_R10G10B10A2_UINT",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 10, 10, 10, 2,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+
+ /* Array signed/unsigned non-normalized integer formats */
+ {
+ MESA_FORMAT_A_UINT8,
+ "MESA_FORMAT_A_UINT8",
+ GL_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_A_UINT16,
+ "MESA_FORMAT_A_UINT16",
+ GL_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A_UINT32,
+ "MESA_FORMAT_A_UINT32",
+ GL_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_A_SINT8,
+ "MESA_FORMAT_A_SINT8",
+ GL_ALPHA,
+ GL_INT,
+ 0, 0, 0, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_A_SINT16,
+ "MESA_FORMAT_A_SINT16",
+ GL_ALPHA,
+ GL_INT,
+ 0, 0, 0, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_A_SINT32,
+ "MESA_FORMAT_A_SINT32",
+ GL_ALPHA,
+ GL_INT,
+ 0, 0, 0, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_I_UINT8,
+ "MESA_FORMAT_I_UINT8",
+ GL_INTENSITY,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 0, 8, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_I_UINT16,
+ "MESA_FORMAT_I_UINT16",
+ GL_INTENSITY,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 0, 16, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_I_UINT32,
+ "MESA_FORMAT_I_UINT32",
+ GL_INTENSITY,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 0, 32, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_I_SINT8,
+ "MESA_FORMAT_I_SINT8",
+ GL_INTENSITY,
+ GL_INT,
+ 0, 0, 0, 0,
+ 0, 8, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_I_SINT16,
+ "MESA_FORMAT_I_SINT16",
+ GL_INTENSITY,
+ GL_INT,
+ 0, 0, 0, 0,
+ 0, 16, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_I_SINT32,
+ "MESA_FORMAT_I_SINT32",
+ GL_INTENSITY,
+ GL_INT,
+ 0, 0, 0, 0,
+ 0, 32, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_L_UINT8,
+ "MESA_FORMAT_L_UINT8",
+ GL_LUMINANCE,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 8, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_L_UINT16,
+ "MESA_FORMAT_L_UINT16",
+ GL_LUMINANCE,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 16, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L_UINT32,
+ "MESA_FORMAT_L_UINT32",
+ GL_LUMINANCE,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 0,
+ 32, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_L_SINT8,
+ "MESA_FORMAT_L_SINT8",
+ GL_LUMINANCE,
+ GL_INT,
+ 0, 0, 0, 0,
+ 8, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_L_SINT16,
+ "MESA_FORMAT_L_SINT16",
+ GL_LUMINANCE,
+ GL_INT,
+ 0, 0, 0, 0,
+ 16, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_L_SINT32,
+ "MESA_FORMAT_L_SINT32",
+ GL_LUMINANCE,
+ GL_INT,
+ 0, 0, 0, 0,
+ 32, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_UINT8,
+ "MESA_FORMAT_LA_UINT8",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 8,
+ 8, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_LA_UINT16,
+ "MESA_FORMAT_LA_UINT16",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 16,
+ 16, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_UINT32,
+ "MESA_FORMAT_LA_UINT32",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_INT,
+ 0, 0, 0, 32,
+ 32, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_LA_SINT8,
+ "MESA_FORMAT_LA_SINT8",
+ GL_LUMINANCE_ALPHA,
+ GL_INT,
+ 0, 0, 0, 8,
+ 8, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_LA_SINT16,
+ "MESA_FORMAT_LA_SINT16",
+ GL_LUMINANCE_ALPHA,
+ GL_INT,
+ 0, 0, 0, 16,
+ 16, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_LA_SINT32,
+ "MESA_FORMAT_LA_SINT32",
+ GL_LUMINANCE_ALPHA,
+ GL_INT,
+ 0, 0, 0, 32,
+ 32, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_R_UINT8,
+ "MESA_FORMAT_R_UINT8",
+ GL_RED,
+ GL_UNSIGNED_INT,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_R_UINT16,
+ "MESA_FORMAT_R_UINT16",
+ GL_RED,
+ GL_UNSIGNED_INT,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_R_UINT32,
+ "MESA_FORMAT_R_UINT32",
+ GL_RED,
+ GL_UNSIGNED_INT,
+ 32, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_R_SINT8,
+ "MESA_FORMAT_R_SINT8",
+ GL_RED,
+ GL_INT,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 1
+ },
+ {
+ MESA_FORMAT_R_SINT16,
+ "MESA_FORMAT_R_SINT16",
+ GL_RED,
+ GL_INT,
+ 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_R_SINT32,
+ "MESA_FORMAT_R_SINT32",
+ GL_RED,
+ GL_INT,
+ 32, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_UINT8,
+ "MESA_FORMAT_RG_UINT8",
+ GL_RG,
+ GL_UNSIGNED_INT,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_RG_UINT16,
+ "MESA_FORMAT_RG_UINT16",
+ GL_RG,
+ GL_UNSIGNED_INT,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_UINT32,
+ "MESA_FORMAT_RG_UINT32",
+ GL_RG,
+ GL_UNSIGNED_INT,
+ 32, 32, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RG_SINT8,
+ "MESA_FORMAT_RG_SINT8",
+ GL_RG,
+ GL_INT,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 2
+ },
+ {
+ MESA_FORMAT_RG_SINT16,
+ "MESA_FORMAT_RG_SINT16",
+ GL_RG,
+ GL_INT,
+ 16, 16, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RG_SINT32,
+ "MESA_FORMAT_RG_SINT32",
+ GL_RG,
+ GL_INT,
+ 32, 32, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGB_UINT8,
+ "MESA_FORMAT_RGB_UINT8",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 3
+ },
+ {
+ MESA_FORMAT_RGB_UINT16,
+ "MESA_FORMAT_RGB_UINT16",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 6
+ },
+ {
+ MESA_FORMAT_RGB_UINT32,
+ "MESA_FORMAT_RGB_UINT32",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 12
+ },
+ {
+ MESA_FORMAT_RGB_SINT8,
+ "MESA_FORMAT_RGB_SINT8",
+ GL_RGB,
+ GL_INT,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 3
+ },
+ {
+ MESA_FORMAT_RGB_SINT16,
+ "MESA_FORMAT_RGB_SINT16",
+ GL_RGB,
+ GL_INT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 6
+ },
+ {
+ MESA_FORMAT_RGB_SINT32,
+ "MESA_FORMAT_RGB_SINT32",
+ GL_RGB,
+ GL_INT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 12
+ },
+ {
+ MESA_FORMAT_RGBA_UINT8,
+ "MESA_FORMAT_RGBA_UINT8",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGBA_UINT16,
+ "MESA_FORMAT_RGBA_UINT16",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBA_UINT32,
+ "MESA_FORMAT_RGBA_UINT32",
+ GL_RGBA,
+ GL_UNSIGNED_INT,
+ 32, 32, 32, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_RGBA_SINT8,
+ "MESA_FORMAT_RGBA_SINT8",
+ GL_RGBA,
+ GL_INT,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGBA_SINT16,
+ "MESA_FORMAT_RGBA_SINT16",
+ GL_RGBA,
+ GL_INT,
+ 16, 16, 16, 16,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBA_SINT32,
+ "MESA_FORMAT_RGBA_SINT32",
+ GL_RGBA,
+ GL_INT,
+ 32, 32, 32, 32,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_RGBX_UINT8,
+ "MESA_FORMAT_RGBX_UINT8",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGBX_UINT16,
+ "MESA_FORMAT_RGBX_UINT16",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_UINT32,
+ "MESA_FORMAT_RGBX_UINT32",
+ GL_RGB,
+ GL_UNSIGNED_INT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+ {
+ MESA_FORMAT_RGBX_SINT8,
+ "MESA_FORMAT_RGBX_SINT8",
+ GL_RGB,
+ GL_INT,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 4
+ },
+ {
+ MESA_FORMAT_RGBX_SINT16,
+ "MESA_FORMAT_RGBX_SINT16",
+ GL_RGB,
+ GL_INT,
+ 16, 16, 16, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 8
+ },
+ {
+ MESA_FORMAT_RGBX_SINT32,
+ "MESA_FORMAT_RGBX_SINT32",
+ GL_RGB,
+ GL_INT,
+ 32, 32, 32, 0,
+ 0, 0, 0, 0, 0,
+ 1, 1, 16
+ },
+
+ /* DXT compressed formats */
+ {
+ MESA_FORMAT_RGB_DXT1, /* Name */
+ "MESA_FORMAT_RGB_DXT1", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 4, 4, 4, 0, /* approx Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RGBA_DXT1,
+ "MESA_FORMAT_RGBA_DXT1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RGBA_DXT3,
+ "MESA_FORMAT_RGBA_DXT3",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RGBA_DXT5,
+ "MESA_FORMAT_RGBA_DXT5",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+
+ /* DXT sRGB compressed formats */
+ {
+ MESA_FORMAT_SRGB_DXT1, /* Name */
+ "MESA_FORMAT_SRGB_DXT1", /* StrName */
+ GL_RGB, /* BaseFormat */
+ GL_UNSIGNED_NORMALIZED, /* DataType */
+ 4, 4, 4, 0, /* approx Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0, /* Lum/Int/Index/Depth/StencilBits */
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_SRGBA_DXT1,
+ "MESA_FORMAT_SRGBA_DXT1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_SRGBA_DXT3,
+ "MESA_FORMAT_SRGBA_DXT3",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_SRGBA_DXT5,
+ "MESA_FORMAT_SRGBA_DXT5",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 4,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+
+ /* FXT1 compressed formats */
+ {
+ MESA_FORMAT_RGB_FXT1,
+ "MESA_FORMAT_RGB_FXT1",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 0, /* approx Red/Green/BlueBits */
+ 0, 0, 0, 0, 0,
+ 8, 4, 16 /* 16 bytes per 8x4 block */
+ },
+ {
+ MESA_FORMAT_RGBA_FXT1,
+ "MESA_FORMAT_RGBA_FXT1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 4, 4, 4, 1, /* approx Red/Green/Blue/AlphaBits */
+ 0, 0, 0, 0, 0,
+ 8, 4, 16 /* 16 bytes per 8x4 block */
+ },
+
+ /* RGTC compressed formats */
+ {
+ MESA_FORMAT_R_RGTC1_UNORM,
+ "MESA_FORMAT_R_RGTC1_UNORM",
+ GL_RED,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_R_RGTC1_SNORM,
+ "MESA_FORMAT_R_RGTC1_SNORM",
+ GL_RED,
+ GL_SIGNED_NORMALIZED,
+ 8, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RG_RGTC2_UNORM,
+ "MESA_FORMAT_RG_RGTC2_UNORM",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_RG_RGTC2_SNORM,
+ "MESA_FORMAT_RG_RGTC2_SNORM",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 8, 8, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+
+ /* LATC1/2 compressed formats */
+ {
+ MESA_FORMAT_L_LATC1_UNORM,
+ "MESA_FORMAT_L_LATC1_UNORM",
+ GL_LUMINANCE,
+ GL_UNSIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 4, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_L_LATC1_SNORM,
+ "MESA_FORMAT_L_LATC1_SNORM",
+ GL_LUMINANCE,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 0,
+ 4, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_LA_LATC2_UNORM,
+ "MESA_FORMAT_LA_LATC2_UNORM",
+ GL_LUMINANCE_ALPHA,
+ GL_UNSIGNED_NORMALIZED,
+ 0, 0, 0, 4,
+ 4, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_LA_LATC2_SNORM,
+ "MESA_FORMAT_LA_LATC2_SNORM",
+ GL_LUMINANCE_ALPHA,
+ GL_SIGNED_NORMALIZED,
+ 0, 0, 0, 4,
+ 4, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+
+ /* ETC1/2 compressed formats */
+ {
+ MESA_FORMAT_ETC1_RGB8,
+ "MESA_FORMAT_ETC1_RGB8",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_RGB8,
+ "MESA_FORMAT_ETC2_RGB8",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SRGB8,
+ "MESA_FORMAT_ETC2_SRGB8",
+ GL_RGB,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_RGBA8_EAC,
+ "MESA_FORMAT_ETC2_RGBA8_EAC",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC,
+ "MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 8,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_R11_EAC,
+ "MESA_FORMAT_ETC2_R11_EAC",
+ GL_RED,
+ GL_UNSIGNED_NORMALIZED,
+ 11, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_RG11_EAC,
+ "MESA_FORMAT_ETC2_RG11_EAC",
+ GL_RG,
+ GL_UNSIGNED_NORMALIZED,
+ 11, 11, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SIGNED_R11_EAC,
+ "MESA_FORMAT_ETC2_SIGNED_R11_EAC",
+ GL_RED,
+ GL_SIGNED_NORMALIZED,
+ 11, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SIGNED_RG11_EAC,
+ "MESA_FORMAT_ETC2_SIGNED_RG11_EAC",
+ GL_RG,
+ GL_SIGNED_NORMALIZED,
+ 11, 11, 0, 0,
+ 0, 0, 0, 0, 0,
+ 4, 4, 16 /* 16 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1,
+ "MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 1,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+ {
+ MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1,
+ "MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1",
+ GL_RGBA,
+ GL_UNSIGNED_NORMALIZED,
+ 8, 8, 8, 1,
+ 0, 0, 0, 0, 0,
+ 4, 4, 8 /* 8 bytes per 4x4 block */
+ },
+};
- num_modes = num_depth_stencil_bits * num_db_modes * num_accum_bits * num_msaa_modes;
- configs = calloc(1, (num_modes + 1) * sizeof *configs);
- if (configs == NULL)
- return NULL;
+static const struct gl_format_info *
+_mesa_get_format_info(mesa_format format)
+{
+ const struct gl_format_info *info = &format_info[format];
+ assert(info->Name == format);
+ return info;
+}
- c = configs;
- for ( k = 0 ; k < num_depth_stencil_bits ; k++ ) {
- for ( i = 0 ; i < num_db_modes ; i++ ) {
- for ( h = 0 ; h < num_msaa_modes; h++ ) {
- for ( j = 0 ; j < num_accum_bits ; j++ ) {
- *c = malloc (sizeof **c);
- modes = &(*c)->modes;
- c++;
-
- memset(modes, 0, sizeof *modes);
- modes->redBits = bits[0];
- modes->greenBits = bits[1];
- modes->blueBits = bits[2];
- modes->alphaBits = bits[3];
- modes->redMask = masks[0];
- modes->greenMask = masks[1];
- modes->blueMask = masks[2];
- modes->alphaMask = masks[3];
- modes->rgbBits = modes->redBits + modes->greenBits
- + modes->blueBits + modes->alphaBits;
-
- modes->accumRedBits = 16 * j;
- modes->accumGreenBits = 16 * j;
- modes->accumBlueBits = 16 * j;
- modes->accumAlphaBits = (masks[3] != 0) ? 16 * j : 0;
- modes->visualRating = (j == 0) ? GLX_NONE : GLX_SLOW_CONFIG;
-
- modes->stencilBits = stencil_bits[k];
- modes->depthBits = depth_bits[k];
-
- modes->transparentPixel = GLX_NONE;
- modes->transparentRed = GLX_DONT_CARE;
- modes->transparentGreen = GLX_DONT_CARE;
- modes->transparentBlue = GLX_DONT_CARE;
- modes->transparentAlpha = GLX_DONT_CARE;
- modes->transparentIndex = GLX_DONT_CARE;
- modes->rgbMode = GL_TRUE;
-
- if ( db_modes[i] == GLX_NONE ) {
- modes->doubleBufferMode = GL_FALSE;
- }
- else {
- modes->doubleBufferMode = GL_TRUE;
- modes->swapMethod = db_modes[i];
- }
-
- modes->samples = msaa_samples[h];
- modes->sampleBuffers = modes->samples ? 1 : 0;
-
-
- modes->haveAccumBuffer = ((modes->accumRedBits +
- modes->accumGreenBits +
- modes->accumBlueBits +
- modes->accumAlphaBits) > 0);
- modes->haveDepthBuffer = (modes->depthBits > 0);
- modes->haveStencilBuffer = (modes->stencilBits > 0);
-
- modes->bindToTextureRgb = GL_TRUE;
- modes->bindToTextureRgba = GL_TRUE;
- modes->bindToMipmapTexture = GL_FALSE;
- modes->bindToTextureTargets =
- __DRI_ATTRIB_TEXTURE_1D_BIT |
- __DRI_ATTRIB_TEXTURE_2D_BIT |
- __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT;
-
- modes->sRGBCapable = GL_FALSE;
- }
- }
- }
- }
- *c = NULL;
- return configs;
+/** Return string name of format (for debugging) */
+const char *
+_mesa_get_format_name(mesa_format format)
+{
+ const struct gl_format_info *info = _mesa_get_format_info(format);
+ return info->StrName;
}
-static __DRIconfig **
-swrastFillInModes(__DRIscreen *psp,
- unsigned pixel_bits, unsigned depth_bits,
- unsigned stencil_bits, GLboolean have_back_buffer)
+/**
+ * Return bits per component for the given format.
+ * \param format one of MESA_FORMAT_x
+ * \param pname the component, such as GL_RED_BITS, GL_TEXTURE_BLUE_BITS, etc.
+ */
+GLint
+_mesa_get_format_bits(mesa_format format, GLenum pname)
{
- __DRIconfig **configs;
- unsigned depth_buffer_factor;
- unsigned back_buffer_factor;
- GLenum fb_format;
- GLenum fb_type;
-
- /* GLX_SWAP_COPY_OML is only supported because the Intel driver doesn't
- * support pageflipping at all.
- */
- static const GLenum back_buffer_modes[] = {
- GLX_NONE, GLX_SWAP_UNDEFINED_OML
- };
-
- uint8_t depth_bits_array[4];
- uint8_t stencil_bits_array[4];
- uint8_t msaa_samples_array[1];
-
- (void) psp;
- (void) have_back_buffer;
-
- PRINTF(__FUNCTION__"\n");
-
- depth_bits_array[0] = 0;
- depth_bits_array[1] = 0;
- depth_bits_array[2] = depth_bits;
- depth_bits_array[3] = depth_bits;
-
- /* Just like with the accumulation buffer, always provide some modes
- * with a stencil buffer.
- */
- stencil_bits_array[0] = 0;
- stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
- stencil_bits_array[2] = 0;
- stencil_bits_array[3] = (stencil_bits == 0) ? 8 : stencil_bits;
-
- msaa_samples_array[0] = 0;
+ const struct gl_format_info *info = _mesa_get_format_info(format);
+
+ switch (pname) {
+ case GL_RED_BITS:
+ case GL_TEXTURE_RED_SIZE:
+ case GL_RENDERBUFFER_RED_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE:
+ return info->RedBits;
+ case GL_GREEN_BITS:
+ case GL_TEXTURE_GREEN_SIZE:
+ case GL_RENDERBUFFER_GREEN_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:
+ return info->GreenBits;
+ case GL_BLUE_BITS:
+ case GL_TEXTURE_BLUE_SIZE:
+ case GL_RENDERBUFFER_BLUE_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:
+ return info->BlueBits;
+ case GL_ALPHA_BITS:
+ case GL_TEXTURE_ALPHA_SIZE:
+ case GL_RENDERBUFFER_ALPHA_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:
+ return info->AlphaBits;
+ case GL_TEXTURE_INTENSITY_SIZE:
+ return info->IntensityBits;
+ case GL_TEXTURE_LUMINANCE_SIZE:
+ return info->LuminanceBits;
+ case GL_INDEX_BITS:
+ return info->IndexBits;
+ case GL_DEPTH_BITS:
+ case GL_TEXTURE_DEPTH_SIZE_ARB:
+ case GL_RENDERBUFFER_DEPTH_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:
+ return info->DepthBits;
+ case GL_STENCIL_BITS:
+ case GL_TEXTURE_STENCIL_SIZE_EXT:
+ case GL_RENDERBUFFER_STENCIL_SIZE_EXT:
+ case GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:
+ return info->StencilBits;
+ default:
+ ErrorF("bad pname in _mesa_get_format_bits(): %d\n",pname);
+ return 0;
+ }
+}
- depth_buffer_factor = 4;
- back_buffer_factor = 2;
+/**
+ * Return color encoding for given format.
+ * \return GL_LINEAR or GL_SRGB
+ */
+GLenum
+_mesa_get_format_color_encoding(mesa_format format)
+{
+ /* XXX this info should be encoded in gl_format_info */
+ switch (format) {
+ case MESA_FORMAT_BGR_SRGB8:
+ case MESA_FORMAT_A8B8G8R8_SRGB:
+ case MESA_FORMAT_B8G8R8A8_SRGB:
+ case MESA_FORMAT_R8G8B8A8_SRGB:
+ case MESA_FORMAT_L_SRGB8:
+ case MESA_FORMAT_L8A8_SRGB:
+ case MESA_FORMAT_SRGB_DXT1:
+ case MESA_FORMAT_SRGBA_DXT1:
+ case MESA_FORMAT_SRGBA_DXT3:
+ case MESA_FORMAT_SRGBA_DXT5:
+ case MESA_FORMAT_R8G8B8X8_SRGB:
+ case MESA_FORMAT_ETC2_SRGB8:
+ case MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC:
+ case MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1:
+ case MESA_FORMAT_B8G8R8X8_SRGB:
+ return GL_SRGB;
+ default:
+ return GL_LINEAR;
+ }
+}
- switch (pixel_bits) {
- case 8:
- fb_format = GL_RGB;
- fb_type = GL_UNSIGNED_BYTE_2_3_3_REV;
+__DRIconfig **
+driCreateConfigs(mesa_format format,
+ const uint8_t * depth_bits, const uint8_t * stencil_bits,
+ unsigned num_depth_stencil_bits,
+ const GLenum * db_modes, unsigned num_db_modes,
+ const uint8_t * msaa_samples, unsigned num_msaa_modes,
+ GLboolean enable_accum)
+{
+ static const uint32_t masks_table[][4] = {
+ /* MESA_FORMAT_B5G6R5_UNORM */
+ { 0x0000F800, 0x000007E0, 0x0000001F, 0x00000000 },
+ /* MESA_FORMAT_B8G8R8X8_UNORM */
+ { 0x00FF0000, 0x0000FF00, 0x000000FF, 0x00000000 },
+ /* MESA_FORMAT_B8G8R8A8_UNORM */
+ { 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 },
+ /* MESA_FORMAT_B10G10R10X2_UNORM */
+ { 0x3FF00000, 0x000FFC00, 0x000003FF, 0x00000000 },
+ /* MESA_FORMAT_B10G10R10A2_UNORM */
+ { 0x3FF00000, 0x000FFC00, 0x000003FF, 0xC0000000 },
+ };
+
+ const uint32_t * masks;
+ __DRIconfig **configs, **c;
+ struct gl_config *modes;
+ unsigned i, j, k, h;
+ unsigned num_modes;
+ unsigned num_accum_bits = (enable_accum) ? 2 : 1;
+ int red_bits;
+ int green_bits;
+ int blue_bits;
+ int alpha_bits;
+ bool is_srgb;
+
+ switch (format) {
+ case MESA_FORMAT_B5G6R5_UNORM:
+ masks = masks_table[0];
break;
- case 16:
- fb_format = GL_RGB;
- fb_type = GL_UNSIGNED_SHORT_5_6_5;
+ case MESA_FORMAT_B8G8R8X8_UNORM:
+ masks = masks_table[1];
break;
- case 24:
- fb_format = GL_BGR;
- fb_type = GL_UNSIGNED_INT_8_8_8_8_REV;
+ case MESA_FORMAT_B8G8R8A8_UNORM:
+ case MESA_FORMAT_B8G8R8A8_SRGB:
+ masks = masks_table[2];
break;
- case 32:
- fb_format = GL_BGRA;
- fb_type = GL_UNSIGNED_INT_8_8_8_8_REV;
+ case MESA_FORMAT_B10G10R10X2_UNORM:
+ masks = masks_table[3];
break;
- default:
- fprintf(stderr, "[%s:%u] bad depth %d\n", __FUNCTION__, __LINE__,
- pixel_bits);
+ case MESA_FORMAT_B10G10R10A2_UNORM:
+ masks = masks_table[4];
+ break;
+ default:
+ fprintf(stderr, "[%s:%u] Unknown framebuffer type %s (%d).\n",
+ __FUNCTION__, __LINE__,
+ _mesa_get_format_name(format), format);
return NULL;
- }
+ }
+
+ red_bits = _mesa_get_format_bits(format, GL_RED_BITS);
+ green_bits = _mesa_get_format_bits(format, GL_GREEN_BITS);
+ blue_bits = _mesa_get_format_bits(format, GL_BLUE_BITS);
+ alpha_bits = _mesa_get_format_bits(format, GL_ALPHA_BITS);
+ is_srgb = _mesa_get_format_color_encoding(format) == GL_SRGB;
+
+ num_modes = num_depth_stencil_bits * num_db_modes * num_accum_bits * num_msaa_modes;
+ configs = calloc(1, (num_modes + 1) * sizeof *configs);
+ if (configs == NULL)
+ return NULL;
+
+ c = configs;
+ for ( k = 0 ; k < num_depth_stencil_bits ; k++ ) {
+ for ( i = 0 ; i < num_db_modes ; i++ ) {
+ for ( h = 0 ; h < num_msaa_modes; h++ ) {
+ for ( j = 0 ; j < num_accum_bits ; j++ ) {
+ *c = malloc (sizeof **c);
+ modes = &(*c)->modes;
+ c++;
+
+ memset(modes, 0, sizeof *modes);
+ modes->redBits = red_bits;
+ modes->greenBits = green_bits;
+ modes->blueBits = blue_bits;
+ modes->alphaBits = alpha_bits;
+ modes->redMask = masks[0];
+ modes->greenMask = masks[1];
+ modes->blueMask = masks[2];
+ modes->alphaMask = masks[3];
+ modes->rgbBits = modes->redBits + modes->greenBits
+ + modes->blueBits + modes->alphaBits;
+
+ modes->accumRedBits = 16 * j;
+ modes->accumGreenBits = 16 * j;
+ modes->accumBlueBits = 16 * j;
+ modes->accumAlphaBits = (masks[3] != 0) ? 16 * j : 0;
+ modes->visualRating = (j == 0) ? GLX_NONE : GLX_SLOW_CONFIG;
+
+ modes->stencilBits = stencil_bits[k];
+ modes->depthBits = depth_bits[k];
+
+ modes->transparentPixel = GLX_NONE;
+ modes->transparentRed = GLX_DONT_CARE;
+ modes->transparentGreen = GLX_DONT_CARE;
+ modes->transparentBlue = GLX_DONT_CARE;
+ modes->transparentAlpha = GLX_DONT_CARE;
+ modes->transparentIndex = GLX_DONT_CARE;
+ modes->rgbMode = GL_TRUE;
+
+ if ( db_modes[i] == GLX_NONE ) {
+ modes->doubleBufferMode = GL_FALSE;
+ }
+ else {
+ modes->doubleBufferMode = GL_TRUE;
+ modes->swapMethod = db_modes[i];
+ }
+
+ modes->samples = msaa_samples[h];
+ modes->sampleBuffers = modes->samples ? 1 : 0;
+
+
+ modes->haveAccumBuffer = ((modes->accumRedBits +
+ modes->accumGreenBits +
+ modes->accumBlueBits +
+ modes->accumAlphaBits) > 0);
+ modes->haveDepthBuffer = (modes->depthBits > 0);
+ modes->haveStencilBuffer = (modes->stencilBits > 0);
+
+ modes->bindToTextureRgb = GL_TRUE;
+ modes->bindToTextureRgba = GL_TRUE;
+ modes->bindToMipmapTexture = GL_FALSE;
+ modes->bindToTextureTargets =
+ __DRI_ATTRIB_TEXTURE_1D_BIT |
+ __DRI_ATTRIB_TEXTURE_2D_BIT |
+ __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT;
+
+ modes->yInverted = GL_TRUE;
+ modes->sRGBCapable = is_srgb;
+ }
+ }
+ }
+ }
+ *c = NULL;
+
+ return configs;
+}
- configs = driCreateConfigs(fb_format, fb_type,
- depth_bits_array, stencil_bits_array,
- depth_buffer_factor, back_buffer_modes,
- back_buffer_factor, msaa_samples_array, 1,
- GL_TRUE);
- if (configs == NULL) {
- fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __FUNCTION__,
- __LINE__);
- return NULL;
- }
+static __DRIconfig **
+swrastFillInModes(__DRIscreen *psp,
+ unsigned pixel_bits, unsigned depth_bits,
+ unsigned stencil_bits, GLboolean have_back_buffer)
+{
+ __DRIconfig **configs;
+ unsigned depth_buffer_factor;
+ unsigned back_buffer_factor;
+ mesa_format format;
+
+ /* GLX_SWAP_COPY_OML is only supported because the Intel driver doesn't
+ * support pageflipping at all.
+ */
+ static const GLenum back_buffer_modes[] = {
+ GLX_NONE, GLX_SWAP_UNDEFINED_OML
+ };
+
+ uint8_t depth_bits_array[4];
+ uint8_t stencil_bits_array[4];
+ uint8_t msaa_samples_array[1];
+
+ (void) psp;
+ (void) have_back_buffer;
+
+ depth_bits_array[0] = 0;
+ depth_bits_array[1] = 0;
+ depth_bits_array[2] = depth_bits;
+ depth_bits_array[3] = depth_bits;
+
+ /* Just like with the accumulation buffer, always provide some modes
+ * with a stencil buffer.
+ */
+ stencil_bits_array[0] = 0;
+ stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
+ stencil_bits_array[2] = 0;
+ stencil_bits_array[3] = (stencil_bits == 0) ? 8 : stencil_bits;
+
+ msaa_samples_array[0] = 0;
+
+ depth_buffer_factor = 4;
+ back_buffer_factor = 2;
+
+ switch (pixel_bits) {
+ case 16:
+ format = MESA_FORMAT_B5G6R5_UNORM;
+ break;
+ case 24:
+ format = MESA_FORMAT_B8G8R8X8_UNORM;
+ break;
+ case 32:
+ format = MESA_FORMAT_B8G8R8A8_UNORM;
+ break;
+ default:
+ fprintf(stderr, "[%s:%u] bad depth %d\n", __FUNCTION__, __LINE__,
+ pixel_bits);
+ return NULL;
+ }
+
+ configs = driCreateConfigs(format,
+ depth_bits_array, stencil_bits_array,
+ depth_buffer_factor, back_buffer_modes,
+ back_buffer_factor, msaa_samples_array, 1,
+ GL_TRUE);
+ if (configs == NULL) {
+ fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __FUNCTION__,
+ __LINE__);
+ return NULL;
+ }
- return configs;
+ return configs;
}
-__DRIconfig **driConcatConfigs(__DRIconfig **a, __DRIconfig **b)
+__DRIconfig **driConcatConfigs(__DRIconfig **a,
+ __DRIconfig **b)
{
- __DRIconfig **all;
- int i, j, index;
+ __DRIconfig **all;
+ int i, j, index;
- PRINTF(__FUNCTION__"\n");
+ if (a == NULL || a[0] == NULL)
+ return b;
+ else if (b == NULL || b[0] == NULL)
+ return a;
- i = 0;
- while (a[i] != NULL)
+ i = 0;
+ while (a[i] != NULL)
i++;
- j = 0;
- while (b[j] != NULL)
+ j = 0;
+ while (b[j] != NULL)
j++;
- all = malloc((i + j + 1) * sizeof *all);
- index = 0;
- for (i = 0; a[i] != NULL; i++)
- all[index++] = a[i];
- for (j = 0; b[j] != NULL; j++)
- all[index++] = b[j];
- all[index++] = NULL;
+ all = malloc((i + j + 1) * sizeof *all);
+ index = 0;
+ for (i = 0; a[i] != NULL; i++)
+ all[index++] = a[i];
+ for (j = 0; b[j] != NULL; j++)
+ all[index++] = b[j];
+ all[index++] = NULL;
- free(a);
- free(b);
+ free(a);
+ free(b);
- return all;
+ return all;
}
/**
* Return the value of a configuration attribute. The attribute is
* indicated by the index.
*/
-static int driGetConfigAttribIndex(const __DRIconfig *config, unsigned int index, unsigned int *value)
+static int
+driGetConfigAttribIndex(const __DRIconfig *config,
+ unsigned int index, unsigned int *value)
{
- switch (attribMap[index].attrib) {
- case __DRI_ATTRIB_RENDER_TYPE:
- /* no support for color index mode */
- *value = __DRI_ATTRIB_RGBA_BIT;
- break;
- case __DRI_ATTRIB_CONFIG_CAVEAT:
- if (config->modes.visualRating == GLX_NON_CONFORMANT_CONFIG)
- *value = __DRI_ATTRIB_NON_CONFORMANT_CONFIG;
- else if (config->modes.visualRating == GLX_SLOW_CONFIG)
- *value = __DRI_ATTRIB_SLOW_BIT;
- else
- *value = 0;
- break;
- case __DRI_ATTRIB_SWAP_METHOD:
- /* XXX no return value??? */
- break;
-
- case __DRI_ATTRIB_FLOAT_MODE:
- /* this field is not int-sized */
- *value = config->modes.floatMode;
- break;
-
- default:
- /* any other int-sized field */
- *value = *(unsigned int *)
- ((char *) &config->modes + attribMap[index].offset);
- break;
- }
+ switch (attribMap[index].attrib) {
+ case __DRI_ATTRIB_RENDER_TYPE:
+ /* no support for color index mode */
+ *value = __DRI_ATTRIB_RGBA_BIT;
+ break;
+ case __DRI_ATTRIB_CONFIG_CAVEAT:
+ if (config->modes.visualRating == GLX_NON_CONFORMANT_CONFIG)
+ *value = __DRI_ATTRIB_NON_CONFORMANT_CONFIG;
+ else if (config->modes.visualRating == GLX_SLOW_CONFIG)
+ *value = __DRI_ATTRIB_SLOW_BIT;
+ else
+ *value = 0;
+ break;
+ case __DRI_ATTRIB_SWAP_METHOD:
+ /* XXX no return value??? */
+ break;
+
+ default:
+ /* any other int-sized field */
+ *value = *(unsigned int *)
+ ((char *) &config->modes + attribMap[index].offset);
+
+ break;
+ }
return GL_TRUE;
}
+
/**
* Get the value of a configuration attribute.
* \param attrib the attribute (one of the _DRI_ATTRIB_x tokens)
@@ -932,18 +3076,20 @@ static const __DRIconfig **dri_init_screen(__DRIscreen * psp)
PRINTF(__FUNCTION__": psp %x\n", psp);
- psp->extensions = dri_screen_extensions;
+ psp->max_gl_compat_version = 21;
+ psp->max_gl_es1_version = 11;
+ psp->max_gl_es2_version = 20;
+
+ psp->extensions = dri_screen_extensions;
- configs8 = swrastFillInModes(psp, 8, 8, 0, 1);
- configs16 = swrastFillInModes(psp, 16, 16, 0, 1);
- configs24 = swrastFillInModes(psp, 24, 24, 8, 1);
- configs32 = swrastFillInModes(psp, 32, 24, 8, 1);
+ configs16 = swrastFillInModes(psp, 16, 16, 0, 1);
+ configs24 = swrastFillInModes(psp, 24, 24, 8, 1);
+ configs32 = swrastFillInModes(psp, 32, 24, 8, 1);
- configs16 = driConcatConfigs(configs8, configs16);
- configs24 = driConcatConfigs(configs16, configs24);
- configs32 = driConcatConfigs(configs24, configs32);
+ configs24 = driConcatConfigs(configs16, configs24);
+ configs32 = driConcatConfigs(configs24, configs32);
- return (const __DRIconfig **)configs32;
+ return (const __DRIconfig **)configs32;
}
static __DRIscreen *driCreateNewScreen(int scrn, const __DRIextension **extensions, const __DRIconfig ***driver_configs, void *data)