diff options
Diffstat (limited to 'xorg-server')
-rw-r--r-- | xorg-server/hw/xwin/glx/genheaders.py | 26 | ||||
-rw-r--r-- | xorg-server/hw/xwin/glx/gl.xml | 1750 | ||||
-rw-r--r-- | xorg-server/hw/xwin/glx/reg.py | 2 | ||||
-rw-r--r-- | xorg-server/hw/xwin/glx/wgl.xml | 7 | ||||
-rw-r--r-- | xorg-server/hw/xwin/glx/wglext.h | 4 | ||||
-rw-r--r-- | xorg-server/hw/xwin/swrastwgl_dri/swrastwgl_dri.c | 2820 |
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)
|