198f880e0c47229ae6b6063527276096259d60b5aImre Deakdescriptor=[
298f880e0c47229ae6b6063527276096259d60b5aImre Deak{ "apis": ["GL", "GLES", "GLES2", "GL_CORE"], "params": [
398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ALPHA_BITS", "BUFFER_INT(Visual.alphaBits), extra_new_buffers" ],
498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND", "CONTEXT_BIT0(Color.BlendEnabled), NO_EXTRA" ],
598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_SRC", "CONTEXT_ENUM(Color.Blend[0].SrcRGB), NO_EXTRA" ],
698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLUE_BITS", "BUFFER_INT(Visual.blueBits), extra_new_buffers" ],
798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COLOR_CLEAR_VALUE", "LOC_CUSTOM, TYPE_FLOATN_4, 0, extra_new_frag_clamp" ],
898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COLOR_WRITEMASK", "LOC_CUSTOM, TYPE_INT_4, 0, NO_EXTRA" ],
998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CULL_FACE", "CONTEXT_BOOL(Polygon.CullFlag), NO_EXTRA" ],
1098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CULL_FACE_MODE", "CONTEXT_ENUM(Polygon.CullFaceMode), NO_EXTRA" ],
11b6475f9437bbd080524b0b871a12c681dfc82f06Marek Olšák  [ "DEPTH_BITS", "BUFFER_INT(Visual.depthBits), extra_new_buffers" ],
1298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_CLEAR_VALUE", "CONTEXT_FIELD(Depth.Clear, TYPE_DOUBLEN), NO_EXTRA" ],
1398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_FUNC", "CONTEXT_ENUM(Depth.Func), NO_EXTRA" ],
14d4dc359875126c432e46e3d1da8610a066d21302Courtney Goeltzenleuchter  [ "DEPTH_RANGE", "LOC_CUSTOM, TYPE_DOUBLEN_2, 0, NO_EXTRA" ],
1598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_TEST", "CONTEXT_BOOL(Depth.Test), NO_EXTRA" ],
1698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_WRITEMASK", "CONTEXT_BOOL(Depth.Mask), NO_EXTRA" ],
1798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DITHER", "CONTEXT_BOOL(Color.DitherFlag), NO_EXTRA" ],
1898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FRONT_FACE", "CONTEXT_ENUM(Polygon.FrontFace), NO_EXTRA" ],
1998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "GREEN_BITS", "BUFFER_INT(Visual.greenBits), extra_new_buffers" ],
2098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LINE_WIDTH", "CONTEXT_FLOAT(Line.Width), NO_EXTRA" ],
2198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ALIASED_LINE_WIDTH_RANGE", "CONTEXT_FLOAT2(Const.MinLineWidth), NO_EXTRA" ],
2298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_ELEMENTS_VERTICES", "CONTEXT_INT(Const.MaxArrayLockSize), NO_EXTRA" ],
2398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_ELEMENTS_INDICES", "CONTEXT_INT(Const.MaxArrayLockSize), NO_EXTRA" ],
2498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_TEXTURE_SIZE", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, Const.MaxTextureLevels), NO_EXTRA" ],
2598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_VIEWPORT_DIMS", "CONTEXT_INT2(Const.MaxViewportWidth), NO_EXTRA" ],
2698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_ALIGNMENT", "CONTEXT_INT(Pack.Alignment), NO_EXTRA" ],
2798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ALIASED_POINT_SIZE_RANGE", "CONTEXT_FLOAT2(Const.MinPointSize), NO_EXTRA" ],
2898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_OFFSET_FACTOR", "CONTEXT_FLOAT(Polygon.OffsetFactor ), NO_EXTRA" ],
2998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_OFFSET_UNITS", "CONTEXT_FLOAT(Polygon.OffsetUnits ), NO_EXTRA" ],
3098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_OFFSET_FILL", "CONTEXT_BOOL(Polygon.OffsetFill), NO_EXTRA" ],
3198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "RED_BITS", "BUFFER_INT(Visual.redBits), extra_new_buffers" ],
3298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SCISSOR_BOX", "LOC_CUSTOM, TYPE_INT_4, 0, NO_EXTRA" ],
33a9c73fb778a41b422a811c67b4aba806d4dfb7c8Courtney Goeltzenleuchter  [ "SCISSOR_TEST", "LOC_CUSTOM, TYPE_BOOLEAN, NO_OFFSET, NO_EXTRA" ],
34b6475f9437bbd080524b0b871a12c681dfc82f06Marek Olšák  [ "STENCIL_BITS", "BUFFER_INT(Visual.stencilBits), extra_new_buffers" ],
3598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_CLEAR_VALUE", "CONTEXT_INT(Stencil.Clear), NO_EXTRA" ],
3698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_FAIL", "LOC_CUSTOM, TYPE_ENUM, NO_OFFSET, NO_EXTRA" ],
3798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_FUNC", "LOC_CUSTOM, TYPE_ENUM, NO_OFFSET, NO_EXTRA" ],
3898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_PASS_DEPTH_FAIL", "LOC_CUSTOM, TYPE_ENUM, NO_OFFSET, NO_EXTRA" ],
3998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_PASS_DEPTH_PASS", "LOC_CUSTOM, TYPE_ENUM, NO_OFFSET, NO_EXTRA" ],
4037d63b50b196afe61b4d7c33b1118a49a5e1e13fKenneth Graunke  [ "STENCIL_REF", "LOC_CUSTOM, TYPE_UINT, NO_OFFSET, NO_EXTRA" ],
4198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_TEST", "CONTEXT_BOOL(Stencil.Enabled), NO_EXTRA" ],
4237d63b50b196afe61b4d7c33b1118a49a5e1e13fKenneth Graunke  [ "STENCIL_VALUE_MASK", "LOC_CUSTOM, TYPE_UINT, NO_OFFSET, NO_EXTRA" ],
4337d63b50b196afe61b4d7c33b1118a49a5e1e13fKenneth Graunke  [ "STENCIL_WRITEMASK", "LOC_CUSTOM, TYPE_UINT, NO_OFFSET, NO_EXTRA" ],
4498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SUBPIXEL_BITS", "CONTEXT_INT(Const.SubPixelBits), NO_EXTRA" ],
4598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_BINDING_2D", "LOC_CUSTOM, TYPE_INT, TEXTURE_2D_INDEX, NO_EXTRA" ],
4698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "UNPACK_ALIGNMENT", "CONTEXT_INT(Unpack.Alignment), NO_EXTRA" ],
475b84226c31e941219422f6d60c31524081b7a188Courtney Goeltzenleuchter  [ "VIEWPORT", "LOC_CUSTOM, TYPE_FLOAT_4, 0, NO_EXTRA" ],
4898f880e0c47229ae6b6063527276096259d60b5aImre Deak
4998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_multitexture
5098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ACTIVE_TEXTURE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
5198f880e0c47229ae6b6063527276096259d60b5aImre Deak
5298f880e0c47229ae6b6063527276096259d60b5aImre Deak# Note that all the OES_* extensions require that the Mesa "struct
5398f880e0c47229ae6b6063527276096259d60b5aImre Deak# gl_extensions" include a member with the name of the extension.
5498f880e0c47229ae6b6063527276096259d60b5aImre Deak# That structure does not yet include OES extensions (and we're
5598f880e0c47229ae6b6063527276096259d60b5aImre Deak# not sure whether it will).  If it does, all the OES_*
5698f880e0c47229ae6b6063527276096259d60b5aImre Deak# extensions below should mark the dependency.
5798f880e0c47229ae6b6063527276096259d60b5aImre Deak
5898f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_texture_cube_map
5998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_BINDING_CUBE_MAP_ARB", "LOC_CUSTOM, TYPE_INT, TEXTURE_CUBE_INDEX, extra_ARB_texture_cube_map" ],
6098f880e0c47229ae6b6063527276096259d60b5aImre Deak# XXX: OES_texture_cube_map
6198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_CUBE_MAP_TEXTURE_SIZE_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, Const.MaxCubeTextureLevels), extra_ARB_texture_cube_map" ],
6298f880e0c47229ae6b6063527276096259d60b5aImre Deak
6398f880e0c47229ae6b6063527276096259d60b5aImre Deak# XXX: OES_blend_subtract
6498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_SRC_RGB", "CONTEXT_ENUM(Color.Blend[0].SrcRGB), NO_EXTRA" ],
6598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_DST_RGB", "CONTEXT_ENUM(Color.Blend[0].DstRGB), NO_EXTRA" ],
6698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_SRC_ALPHA", "CONTEXT_ENUM(Color.Blend[0].SrcA), NO_EXTRA" ],
6798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_DST_ALPHA", "CONTEXT_ENUM(Color.Blend[0].DstA), NO_EXTRA" ],
6898f880e0c47229ae6b6063527276096259d60b5aImre Deak
6998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_BLEND_EQUATION_RGB, which is what we're really after, is
7098f880e0c47229ae6b6063527276096259d60b5aImre Deak# defined identically to GL_BLEND_EQUATION.
7198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_EQUATION", "CONTEXT_ENUM(Color.Blend[0].EquationRGB), NO_EXTRA" ],
7298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_EQUATION_ALPHA_EXT", "CONTEXT_ENUM(Color.Blend[0].EquationA), NO_EXTRA" ],
7398f880e0c47229ae6b6063527276096259d60b5aImre Deak
7498f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_texture_compression
7598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NUM_COMPRESSED_TEXTURE_FORMATS_ARB", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
7698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COMPRESSED_TEXTURE_FORMATS", "LOC_CUSTOM, TYPE_INT_N, 0, NO_EXTRA" ],
7798f880e0c47229ae6b6063527276096259d60b5aImre Deak
7898f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_multisample
7998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SAMPLE_ALPHA_TO_COVERAGE_ARB", "CONTEXT_BOOL(Multisample.SampleAlphaToCoverage), NO_EXTRA" ],
8098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SAMPLE_COVERAGE_ARB", "CONTEXT_BOOL(Multisample.SampleCoverage), NO_EXTRA" ],
8198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SAMPLE_COVERAGE_VALUE_ARB", "CONTEXT_FLOAT(Multisample.SampleCoverageValue), NO_EXTRA" ],
8298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SAMPLE_COVERAGE_INVERT_ARB", "CONTEXT_BOOL(Multisample.SampleCoverageInvert), NO_EXTRA" ],
834995d9c9a028876550e3da7ff24045f8bec2dcf6Neil Roberts  [ "SAMPLE_BUFFERS_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_new_buffers" ],
84d8d4661ddb2ecef33721fbca2a9bb7bd1d84b7cfNeil Roberts  [ "SAMPLES_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_new_buffers" ],
8598f880e0c47229ae6b6063527276096259d60b5aImre Deak
8677b440e42d8e7247c22959020bb087c63d298f2eAnuj Phogat# GL_ARB_sample_shading
873ea922dd7ca773033a09068e397b34d8abd4c763Jason Ekstrand  [ "SAMPLE_SHADING_ARB", "CONTEXT_BOOL(Multisample.SampleShading), extra_gl40_ARB_sample_shading" ],
8877b440e42d8e7247c22959020bb087c63d298f2eAnuj Phogat  [ "MIN_SAMPLE_SHADING_VALUE_ARB", "CONTEXT_FLOAT(Multisample.MinSampleShadingValue), extra_gl40_ARB_sample_shading" ],
8977b440e42d8e7247c22959020bb087c63d298f2eAnuj Phogat
9098f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_SGIS_generate_mipmap
9198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "GENERATE_MIPMAP_HINT_SGIS", "CONTEXT_ENUM(Hint.GenerateMipmap), NO_EXTRA" ],
9298f880e0c47229ae6b6063527276096259d60b5aImre Deak
9398f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_vertex_buffer_object
9498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
9598f880e0c47229ae6b6063527276096259d60b5aImre Deak
9698f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_vertex_buffer_object
9798f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB - not supported
9898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ELEMENT_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
9998f880e0c47229ae6b6063527276096259d60b5aImre Deak
10098f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_color_buffer_float
10198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLAMP_VERTEX_COLOR", "CONTEXT_ENUM(Light.ClampVertexColor), extra_ARB_color_buffer_float" ],
10298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLAMP_FRAGMENT_COLOR", "CONTEXT_ENUM(Color.ClampFragmentColor), extra_ARB_color_buffer_float" ],
1033264c3e99700389f0a3958db7c9c19673107d67aMarek Olšák  [ "CLAMP_READ_COLOR", "CONTEXT_ENUM(Color.ClampReadColor), extra_ARB_color_buffer_float_or_glcore" ],
10498f880e0c47229ae6b6063527276096259d60b5aImre Deak
10598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_copy_buffer
1063bba7c5ab41405bd73bee1612e65d65bb3ac658dMarek Olšák  [ "COPY_READ_BUFFER", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
1073bba7c5ab41405bd73bee1612e65d65bb3ac658dMarek Olšák  [ "COPY_WRITE_BUFFER", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
10898f880e0c47229ae6b6063527276096259d60b5aImre Deak
10998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_OES_read_format
11098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "IMPLEMENTATION_COLOR_READ_TYPE_OES", "LOC_CUSTOM, TYPE_INT, 0, extra_new_buffers" ],
11198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "IMPLEMENTATION_COLOR_READ_FORMAT_OES", "LOC_CUSTOM, TYPE_INT, 0, extra_new_buffers" ],
11298f880e0c47229ae6b6063527276096259d60b5aImre Deak
11398f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_framebuffer_object
114b5305a303bd13f91a00f36f205b767d1bfef2ab5Ian Romanick  [ "FRAMEBUFFER_BINDING_EXT", "BUFFER_INT(Name), NO_EXTRA" ],
115b5305a303bd13f91a00f36f205b767d1bfef2ab5Ian Romanick  [ "RENDERBUFFER_BINDING_EXT", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
116b5305a303bd13f91a00f36f205b767d1bfef2ab5Ian Romanick  [ "MAX_RENDERBUFFER_SIZE_EXT", "CONTEXT_INT(Const.MaxRenderbufferSize), NO_EXTRA" ],
11798f880e0c47229ae6b6063527276096259d60b5aImre Deak
11898f880e0c47229ae6b6063527276096259d60b5aImre Deak# This entry isn't spec'ed for GLES 2, but is needed for Mesa's
11998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GLSL:
12098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_CLIP_PLANES", "CONTEXT_INT(Const.MaxClipPlanes), NO_EXTRA" ],
12198f880e0c47229ae6b6063527276096259d60b5aImre Deak
12298f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_{APPLE,ARB,OES}_vertex_array_object
12398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "VERTEX_ARRAY_BINDING_APPLE", "ARRAY_INT(Name), NO_EXTRA" ],
12498f880e0c47229ae6b6063527276096259d60b5aImre Deak
12598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_texture_filter_anisotropic
12698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_TEXTURE_MAX_ANISOTROPY_EXT", "CONTEXT_FLOAT(Const.MaxTextureMaxAnisotropy), extra_EXT_texture_filter_anisotropic" ],
12770643a1389179c214b454a6a49e9f47a768ba904Matthew Waters
12870643a1389179c214b454a6a49e9f47a768ba904Matthew Waters# GL_KHR_debug (GL 4.3)/ GL_ARB_debug_output
129aa37cbdff7bb1d2170f1603b02a8b8517255894fKenneth Graunke  [ "DEBUG_OUTPUT", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ],
130aa37cbdff7bb1d2170f1603b02a8b8517255894fKenneth Graunke  [ "DEBUG_OUTPUT_SYNCHRONOUS", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ],
13170643a1389179c214b454a6a49e9f47a768ba904Matthew Waters  [ "DEBUG_LOGGED_MESSAGES", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
13270643a1389179c214b454a6a49e9f47a768ba904Matthew Waters  [ "DEBUG_NEXT_LOGGED_MESSAGE_LENGTH", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
13370643a1389179c214b454a6a49e9f47a768ba904Matthew Waters  [ "MAX_DEBUG_LOGGED_MESSAGES", "CONST(MAX_DEBUG_LOGGED_MESSAGES), NO_EXTRA" ],
13470643a1389179c214b454a6a49e9f47a768ba904Matthew Waters  [ "MAX_DEBUG_MESSAGE_LENGTH", "CONST(MAX_DEBUG_MESSAGE_LENGTH), NO_EXTRA" ],
13570643a1389179c214b454a6a49e9f47a768ba904Matthew Waters  [ "MAX_LABEL_LENGTH", "CONST(MAX_LABEL_LENGTH), NO_EXTRA" ],
13670643a1389179c214b454a6a49e9f47a768ba904Matthew Waters  [ "MAX_DEBUG_GROUP_STACK_DEPTH", "CONST(MAX_DEBUG_GROUP_STACK_DEPTH), NO_EXTRA" ],
13770643a1389179c214b454a6a49e9f47a768ba904Matthew Waters  [ "DEBUG_GROUP_STACK_DEPTH", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
138807e2c27ac03718df8f53c2f28686dfed4c12677Ilia Mirkin
139807e2c27ac03718df8f53c2f28686dfed4c12677Ilia Mirkin# GL_EXT_polygon_offset_clamp
140807e2c27ac03718df8f53c2f28686dfed4c12677Ilia Mirkin  [ "POLYGON_OFFSET_CLAMP_EXT", "CONTEXT_FLOAT(Polygon.OffsetClamp), extra_EXT_polygon_offset_clamp" ],
14198f880e0c47229ae6b6063527276096259d60b5aImre Deak]},
14298f880e0c47229ae6b6063527276096259d60b5aImre Deak
14398f880e0c47229ae6b6063527276096259d60b5aImre Deak# Enums in OpenGL and GLES1
14498f880e0c47229ae6b6063527276096259d60b5aImre Deak{ "apis": ["GL", "GLES", "GL_CORE"], "params": [
14598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_LIGHTS", "CONTEXT_INT(Const.MaxLights), NO_EXTRA" ],
14698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT0", "CONTEXT_BOOL(Light.Light[0].Enabled), NO_EXTRA" ],
14798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT1", "CONTEXT_BOOL(Light.Light[1].Enabled), NO_EXTRA" ],
14898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT2", "CONTEXT_BOOL(Light.Light[2].Enabled), NO_EXTRA" ],
14998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT3", "CONTEXT_BOOL(Light.Light[3].Enabled), NO_EXTRA" ],
15098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT4", "CONTEXT_BOOL(Light.Light[4].Enabled), NO_EXTRA" ],
15198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT5", "CONTEXT_BOOL(Light.Light[5].Enabled), NO_EXTRA" ],
15298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT6", "CONTEXT_BOOL(Light.Light[6].Enabled), NO_EXTRA" ],
15398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT7", "CONTEXT_BOOL(Light.Light[7].Enabled), NO_EXTRA" ],
15498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHTING", "CONTEXT_BOOL(Light.Enabled), NO_EXTRA" ],
15598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT_MODEL_AMBIENT", "CONTEXT_FIELD(Light.Model.Ambient[0], TYPE_FLOATN_4), NO_EXTRA" ],
15698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT_MODEL_TWO_SIDE", "CONTEXT_BOOL(Light.Model.TwoSide), NO_EXTRA" ],
15798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ALPHA_TEST", "CONTEXT_BOOL(Color.AlphaEnabled), NO_EXTRA" ],
15898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ALPHA_TEST_FUNC", "CONTEXT_ENUM(Color.AlphaFunc), NO_EXTRA" ],
15998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ALPHA_TEST_REF", "LOC_CUSTOM, TYPE_FLOATN, 0, extra_new_frag_clamp" ],
16098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_DST", "CONTEXT_ENUM(Color.Blend[0].DstRGB), NO_EXTRA" ],
16198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIP_DISTANCE0", "CONTEXT_BIT0(Transform.ClipPlanesEnabled), extra_valid_clip_distance" ],
16298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIP_DISTANCE1", "CONTEXT_BIT1(Transform.ClipPlanesEnabled), extra_valid_clip_distance" ],
16398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIP_DISTANCE2", "CONTEXT_BIT2(Transform.ClipPlanesEnabled), extra_valid_clip_distance" ],
16498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIP_DISTANCE3", "CONTEXT_BIT3(Transform.ClipPlanesEnabled), extra_valid_clip_distance" ],
16598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIP_DISTANCE4", "CONTEXT_BIT4(Transform.ClipPlanesEnabled), extra_valid_clip_distance" ],
16698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIP_DISTANCE5", "CONTEXT_BIT5(Transform.ClipPlanesEnabled), extra_valid_clip_distance" ],
16798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIP_DISTANCE6", "CONTEXT_BIT6(Transform.ClipPlanesEnabled), extra_valid_clip_distance" ],
16898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIP_DISTANCE7", "CONTEXT_BIT7(Transform.ClipPlanesEnabled), extra_valid_clip_distance" ],
16998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COLOR_MATERIAL", "CONTEXT_BOOL(Light.ColorMaterialEnabled), NO_EXTRA" ],
17098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_COLOR", "CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR0][0], TYPE_FLOATN_4), extra_flush_current" ],
17198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_NORMAL", "CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_NORMAL][0], TYPE_FLOATN_3), extra_flush_current" ],
17298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_TEXTURE_COORDS", "LOC_CUSTOM, TYPE_FLOAT_4, 0, extra_flush_current_valid_texture_unit" ],
17398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_DISTANCE_ATTENUATION", "CONTEXT_FLOAT3(Point.Params[0]), NO_EXTRA" ],
17498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG", "CONTEXT_BOOL(Fog.Enabled), NO_EXTRA" ],
17598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG_COLOR", "LOC_CUSTOM, TYPE_FLOATN_4, 0, extra_new_frag_clamp" ],
17698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG_DENSITY", "CONTEXT_FLOAT(Fog.Density), NO_EXTRA" ],
17798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG_END", "CONTEXT_FLOAT(Fog.End), NO_EXTRA" ],
17898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG_HINT", "CONTEXT_ENUM(Hint.Fog), NO_EXTRA" ],
17998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG_MODE", "CONTEXT_ENUM(Fog.Mode), NO_EXTRA" ],
18098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG_START", "CONTEXT_FLOAT(Fog.Start), NO_EXTRA" ],
18198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LINE_SMOOTH", "CONTEXT_BOOL(Line.SmoothFlag), NO_EXTRA" ],
18298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LINE_SMOOTH_HINT", "CONTEXT_ENUM(Hint.LineSmooth), NO_EXTRA" ],
18398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LINE_WIDTH_RANGE", "CONTEXT_FLOAT2(Const.MinLineWidthAA), NO_EXTRA" ],
18498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COLOR_LOGIC_OP", "CONTEXT_BOOL(Color.ColorLogicOpEnabled), NO_EXTRA" ],
18598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LOGIC_OP_MODE", "CONTEXT_ENUM(Color.LogicOp), NO_EXTRA" ],
18698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MATRIX_MODE", "CONTEXT_ENUM(Transform.MatrixMode), NO_EXTRA" ],
18798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_MODELVIEW_STACK_DEPTH", "CONST(MAX_MODELVIEW_STACK_DEPTH), NO_EXTRA" ],
18898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_PROJECTION_STACK_DEPTH", "CONST(MAX_PROJECTION_STACK_DEPTH), NO_EXTRA" ],
18998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_TEXTURE_STACK_DEPTH", "CONST(MAX_TEXTURE_STACK_DEPTH), NO_EXTRA" ],
19098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MODELVIEW_MATRIX", "CONTEXT_MATRIX(ModelviewMatrixStack.Top), NO_EXTRA" ],
19198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MODELVIEW_STACK_DEPTH", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, ModelviewMatrixStack.Depth), NO_EXTRA" ],
19298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NORMALIZE", "CONTEXT_BOOL(Transform.Normalize), NO_EXTRA" ],
19398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_SKIP_IMAGES", "CONTEXT_INT(Pack.SkipImages), NO_EXTRA" ],
19498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PERSPECTIVE_CORRECTION_HINT", "CONTEXT_ENUM(Hint.PerspectiveCorrection), NO_EXTRA" ],
19598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SIZE", "CONTEXT_FLOAT(Point.Size), NO_EXTRA" ],
19698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SIZE_RANGE", "CONTEXT_FLOAT2(Const.MinPointSizeAA), NO_EXTRA" ],
19798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SMOOTH", "CONTEXT_BOOL(Point.SmoothFlag), NO_EXTRA" ],
19898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SMOOTH_HINT", "CONTEXT_ENUM(Hint.PointSmooth), NO_EXTRA" ],
19998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SIZE_MIN_EXT", "CONTEXT_FLOAT(Point.MinSize), NO_EXTRA" ],
20098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SIZE_MAX_EXT", "CONTEXT_FLOAT(Point.MaxSize), NO_EXTRA" ],
20198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_FADE_THRESHOLD_SIZE_EXT", "CONTEXT_FLOAT(Point.Threshold), NO_EXTRA" ],
20298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PROJECTION_MATRIX", "CONTEXT_MATRIX(ProjectionMatrixStack.Top), NO_EXTRA" ],
20398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PROJECTION_STACK_DEPTH", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, ProjectionMatrixStack.Depth), NO_EXTRA" ],
20498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "RESCALE_NORMAL", "CONTEXT_BOOL(Transform.RescaleNormals), NO_EXTRA" ],
20598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SHADE_MODEL", "CONTEXT_ENUM(Light.ShadeModel), NO_EXTRA" ],
20698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_2D", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ],
20798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_MATRIX", "LOC_CUSTOM, TYPE_MATRIX, 0, extra_valid_texture_unit" ],
20898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_STACK_DEPTH", "LOC_CUSTOM, TYPE_INT, 0, extra_valid_texture_unit" ],
20959b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "VERTEX_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_POS].Enabled), NO_EXTRA" ],
21059b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "VERTEX_ARRAY_SIZE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_POS].Size), NO_EXTRA" ],
21159b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "VERTEX_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_POS].Type), NO_EXTRA" ],
21259b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "VERTEX_ARRAY_STRIDE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_POS].Stride), NO_EXTRA" ],
21359b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "NORMAL_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_NORMAL].Enabled), NO_EXTRA" ],
21459b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "NORMAL_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_NORMAL].Type), NO_EXTRA" ],
21559b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "NORMAL_ARRAY_STRIDE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_NORMAL].Stride), NO_EXTRA" ],
21659b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "COLOR_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR0].Enabled), NO_EXTRA" ],
217e3e13d6b857b3083e2553457fe30ddfd4eddead4José Fonseca  [ "COLOR_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
21859b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "COLOR_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR0].Type), NO_EXTRA" ],
21959b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "COLOR_ARRAY_STRIDE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR0].Stride), NO_EXTRA" ],
22015fb88e912531110f1a31ede2100910fdda2823eBrian Paul  [ "TEXTURE_COORD_ARRAY", "LOC_CUSTOM, TYPE_BOOLEAN, offsetof(struct gl_array_attributes, Enabled), NO_EXTRA" ],
22115fb88e912531110f1a31ede2100910fdda2823eBrian Paul  [ "TEXTURE_COORD_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_array_attributes, Size), NO_EXTRA" ],
22215fb88e912531110f1a31ede2100910fdda2823eBrian Paul  [ "TEXTURE_COORD_ARRAY_TYPE", "LOC_CUSTOM, TYPE_ENUM, offsetof(struct gl_array_attributes, Type), NO_EXTRA" ],
22315fb88e912531110f1a31ede2100910fdda2823eBrian Paul  [ "TEXTURE_COORD_ARRAY_STRIDE", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_array_attributes, Stride), NO_EXTRA" ],
22498f880e0c47229ae6b6063527276096259d60b5aImre Deak
22598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_multitexture
22698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_TEXTURE_UNITS", "CONTEXT_INT(Const.MaxTextureUnits), NO_EXTRA" ],
22798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIENT_ACTIVE_TEXTURE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
22898f880e0c47229ae6b6063527276096259d60b5aImre Deak
22998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_texture_cube_map
23098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_CUBE_MAP_ARB", "LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA" ],
23198f880e0c47229ae6b6063527276096259d60b5aImre Deak# S, T, and R are always set at the same time
23298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_GEN_STR_OES", "LOC_TEXUNIT, TYPE_BIT_0, offsetof(struct gl_texture_unit, TexGenEnabled), NO_EXTRA" ],
23398f880e0c47229ae6b6063527276096259d60b5aImre Deak
23498f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_multisample
23598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MULTISAMPLE_ARB", "CONTEXT_BOOL(Multisample.Enabled), NO_EXTRA" ],
23698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SAMPLE_ALPHA_TO_ONE_ARB", "CONTEXT_BOOL(Multisample.SampleAlphaToOne), NO_EXTRA" ],
23798f880e0c47229ae6b6063527276096259d60b5aImre Deak
23898f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_vertex_buffer_object
239910bc4d12cdc2b5743ad379fddee45c8b0112762Brian Paul  [ "VERTEX_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_POS].BufferObj), NO_EXTRA" ],
240910bc4d12cdc2b5743ad379fddee45c8b0112762Brian Paul  [ "NORMAL_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_NORMAL].BufferObj), NO_EXTRA" ],
241910bc4d12cdc2b5743ad379fddee45c8b0112762Brian Paul  [ "COLOR_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_COLOR0].BufferObj), NO_EXTRA" ],
24298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, NO_OFFSET, NO_EXTRA" ],
24398f880e0c47229ae6b6063527276096259d60b5aImre Deak
24498f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_OES_point_sprite
24598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SPRITE_NV", "CONTEXT_BOOL(Point.PointSprite), extra_NV_point_sprite_ARB_point_sprite" ],
24698f880e0c47229ae6b6063527276096259d60b5aImre Deak]},
24798f880e0c47229ae6b6063527276096259d60b5aImre Deak
24898f880e0c47229ae6b6063527276096259d60b5aImre Deak
24998f880e0c47229ae6b6063527276096259d60b5aImre Deak{ "apis": ["GLES"], "params": [
25098f880e0c47229ae6b6063527276096259d60b5aImre Deak# OES_point_size_array
251548bf70fd22ca862692abc83700ff5010f92b9b6Rhys Kidd  [ "POINT_SIZE_ARRAY_OES", "ARRAY_FIELD(VertexAttrib[VERT_ATTRIB_POINT_SIZE].Enabled, TYPE_BOOLEAN), NO_EXTRA" ],
252548bf70fd22ca862692abc83700ff5010f92b9b6Rhys Kidd  [ "POINT_SIZE_ARRAY_TYPE_OES", "ARRAY_FIELD(VertexAttrib[VERT_ATTRIB_POINT_SIZE].Type, TYPE_ENUM), NO_EXTRA" ],
253548bf70fd22ca862692abc83700ff5010f92b9b6Rhys Kidd  [ "POINT_SIZE_ARRAY_STRIDE_OES", "ARRAY_FIELD(VertexAttrib[VERT_ATTRIB_POINT_SIZE].Stride, TYPE_INT), NO_EXTRA" ],
254548bf70fd22ca862692abc83700ff5010f92b9b6Rhys Kidd  [ "POINT_SIZE_ARRAY_BUFFER_BINDING_OES", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
25598f880e0c47229ae6b6063527276096259d60b5aImre Deak]},
25698f880e0c47229ae6b6063527276096259d60b5aImre Deak
25798f880e0c47229ae6b6063527276096259d60b5aImre Deak{ "apis": ["GL", "GL_CORE", "GLES2"], "params": [
25898f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_MAX_TEXTURE_COORDS_NV
2592f350f360b00e786e140d9ccb9db83bf23269d8fKenneth Graunke  [ "MAX_TEXTURE_COORDS_ARB", "CONTEXT_INT(Const.MaxTextureCoordUnits), extra_ARB_fragment_program" ],
26098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_IMAGE_HEIGHT", "CONTEXT_INT(Pack.ImageHeight), NO_EXTRA" ],
26198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_ROW_LENGTH", "CONTEXT_INT(Pack.RowLength), NO_EXTRA" ],
26298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_SKIP_PIXELS", "CONTEXT_INT(Pack.SkipPixels), NO_EXTRA" ],
26398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_SKIP_ROWS", "CONTEXT_INT(Pack.SkipRows), NO_EXTRA" ],
26498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "UNPACK_ROW_LENGTH", "CONTEXT_INT(Unpack.RowLength), NO_EXTRA" ],
26598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "UNPACK_SKIP_PIXELS", "CONTEXT_INT(Unpack.SkipPixels), NO_EXTRA" ],
26698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "UNPACK_SKIP_ROWS", "CONTEXT_INT(Unpack.SkipRows), NO_EXTRA" ],
26798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "UNPACK_SKIP_IMAGES", "CONTEXT_INT(Unpack.SkipImages), NO_EXTRA" ],
26898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "UNPACK_IMAGE_HEIGHT", "CONTEXT_INT(Unpack.ImageHeight), NO_EXTRA" ],
26998f880e0c47229ae6b6063527276096259d60b5aImre Deak
27098f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_draw_buffers
27198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_DRAW_BUFFERS_ARB", "CONTEXT_INT(Const.MaxDrawBuffers), NO_EXTRA" ],
27298f880e0c47229ae6b6063527276096259d60b5aImre Deak
27398f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_framebuffer_object / GL_NV_fbo_color_attachments
274b5305a303bd13f91a00f36f205b767d1bfef2ab5Ian Romanick  [ "MAX_COLOR_ATTACHMENTS", "CONTEXT_INT(Const.MaxColorAttachments), NO_EXTRA" ],
27598f880e0c47229ae6b6063527276096259d60b5aImre Deak
27698f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_draw_buffers / GL_NV_draw_buffers (for ES 2.0)
27798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER0_ARB", "BUFFER_ENUM(ColorDrawBuffer[0]), NO_EXTRA" ],
27898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER1_ARB", "BUFFER_ENUM(ColorDrawBuffer[1]), extra_valid_draw_buffer" ],
27998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER2_ARB", "BUFFER_ENUM(ColorDrawBuffer[2]), extra_valid_draw_buffer" ],
28098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER3_ARB", "BUFFER_ENUM(ColorDrawBuffer[3]), extra_valid_draw_buffer" ],
28198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER4_ARB", "BUFFER_ENUM(ColorDrawBuffer[4]), extra_valid_draw_buffer" ],
28298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER5_ARB", "BUFFER_ENUM(ColorDrawBuffer[5]), extra_valid_draw_buffer" ],
28398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER6_ARB", "BUFFER_ENUM(ColorDrawBuffer[6]), extra_valid_draw_buffer" ],
28498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER7_ARB", "BUFFER_ENUM(ColorDrawBuffer[7]), extra_valid_draw_buffer" ],
28598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLEND_COLOR_EXT", "LOC_CUSTOM, TYPE_FLOATN_4, 0, extra_new_frag_clamp" ],
28698f880e0c47229ae6b6063527276096259d60b5aImre Deak
28798f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_fragment_program
28898f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_MAX_TEXTURE_IMAGE_UNITS_NV
28984732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits), extra_ARB_fragment_program" ],
29084732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxTextureImageUnits), extra_ARB_vertex_shader" ],
29198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.MaxCombinedTextureImageUnits), extra_ARB_vertex_shader" ],
29298f880e0c47229ae6b6063527276096259d60b5aImre Deak
29398f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_shader_objects
29498f880e0c47229ae6b6063527276096259d60b5aImre Deak# Actually, this token isn't part of GL_ARB_shader_objects, but is
29598f880e0c47229ae6b6063527276096259d60b5aImre Deak# close enough for now.
296e6ec425d6eeac95f466174267b2c18c0bffca3f0Ian Romanick  [ "CURRENT_PROGRAM", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
29798f880e0c47229ae6b6063527276096259d60b5aImre Deak
29898f880e0c47229ae6b6063527276096259d60b5aImre Deak# OpenGL 2.0
29998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_BACK_FUNC", "CONTEXT_ENUM(Stencil.Function[1]), NO_EXTRA" ],
30037d63b50b196afe61b4d7c33b1118a49a5e1e13fKenneth Graunke  [ "STENCIL_BACK_VALUE_MASK", "CONTEXT_UINT(Stencil.ValueMask[1]), NO_EXTRA" ],
30137d63b50b196afe61b4d7c33b1118a49a5e1e13fKenneth Graunke  [ "STENCIL_BACK_WRITEMASK", "CONTEXT_UINT(Stencil.WriteMask[1]), NO_EXTRA" ],
30237d63b50b196afe61b4d7c33b1118a49a5e1e13fKenneth Graunke  [ "STENCIL_BACK_REF", "LOC_CUSTOM, TYPE_UINT, NO_OFFSET, NO_EXTRA" ],
30398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_BACK_FAIL", "CONTEXT_ENUM(Stencil.FailFunc[1]), NO_EXTRA" ],
30498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_BACK_PASS_DEPTH_FAIL", "CONTEXT_ENUM(Stencil.ZFailFunc[1]), NO_EXTRA" ],
30598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_BACK_PASS_DEPTH_PASS", "CONTEXT_ENUM(Stencil.ZPassFunc[1]), NO_EXTRA" ],
30684732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_VERTEX_ATTRIBS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxAttribs), extra_ARB_vertex_program_api_es2" ],
30798f880e0c47229ae6b6063527276096259d60b5aImre Deak
30898f880e0c47229ae6b6063527276096259d60b5aImre Deak# OES_texture_3D
30998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_BINDING_3D", "LOC_CUSTOM, TYPE_INT, TEXTURE_3D_INDEX, NO_EXTRA" ],
31098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_3D_TEXTURE_SIZE", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, Const.Max3DTextureLevels), NO_EXTRA" ],
31198f880e0c47229ae6b6063527276096259d60b5aImre Deak
31298f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_fragment_program/OES_standard_derivatives
31398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FRAGMENT_SHADER_DERIVATIVE_HINT", "CONTEXT_ENUM(Hint.FragmentShaderDerivative), extra_ARB_fragment_shader" ],
31498f880e0c47229ae6b6063527276096259d60b5aImre Deak
31598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_NV_read_buffer
31698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "READ_BUFFER", "LOC_CUSTOM, TYPE_ENUM, NO_OFFSET, extra_NV_read_buffer_api_gl" ],
31792855727f1e0ce1a9861e8f7b6c3ca2b6ffbe440Matt Turner
31892855727f1e0ce1a9861e8f7b6c3ca2b6ffbe440Matt Turner# GL_ARB_ES2_compatibility
31992855727f1e0ce1a9861e8f7b6c3ca2b6ffbe440Matt Turner  [ "SHADER_COMPILER", "CONST(1), extra_ARB_ES2_compatibility_api_es2" ],
32092855727f1e0ce1a9861e8f7b6c3ca2b6ffbe440Matt Turner  [ "MAX_VARYING_VECTORS", "CONTEXT_INT(Const.MaxVarying), extra_ARB_ES2_compatibility_api_es2" ],
32192855727f1e0ce1a9861e8f7b6c3ca2b6ffbe440Matt Turner  [ "MAX_VERTEX_UNIFORM_VECTORS", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_ES2_compatibility_api_es2" ],
32292855727f1e0ce1a9861e8f7b6c3ca2b6ffbe440Matt Turner  [ "MAX_FRAGMENT_UNIFORM_VECTORS", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_ES2_compatibility_api_es2" ],
323a0029021681a61d01e5a4603a32cf1bfdfca1d43Ian Romanick  [ "NUM_SHADER_BINARY_FORMATS", "CONST(0), extra_ARB_ES2_compatibility_api_es2" ],
3240667e2c969c0931a1feee530508f8441a11bda32Ian Romanick  [ "SHADER_BINARY_FORMATS", "LOC_CUSTOM, TYPE_INVALID, 0, extra_ARB_ES2_compatibility_api_es2" ],
32550c5fac4e2cb0807c71f5c42d6e8015d636e6eefIan Romanick
32650c5fac4e2cb0807c71f5c42d6e8015d636e6eefIan Romanick# GL_ARB_get_program_binary / GL_OES_get_program_binary
327e6ec425d6eeac95f466174267b2c18c0bffca3f0Ian Romanick  [ "NUM_PROGRAM_BINARY_FORMATS", "CONST(0), NO_EXTRA" ],
328e6ec425d6eeac95f466174267b2c18c0bffca3f0Ian Romanick  [ "PROGRAM_BINARY_FORMATS", "LOC_CUSTOM, TYPE_INVALID, 0, NO_EXTRA" ],
329dac82ceac5d726ff8851051f671396cfbd1abc63Petri Latvala
330dac82ceac5d726ff8851051f671396cfbd1abc63Petri Latvala# GL_INTEL_performance_query
331dac82ceac5d726ff8851051f671396cfbd1abc63Petri Latvala  [ "PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL", "CONST(MAX_PERFQUERY_QUERY_NAME_LENGTH), extra_INTEL_performance_query" ],
332dac82ceac5d726ff8851051f671396cfbd1abc63Petri Latvala  [ "PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL", "CONST(MAX_PERFQUERY_COUNTER_NAME_LENGTH), extra_INTEL_performance_query" ],
333dac82ceac5d726ff8851051f671396cfbd1abc63Petri Latvala  [ "PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL", "CONST(MAX_PERFQUERY_COUNTER_DESC_LENGTH), extra_INTEL_performance_query" ],
334dac82ceac5d726ff8851051f671396cfbd1abc63Petri Latvala  [ "PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL", "CONST(PERFQUERY_HAVE_GPA_EXTENDED_COUNTERS), extra_INTEL_performance_query" ],
33560ec95fa1e0c42bd42358185970b20c9b81591faNeil Roberts
33660ec95fa1e0c42bd42358185970b20c9b81591faNeil Roberts# GL_KHR_context_flush_control
33760ec95fa1e0c42bd42358185970b20c9b81591faNeil Roberts  [ "CONTEXT_RELEASE_BEHAVIOR", "CONTEXT_ENUM(Const.ContextReleaseBehavior), NO_EXTRA" ],
338f7c23f225f37f96bf711ccc6b2a6315b64582b81Ryan Houdek
339f7c23f225f37f96bf711ccc6b2a6315b64582b81Ryan Houdek# blend_func_extended
340f7c23f225f37f96bf711ccc6b2a6315b64582b81Ryan Houdek  [ "MAX_DUAL_SOURCE_DRAW_BUFFERS", "CONTEXT_INT(Const.MaxDualSourceDrawBuffers), extra_ARB_blend_func_extended" ],
3411bf9b2a6008552f5fdb8908c24c446fd7261efddKenneth Graunke
3421bf9b2a6008552f5fdb8908c24c446fd7261efddKenneth Graunke# GL_KHR_blend_equation_advanced_coherent
3431bf9b2a6008552f5fdb8908c24c446fd7261efddKenneth Graunke  [ "BLEND_ADVANCED_COHERENT_KHR", "CONTEXT_BOOL(Color.BlendCoherent), extra_KHR_blend_equation_advanced_coherent" ],
3443bcdc2e3db8fb9f8e04d3504b6f331b484ebcc96Kenneth Graunke
3453bcdc2e3db8fb9f8e04d3504b6f331b484ebcc96Kenneth Graunke# GL_ARB_robustness / GL_KHR_robustness
346ef1600332009f0f526dc04b5d9dd6d430661e4f2Tapani Pälli  [ "CONTEXT_ROBUST_ACCESS", "CONTEXT_ENUM(Const.RobustAccess), extra_KHR_robustness" ],
3473bcdc2e3db8fb9f8e04d3504b6f331b484ebcc96Kenneth Graunke  [ "RESET_NOTIFICATION_STRATEGY_ARB", "CONTEXT_ENUM(Const.ResetStrategy), extra_KHR_robustness_or_GL" ],
34898f880e0c47229ae6b6063527276096259d60b5aImre Deak]},
34998f880e0c47229ae6b6063527276096259d60b5aImre Deak
3505bb1827d9537c6fca438baeae68eb097dcb44a65Matt Turner# GLES3 is not a typo.
3515bb1827d9537c6fca438baeae68eb097dcb44a65Matt Turner{ "apis": ["GL", "GLES", "GLES3", "GL_CORE"], "params": [
3525bb1827d9537c6fca438baeae68eb097dcb44a65Matt Turner# GL_EXT_texture_lod_bias
3535bb1827d9537c6fca438baeae68eb097dcb44a65Matt Turner  [ "MAX_TEXTURE_LOD_BIAS_EXT", "CONTEXT_FLOAT(Const.MaxTextureLodBias), NO_EXTRA" ],
3545bb1827d9537c6fca438baeae68eb097dcb44a65Matt Turner]},
3555bb1827d9537c6fca438baeae68eb097dcb44a65Matt Turner
3565bb1827d9537c6fca438baeae68eb097dcb44a65Matt Turner
357be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner# Enums in  OpenGL and ES 3.0
358be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner{ "apis": ["GL", "GL_CORE", "GLES3"], "params": [
35975b963c095d28e1a1b31753142e2d5f934b62f79Chad Versace# GL 3.0 / GLES3
36075b963c095d28e1a1b31753142e2d5f934b62f79Chad Versace  [ "NUM_EXTENSIONS", "LOC_CUSTOM, TYPE_INT, 0, extra_gl30_es3" ],
36175b963c095d28e1a1b31753142e2d5f934b62f79Chad Versace  [ "MAJOR_VERSION", "LOC_CUSTOM, TYPE_INT, 0, extra_gl30_es3" ],
36275b963c095d28e1a1b31753142e2d5f934b62f79Chad Versace  [ "MINOR_VERSION", "LOC_CUSTOM, TYPE_INT, 0, extra_gl30_es3" ],
36375b963c095d28e1a1b31753142e2d5f934b62f79Chad Versace
364df371e2b1b46cd8a8919dda8f387ec75a024f8f7Ian Romanick  # GL 3.2 / GLES3
36584732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_VERTEX_OUTPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxOutputComponents), extra_gl32_es3" ],
36684732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_FRAGMENT_INPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxInputComponents), extra_gl32_es3" ],
367bc8bfdc42cce18cf3a44f487b73460bebe8c2ae4Eric Anholt
368532e05a9d094fdcdeb2c8dfd0bec6eab82dc8163Matt Turner# GL_ARB_ES3_compatibility
369532e05a9d094fdcdeb2c8dfd0bec6eab82dc8163Matt Turner  [ "MAX_ELEMENT_INDEX", "CONTEXT_INT64(Const.MaxElementIndex), extra_ARB_ES3_compatibility_api_es3"],
370c27d23f0c8e952d8ec340c4c9cd3ad026cd6187bEduardo Lima Mitev  [ "PRIMITIVE_RESTART_FIXED_INDEX", "CONTEXT_BOOL(Array.PrimitiveRestartFixedIndex), extra_ARB_ES3_compatibility_api_es3" ],
371532e05a9d094fdcdeb2c8dfd0bec6eab82dc8163Matt Turner
372d9948e49d3c107ea05ca7277cdd440877cdf45feMatt Turner# GL_ARB_fragment_shader
37384732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxUniformComponents), extra_ARB_fragment_shader" ],
374d9948e49d3c107ea05ca7277cdd440877cdf45feMatt Turner
375d93c1b62f8382590b9051f4657a8a8b207f460deMatt Turner# GL_ARB_framebuffer_object
376d93c1b62f8382590b9051f4657a8a8b207f460deMatt Turner  [ "MAX_SAMPLES", "CONTEXT_INT(Const.MaxSamples), extra_ARB_framebuffer_object_EXT_framebuffer_multisample" ],
377d93c1b62f8382590b9051f4657a8a8b207f460deMatt Turner
378229450520a23ba211fd9f7b3c9bc80f291229ec1Emil Velikov# GL_ARB_sampler_objects / GL 3.3 / GLES 3.0
379229450520a23ba211fd9f7b3c9bc80f291229ec1Emil Velikov  [ "SAMPLER_BINDING", "LOC_CUSTOM, TYPE_INT, GL_SAMPLER_BINDING, NO_EXTRA" ],
380229450520a23ba211fd9f7b3c9bc80f291229ec1Emil Velikov
3813f1217607ab8fcbba36b3f6a9f1e1b4820379f81Matt Turner# GL_ARB_sync
3823f1217607ab8fcbba36b3f6a9f1e1b4820379f81Matt Turner  [ "MAX_SERVER_WAIT_TIMEOUT", "CONTEXT_INT64(Const.MaxServerWaitTimeout), extra_ARB_sync" ],
3833f1217607ab8fcbba36b3f6a9f1e1b4820379f81Matt Turner
384914415a63f7a77dcd346cec114db58e225e20467Matt Turner# GL_ARB_transform_feedback2
385914415a63f7a77dcd346cec114db58e225e20467Matt Turner  [ "TRANSFORM_FEEDBACK_BUFFER_PAUSED", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_transform_feedback2_api_es3" ],
386914415a63f7a77dcd346cec114db58e225e20467Matt Turner  [ "TRANSFORM_FEEDBACK_BUFFER_ACTIVE", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_transform_feedback2_api_es3" ],
387914415a63f7a77dcd346cec114db58e225e20467Matt Turner  [ "TRANSFORM_FEEDBACK_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_transform_feedback2_api_es3" ],
388914415a63f7a77dcd346cec114db58e225e20467Matt Turner
389be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner# GL_ARB_uniform_buffer_object
39084732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_VERTEX_UNIFORM_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxUniformBlocks), extra_ARB_uniform_buffer_object" ],
39184732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_FRAGMENT_UNIFORM_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxUniformBlocks), extra_ARB_uniform_buffer_object" ],
392be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner  [ "MAX_COMBINED_UNIFORM_BLOCKS", "CONTEXT_INT(Const.MaxCombinedUniformBlocks), extra_ARB_uniform_buffer_object" ],
393be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner  [ "MAX_UNIFORM_BLOCK_SIZE", "CONTEXT_INT(Const.MaxUniformBlockSize), extra_ARB_uniform_buffer_object" ],
394be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner  [ "MAX_UNIFORM_BUFFER_BINDINGS", "CONTEXT_INT(Const.MaxUniformBufferBindings), extra_ARB_uniform_buffer_object" ],
39584732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxCombinedUniformComponents), extra_ARB_uniform_buffer_object" ],
39684732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxCombinedUniformComponents), extra_ARB_uniform_buffer_object" ],
397be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner  [ "UNIFORM_BUFFER_OFFSET_ALIGNMENT", "CONTEXT_INT(Const.UniformBufferOffsetAlignment), extra_ARB_uniform_buffer_object" ],
398be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner  [ "UNIFORM_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_uniform_buffer_object" ],
3990a8866e75157edf1be473b198d6e461f6e1dc421Matt Turner
400d9948e49d3c107ea05ca7277cdd440877cdf45feMatt Turner# GL_ARB_vertex_shader
40184732a982c3eeaca2e2809532c8422dc5f7045c1Paul Berry  [ "MAX_VERTEX_UNIFORM_COMPONENTS_ARB", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxUniformComponents), extra_ARB_vertex_shader" ],
4023ee602314fc22054f69ee476f2e1037653d269bcMatt Turner  [ "MAX_VARYING_FLOATS_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_vertex_shader" ],
403d9948e49d3c107ea05ca7277cdd440877cdf45feMatt Turner
404e895d368e1ed8765255816560e5dede90db57f10Matt Turner# GL_EXT_framebuffer_blit
405e895d368e1ed8765255816560e5dede90db57f10Matt Turner# NOTE: GL_DRAW_FRAMEBUFFER_BINDING_EXT == GL_FRAMEBUFFER_BINDING_EXT
406a6729731af700d5a44525d583a83619b5e454084Ian Romanick  [ "READ_FRAMEBUFFER_BINDING_EXT", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
407e895d368e1ed8765255816560e5dede90db57f10Matt Turner
40811ace8a8272983a2d0bccae0d17537bc82763f54Eric Anholt# GL_EXT_gpu_shader4 / GLSL 1.30
40911ace8a8272983a2d0bccae0d17537bc82763f54Eric Anholt  [ "MIN_PROGRAM_TEXEL_OFFSET", "CONTEXT_INT(Const.MinProgramTexelOffset), extra_GLSL_130_es3" ],
41011ace8a8272983a2d0bccae0d17537bc82763f54Eric Anholt  [ "MAX_PROGRAM_TEXEL_OFFSET", "CONTEXT_INT(Const.MaxProgramTexelOffset), extra_GLSL_130_es3" ],
41111ace8a8272983a2d0bccae0d17537bc82763f54Eric Anholt
4120a8866e75157edf1be473b198d6e461f6e1dc421Matt Turner# GL_EXT_pixel_buffer_object
4130a8866e75157edf1be473b198d6e461f6e1dc421Matt Turner  [ "PIXEL_PACK_BUFFER_BINDING_EXT", "LOC_CUSTOM, TYPE_INT, 0, extra_EXT_pixel_buffer_object" ],
4140a8866e75157edf1be473b198d6e461f6e1dc421Matt Turner  [ "PIXEL_UNPACK_BUFFER_BINDING_EXT", "LOC_CUSTOM, TYPE_INT, 0, extra_EXT_pixel_buffer_object" ],
4153d0e4eb1347edd78a8524ad1320f0486367f826dMatt Turner
4167500ad23ebd5b61fba01490ce561ba24ee4a6947Eric Anholt  # GL_EXT_texture_array
417538a7f2a8082e748caa599636c01833332bd039aIan Romanick  [ "TEXTURE_BINDING_2D_ARRAY", "LOC_CUSTOM, TYPE_INT, TEXTURE_2D_ARRAY_INDEX, extra_EXT_texture_array_es3" ],
418538a7f2a8082e748caa599636c01833332bd039aIan Romanick  [ "MAX_ARRAY_TEXTURE_LAYERS_EXT", "CONTEXT_INT(Const.MaxArrayTextureLayers), extra_EXT_texture_array_es3" ],
4197500ad23ebd5b61fba01490ce561ba24ee4a6947Eric Anholt
4203d0e4eb1347edd78a8524ad1320f0486367f826dMatt Turner# GL_EXT_transform_feedback
4213d0e4eb1347edd78a8524ad1320f0486367f826dMatt Turner  [ "TRANSFORM_FEEDBACK_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_EXT_transform_feedback" ],
4223d0e4eb1347edd78a8524ad1320f0486367f826dMatt Turner  [ "RASTERIZER_DISCARD", "CONTEXT_BOOL(RasterDiscard), extra_EXT_transform_feedback" ],
4233d0e4eb1347edd78a8524ad1320f0486367f826dMatt Turner  [ "MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS", "CONTEXT_INT(Const.MaxTransformFeedbackInterleavedComponents), extra_EXT_transform_feedback" ],
4243d0e4eb1347edd78a8524ad1320f0486367f826dMatt Turner  [ "MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS", "CONTEXT_INT(Const.MaxTransformFeedbackBuffers), extra_EXT_transform_feedback" ],
4253d0e4eb1347edd78a8524ad1320f0486367f826dMatt Turner  [ "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS", "CONTEXT_INT(Const.MaxTransformFeedbackSeparateComponents), extra_EXT_transform_feedback" ],
426d68c1e2ac28bbf0ac6259e9619fb73958fc598b8Ilia Mirkin
427d68c1e2ac28bbf0ac6259e9619fb73958fc598b8Ilia Mirkin# GL_EXT_window_rectangles
428d68c1e2ac28bbf0ac6259e9619fb73958fc598b8Ilia Mirkin  [ "MAX_WINDOW_RECTANGLES_EXT", "CONTEXT_INT(Const.MaxWindowRectangles), extra_EXT_window_rectangles" ],
429d68c1e2ac28bbf0ac6259e9619fb73958fc598b8Ilia Mirkin  [ "NUM_WINDOW_RECTANGLES_EXT", "CONTEXT_INT(Scissor.NumWindowRects), extra_EXT_window_rectangles" ],
430d68c1e2ac28bbf0ac6259e9619fb73958fc598b8Ilia Mirkin  [ "WINDOW_RECTANGLE_MODE_EXT", "CONTEXT_ENUM(Scissor.WindowRectMode), extra_EXT_window_rectangles" ],
431be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner]},
432be68dae3747360b29a53f70af8e347c2436ec3ecMatt Turner
43398f880e0c47229ae6b6063527276096259d60b5aImre Deak{ "apis": ["GLES", "GLES2"], "params": [
434642aa58577bb0064c86fdd1a261a76a131886f06Francisco Jerez# GL_EXT_shader_framebuffer_fetch.  Should be true if the MESA framebuffer
435642aa58577bb0064c86fdd1a261a76a131886f06Francisco Jerez# fetch extension is supported since the latter imposes no restrictions on
436642aa58577bb0064c86fdd1a261a76a131886f06Francisco Jerez# non-uniform per-sample discard.
437642aa58577bb0064c86fdd1a261a76a131886f06Francisco Jerez  [ "FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT", "CONTEXT_BOOL(Extensions.MESA_shader_framebuffer_fetch), extra_EXT_shader_framebuffer_fetch" ],
43898f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_OES_EGL_image_external
43998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_BINDING_EXTERNAL_OES", "LOC_CUSTOM, TYPE_INT, TEXTURE_EXTERNAL_INDEX, extra_OES_EGL_image_external" ],
44098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_EXTERNAL_OES", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_OES_EGL_image_external" ],
44198f880e0c47229ae6b6063527276096259d60b5aImre Deak]},
44298f880e0c47229ae6b6063527276096259d60b5aImre Deak
4439ec50dc6bb192818dde221e561fb6be6c4bd417bMarta Lofstedt# Enums in OpenGL and ES 3.1
4449ec50dc6bb192818dde221e561fb6be6c4bd417bMarta Lofstedt{ "apis": ["GL", "GL_CORE", "GLES31"], "params": [
4459ec50dc6bb192818dde221e561fb6be6c4bd417bMarta Lofstedt# GL_ARB_shader_image_load_store / GLES 3.1
446a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_IMAGE_UNITS", "CONTEXT_INT(Const.MaxImageUnits), extra_ARB_shader_image_load_store" ],
447a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_VERTEX_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxImageUniforms), extra_ARB_shader_image_load_store" ],
448a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_FRAGMENT_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxImageUniforms), extra_ARB_shader_image_load_store" ],
449a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_COMBINED_IMAGE_UNIFORMS", "CONTEXT_INT(Const.MaxCombinedImageUniforms), extra_ARB_shader_image_load_store" ],
450cd14fcbca0a1dcecfdbee97a3524123ba87f901dMarta Lofstedt
451cd14fcbca0a1dcecfdbee97a3524123ba87f901dMarta Lofstedt# GL_ARB_shader_atomic_counters / GLES 3.1
452a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "ATOMIC_COUNTER_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_shader_atomic_counters" ],
453a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_ATOMIC_COUNTER_BUFFER_BINDINGS", "CONTEXT_INT(Const.MaxAtomicBufferBindings), extra_ARB_shader_atomic_counters" ],
454a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_ATOMIC_COUNTER_BUFFER_SIZE", "CONTEXT_INT(Const.MaxAtomicBufferSize), extra_ARB_shader_atomic_counters" ],
455a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_VERTEX_ATOMIC_COUNTER_BUFFERS", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxAtomicBuffers), extra_ARB_shader_atomic_counters" ],
456a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_VERTEX_ATOMIC_COUNTERS", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxAtomicCounters), extra_ARB_shader_atomic_counters" ],
457a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxAtomicBuffers), extra_ARB_shader_atomic_counters" ],
458a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_FRAGMENT_ATOMIC_COUNTERS", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxAtomicCounters), extra_ARB_shader_atomic_counters" ],
459a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_COMBINED_ATOMIC_COUNTER_BUFFERS", "CONTEXT_INT(Const.MaxCombinedAtomicBuffers), extra_ARB_shader_atomic_counters" ],
460a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_COMBINED_ATOMIC_COUNTERS", "CONTEXT_INT(Const.MaxCombinedAtomicCounters), extra_ARB_shader_atomic_counters" ],
461c561b2faa80d07eedfe201ffdbb3f7746e33a049Marta Lofstedt
462c561b2faa80d07eedfe201ffdbb3f7746e33a049Marta Lofstedt# GL_ARB_texture_multisample / GLES 3.1
463a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "TEXTURE_BINDING_2D_MULTISAMPLE", "LOC_CUSTOM, TYPE_INT, TEXTURE_2D_MULTISAMPLE_INDEX, extra_ARB_texture_multisample" ],
464a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_COLOR_TEXTURE_SAMPLES", "CONTEXT_INT(Const.MaxColorTextureSamples), extra_ARB_texture_multisample" ],
465a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_DEPTH_TEXTURE_SAMPLES", "CONTEXT_INT(Const.MaxDepthTextureSamples), extra_ARB_texture_multisample" ],
466a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_INTEGER_SAMPLES", "CONTEXT_INT(Const.MaxIntegerSamples), extra_ARB_texture_multisample" ],
467a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "SAMPLE_MASK", "CONTEXT_BOOL(Multisample.SampleMask), extra_ARB_texture_multisample" ],
468a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_SAMPLE_MASK_WORDS", "CONST(1), extra_ARB_texture_multisample" ],
46949021e5058130db299ac6843e34c5f5c53e565adMarta Lofstedt
47016ad1d2a8d9d1d2d816f8b8d70f1134a7d4ba8dcTapani Pälli# GL_ARB_texture_multisample / ES 3.1 with GL_OES_texture_storage_multisample_2d_array
47116ad1d2a8d9d1d2d816f8b8d70f1134a7d4ba8dcTapani Pälli  [ "TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY", "LOC_CUSTOM, TYPE_INT, TEXTURE_2D_MULTISAMPLE_ARRAY_INDEX, extra_ARB_texture_multisample" ],
47216ad1d2a8d9d1d2d816f8b8d70f1134a7d4ba8dcTapani Pälli
47349021e5058130db299ac6843e34c5f5c53e565adMarta Lofstedt# GL_ARB_texture_gather / GLES 3.1
474a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MIN_PROGRAM_TEXTURE_GATHER_OFFSET", "CONTEXT_INT(Const.MinProgramTextureGatherOffset), extra_ARB_texture_gather"],
475a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_PROGRAM_TEXTURE_GATHER_OFFSET", "CONTEXT_INT(Const.MaxProgramTextureGatherOffset), extra_ARB_texture_gather"],
47649db765debf9d1a810810935fafc3eef229e1511Marta Lofstedt
47749db765debf9d1a810810935fafc3eef229e1511Marta Lofstedt# GL_ARB_compute_shader / GLES 3.1
47849db765debf9d1a810810935fafc3eef229e1511Marta Lofstedt  [ "MAX_COMPUTE_WORK_GROUP_INVOCATIONS", "CONTEXT_INT(Const.MaxComputeWorkGroupInvocations), extra_ARB_compute_shader_es31" ],
479f2547883cfcc7c7629e09cb38c162ad7f5d77611Ilia Mirkin  [ "MAX_COMPUTE_UNIFORM_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxUniformBlocks), extra_ARB_compute_shader_es31" ],
480f2547883cfcc7c7629e09cb38c162ad7f5d77611Ilia Mirkin  [ "MAX_COMPUTE_TEXTURE_IMAGE_UNITS", "CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits), extra_ARB_compute_shader_es31" ],
481f2547883cfcc7c7629e09cb38c162ad7f5d77611Ilia Mirkin  [ "MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS", "CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxAtomicBuffers), extra_ARB_compute_shader_es31" ],
482f2547883cfcc7c7629e09cb38c162ad7f5d77611Ilia Mirkin  [ "MAX_COMPUTE_ATOMIC_COUNTERS", "CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxAtomicCounters), extra_ARB_compute_shader_es31" ],
483be27f772e8b97031bf5177523a74ff8738d5adeeSamuel Pitoiset  [ "MAX_COMPUTE_SHARED_MEMORY_SIZE", "CONTEXT_INT(Const.MaxComputeSharedMemorySize), extra_ARB_compute_shader_es31" ],
484f2547883cfcc7c7629e09cb38c162ad7f5d77611Ilia Mirkin  [ "MAX_COMPUTE_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxUniformComponents), extra_ARB_compute_shader_es31" ],
485f2547883cfcc7c7629e09cb38c162ad7f5d77611Ilia Mirkin  [ "MAX_COMPUTE_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxImageUniforms), extra_ARB_compute_shader_es31" ],
48612cf91db0236291ebaff71f602d929064b1ec096Jordan Justen  [ "DISPATCH_INDIRECT_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_compute_shader_es31" ],
487a4a416f5674f9bbe214056d8a456a2545f02f294Jordan Justen  [ "MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxCombinedUniformComponents), extra_ARB_compute_shader_es31" ],
488cb1cfb710c5a30f2e9b9ea1bca9d7ae0f23bcdfcMarta Lofstedt
489d770e2746c0b63e47dfd4ab1733ab304dd7222daMarta Lofstedt# GL_ARB_framebuffer_no_attachments / GLES 3.1
490d770e2746c0b63e47dfd4ab1733ab304dd7222daMarta Lofstedt  ["MAX_FRAMEBUFFER_WIDTH", "CONTEXT_INT(Const.MaxFramebufferWidth), extra_ARB_framebuffer_no_attachments"],
491d770e2746c0b63e47dfd4ab1733ab304dd7222daMarta Lofstedt  ["MAX_FRAMEBUFFER_HEIGHT", "CONTEXT_INT(Const.MaxFramebufferHeight), extra_ARB_framebuffer_no_attachments"],
492d770e2746c0b63e47dfd4ab1733ab304dd7222daMarta Lofstedt  ["MAX_FRAMEBUFFER_SAMPLES", "CONTEXT_INT(Const.MaxFramebufferSamples), extra_ARB_framebuffer_no_attachments"],
493d770e2746c0b63e47dfd4ab1733ab304dd7222daMarta Lofstedt
49477a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt# GL_ARB_framebuffer_no_attachments / geometry shader
49577a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_FRAMEBUFFER_LAYERS", "CONTEXT_INT(Const.MaxFramebufferLayers), extra_ARB_framebuffer_no_attachments_and_geometry_shader" ],
49677a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt
497cb1cfb710c5a30f2e9b9ea1bca9d7ae0f23bcdfcMarta Lofstedt# GL_ARB_explicit_uniform_location / GLES 3.1
498a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "MAX_UNIFORM_LOCATIONS", "CONTEXT_INT(Const.MaxUserAssignableUniformLocations), extra_ARB_explicit_uniform_location" ],
499ea69ae04dba501016e9faf5f71095908f011d29dMarta Lofstedt
5008f1ae9abeba6b6eaf0c14f4c78c674e5afbc38aaTapani Pälli# GL_ARB_separate_shader_objects / GLES 3.1
5018f1ae9abeba6b6eaf0c14f4c78c674e5afbc38aaTapani Pälli  [ "PROGRAM_PIPELINE_BINDING", "LOC_CUSTOM, TYPE_INT, GL_PROGRAM_PIPELINE_BINDING, NO_EXTRA" ],
5028f1ae9abeba6b6eaf0c14f4c78c674e5afbc38aaTapani Pälli
503ea69ae04dba501016e9faf5f71095908f011d29dMarta Lofstedt# GL_ARB_vertex_attrib_binding / GLES 3.1
504ea69ae04dba501016e9faf5f71095908f011d29dMarta Lofstedt  [ "MAX_VERTEX_ATTRIB_RELATIVE_OFFSET", "CONTEXT_ENUM(Const.MaxVertexAttribRelativeOffset), NO_EXTRA" ],
505ea69ae04dba501016e9faf5f71095908f011d29dMarta Lofstedt  [ "MAX_VERTEX_ATTRIB_BINDINGS", "CONTEXT_ENUM(Const.MaxVertexAttribBindings), NO_EXTRA" ],
506ea69ae04dba501016e9faf5f71095908f011d29dMarta Lofstedt
507ea69ae04dba501016e9faf5f71095908f011d29dMarta Lofstedt# GL 4.4 / GLES 3.1
508ea69ae04dba501016e9faf5f71095908f011d29dMarta Lofstedt  [ "MAX_VERTEX_ATTRIB_STRIDE", "CONTEXT_ENUM(Const.MaxVertexAttribStride), NO_EXTRA" ],
50910b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez
51010b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  # GL_ARB_shader_storage_buffer_object / GLES 3.1
51110b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  [ "MAX_VERTEX_SHADER_STORAGE_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_es31" ],
51210b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  [ "MAX_FRAGMENT_SHADER_STORAGE_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_es31" ],
51310b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  [ "MAX_COMPUTE_SHADER_STORAGE_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_es31" ],
51410b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  [ "MAX_COMBINED_SHADER_STORAGE_BLOCKS", "CONTEXT_INT(Const.MaxCombinedShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_es31" ],
51510b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  [ "MAX_SHADER_STORAGE_BLOCK_SIZE", "CONTEXT_INT(Const.MaxShaderStorageBlockSize), extra_ARB_shader_storage_buffer_object_es31" ],
51610b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  [ "MAX_SHADER_STORAGE_BUFFER_BINDINGS", "CONTEXT_INT(Const.MaxShaderStorageBufferBindings), extra_ARB_shader_storage_buffer_object_es31" ],
51710b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  [ "SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT", "CONTEXT_INT(Const.ShaderStorageBufferOffsetAlignment), extra_ARB_shader_storage_buffer_object_es31" ],
51810b5c6491f60d7cf119554f7d8e797b896707335Samuel Iglesias Gonsálvez  [ "SHADER_STORAGE_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_shader_storage_buffer_object_es31" ],
5199b68bdf6f8a06986340efa0c94afeeeb5580f9fdNicolai Hähnle
5209b68bdf6f8a06986340efa0c94afeeeb5580f9fdNicolai Hähnle  # GL_ARB_shader_image_load_store / GL_ARB_shader_storage_buffer_object / GLES 3.1
5219b68bdf6f8a06986340efa0c94afeeeb5580f9fdNicolai Hähnle  # (MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS in GL_ARB_shader_image_load_store)
5229b68bdf6f8a06986340efa0c94afeeeb5580f9fdNicolai Hähnle  [ "MAX_COMBINED_SHADER_OUTPUT_RESOURCES", "CONTEXT_INT(Const.MaxCombinedShaderOutputResources), extra_ARB_shader_image_load_store_shader_storage_buffer_object_es31" ],
523dc4f53b68308bbd79932470cf4613037f7e95fb7Ian Romanick
524dc4f53b68308bbd79932470cf4613037f7e95fb7Ian Romanick  # GL_ARB_texture_cube_map_array
525dc4f53b68308bbd79932470cf4613037f7e95fb7Ian Romanick  [ "TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB", "LOC_CUSTOM, TYPE_INT, TEXTURE_CUBE_ARRAY_INDEX, extra_ARB_texture_cube_map_array_OES_texture_cube_map_array" ],
5269ec50dc6bb192818dde221e561fb6be6c4bd417bMarta Lofstedt]},
5279ec50dc6bb192818dde221e561fb6be6c4bd417bMarta Lofstedt
5283002296cb68ebc9705b29e024e5fc67d5565ed46Ilia Mirkin# Enums in OpenGL Core profile and ES 3.0
5293002296cb68ebc9705b29e024e5fc67d5565ed46Ilia Mirkin{ "apis": ["GL_CORE", "GLES3"], "params": [
5303002296cb68ebc9705b29e024e5fc67d5565ed46Ilia Mirkin  # GL_ARB_gpu_shader5 / GL_OES_shader_multisample_interpolation
5313002296cb68ebc9705b29e024e5fc67d5565ed46Ilia Mirkin  [ "MIN_FRAGMENT_INTERPOLATION_OFFSET", "CONTEXT_FLOAT(Const.MinFragmentInterpolationOffset), extra_ARB_gpu_shader5_or_OES_sample_variables" ],
5323002296cb68ebc9705b29e024e5fc67d5565ed46Ilia Mirkin  [ "MAX_FRAGMENT_INTERPOLATION_OFFSET", "CONTEXT_FLOAT(Const.MaxFragmentInterpolationOffset), extra_ARB_gpu_shader5_or_OES_sample_variables" ],
5333002296cb68ebc9705b29e024e5fc67d5565ed46Ilia Mirkin  [ "FRAGMENT_INTERPOLATION_OFFSET_BITS", "CONST(FRAGMENT_INTERPOLATION_OFFSET_BITS), extra_ARB_gpu_shader5_or_OES_sample_variables" ],
5343002296cb68ebc9705b29e024e5fc67d5565ed46Ilia Mirkin]},
5353002296cb68ebc9705b29e024e5fc67d5565ed46Ilia Mirkin
53683624c141d3568217190933945c3243913e7ba2cTapani Pälli# Enums in OpenGL Core profile and ES 3.1
537a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin{ "apis": ["GL_CORE", "GLES31"], "params": [
53883624c141d3568217190933945c3243913e7ba2cTapani Pälli# GL_ARB_draw_indirect / GLES 3.1
539a3b617a25859ebbfe74b294b7e6bee7af1d24b8cIlia Mirkin  [ "DRAW_INDIRECT_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_draw_indirect" ],
54077a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt
54177a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt# GL 3.2 / GL OES_geometry_shader
54277a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_INPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxInputComponents), extra_version_32_OES_geometry_shader" ],
54377a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_OUTPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxOutputComponents), extra_version_32_OES_geometry_shader" ],
54477a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_TEXTURE_IMAGE_UNITS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits), extra_version_32_OES_geometry_shader" ],
54577a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_OUTPUT_VERTICES", "CONTEXT_INT(Const.MaxGeometryOutputVertices), extra_version_32_OES_geometry_shader" ],
54677a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS", "CONTEXT_INT(Const.MaxGeometryTotalOutputComponents), extra_version_32_OES_geometry_shader" ],
54777a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxUniformComponents), extra_version_32_OES_geometry_shader" ],
54877a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt
549722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke# GL_ARB_tessellation_shader / also OES and EXT
550722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "PATCH_VERTICES", "CONTEXT_INT(TessCtrlProgram.patch_vertices), extra_ARB_tessellation_shader" ],
551722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "PATCH_DEFAULT_OUTER_LEVEL", "CONTEXT_FLOAT4(TessCtrlProgram.patch_default_outer_level), extra_ARB_tessellation_shader" ],
552722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "PATCH_DEFAULT_INNER_LEVEL", "CONTEXT_FLOAT2(TessCtrlProgram.patch_default_inner_level), extra_ARB_tessellation_shader" ],
553722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_GEN_LEVEL", "CONTEXT_INT(Const.MaxTessGenLevel), extra_ARB_tessellation_shader" ],
554722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_PATCH_VERTICES", "CONTEXT_INT(Const.MaxPatchVertices), extra_ARB_tessellation_shader" ],
555722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxUniformComponents), extra_ARB_tessellation_shader" ],
556722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxUniformComponents), extra_ARB_tessellation_shader" ],
557722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxTextureImageUnits), extra_ARB_tessellation_shader" ],
558722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxTextureImageUnits), extra_ARB_tessellation_shader" ],
559722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_OUTPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxOutputComponents), extra_ARB_tessellation_shader" ],
560722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_PATCH_COMPONENTS", "CONTEXT_INT(Const.MaxTessPatchComponents), extra_ARB_tessellation_shader" ],
561722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS", "CONTEXT_INT(Const.MaxTessControlTotalOutputComponents), extra_ARB_tessellation_shader" ],
562722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_OUTPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxOutputComponents), extra_ARB_tessellation_shader" ],
563722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_INPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxInputComponents), extra_ARB_tessellation_shader" ],
564722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_INPUT_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxInputComponents), extra_ARB_tessellation_shader" ],
565722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_UNIFORM_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxUniformBlocks), extra_ARB_tessellation_shader" ],
566722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_UNIFORM_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxUniformBlocks), extra_ARB_tessellation_shader" ],
567722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxCombinedUniformComponents), extra_ARB_tessellation_shader" ],
568722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxCombinedUniformComponents), extra_ARB_tessellation_shader" ],
569722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED", "CONTEXT_BOOL(Const.PrimitiveRestartForPatches), extra_ARB_tessellation_shader" ],
570722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke
57177a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt# GL_ARB_shader_image_load_store / geometry shader
57277a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxImageUniforms), extra_ARB_shader_image_load_store_and_geometry_shader" ],
57377a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt
574722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke# GL_ARB_shader_image_load_store / tessellation shader
575722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxImageUniforms), extra_ARB_shader_image_load_store_and_tessellation"],
576722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_IMAGE_UNIFORMS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxImageUniforms), extra_ARB_shader_image_load_store_and_tessellation"],
577722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke
57877a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt# GL_ARB_shader_atomic_counters / geometry shader
57977a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxAtomicBuffers), extra_ARB_shader_atomic_counters_and_geometry_shader " ],
58077a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_ATOMIC_COUNTERS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxAtomicCounters), extra_ARB_shader_atomic_counters_and_geometry_shader" ],
58177a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt
582722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke# GL_ARB_shader_atomic_counters / tessellation shader
583722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxAtomicBuffers), extra_ARB_shader_atomic_counters_and_tessellation" ],
584722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_ATOMIC_COUNTERS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxAtomicCounters), extra_ARB_shader_atomic_counters_and_tessellation" ],
585722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxAtomicBuffers), extra_ARB_shader_atomic_counters_and_tessellation" ],
586722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_ATOMIC_COUNTERS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxAtomicCounters), extra_ARB_shader_atomic_counters_and_tessellation" ],
587722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke
58877a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt# GL_ARB_shader_storage_buffer_object / geometry shader
589f9b8b48bed2f35592a5e77d9404019e9603ee160Dave Airlie  [ "MAX_GEOMETRY_SHADER_STORAGE_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_and_geometry_shader" ],
59077a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt
591722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke# GL_ARB_shader_storage_buffer_object / tessellation shader
592722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object" ],
593722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke  [ "MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object" ],
594722fd10456f8e92d61c492b662a24215eb4cd166Kenneth Graunke
59577a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt# GL_ARB_uniform_buffer_object / geometry shader
59677a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_UNIFORM_BLOCKS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxUniformBlocks), extra_ARB_uniform_buffer_object_and_geometry_shader" ],
59777a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS", "CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxCombinedUniformComponents), extra_ARB_uniform_buffer_object_and_geometry_shader" ],
59877a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt
59977a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt# GL_ARB_viewport_array / GL_OES_geometry_shader
600d10ae20b9678f1a5b8a81716c68e612662665277Dave Airlie  [ "LAYER_PROVOKING_VERTEX", "CONTEXT_ENUM(Const.LayerAndVPIndexProvokingVertex), extra_ARB_viewport_array_or_oes_geometry_shader" ],
60177a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt
60277a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt# GL_ARB_gpu_shader5 / GL_OES_geometry_shader
60377a60ab5dc221f5ba75d216ae4b1974f34cf0f10Marta Lofstedt  [ "MAX_GEOMETRY_SHADER_INVOCATIONS", "CONST(MAX_GEOMETRY_SHADER_INVOCATIONS), extra_ARB_gpu_shader5_or_oes_geometry_shader" ],
604b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin
605b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin# GL_ARB_texture_buffer_object / GL_OES_texture_buffer
606b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin  [ "MAX_TEXTURE_BUFFER_SIZE_ARB", "CONTEXT_INT(Const.MaxTextureBufferSize), extra_texture_buffer_object" ],
607b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin  [ "TEXTURE_BINDING_BUFFER_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_texture_buffer_object" ],
608b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin  [ "TEXTURE_BUFFER_DATA_STORE_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, TEXTURE_BUFFER_INDEX, extra_texture_buffer_object" ],
609b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin  [ "TEXTURE_BUFFER_FORMAT_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_texture_buffer_object" ],
610b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin  [ "TEXTURE_BUFFER_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_texture_buffer_object" ],
611b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin
612b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin# GL_ARB_texture_buffer_range
613b4c0c514b10ed85b50e4fc3bbd9c740db21e5720Ilia Mirkin  [ "TEXTURE_BUFFER_OFFSET_ALIGNMENT", "CONTEXT_INT(Const.TextureBufferOffsetAlignment), extra_ARB_texture_buffer_range" ],
61410663c648e58762eb39c7670c9397b74521e8134Ilia Mirkin
61510663c648e58762eb39c7670c9397b74521e8134Ilia Mirkin# GL_OES_primitive_bounding_box
61610663c648e58762eb39c7670c9397b74521e8134Ilia Mirkin  [ "PRIMITIVE_BOUNDING_BOX_ARB", "CONTEXT_FLOAT8(PrimitiveBoundingBox), extra_OES_primitive_bounding_box" ],
617381b15dc20a42edd1125a5a47423a71d89064f7aIlia Mirkin
618381b15dc20a42edd1125a5a47423a71d89064f7aIlia Mirkin# GL_ARB_viewport_array / GL_OES_viewport_array
6190a7691ee62b220a19f9665a18520e13a8e646717Anuj Phogat  [ "MAX_VIEWPORTS", "CONTEXT_INT(Const.MaxViewports), extra_ARB_viewport_array_or_oes_viewport_array" ],
6200a7691ee62b220a19f9665a18520e13a8e646717Anuj Phogat  [ "VIEWPORT_SUBPIXEL_BITS", "CONTEXT_INT(Const.ViewportSubpixelBits), extra_ARB_viewport_array_or_oes_viewport_array" ],
6210a7691ee62b220a19f9665a18520e13a8e646717Anuj Phogat  [ "VIEWPORT_BOUNDS_RANGE", "CONTEXT_FLOAT2(Const.ViewportBounds), extra_ARB_viewport_array_or_oes_viewport_array" ],
6220a7691ee62b220a19f9665a18520e13a8e646717Anuj Phogat  [ "VIEWPORT_INDEX_PROVOKING_VERTEX", "CONTEXT_ENUM(Const.LayerAndVPIndexProvokingVertex), extra_ARB_viewport_array_or_oes_viewport_array" ],
62360330d730bc82fb602fd27a189970c91a55f3920Lionel Landwerlin
62460330d730bc82fb602fd27a189970c91a55f3920Lionel Landwerlin# INTEL_conservative_rasterization
62560330d730bc82fb602fd27a189970c91a55f3920Lionel Landwerlin  [ "CONSERVATIVE_RASTERIZATION_INTEL", "CONTEXT_BOOL(IntelConservativeRasterization), extra_INTEL_conservative_rasterization" ],
62683624c141d3568217190933945c3243913e7ba2cTapani Pälli]},
62783624c141d3568217190933945c3243913e7ba2cTapani Pälli
628a69dc2c41294a4b7126804050bd4d10f3208852eIlia Mirkin{ "apis": ["GL_CORE", "GLES32"], "params": [
629a69dc2c41294a4b7126804050bd4d10f3208852eIlia Mirkin  [ "MULTISAMPLE_LINE_WIDTH_RANGE_ARB", "CONTEXT_FLOAT2(Const.MinLineWidthAA), extra_ES32" ],
630a69dc2c41294a4b7126804050bd4d10f3208852eIlia Mirkin  [ "MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB", "CONTEXT_FLOAT(Const.LineWidthGranularity), extra_ES32" ],
631a69dc2c41294a4b7126804050bd4d10f3208852eIlia Mirkin]},
632a69dc2c41294a4b7126804050bd4d10f3208852eIlia Mirkin
6336b0ba02cae1526d6e6671a9ff620fd3bd7d4d032Kenneth Graunke{ "apis": ["GL", "GL_CORE", "GLES32"], "params": [
6346b0ba02cae1526d6e6671a9ff620fd3bd7d4d032Kenneth Graunke# GL 3.0 or ES 3.2
6356b0ba02cae1526d6e6671a9ff620fd3bd7d4d032Kenneth Graunke  [ "CONTEXT_FLAGS", "CONTEXT_INT(Const.ContextFlags), extra_version_30" ],
6366b0ba02cae1526d6e6671a9ff620fd3bd7d4d032Kenneth Graunke]},
6376b0ba02cae1526d6e6671a9ff620fd3bd7d4d032Kenneth Graunke
63898f880e0c47229ae6b6063527276096259d60b5aImre Deak# Remaining enums are only in OpenGL
63998f880e0c47229ae6b6063527276096259d60b5aImre Deak{ "apis": ["GL", "GL_CORE"], "params": [
64098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ACCUM_RED_BITS", "BUFFER_INT(Visual.accumRedBits), NO_EXTRA" ],
64198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ACCUM_GREEN_BITS", "BUFFER_INT(Visual.accumGreenBits), NO_EXTRA" ],
64298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ACCUM_BLUE_BITS", "BUFFER_INT(Visual.accumBlueBits), NO_EXTRA" ],
64398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ACCUM_ALPHA_BITS", "BUFFER_INT(Visual.accumAlphaBits), NO_EXTRA" ],
64498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ACCUM_CLEAR_VALUE", "CONTEXT_FIELD(Accum.ClearColor[0], TYPE_FLOATN_4), NO_EXTRA" ],
64598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ALPHA_BIAS", "CONTEXT_FLOAT(Pixel.AlphaBias), NO_EXTRA" ],
64698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ALPHA_SCALE", "CONTEXT_FLOAT(Pixel.AlphaScale), NO_EXTRA" ],
64798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ATTRIB_STACK_DEPTH", "CONTEXT_INT(AttribStackDepth), NO_EXTRA" ],
64898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "AUTO_NORMAL", "CONTEXT_BOOL(Eval.AutoNormal), NO_EXTRA" ],
64998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "AUX_BUFFERS", "BUFFER_INT(Visual.numAuxBuffers), NO_EXTRA" ],
65098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLUE_BIAS", "CONTEXT_FLOAT(Pixel.BlueBias), NO_EXTRA" ],
65198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "BLUE_SCALE", "CONTEXT_FLOAT(Pixel.BlueScale), NO_EXTRA" ],
65234a3c97fe6d273d68d2ee80386791832824f3211Mathias Fröhlich  [ "CLIP_DEPTH_MODE", "CONTEXT_ENUM(Transform.ClipDepthMode), extra_ARB_clip_control" ],
65334a3c97fe6d273d68d2ee80386791832824f3211Mathias Fröhlich  [ "CLIP_ORIGIN", "CONTEXT_ENUM(Transform.ClipOrigin), extra_ARB_clip_control" ],
65498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CLIENT_ATTRIB_STACK_DEPTH", "CONTEXT_INT(ClientAttribStackDepth), NO_EXTRA" ],
65598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COLOR_MATERIAL_FACE", "CONTEXT_ENUM(Light.ColorMaterialFace), NO_EXTRA" ],
65698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COLOR_MATERIAL_PARAMETER", "CONTEXT_ENUM(Light.ColorMaterialMode), NO_EXTRA" ],
65798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_INDEX", "CONTEXT_FLOAT(Current.Attrib[VERT_ATTRIB_COLOR_INDEX][0]), extra_flush_current" ],
65898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_RASTER_COLOR", "CONTEXT_FIELD(Current.RasterColor[0], TYPE_FLOATN_4), NO_EXTRA" ],
65998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_RASTER_DISTANCE", "CONTEXT_FLOAT(Current.RasterDistance), NO_EXTRA" ],
66098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_RASTER_INDEX", "CONST(1), NO_EXTRA" ],
66198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_RASTER_POSITION", "CONTEXT_FLOAT4(Current.RasterPos[0]), NO_EXTRA" ],
66298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_RASTER_SECONDARY_COLOR", "CONTEXT_FIELD(Current.RasterSecondaryColor[0], TYPE_FLOATN_4), NO_EXTRA" ],
66398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_RASTER_TEXTURE_COORDS", "LOC_CUSTOM, TYPE_FLOAT_4, 0, extra_valid_texture_unit" ],
66498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CURRENT_RASTER_POSITION_VALID", "CONTEXT_BOOL(Current.RasterPosValid), NO_EXTRA" ],
66598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_BIAS", "CONTEXT_FLOAT(Pixel.DepthBias), NO_EXTRA" ],
66698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_SCALE", "CONTEXT_FLOAT(Pixel.DepthScale), NO_EXTRA" ],
66798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DOUBLEBUFFER", "BUFFER_INT(Visual.doubleBufferMode), NO_EXTRA" ],
66898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DRAW_BUFFER", "BUFFER_ENUM(ColorDrawBuffer[0]), NO_EXTRA" ],
669b1390c7992c457f230cb5a7a64803b194de316e0Brian Paul  [ "EDGE_FLAG", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_flush_current" ],
67098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FEEDBACK_BUFFER_SIZE", "CONTEXT_INT(Feedback.BufferSize), NO_EXTRA" ],
67198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FEEDBACK_BUFFER_TYPE", "CONTEXT_ENUM(Feedback.Type), NO_EXTRA" ],
67298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG_INDEX", "CONTEXT_FLOAT(Fog.Index), NO_EXTRA" ],
67398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "GREEN_BIAS", "CONTEXT_FLOAT(Pixel.GreenBias), NO_EXTRA" ],
67498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "GREEN_SCALE", "CONTEXT_FLOAT(Pixel.GreenScale), NO_EXTRA" ],
67598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "INDEX_BITS", "BUFFER_INT(Visual.indexBits), extra_new_buffers" ],
67698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "INDEX_CLEAR_VALUE", "CONTEXT_INT(Color.ClearIndex), NO_EXTRA" ],
67798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "INDEX_MODE", "CONST(0) , NO_EXTRA" ],
67898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "INDEX_OFFSET", "CONTEXT_INT(Pixel.IndexOffset), NO_EXTRA" ],
67998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "INDEX_SHIFT", "CONTEXT_INT(Pixel.IndexShift), NO_EXTRA" ],
68098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "INDEX_WRITEMASK", "CONTEXT_INT(Color.IndexMask), NO_EXTRA" ],
68198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT_MODEL_COLOR_CONTROL", "CONTEXT_ENUM(Light.Model.ColorControl), NO_EXTRA" ],
68298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIGHT_MODEL_LOCAL_VIEWER", "CONTEXT_BOOL(Light.Model.LocalViewer), NO_EXTRA" ],
68398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LINE_STIPPLE", "CONTEXT_BOOL(Line.StippleFlag), NO_EXTRA" ],
68498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LINE_STIPPLE_PATTERN", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
68598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LINE_STIPPLE_REPEAT", "CONTEXT_INT(Line.StippleFactor), NO_EXTRA" ],
68698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LINE_WIDTH_GRANULARITY", "CONTEXT_FLOAT(Const.LineWidthGranularity), NO_EXTRA" ],
68798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIST_BASE", "CONTEXT_INT(List.ListBase), NO_EXTRA" ],
68898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIST_INDEX", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
68998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "LIST_MODE", "LOC_CUSTOM, TYPE_ENUM, 0, NO_EXTRA" ],
69098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "INDEX_LOGIC_OP", "CONTEXT_BOOL(Color.IndexLogicOpEnabled), NO_EXTRA" ],
69198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_COLOR_4", "CONTEXT_BOOL(Eval.Map1Color4), NO_EXTRA" ],
69298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_GRID_DOMAIN", "CONTEXT_FLOAT2(Eval.MapGrid1u1), NO_EXTRA" ],
69398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_GRID_SEGMENTS", "CONTEXT_INT(Eval.MapGrid1un), NO_EXTRA" ],
69498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_INDEX", "CONTEXT_BOOL(Eval.Map1Index), NO_EXTRA" ],
69598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_NORMAL", "CONTEXT_BOOL(Eval.Map1Normal), NO_EXTRA" ],
69698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_TEXTURE_COORD_1", "CONTEXT_BOOL(Eval.Map1TextureCoord1), NO_EXTRA" ],
69798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_TEXTURE_COORD_2", "CONTEXT_BOOL(Eval.Map1TextureCoord2), NO_EXTRA" ],
69898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_TEXTURE_COORD_3", "CONTEXT_BOOL(Eval.Map1TextureCoord3), NO_EXTRA" ],
69998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_TEXTURE_COORD_4", "CONTEXT_BOOL(Eval.Map1TextureCoord4), NO_EXTRA" ],
70098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_VERTEX_3", "CONTEXT_BOOL(Eval.Map1Vertex3), NO_EXTRA" ],
70198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP1_VERTEX_4", "CONTEXT_BOOL(Eval.Map1Vertex4), NO_EXTRA" ],
70298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_COLOR_4", "CONTEXT_BOOL(Eval.Map2Color4), NO_EXTRA" ],
70398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_GRID_DOMAIN", "LOC_CUSTOM, TYPE_FLOAT_4, 0, NO_EXTRA" ],
70498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_GRID_SEGMENTS", "CONTEXT_INT2(Eval.MapGrid2un), NO_EXTRA" ],
70598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_INDEX", "CONTEXT_BOOL(Eval.Map2Index), NO_EXTRA" ],
70698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_NORMAL", "CONTEXT_BOOL(Eval.Map2Normal), NO_EXTRA" ],
70798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_TEXTURE_COORD_1", "CONTEXT_BOOL(Eval.Map2TextureCoord1), NO_EXTRA" ],
70898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_TEXTURE_COORD_2", "CONTEXT_BOOL(Eval.Map2TextureCoord2), NO_EXTRA" ],
70998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_TEXTURE_COORD_3", "CONTEXT_BOOL(Eval.Map2TextureCoord3), NO_EXTRA" ],
71098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_TEXTURE_COORD_4", "CONTEXT_BOOL(Eval.Map2TextureCoord4), NO_EXTRA" ],
71198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_VERTEX_3", "CONTEXT_BOOL(Eval.Map2Vertex3), NO_EXTRA" ],
71298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP2_VERTEX_4", "CONTEXT_BOOL(Eval.Map2Vertex4), NO_EXTRA" ],
71398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP_COLOR", "CONTEXT_BOOL(Pixel.MapColorFlag), NO_EXTRA" ],
71498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAP_STENCIL", "CONTEXT_BOOL(Pixel.MapStencilFlag), NO_EXTRA" ],
71598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_ATTRIB_STACK_DEPTH", "CONST(MAX_ATTRIB_STACK_DEPTH), NO_EXTRA" ],
71698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_CLIENT_ATTRIB_STACK_DEPTH", "CONST(MAX_CLIENT_ATTRIB_STACK_DEPTH), NO_EXTRA" ],
71798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_EVAL_ORDER", "CONST(MAX_EVAL_ORDER), NO_EXTRA" ],
71898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_LIST_NESTING", "CONST(MAX_LIST_NESTING), NO_EXTRA" ],
71998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_NAME_STACK_DEPTH", "CONST(MAX_NAME_STACK_DEPTH), NO_EXTRA" ],
72098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_PIXEL_MAP_TABLE", "CONST(MAX_PIXEL_MAP_TABLE), NO_EXTRA" ],
72198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NAME_STACK_DEPTH", "CONTEXT_INT(Select.NameStackDepth), NO_EXTRA" ],
72298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_LSB_FIRST", "CONTEXT_BOOL(Pack.LsbFirst), NO_EXTRA" ],
72398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_SWAP_BYTES", "CONTEXT_BOOL(Pack.SwapBytes), NO_EXTRA" ],
72498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PACK_INVERT_MESA", "CONTEXT_BOOL(Pack.Invert), NO_EXTRA" ],
72598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_A_TO_A_SIZE", "CONTEXT_INT(PixelMaps.AtoA.Size), NO_EXTRA" ],
72698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_B_TO_B_SIZE", "CONTEXT_INT(PixelMaps.BtoB.Size), NO_EXTRA" ],
72798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_G_TO_G_SIZE", "CONTEXT_INT(PixelMaps.GtoG.Size), NO_EXTRA" ],
72898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_I_TO_A_SIZE", "CONTEXT_INT(PixelMaps.ItoA.Size), NO_EXTRA" ],
72998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_I_TO_B_SIZE", "CONTEXT_INT(PixelMaps.ItoB.Size), NO_EXTRA" ],
73098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_I_TO_G_SIZE", "CONTEXT_INT(PixelMaps.ItoG.Size), NO_EXTRA" ],
73198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_I_TO_I_SIZE", "CONTEXT_INT(PixelMaps.ItoI.Size), NO_EXTRA" ],
73298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_I_TO_R_SIZE", "CONTEXT_INT(PixelMaps.ItoR.Size), NO_EXTRA" ],
73398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_R_TO_R_SIZE", "CONTEXT_INT(PixelMaps.RtoR.Size), NO_EXTRA" ],
73498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PIXEL_MAP_S_TO_S_SIZE", "CONTEXT_INT(PixelMaps.StoS.Size), NO_EXTRA" ],
73598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SIZE_GRANULARITY", "CONTEXT_FLOAT(Const.PointSizeGranularity), NO_EXTRA" ],
73698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_MODE", "CONTEXT_ENUM2(Polygon.FrontMode), NO_EXTRA" ],
73798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_OFFSET_BIAS_EXT", "CONTEXT_FLOAT(Polygon.OffsetUnits), NO_EXTRA" ],
73898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_OFFSET_POINT", "CONTEXT_BOOL(Polygon.OffsetPoint), NO_EXTRA" ],
73998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_OFFSET_LINE", "CONTEXT_BOOL(Polygon.OffsetLine), NO_EXTRA" ],
74098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_SMOOTH", "CONTEXT_BOOL(Polygon.SmoothFlag), NO_EXTRA" ],
74198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_SMOOTH_HINT", "CONTEXT_ENUM(Hint.PolygonSmooth), NO_EXTRA" ],
74298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POLYGON_STIPPLE", "CONTEXT_BOOL(Polygon.StippleFlag), NO_EXTRA" ],
74398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "RED_BIAS", "CONTEXT_FLOAT(Pixel.RedBias), NO_EXTRA" ],
74498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "RED_SCALE", "CONTEXT_FLOAT(Pixel.RedScale), NO_EXTRA" ],
74598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "RENDER_MODE", "CONTEXT_ENUM(RenderMode), NO_EXTRA" ],
74698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "RGBA_MODE", "CONST(1), NO_EXTRA" ],
74798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "SELECTION_BUFFER_SIZE", "CONTEXT_INT(Select.BufferSize), NO_EXTRA" ],
74898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STEREO", "BUFFER_INT(Visual.stereoMode), NO_EXTRA" ],
74998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_1D", "LOC_CUSTOM, TYPE_BOOLEAN, NO_OFFSET, NO_EXTRA" ],
75098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_3D", "LOC_CUSTOM, TYPE_BOOLEAN, NO_OFFSET, NO_EXTRA" ],
75198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_BINDING_1D", "LOC_CUSTOM, TYPE_INT, TEXTURE_1D_INDEX, NO_EXTRA" ],
752538a7f2a8082e748caa599636c01833332bd039aIan Romanick  [ "TEXTURE_BINDING_1D_ARRAY", "LOC_CUSTOM, TYPE_INT, TEXTURE_1D_ARRAY_INDEX, extra_EXT_texture_array" ],
75398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_GEN_S", "LOC_TEXUNIT, TYPE_BIT_0, offsetof(struct gl_texture_unit, TexGenEnabled), NO_EXTRA" ],
75498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_GEN_T", "LOC_TEXUNIT, TYPE_BIT_1, offsetof(struct gl_texture_unit, TexGenEnabled), NO_EXTRA" ],
75598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_GEN_R", "LOC_TEXUNIT, TYPE_BIT_2, offsetof(struct gl_texture_unit, TexGenEnabled), NO_EXTRA" ],
75698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_GEN_Q", "LOC_TEXUNIT, TYPE_BIT_3, offsetof(struct gl_texture_unit, TexGenEnabled), NO_EXTRA" ],
75798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "UNPACK_LSB_FIRST", "CONTEXT_BOOL(Unpack.LsbFirst), NO_EXTRA" ],
75898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "UNPACK_SWAP_BYTES", "CONTEXT_BOOL(Unpack.SwapBytes), NO_EXTRA" ],
75998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ZOOM_X", "CONTEXT_FLOAT(Pixel.ZoomX), NO_EXTRA" ],
76098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ZOOM_Y", "CONTEXT_FLOAT(Pixel.ZoomY), NO_EXTRA" ],
76198f880e0c47229ae6b6063527276096259d60b5aImre Deak
76298f880e0c47229ae6b6063527276096259d60b5aImre Deak# Vertex arrays
76398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "VERTEX_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ],
76498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NORMAL_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ],
76598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COLOR_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ],
76659b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "INDEX_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled), NO_EXTRA" ],
76759b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "INDEX_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Type), NO_EXTRA" ],
76859b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "INDEX_ARRAY_STRIDE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Stride), NO_EXTRA" ],
76998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "INDEX_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ],
77098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_COORD_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ],
77159b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "EDGE_FLAG_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled), NO_EXTRA" ],
77259b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "EDGE_FLAG_ARRAY_STRIDE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_EDGEFLAG].Stride), NO_EXTRA" ],
77398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "EDGE_FLAG_ARRAY_COUNT_EXT", "CONST(0), NO_EXTRA" ],
77498f880e0c47229ae6b6063527276096259d60b5aImre Deak
77598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_texture_compression
77698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_COMPRESSION_HINT_ARB", "CONTEXT_INT(Hint.TextureCompression), NO_EXTRA" ],
77798f880e0c47229ae6b6063527276096259d60b5aImre Deak
77898f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_compiled_vertex_array
779cf9acc3833ef3848c5d37a1e9b06285eec8a9dd6Marek Olšák  [ "ARRAY_ELEMENT_LOCK_FIRST_EXT", "CONTEXT_INT(Array.LockFirst), NO_EXTRA" ],
780cf9acc3833ef3848c5d37a1e9b06285eec8a9dd6Marek Olšák  [ "ARRAY_ELEMENT_LOCK_COUNT_EXT", "CONTEXT_INT(Array.LockCount), NO_EXTRA" ],
78198f880e0c47229ae6b6063527276096259d60b5aImre Deak
78275a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes# GL_ARB_compressed_texture_pixel_storage
78375a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes  [ "UNPACK_COMPRESSED_BLOCK_WIDTH", "CONTEXT_INT(Unpack.CompressedBlockWidth), NO_EXTRA" ],
78475a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes  [ "UNPACK_COMPRESSED_BLOCK_HEIGHT", "CONTEXT_INT(Unpack.CompressedBlockHeight), NO_EXTRA" ],
78575a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes  [ "UNPACK_COMPRESSED_BLOCK_DEPTH", "CONTEXT_INT(Unpack.CompressedBlockDepth), NO_EXTRA" ],
78675a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes  [ "UNPACK_COMPRESSED_BLOCK_SIZE", "CONTEXT_INT(Unpack.CompressedBlockSize), NO_EXTRA" ],
78775a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes  [ "PACK_COMPRESSED_BLOCK_WIDTH", "CONTEXT_INT(Pack.CompressedBlockWidth), NO_EXTRA" ],
78875a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes  [ "PACK_COMPRESSED_BLOCK_HEIGHT", "CONTEXT_INT(Pack.CompressedBlockHeight), NO_EXTRA" ],
78975a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes  [ "PACK_COMPRESSED_BLOCK_DEPTH", "CONTEXT_INT(Pack.CompressedBlockDepth), NO_EXTRA" ],
79075a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes  [ "PACK_COMPRESSED_BLOCK_SIZE", "CONTEXT_INT(Pack.CompressedBlockSize), NO_EXTRA" ],
79175a5823749420bbbb71a00abe482bd40d4d2c97bChris Forbes
79298f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_transpose_matrix
79398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TRANSPOSE_MODELVIEW_MATRIX_ARB", "CONTEXT_MATRIX_T(ModelviewMatrixStack), NO_EXTRA" ],
79498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TRANSPOSE_PROJECTION_MATRIX_ARB", "CONTEXT_MATRIX_T(ProjectionMatrixStack.Top), NO_EXTRA" ],
79598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TRANSPOSE_TEXTURE_MATRIX_ARB", "CONTEXT_MATRIX_T(TextureMatrixStack), NO_EXTRA" ],
79698f880e0c47229ae6b6063527276096259d60b5aImre Deak
79798f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_secondary_color
798739dc95e676b31349525b7daf99453b987748248Ilia Mirkin  [ "COLOR_SUM", "CONTEXT_BOOL(Fog.ColorSumEnabled), NO_EXTRA" ],
799c139708087ead063da7ac64126af69f2fe7bcf1eIan Romanick  [ "CURRENT_SECONDARY_COLOR", "CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR1][0], TYPE_FLOATN_4), extra_flush_current" ],
80059b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "SECONDARY_COLOR_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_COLOR1].Enabled), NO_EXTRA" ],
80159b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "SECONDARY_COLOR_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_COLOR1].Type), NO_EXTRA" ],
80259b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "SECONDARY_COLOR_ARRAY_STRIDE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_COLOR1].Stride), NO_EXTRA" ],
803e3e13d6b857b3083e2553457fe30ddfd4eddead4José Fonseca  [ "SECONDARY_COLOR_ARRAY_SIZE", "LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA" ],
80498f880e0c47229ae6b6063527276096259d60b5aImre Deak
80598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_fog_coord
806338ea2e4d14b5bf30fe2820facd71333d5acd527Ian Romanick  [ "CURRENT_FOG_COORDINATE", "CONTEXT_FLOAT(Current.Attrib[VERT_ATTRIB_FOG][0]), extra_flush_current" ],
80759b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "FOG_COORDINATE_ARRAY", "ARRAY_BOOL(VertexAttrib[VERT_ATTRIB_FOG].Enabled), NO_EXTRA" ],
80859b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "FOG_COORDINATE_ARRAY_TYPE", "ARRAY_ENUM(VertexAttrib[VERT_ATTRIB_FOG].Type), NO_EXTRA" ],
80959b01ca252bd6706f08cd80a864819d71dfe741cFredrik Höglund  [ "FOG_COORDINATE_ARRAY_STRIDE", "ARRAY_INT(VertexAttrib[VERT_ATTRIB_FOG].Stride), NO_EXTRA" ],
810338ea2e4d14b5bf30fe2820facd71333d5acd527Ian Romanick  [ "FOG_COORDINATE_SOURCE", "CONTEXT_ENUM(Fog.FogCoordinateSource), NO_EXTRA" ],
81198f880e0c47229ae6b6063527276096259d60b5aImre Deak
81298f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_NV_fog_distance
81398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FOG_DISTANCE_MODE_NV", "CONTEXT_ENUM(Fog.FogDistanceMode), extra_NV_fog_distance" ],
81498f880e0c47229ae6b6063527276096259d60b5aImre Deak
81598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_IBM_rasterpos_clip
816cc07149276cc9ca310d41493f163978b4faad46bMarek Olšák  [ "RASTER_POSITION_UNCLIPPED_IBM", "CONTEXT_BOOL(Transform.RasterPositionUnclipped), NO_EXTRA" ],
81798f880e0c47229ae6b6063527276096259d60b5aImre Deak
81898f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_NV_point_sprite
81998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SPRITE_R_MODE_NV", "CONTEXT_ENUM(Point.SpriteRMode), extra_NV_point_sprite" ],
82098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "POINT_SPRITE_COORD_ORIGIN", "CONTEXT_ENUM(Point.SpriteOrigin), extra_NV_point_sprite_ARB_point_sprite" ],
82198f880e0c47229ae6b6063527276096259d60b5aImre Deak
82298f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_NV_texture_rectangle
82398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_RECTANGLE_NV", "LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_NV_texture_rectangle" ],
82498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_BINDING_RECTANGLE_NV", "LOC_CUSTOM, TYPE_INT, TEXTURE_RECT_INDEX, extra_NV_texture_rectangle" ],
82598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_RECTANGLE_TEXTURE_SIZE_NV", "CONTEXT_INT(Const.MaxTextureRectSize), extra_NV_texture_rectangle" ],
82698f880e0c47229ae6b6063527276096259d60b5aImre Deak
82798f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_stencil_two_side
82898f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "STENCIL_TEST_TWO_SIDE_EXT", "CONTEXT_BOOL(Stencil.TestTwoSide), extra_EXT_stencil_two_side" ],
82998f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "ACTIVE_STENCIL_FACE_EXT", "LOC_CUSTOM, TYPE_ENUM, NO_OFFSET, NO_EXTRA" ],
83098f880e0c47229ae6b6063527276096259d60b5aImre Deak
83198f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_NV_light_max_exponent
8327857dbeb171d6d674157e1b3ba49fefe4831257eMarek Olšák  [ "MAX_SHININESS_NV", "CONTEXT_FLOAT(Const.MaxShininess), NO_EXTRA" ],
8337857dbeb171d6d674157e1b3ba49fefe4831257eMarek Olšák  [ "MAX_SPOT_EXPONENT_NV", "CONTEXT_FLOAT(Const.MaxSpotExponent), NO_EXTRA" ],
83498f880e0c47229ae6b6063527276096259d60b5aImre Deak
83598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_NV_primitive_restart
83698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PRIMITIVE_RESTART_NV", "CONTEXT_BOOL(Array.PrimitiveRestart), extra_NV_primitive_restart" ],
83798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PRIMITIVE_RESTART_INDEX_NV", "CONTEXT_INT(Array.RestartIndex), extra_NV_primitive_restart" ],
83898f880e0c47229ae6b6063527276096259d60b5aImre Deak
83998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_vertex_buffer_object
840910bc4d12cdc2b5743ad379fddee45c8b0112762Brian Paul  [ "INDEX_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_COLOR_INDEX].BufferObj), NO_EXTRA" ],
841910bc4d12cdc2b5743ad379fddee45c8b0112762Brian Paul  [ "EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_EDGEFLAG].BufferObj), NO_EXTRA" ],
842910bc4d12cdc2b5743ad379fddee45c8b0112762Brian Paul  [ "SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_COLOR1].BufferObj), NO_EXTRA" ],
843910bc4d12cdc2b5743ad379fddee45c8b0112762Brian Paul  [ "FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_FOG].BufferObj), NO_EXTRA" ],
84498f880e0c47229ae6b6063527276096259d60b5aImre Deak
84598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_vertex_program
84698f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_VERTEX_PROGRAM_NV
8478b2fe73897b1d50fd99de3f66bf78fe3fc44bfeeEric Anholt  [ "VERTEX_PROGRAM_ARB", "CONTEXT_BOOL(VertexProgram.Enabled), extra_ARB_vertex_program" ],
84898f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_VERTEX_PROGRAM_POINT_SIZE_NV
8498b2fe73897b1d50fd99de3f66bf78fe3fc44bfeeEric Anholt  [ "VERTEX_PROGRAM_POINT_SIZE_ARB", "CONTEXT_BOOL(VertexProgram.PointSizeEnabled), extra_ARB_vertex_program" ],
85098f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_VERTEX_PROGRAM_TWO_SIDE_NV
8518b2fe73897b1d50fd99de3f66bf78fe3fc44bfeeEric Anholt  [ "VERTEX_PROGRAM_TWO_SIDE_ARB", "CONTEXT_BOOL(VertexProgram.TwoSideEnabled), extra_ARB_vertex_program" ],
85298f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV
8538b2fe73897b1d50fd99de3f66bf78fe3fc44bfeeEric Anholt  [ "MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB", "CONTEXT_INT(Const.MaxProgramMatrixStackDepth), extra_ARB_vertex_program_ARB_fragment_program" ],
85498f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_MAX_TRACK_MATRICES_NV
8558b2fe73897b1d50fd99de3f66bf78fe3fc44bfeeEric Anholt  [ "MAX_PROGRAM_MATRICES_ARB", "CONTEXT_INT(Const.MaxProgramMatrices), extra_ARB_vertex_program_ARB_fragment_program" ],
85698f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_CURRENT_MATRIX_STACK_DEPTH_NV
8578b2fe73897b1d50fd99de3f66bf78fe3fc44bfeeEric Anholt  [ "CURRENT_MATRIX_STACK_DEPTH_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_vertex_program_ARB_fragment_program" ],
85898f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_CURRENT_MATRIX_NV
8598b2fe73897b1d50fd99de3f66bf78fe3fc44bfeeEric Anholt  [ "CURRENT_MATRIX_ARB", "LOC_CUSTOM, TYPE_MATRIX, 0, extra_ARB_vertex_program_ARB_fragment_program" ],
86098f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_CURRENT_MATRIX_NV
8612b4fe85f0ea613463b8bba3149183eca97e98e75Chris Forbes  [ "TRANSPOSE_CURRENT_MATRIX_ARB", "LOC_CUSTOM, TYPE_MATRIX_T, 0, extra_ARB_vertex_program_ARB_fragment_program" ],
86298f880e0c47229ae6b6063527276096259d60b5aImre Deak# == GL_PROGRAM_ERROR_POSITION_NV
8638b2fe73897b1d50fd99de3f66bf78fe3fc44bfeeEric Anholt  [ "PROGRAM_ERROR_POSITION_ARB", "CONTEXT_INT(Program.ErrorPos), extra_ARB_vertex_program_ARB_fragment_program" ],
86498f880e0c47229ae6b6063527276096259d60b5aImre Deak
86598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_fragment_program
86698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FRAGMENT_PROGRAM_ARB", "CONTEXT_BOOL(FragmentProgram.Enabled), extra_ARB_fragment_program" ],
86798f880e0c47229ae6b6063527276096259d60b5aImre Deak
8683486f6f31b8cdb01e480cfbd8814c1e4222d26b0Brian Paul# GL_EXT_packed_float
8693486f6f31b8cdb01e480cfbd8814c1e4222d26b0Brian Paul  [ "RGBA_SIGNED_COMPONENTS_EXT", "LOC_CUSTOM, TYPE_INT_4, 0, extra_EXT_packed_float" ],
8703486f6f31b8cdb01e480cfbd8814c1e4222d26b0Brian Paul
87198f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_depth_bounds_test
87298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_BOUNDS_TEST_EXT", "CONTEXT_BOOL(Depth.BoundsTest), extra_EXT_depth_bounds_test" ],
87398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_BOUNDS_EXT", "CONTEXT_FLOAT2(Depth.BoundsMin), extra_EXT_depth_bounds_test" ],
87498f880e0c47229ae6b6063527276096259d60b5aImre Deak
87598f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_depth_clamp
87698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "DEPTH_CLAMP", "CONTEXT_BOOL(Transform.DepthClamp), extra_ARB_depth_clamp" ],
87798f880e0c47229ae6b6063527276096259d60b5aImre Deak
87898f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ATI_fragment_shader
879aa37cbdff7bb1d2170f1603b02a8b8517255894fKenneth Graunke  [ "FRAGMENT_SHADER_ATI", "CONTEXT_BOOL(ATIFragmentShader.Enabled), extra_ATI_fragment_shader" ],
88098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NUM_FRAGMENT_REGISTERS_ATI", "CONST(6), extra_ATI_fragment_shader" ],
88198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NUM_FRAGMENT_CONSTANTS_ATI", "CONST(8), extra_ATI_fragment_shader" ],
88298f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NUM_PASSES_ATI", "CONST(2), extra_ATI_fragment_shader" ],
88398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NUM_INSTRUCTIONS_PER_PASS_ATI", "CONST(8), extra_ATI_fragment_shader" ],
88498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NUM_INSTRUCTIONS_TOTAL_ATI", "CONST(16), extra_ATI_fragment_shader" ],
88598f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "COLOR_ALPHA_PAIRING_ATI", "CONST(GL_TRUE), extra_ATI_fragment_shader" ],
88698f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NUM_LOOPBACK_COMPONENTS_ATI", "CONST(3), extra_ATI_fragment_shader" ],
88798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI", "CONST(3), extra_ATI_fragment_shader" ],
88898f880e0c47229ae6b6063527276096259d60b5aImre Deak
88998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_provoking_vertex
89098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PROVOKING_VERTEX_EXT", "CONTEXT_ENUM(Light.ProvokingVertex), extra_EXT_provoking_vertex" ],
89198f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT", "CONTEXT_BOOL(Const.QuadsFollowProvokingVertexConvention), extra_EXT_provoking_vertex" ],
89298f880e0c47229ae6b6063527276096259d60b5aImre Deak
89398f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_seamless_cube_map
89498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TEXTURE_CUBE_MAP_SEAMLESS", "CONTEXT_BOOL(Texture.CubeMapSeamless), extra_ARB_seamless_cube_map" ],
89598f880e0c47229ae6b6063527276096259d60b5aImre Deak
89698f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_EXT_texture_integer
897ff00ab745c9a9d6ef35239ea656a5db0c76de52dBrian Paul  [ "RGBA_INTEGER_MODE_EXT", "LOC_CUSTOM, TYPE_INT, 0, extra_EXT_texture_integer_and_new_buffers" ],
89898f880e0c47229ae6b6063527276096259d60b5aImre Deak
89998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_transform_feedback3
90098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "MAX_TRANSFORM_FEEDBACK_BUFFERS", "CONTEXT_INT(Const.MaxTransformFeedbackBuffers), extra_ARB_transform_feedback3" ],
901020c43f401e671e80ac90182415cbbed1575dde4Jordan Justen  [ "MAX_VERTEX_STREAMS", "CONTEXT_INT(Const.MaxVertexStreams), extra_ARB_transform_feedback3_ARB_gpu_shader5" ],
90298f880e0c47229ae6b6063527276096259d60b5aImre Deak
90398f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_color_buffer_float
904b6475f9437bbd080524b0b871a12c681dfc82f06Marek Olšák  [ "RGBA_FLOAT_MODE_ARB", "BUFFER_FIELD(Visual.floatMode, TYPE_BOOLEAN), extra_core_ARB_color_buffer_float_and_new_buffers" ],
90598f880e0c47229ae6b6063527276096259d60b5aImre Deak
90698f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL3.0 / GL_EXT_framebuffer_sRGB
90798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "FRAMEBUFFER_SRGB_EXT", "CONTEXT_BOOL(Color.sRGBEnabled), extra_EXT_framebuffer_sRGB" ],
908b6475f9437bbd080524b0b871a12c681dfc82f06Marek Olšák  [ "FRAMEBUFFER_SRGB_CAPABLE_EXT", "BUFFER_INT(Visual.sRGBCapable), extra_EXT_framebuffer_sRGB_and_new_buffers" ],
90998f880e0c47229ae6b6063527276096259d60b5aImre Deak
91098f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL 3.1
91198f880e0c47229ae6b6063527276096259d60b5aImre Deak# NOTE: different enum values for GL_PRIMITIVE_RESTART_NV
91298f880e0c47229ae6b6063527276096259d60b5aImre Deak# vs. GL_PRIMITIVE_RESTART!
91398f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PRIMITIVE_RESTART", "CONTEXT_BOOL(Array.PrimitiveRestart), extra_version_31" ],
91498f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "PRIMITIVE_RESTART_INDEX", "CONTEXT_INT(Array.RestartIndex), extra_version_31" ],
91598f880e0c47229ae6b6063527276096259d60b5aImre Deak
91698f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL 3.2
91798f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "CONTEXT_PROFILE_MASK", "CONTEXT_INT(Const.ProfileMask), extra_version_32" ],
91898f880e0c47229ae6b6063527276096259d60b5aImre Deak
91998f880e0c47229ae6b6063527276096259d60b5aImre Deak# GL_ARB_timer_query
92098f880e0c47229ae6b6063527276096259d60b5aImre Deak  [ "TIMESTAMP", "LOC_CUSTOM, TYPE_INT64, 0, extra_ARB_timer_query" ],
921f2f782d50fa9ba3e2352a404f812a51451b20ae5Marek Olšák
922f2f782d50fa9ba3e2352a404f812a51451b20ae5Marek Olšák# GL_ARB_map_buffer_alignment
9237fd6ad7adcf8a1c0fc1b2746d47ba5f05b8a3c7fSiavash Eliasi  [ "MIN_MAP_BUFFER_ALIGNMENT", "CONTEXT_INT(Const.MinMapBufferAlignment), NO_EXTRA" ],
9242c52c0e1cec60003c03b6f6a61ead0c12b5ece25Dave Airlie
925d3575622b7897c88c62e4f57341c196eb913c960Maxence Le Doré# GL_ARB_texture_gather
926d3575622b7897c88c62e4f57341c196eb913c960Maxence Le Doré  [ "MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB", "CONTEXT_INT(Const.MaxProgramTextureGatherComponents), extra_ARB_texture_gather"],
927d3575622b7897c88c62e4f57341c196eb913c960Maxence Le Doré
928902f9df36bec7d67a2d8bc4c24d89d9d57964903Francisco Jerez# GL_ARB_shader_image_load_store
9299ec50dc6bb192818dde221e561fb6be6c4bd417bMarta Lofstedt  [ "MAX_IMAGE_SAMPLES", "CONTEXT_INT(Const.MaxImageSamples), extra_ARB_shader_image_load_store" ],
930539cb2b76efd02f14798cad0a5462ee9ed27aa83Ilia Mirkin
9313efcd4df014a6a083d48a22cb1fe03828abdf1bcRafal Mielniczuk# GL_ARB_query_buffer_object
9323efcd4df014a6a083d48a22cb1fe03828abdf1bcRafal Mielniczuk  [ "QUERY_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_query_buffer_object" ],
9331d79b9958090d5606212a56c2173626519f00ca8Marek Olšák
934837f74aa511321c87bee768e463a0248d689c55dMarek Olšák# GL_ATI_meminfo
935837f74aa511321c87bee768e463a0248d689c55dMarek Olšák  [ "VBO_FREE_MEMORY_ATI", "LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo" ],
936837f74aa511321c87bee768e463a0248d689c55dMarek Olšák  [ "TEXTURE_FREE_MEMORY_ATI", "LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo" ],
937837f74aa511321c87bee768e463a0248d689c55dMarek Olšák  [ "RENDERBUFFER_FREE_MEMORY_ATI", "LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo" ],
938837f74aa511321c87bee768e463a0248d689c55dMarek Olšák
9391d79b9958090d5606212a56c2173626519f00ca8Marek Olšák# GL_NVX_gpu_memory_info
9401d79b9958090d5606212a56c2173626519f00ca8Marek Olšák  [ "GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX", "LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info" ],
9411d79b9958090d5606212a56c2173626519f00ca8Marek Olšák  [ "GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX", "LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info" ],
9421d79b9958090d5606212a56c2173626519f00ca8Marek Olšák  [ "GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX", "LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info" ],
9431d79b9958090d5606212a56c2173626519f00ca8Marek Olšák  [ "GPU_MEMORY_INFO_EVICTION_COUNT_NVX", "LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info" ],
9441d79b9958090d5606212a56c2173626519f00ca8Marek Olšák  [ "GPU_MEMORY_INFO_EVICTED_MEMORY_NVX", "LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info" ],
945eb18fea707fd7859e712ee7279e9acc68e177cebTobias Klausmann
946eb18fea707fd7859e712ee7279e9acc68e177cebTobias Klausmann# GL_ARB_cull_distance
947eb18fea707fd7859e712ee7279e9acc68e177cebTobias Klausmann  [ "MAX_CULL_DISTANCES", "CONTEXT_INT(Const.MaxClipPlanes), extra_ARB_cull_distance" ],
948eb18fea707fd7859e712ee7279e9acc68e177cebTobias Klausmann  [ "MAX_COMBINED_CLIP_AND_CULL_DISTANCES", "CONTEXT_INT(Const.MaxClipPlanes), extra_ARB_cull_distance" ],
94945ab63c0cb274b20a7ae1f390b123e13a5b46c98Samuel Pitoiset
95045ab63c0cb274b20a7ae1f390b123e13a5b46c98Samuel Pitoiset# GL_ARB_compute_variable_group_size
95145ab63c0cb274b20a7ae1f390b123e13a5b46c98Samuel Pitoiset  [ "MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB", "CONTEXT_INT(Const.MaxComputeVariableGroupInvocations), extra_ARB_compute_variable_group_size" ],
952785a8c3bebac838b675ac891aaadff4efcb504d8Christoph Bumiller]},
953785a8c3bebac838b675ac891aaadff4efcb504d8Christoph Bumiller
954785a8c3bebac838b675ac891aaadff4efcb504d8Christoph Bumiller# Enums restricted to OpenGL Core profile
955785a8c3bebac838b675ac891aaadff4efcb504d8Christoph Bumiller{ "apis": ["GL_CORE"], "params": [
95625d6f56c08801909e784f81e9b9ced48977630f4Chris Forbes# GL_ARB_shader_subroutine
95725d6f56c08801909e784f81e9b9ced48977630f4Chris Forbes  [ "MAX_SUBROUTINES", "CONST(MAX_SUBROUTINES), extra_ARB_shader_subroutine" ],
95825d6f56c08801909e784f81e9b9ced48977630f4Chris Forbes  [ "MAX_SUBROUTINE_UNIFORM_LOCATIONS", "CONST(MAX_SUBROUTINE_UNIFORM_LOCATIONS), extra_ARB_shader_subroutine" ],
9599327e2d312e5da58f1cf4dbb806c67fcefd892f5Ilia Mirkin
9609327e2d312e5da58f1cf4dbb806c67fcefd892f5Ilia Mirkin# GL_ARB_indirect_parameters
9619327e2d312e5da58f1cf4dbb806c67fcefd892f5Ilia Mirkin  [ "PARAMETER_BUFFER_BINDING_ARB", "LOC_CUSTOM, TYPE_INT, 0, extra_ARB_indirect_parameters" ],
9629327e2d312e5da58f1cf4dbb806c67fcefd892f5Ilia Mirkin
96398f880e0c47229ae6b6063527276096259d60b5aImre Deak]}
96498f880e0c47229ae6b6063527276096259d60b5aImre Deak
96598f880e0c47229ae6b6063527276096259d60b5aImre Deak]
966