1848b8605Smrgtypedef const unsigned short table_t[1024]; 2848b8605Smrg 3848b8605Smrgstatic const int prime_factor = 89, prime_step = 281; 4848b8605Smrg 5848b8605Smrgstatic const struct value_desc values[] = { 6848b8605Smrg { 0, }, 7848b8605Smrg { GL_ALPHA_BITS, BUFFER_INT(Visual.alphaBits), extra_new_buffers }, 8848b8605Smrg { GL_BLEND, CONTEXT_BIT0(Color.BlendEnabled), NO_EXTRA }, 9b8e80941Smrg { GL_BLEND_SRC, CONTEXT_ENUM16(Color.Blend[0].SrcRGB), NO_EXTRA }, 10848b8605Smrg { GL_BLUE_BITS, BUFFER_INT(Visual.blueBits), extra_new_buffers }, 11848b8605Smrg { GL_COLOR_CLEAR_VALUE, LOC_CUSTOM, TYPE_FLOATN_4, 0, extra_new_frag_clamp }, 12848b8605Smrg { GL_COLOR_WRITEMASK, LOC_CUSTOM, TYPE_INT_4, 0, NO_EXTRA }, 13848b8605Smrg { GL_CULL_FACE, CONTEXT_BOOL(Polygon.CullFlag), NO_EXTRA }, 14b8e80941Smrg { GL_CULL_FACE_MODE, CONTEXT_ENUM16(Polygon.CullFaceMode), NO_EXTRA }, 15848b8605Smrg { GL_DEPTH_BITS, BUFFER_INT(Visual.depthBits), extra_new_buffers }, 16848b8605Smrg { GL_DEPTH_CLEAR_VALUE, CONTEXT_FIELD(Depth.Clear, TYPE_DOUBLEN), NO_EXTRA }, 17b8e80941Smrg { GL_DEPTH_FUNC, CONTEXT_ENUM16(Depth.Func), NO_EXTRA }, 18848b8605Smrg { GL_DEPTH_RANGE, LOC_CUSTOM, TYPE_DOUBLEN_2, 0, NO_EXTRA }, 19848b8605Smrg { GL_DEPTH_TEST, CONTEXT_BOOL(Depth.Test), NO_EXTRA }, 20848b8605Smrg { GL_DEPTH_WRITEMASK, CONTEXT_BOOL(Depth.Mask), NO_EXTRA }, 21848b8605Smrg { GL_DITHER, CONTEXT_BOOL(Color.DitherFlag), NO_EXTRA }, 22b8e80941Smrg { GL_FRONT_FACE, CONTEXT_ENUM16(Polygon.FrontFace), NO_EXTRA }, 23848b8605Smrg { GL_GREEN_BITS, BUFFER_INT(Visual.greenBits), extra_new_buffers }, 24848b8605Smrg { GL_LINE_WIDTH, CONTEXT_FLOAT(Line.Width), NO_EXTRA }, 25848b8605Smrg { GL_ALIASED_LINE_WIDTH_RANGE, CONTEXT_FLOAT2(Const.MinLineWidth), NO_EXTRA }, 26848b8605Smrg { GL_MAX_ELEMENTS_VERTICES, CONTEXT_INT(Const.MaxArrayLockSize), NO_EXTRA }, 27848b8605Smrg { GL_MAX_ELEMENTS_INDICES, CONTEXT_INT(Const.MaxArrayLockSize), NO_EXTRA }, 28848b8605Smrg { GL_MAX_TEXTURE_SIZE, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, Const.MaxTextureLevels), NO_EXTRA }, 29848b8605Smrg { GL_MAX_VIEWPORT_DIMS, CONTEXT_INT2(Const.MaxViewportWidth), NO_EXTRA }, 30848b8605Smrg { GL_PACK_ALIGNMENT, CONTEXT_INT(Pack.Alignment), NO_EXTRA }, 31848b8605Smrg { GL_ALIASED_POINT_SIZE_RANGE, CONTEXT_FLOAT2(Const.MinPointSize), NO_EXTRA }, 32848b8605Smrg { GL_POLYGON_OFFSET_FACTOR, CONTEXT_FLOAT(Polygon.OffsetFactor ), NO_EXTRA }, 33848b8605Smrg { GL_POLYGON_OFFSET_UNITS, CONTEXT_FLOAT(Polygon.OffsetUnits ), NO_EXTRA }, 34848b8605Smrg { GL_POLYGON_OFFSET_FILL, CONTEXT_BOOL(Polygon.OffsetFill), NO_EXTRA }, 35848b8605Smrg { GL_RED_BITS, BUFFER_INT(Visual.redBits), extra_new_buffers }, 36848b8605Smrg { GL_SCISSOR_BOX, LOC_CUSTOM, TYPE_INT_4, 0, NO_EXTRA }, 37848b8605Smrg { GL_SCISSOR_TEST, LOC_CUSTOM, TYPE_BOOLEAN, NO_OFFSET, NO_EXTRA }, 38848b8605Smrg { GL_STENCIL_BITS, BUFFER_INT(Visual.stencilBits), extra_new_buffers }, 39848b8605Smrg { GL_STENCIL_CLEAR_VALUE, CONTEXT_INT(Stencil.Clear), NO_EXTRA }, 40b8e80941Smrg { GL_STENCIL_FAIL, LOC_CUSTOM, TYPE_ENUM16, NO_OFFSET, NO_EXTRA }, 41b8e80941Smrg { GL_STENCIL_FUNC, LOC_CUSTOM, TYPE_ENUM16, NO_OFFSET, NO_EXTRA }, 42b8e80941Smrg { GL_STENCIL_PASS_DEPTH_FAIL, LOC_CUSTOM, TYPE_ENUM16, NO_OFFSET, NO_EXTRA }, 43b8e80941Smrg { GL_STENCIL_PASS_DEPTH_PASS, LOC_CUSTOM, TYPE_ENUM16, NO_OFFSET, NO_EXTRA }, 44b8e80941Smrg { GL_STENCIL_REF, LOC_CUSTOM, TYPE_UINT, NO_OFFSET, NO_EXTRA }, 45848b8605Smrg { GL_STENCIL_TEST, CONTEXT_BOOL(Stencil.Enabled), NO_EXTRA }, 46b8e80941Smrg { GL_STENCIL_VALUE_MASK, LOC_CUSTOM, TYPE_UINT, NO_OFFSET, NO_EXTRA }, 47b8e80941Smrg { GL_STENCIL_WRITEMASK, LOC_CUSTOM, TYPE_UINT, NO_OFFSET, NO_EXTRA }, 48848b8605Smrg { GL_SUBPIXEL_BITS, CONTEXT_INT(Const.SubPixelBits), NO_EXTRA }, 49848b8605Smrg { GL_TEXTURE_BINDING_2D, LOC_CUSTOM, TYPE_INT, TEXTURE_2D_INDEX, NO_EXTRA }, 50848b8605Smrg { GL_UNPACK_ALIGNMENT, CONTEXT_INT(Unpack.Alignment), NO_EXTRA }, 51848b8605Smrg { GL_VIEWPORT, LOC_CUSTOM, TYPE_FLOAT_4, 0, NO_EXTRA }, 52848b8605Smrg { GL_ACTIVE_TEXTURE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 53848b8605Smrg { GL_TEXTURE_BINDING_CUBE_MAP_ARB, LOC_CUSTOM, TYPE_INT, TEXTURE_CUBE_INDEX, extra_ARB_texture_cube_map }, 54848b8605Smrg { GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, Const.MaxCubeTextureLevels), extra_ARB_texture_cube_map }, 55b8e80941Smrg { GL_BLEND_SRC_RGB, CONTEXT_ENUM16(Color.Blend[0].SrcRGB), NO_EXTRA }, 56b8e80941Smrg { GL_BLEND_DST_RGB, CONTEXT_ENUM16(Color.Blend[0].DstRGB), NO_EXTRA }, 57b8e80941Smrg { GL_BLEND_SRC_ALPHA, CONTEXT_ENUM16(Color.Blend[0].SrcA), NO_EXTRA }, 58b8e80941Smrg { GL_BLEND_DST_ALPHA, CONTEXT_ENUM16(Color.Blend[0].DstA), NO_EXTRA }, 59b8e80941Smrg { GL_BLEND_EQUATION, CONTEXT_ENUM16(Color.Blend[0].EquationRGB), NO_EXTRA }, 60b8e80941Smrg { GL_BLEND_EQUATION_ALPHA_EXT, CONTEXT_ENUM16(Color.Blend[0].EquationA), NO_EXTRA }, 61848b8605Smrg { GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 62848b8605Smrg { GL_COMPRESSED_TEXTURE_FORMATS, LOC_CUSTOM, TYPE_INT_N, 0, NO_EXTRA }, 63848b8605Smrg { GL_SAMPLE_ALPHA_TO_COVERAGE_ARB, CONTEXT_BOOL(Multisample.SampleAlphaToCoverage), NO_EXTRA }, 64848b8605Smrg { GL_SAMPLE_COVERAGE_ARB, CONTEXT_BOOL(Multisample.SampleCoverage), NO_EXTRA }, 65848b8605Smrg { GL_SAMPLE_COVERAGE_VALUE_ARB, CONTEXT_FLOAT(Multisample.SampleCoverageValue), NO_EXTRA }, 66848b8605Smrg { GL_SAMPLE_COVERAGE_INVERT_ARB, CONTEXT_BOOL(Multisample.SampleCoverageInvert), NO_EXTRA }, 67b8e80941Smrg { GL_SAMPLE_BUFFERS_ARB, LOC_CUSTOM, TYPE_INT, 0, extra_new_buffers }, 68b8e80941Smrg { GL_SAMPLES_ARB, LOC_CUSTOM, TYPE_INT, 0, extra_new_buffers }, 69848b8605Smrg { GL_SAMPLE_SHADING_ARB, CONTEXT_BOOL(Multisample.SampleShading), extra_gl40_ARB_sample_shading }, 70848b8605Smrg { GL_MIN_SAMPLE_SHADING_VALUE_ARB, CONTEXT_FLOAT(Multisample.MinSampleShadingValue), extra_gl40_ARB_sample_shading }, 71b8e80941Smrg { GL_GENERATE_MIPMAP_HINT_SGIS, CONTEXT_ENUM16(Hint.GenerateMipmap), NO_EXTRA }, 72848b8605Smrg { GL_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 73848b8605Smrg { GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 74b8e80941Smrg { GL_CLAMP_VERTEX_COLOR, CONTEXT_ENUM16(Light.ClampVertexColor), extra_ARB_color_buffer_float }, 75b8e80941Smrg { GL_CLAMP_FRAGMENT_COLOR, CONTEXT_ENUM16(Color.ClampFragmentColor), extra_ARB_color_buffer_float }, 76b8e80941Smrg { GL_CLAMP_READ_COLOR, CONTEXT_ENUM16(Color.ClampReadColor), extra_ARB_color_buffer_float_or_glcore }, 77848b8605Smrg { GL_COPY_READ_BUFFER, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 78848b8605Smrg { GL_COPY_WRITE_BUFFER, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 79848b8605Smrg { GL_IMPLEMENTATION_COLOR_READ_TYPE_OES, LOC_CUSTOM, TYPE_INT, 0, extra_new_buffers }, 80848b8605Smrg { GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES, LOC_CUSTOM, TYPE_INT, 0, extra_new_buffers }, 81848b8605Smrg { GL_FRAMEBUFFER_BINDING_EXT, BUFFER_INT(Name), NO_EXTRA }, 82848b8605Smrg { GL_RENDERBUFFER_BINDING_EXT, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 83848b8605Smrg { GL_MAX_RENDERBUFFER_SIZE_EXT, CONTEXT_INT(Const.MaxRenderbufferSize), NO_EXTRA }, 84848b8605Smrg { GL_MAX_CLIP_PLANES, CONTEXT_INT(Const.MaxClipPlanes), NO_EXTRA }, 85b8e80941Smrg { GL_VERTEX_ARRAY_BINDING, ARRAY_INT(Name), NO_EXTRA }, 86848b8605Smrg { GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, CONTEXT_FLOAT(Const.MaxTextureMaxAnisotropy), extra_EXT_texture_filter_anisotropic }, 87b8e80941Smrg { GL_DEBUG_OUTPUT, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 88b8e80941Smrg { GL_DEBUG_OUTPUT_SYNCHRONOUS, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 89b8e80941Smrg { GL_DEBUG_LOGGED_MESSAGES, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 90b8e80941Smrg { GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 91b8e80941Smrg { GL_MAX_DEBUG_LOGGED_MESSAGES, CONST(MAX_DEBUG_LOGGED_MESSAGES), NO_EXTRA }, 92b8e80941Smrg { GL_MAX_DEBUG_MESSAGE_LENGTH, CONST(MAX_DEBUG_MESSAGE_LENGTH), NO_EXTRA }, 93b8e80941Smrg { GL_MAX_LABEL_LENGTH, CONST(MAX_LABEL_LENGTH), NO_EXTRA }, 94b8e80941Smrg { GL_MAX_DEBUG_GROUP_STACK_DEPTH, CONST(MAX_DEBUG_GROUP_STACK_DEPTH), NO_EXTRA }, 95b8e80941Smrg { GL_DEBUG_GROUP_STACK_DEPTH, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 96b8e80941Smrg { GL_POLYGON_OFFSET_CLAMP_EXT, CONTEXT_FLOAT(Polygon.OffsetClamp), extra_ARB_polygon_offset_clamp }, 97b8e80941Smrg { GL_NUM_DEVICE_UUIDS_EXT, LOC_CUSTOM, TYPE_INT, NO_OFFSET, NO_EXTRA }, 98b8e80941Smrg { GL_DRIVER_UUID_EXT, LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, NO_EXTRA }, 99b8e80941Smrg { GL_DEVICE_UUID_EXT, LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, NO_EXTRA }, 100848b8605Smrg { GL_MAX_LIGHTS, CONTEXT_INT(Const.MaxLights), NO_EXTRA }, 101848b8605Smrg { GL_LIGHT0, CONTEXT_BOOL(Light.Light[0].Enabled), NO_EXTRA }, 102848b8605Smrg { GL_LIGHT1, CONTEXT_BOOL(Light.Light[1].Enabled), NO_EXTRA }, 103848b8605Smrg { GL_LIGHT2, CONTEXT_BOOL(Light.Light[2].Enabled), NO_EXTRA }, 104848b8605Smrg { GL_LIGHT3, CONTEXT_BOOL(Light.Light[3].Enabled), NO_EXTRA }, 105848b8605Smrg { GL_LIGHT4, CONTEXT_BOOL(Light.Light[4].Enabled), NO_EXTRA }, 106848b8605Smrg { GL_LIGHT5, CONTEXT_BOOL(Light.Light[5].Enabled), NO_EXTRA }, 107848b8605Smrg { GL_LIGHT6, CONTEXT_BOOL(Light.Light[6].Enabled), NO_EXTRA }, 108848b8605Smrg { GL_LIGHT7, CONTEXT_BOOL(Light.Light[7].Enabled), NO_EXTRA }, 109848b8605Smrg { GL_LIGHTING, CONTEXT_BOOL(Light.Enabled), NO_EXTRA }, 110848b8605Smrg { GL_LIGHT_MODEL_AMBIENT, CONTEXT_FIELD(Light.Model.Ambient[0], TYPE_FLOATN_4), NO_EXTRA }, 111848b8605Smrg { GL_LIGHT_MODEL_TWO_SIDE, CONTEXT_BOOL(Light.Model.TwoSide), NO_EXTRA }, 112848b8605Smrg { GL_ALPHA_TEST, CONTEXT_BOOL(Color.AlphaEnabled), NO_EXTRA }, 113b8e80941Smrg { GL_ALPHA_TEST_FUNC, CONTEXT_ENUM16(Color.AlphaFunc), NO_EXTRA }, 114848b8605Smrg { GL_ALPHA_TEST_REF, LOC_CUSTOM, TYPE_FLOATN, 0, extra_new_frag_clamp }, 115b8e80941Smrg { GL_BLEND_DST, CONTEXT_ENUM16(Color.Blend[0].DstRGB), NO_EXTRA }, 116848b8605Smrg { GL_CLIP_DISTANCE0, CONTEXT_BIT0(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, 117848b8605Smrg { GL_CLIP_DISTANCE1, CONTEXT_BIT1(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, 118848b8605Smrg { GL_CLIP_DISTANCE2, CONTEXT_BIT2(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, 119848b8605Smrg { GL_CLIP_DISTANCE3, CONTEXT_BIT3(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, 120848b8605Smrg { GL_CLIP_DISTANCE4, CONTEXT_BIT4(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, 121848b8605Smrg { GL_CLIP_DISTANCE5, CONTEXT_BIT5(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, 122848b8605Smrg { GL_CLIP_DISTANCE6, CONTEXT_BIT6(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, 123848b8605Smrg { GL_CLIP_DISTANCE7, CONTEXT_BIT7(Transform.ClipPlanesEnabled), extra_valid_clip_distance }, 124848b8605Smrg { GL_COLOR_MATERIAL, CONTEXT_BOOL(Light.ColorMaterialEnabled), NO_EXTRA }, 125848b8605Smrg { GL_CURRENT_COLOR, CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR0][0], TYPE_FLOATN_4), extra_flush_current }, 126848b8605Smrg { GL_CURRENT_NORMAL, CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_NORMAL][0], TYPE_FLOATN_3), extra_flush_current }, 127848b8605Smrg { GL_CURRENT_TEXTURE_COORDS, LOC_CUSTOM, TYPE_FLOAT_4, 0, extra_flush_current_valid_texture_unit }, 128848b8605Smrg { GL_POINT_DISTANCE_ATTENUATION, CONTEXT_FLOAT3(Point.Params[0]), NO_EXTRA }, 129848b8605Smrg { GL_FOG, CONTEXT_BOOL(Fog.Enabled), NO_EXTRA }, 130848b8605Smrg { GL_FOG_COLOR, LOC_CUSTOM, TYPE_FLOATN_4, 0, extra_new_frag_clamp }, 131848b8605Smrg { GL_FOG_DENSITY, CONTEXT_FLOAT(Fog.Density), NO_EXTRA }, 132848b8605Smrg { GL_FOG_END, CONTEXT_FLOAT(Fog.End), NO_EXTRA }, 133b8e80941Smrg { GL_FOG_HINT, CONTEXT_ENUM16(Hint.Fog), NO_EXTRA }, 134b8e80941Smrg { GL_FOG_MODE, CONTEXT_ENUM16(Fog.Mode), NO_EXTRA }, 135848b8605Smrg { GL_FOG_START, CONTEXT_FLOAT(Fog.Start), NO_EXTRA }, 136848b8605Smrg { GL_LINE_SMOOTH, CONTEXT_BOOL(Line.SmoothFlag), NO_EXTRA }, 137b8e80941Smrg { GL_LINE_SMOOTH_HINT, CONTEXT_ENUM16(Hint.LineSmooth), NO_EXTRA }, 138848b8605Smrg { GL_LINE_WIDTH_RANGE, CONTEXT_FLOAT2(Const.MinLineWidthAA), NO_EXTRA }, 139848b8605Smrg { GL_COLOR_LOGIC_OP, CONTEXT_BOOL(Color.ColorLogicOpEnabled), NO_EXTRA }, 140b8e80941Smrg { GL_LOGIC_OP_MODE, CONTEXT_ENUM16(Color.LogicOp), NO_EXTRA }, 141b8e80941Smrg { GL_MATRIX_MODE, CONTEXT_ENUM16(Transform.MatrixMode), NO_EXTRA }, 142848b8605Smrg { GL_MAX_MODELVIEW_STACK_DEPTH, CONST(MAX_MODELVIEW_STACK_DEPTH), NO_EXTRA }, 143848b8605Smrg { GL_MAX_PROJECTION_STACK_DEPTH, CONST(MAX_PROJECTION_STACK_DEPTH), NO_EXTRA }, 144848b8605Smrg { GL_MAX_TEXTURE_STACK_DEPTH, CONST(MAX_TEXTURE_STACK_DEPTH), NO_EXTRA }, 145848b8605Smrg { GL_MODELVIEW_MATRIX, CONTEXT_MATRIX(ModelviewMatrixStack.Top), NO_EXTRA }, 146848b8605Smrg { GL_MODELVIEW_STACK_DEPTH, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, ModelviewMatrixStack.Depth), NO_EXTRA }, 147848b8605Smrg { GL_NORMALIZE, CONTEXT_BOOL(Transform.Normalize), NO_EXTRA }, 148848b8605Smrg { GL_PACK_SKIP_IMAGES, CONTEXT_INT(Pack.SkipImages), NO_EXTRA }, 149b8e80941Smrg { GL_PERSPECTIVE_CORRECTION_HINT, CONTEXT_ENUM16(Hint.PerspectiveCorrection), NO_EXTRA }, 150848b8605Smrg { GL_POINT_SIZE, CONTEXT_FLOAT(Point.Size), NO_EXTRA }, 151848b8605Smrg { GL_POINT_SIZE_RANGE, CONTEXT_FLOAT2(Const.MinPointSizeAA), NO_EXTRA }, 152848b8605Smrg { GL_POINT_SMOOTH, CONTEXT_BOOL(Point.SmoothFlag), NO_EXTRA }, 153b8e80941Smrg { GL_POINT_SMOOTH_HINT, CONTEXT_ENUM16(Hint.PointSmooth), NO_EXTRA }, 154848b8605Smrg { GL_POINT_SIZE_MIN_EXT, CONTEXT_FLOAT(Point.MinSize), NO_EXTRA }, 155848b8605Smrg { GL_POINT_SIZE_MAX_EXT, CONTEXT_FLOAT(Point.MaxSize), NO_EXTRA }, 156848b8605Smrg { GL_POINT_FADE_THRESHOLD_SIZE_EXT, CONTEXT_FLOAT(Point.Threshold), NO_EXTRA }, 157848b8605Smrg { GL_PROJECTION_MATRIX, CONTEXT_MATRIX(ProjectionMatrixStack.Top), NO_EXTRA }, 158848b8605Smrg { GL_PROJECTION_STACK_DEPTH, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, ProjectionMatrixStack.Depth), NO_EXTRA }, 159848b8605Smrg { GL_RESCALE_NORMAL, CONTEXT_BOOL(Transform.RescaleNormals), NO_EXTRA }, 160b8e80941Smrg { GL_SHADE_MODEL, CONTEXT_ENUM16(Light.ShadeModel), NO_EXTRA }, 161848b8605Smrg { GL_TEXTURE_2D, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 162848b8605Smrg { GL_TEXTURE_MATRIX, LOC_CUSTOM, TYPE_MATRIX, 0, extra_valid_texture_unit }, 163848b8605Smrg { GL_TEXTURE_STACK_DEPTH, LOC_CUSTOM, TYPE_INT, 0, extra_valid_texture_unit }, 164b8e80941Smrg { GL_VERTEX_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 165b8e80941Smrg { GL_VERTEX_ARRAY_SIZE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 166b8e80941Smrg { GL_VERTEX_ARRAY_TYPE, ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_POS].Format.Type), NO_EXTRA }, 167b8e80941Smrg { GL_VERTEX_ARRAY_STRIDE, ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_POS].Stride), NO_EXTRA }, 168b8e80941Smrg { GL_NORMAL_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 169b8e80941Smrg { GL_NORMAL_ARRAY_TYPE, ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_NORMAL].Format.Type), NO_EXTRA }, 170b8e80941Smrg { GL_NORMAL_ARRAY_STRIDE, ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_NORMAL].Stride), NO_EXTRA }, 171b8e80941Smrg { GL_COLOR_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 172848b8605Smrg { GL_COLOR_ARRAY_SIZE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 173b8e80941Smrg { GL_COLOR_ARRAY_TYPE, ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR0].Format.Type), NO_EXTRA }, 174b8e80941Smrg { GL_COLOR_ARRAY_STRIDE, ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_COLOR0].Stride), NO_EXTRA }, 175b8e80941Smrg { GL_TEXTURE_COORD_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 176b8e80941Smrg { GL_TEXTURE_COORD_ARRAY_SIZE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 177b8e80941Smrg { GL_TEXTURE_COORD_ARRAY_TYPE, LOC_CUSTOM, TYPE_ENUM16, offsetof(struct gl_array_attributes, Format.Type), NO_EXTRA }, 178b8e80941Smrg { GL_TEXTURE_COORD_ARRAY_STRIDE, LOC_CUSTOM, TYPE_SHORT, offsetof(struct gl_array_attributes, Stride), NO_EXTRA }, 179848b8605Smrg { GL_MAX_TEXTURE_UNITS, CONTEXT_INT(Const.MaxTextureUnits), NO_EXTRA }, 180848b8605Smrg { GL_CLIENT_ACTIVE_TEXTURE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 181848b8605Smrg { GL_TEXTURE_CUBE_MAP_ARB, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 182b8e80941Smrg { GL_TEXTURE_GEN_STR_OES, LOC_TEXUNIT, TYPE_BIT_0, offsetof(struct gl_fixedfunc_texture_unit, TexGenEnabled), NO_EXTRA }, 183848b8605Smrg { GL_MULTISAMPLE_ARB, CONTEXT_BOOL(Multisample.Enabled), NO_EXTRA }, 184848b8605Smrg { GL_SAMPLE_ALPHA_TO_ONE_ARB, CONTEXT_BOOL(Multisample.SampleAlphaToOne), NO_EXTRA }, 185b8e80941Smrg { GL_VERTEX_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_POS].BufferObj), NO_EXTRA }, 186b8e80941Smrg { GL_NORMAL_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_NORMAL].BufferObj), NO_EXTRA }, 187b8e80941Smrg { GL_COLOR_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_COLOR0].BufferObj), NO_EXTRA }, 188848b8605Smrg { GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, NO_OFFSET, NO_EXTRA }, 189848b8605Smrg { GL_POINT_SPRITE_NV, CONTEXT_BOOL(Point.PointSprite), extra_NV_point_sprite_ARB_point_sprite }, 190b8e80941Smrg { GL_POINT_SIZE_ARRAY_OES, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 191b8e80941Smrg { GL_POINT_SIZE_ARRAY_TYPE_OES, ARRAY_FIELD(VertexAttrib[VERT_ATTRIB_POINT_SIZE].Format.Type, TYPE_ENUM16), NO_EXTRA }, 192b8e80941Smrg { GL_POINT_SIZE_ARRAY_STRIDE_OES, ARRAY_FIELD(VertexAttrib[VERT_ATTRIB_POINT_SIZE].Stride, TYPE_SHORT), NO_EXTRA }, 193b8e80941Smrg { GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 194b8e80941Smrg { GL_GPU_DISJOINT_EXT, LOC_CUSTOM, TYPE_INT, 0, extra_EXT_disjoint_timer_query }, 195848b8605Smrg { GL_MAX_TEXTURE_COORDS_ARB, CONTEXT_INT(Const.MaxTextureCoordUnits), extra_ARB_fragment_program }, 196848b8605Smrg { GL_PACK_IMAGE_HEIGHT, CONTEXT_INT(Pack.ImageHeight), NO_EXTRA }, 197848b8605Smrg { GL_PACK_ROW_LENGTH, CONTEXT_INT(Pack.RowLength), NO_EXTRA }, 198848b8605Smrg { GL_PACK_SKIP_PIXELS, CONTEXT_INT(Pack.SkipPixels), NO_EXTRA }, 199848b8605Smrg { GL_PACK_SKIP_ROWS, CONTEXT_INT(Pack.SkipRows), NO_EXTRA }, 200848b8605Smrg { GL_UNPACK_ROW_LENGTH, CONTEXT_INT(Unpack.RowLength), NO_EXTRA }, 201848b8605Smrg { GL_UNPACK_SKIP_PIXELS, CONTEXT_INT(Unpack.SkipPixels), NO_EXTRA }, 202848b8605Smrg { GL_UNPACK_SKIP_ROWS, CONTEXT_INT(Unpack.SkipRows), NO_EXTRA }, 203848b8605Smrg { GL_UNPACK_SKIP_IMAGES, CONTEXT_INT(Unpack.SkipImages), NO_EXTRA }, 204848b8605Smrg { GL_UNPACK_IMAGE_HEIGHT, CONTEXT_INT(Unpack.ImageHeight), NO_EXTRA }, 205848b8605Smrg { GL_MAX_DRAW_BUFFERS_ARB, CONTEXT_INT(Const.MaxDrawBuffers), NO_EXTRA }, 206b8e80941Smrg { GL_MAX_SHADER_COMPILER_THREADS_ARB, CONTEXT_INT(Hint.MaxShaderCompilerThreads), NO_EXTRA }, 207848b8605Smrg { GL_MAX_COLOR_ATTACHMENTS, CONTEXT_INT(Const.MaxColorAttachments), NO_EXTRA }, 208b8e80941Smrg { GL_DRAW_BUFFER0_ARB, BUFFER_ENUM16(ColorDrawBuffer[0]), NO_EXTRA }, 209b8e80941Smrg { GL_DRAW_BUFFER1_ARB, BUFFER_ENUM16(ColorDrawBuffer[1]), extra_valid_draw_buffer }, 210b8e80941Smrg { GL_DRAW_BUFFER2_ARB, BUFFER_ENUM16(ColorDrawBuffer[2]), extra_valid_draw_buffer }, 211b8e80941Smrg { GL_DRAW_BUFFER3_ARB, BUFFER_ENUM16(ColorDrawBuffer[3]), extra_valid_draw_buffer }, 212b8e80941Smrg { GL_DRAW_BUFFER4_ARB, BUFFER_ENUM16(ColorDrawBuffer[4]), extra_valid_draw_buffer }, 213b8e80941Smrg { GL_DRAW_BUFFER5_ARB, BUFFER_ENUM16(ColorDrawBuffer[5]), extra_valid_draw_buffer }, 214b8e80941Smrg { GL_DRAW_BUFFER6_ARB, BUFFER_ENUM16(ColorDrawBuffer[6]), extra_valid_draw_buffer }, 215b8e80941Smrg { GL_DRAW_BUFFER7_ARB, BUFFER_ENUM16(ColorDrawBuffer[7]), extra_valid_draw_buffer }, 216848b8605Smrg { GL_BLEND_COLOR_EXT, LOC_CUSTOM, TYPE_FLOATN_4, 0, extra_new_frag_clamp }, 217848b8605Smrg { GL_MAX_TEXTURE_IMAGE_UNITS_ARB, CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits), extra_ARB_fragment_program }, 218848b8605Smrg { GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxTextureImageUnits), extra_ARB_vertex_shader }, 219848b8605Smrg { GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB, CONTEXT_INT(Const.MaxCombinedTextureImageUnits), extra_ARB_vertex_shader }, 220848b8605Smrg { GL_CURRENT_PROGRAM, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 221b8e80941Smrg { GL_STENCIL_BACK_FUNC, CONTEXT_ENUM16(Stencil.Function[1]), NO_EXTRA }, 222b8e80941Smrg { GL_STENCIL_BACK_VALUE_MASK, CONTEXT_UINT(Stencil.ValueMask[1]), NO_EXTRA }, 223b8e80941Smrg { GL_STENCIL_BACK_WRITEMASK, CONTEXT_UINT(Stencil.WriteMask[1]), NO_EXTRA }, 224b8e80941Smrg { GL_STENCIL_BACK_REF, LOC_CUSTOM, TYPE_UINT, NO_OFFSET, NO_EXTRA }, 225b8e80941Smrg { GL_STENCIL_BACK_FAIL, CONTEXT_ENUM16(Stencil.FailFunc[1]), NO_EXTRA }, 226b8e80941Smrg { GL_STENCIL_BACK_PASS_DEPTH_FAIL, CONTEXT_ENUM16(Stencil.ZFailFunc[1]), NO_EXTRA }, 227b8e80941Smrg { GL_STENCIL_BACK_PASS_DEPTH_PASS, CONTEXT_ENUM16(Stencil.ZPassFunc[1]), NO_EXTRA }, 228848b8605Smrg { GL_MAX_VERTEX_ATTRIBS_ARB, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxAttribs), extra_ARB_vertex_program_api_es2 }, 229848b8605Smrg { GL_TEXTURE_BINDING_3D, LOC_CUSTOM, TYPE_INT, TEXTURE_3D_INDEX, NO_EXTRA }, 230848b8605Smrg { GL_MAX_3D_TEXTURE_SIZE, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_context, Const.Max3DTextureLevels), NO_EXTRA }, 231b8e80941Smrg { GL_FRAGMENT_SHADER_DERIVATIVE_HINT, CONTEXT_ENUM16(Hint.FragmentShaderDerivative), extra_ARB_fragment_shader }, 232b8e80941Smrg { GL_READ_BUFFER, LOC_CUSTOM, TYPE_ENUM16, NO_OFFSET, extra_NV_read_buffer_api_gl }, 233848b8605Smrg { GL_SHADER_COMPILER, CONST(1), extra_ARB_ES2_compatibility_api_es2 }, 234848b8605Smrg { GL_MAX_VARYING_VECTORS, CONTEXT_INT(Const.MaxVarying), extra_ARB_ES2_compatibility_api_es2 }, 235848b8605Smrg { GL_MAX_VERTEX_UNIFORM_VECTORS, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_ES2_compatibility_api_es2 }, 236848b8605Smrg { GL_MAX_FRAGMENT_UNIFORM_VECTORS, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_ES2_compatibility_api_es2 }, 237848b8605Smrg { GL_NUM_SHADER_BINARY_FORMATS, CONST(0), extra_ARB_ES2_compatibility_api_es2 }, 238848b8605Smrg { GL_SHADER_BINARY_FORMATS, LOC_CUSTOM, TYPE_INVALID, 0, extra_ARB_ES2_compatibility_api_es2 }, 239b8e80941Smrg { GL_NUM_PROGRAM_BINARY_FORMATS, CONTEXT_UINT(Const.NumProgramBinaryFormats), NO_EXTRA }, 240b8e80941Smrg { GL_PROGRAM_BINARY_FORMATS, LOC_CUSTOM, TYPE_INT_N, 0, NO_EXTRA }, 241848b8605Smrg { GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL, CONST(MAX_PERFQUERY_QUERY_NAME_LENGTH), extra_INTEL_performance_query }, 242848b8605Smrg { GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL, CONST(MAX_PERFQUERY_COUNTER_NAME_LENGTH), extra_INTEL_performance_query }, 243848b8605Smrg { GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL, CONST(MAX_PERFQUERY_COUNTER_DESC_LENGTH), extra_INTEL_performance_query }, 244848b8605Smrg { GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL, CONST(PERFQUERY_HAVE_GPA_EXTENDED_COUNTERS), extra_INTEL_performance_query }, 245b8e80941Smrg { GL_CONTEXT_RELEASE_BEHAVIOR, CONTEXT_ENUM16(Const.ContextReleaseBehavior), NO_EXTRA }, 246b8e80941Smrg { GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, CONTEXT_INT(Const.MaxDualSourceDrawBuffers), extra_ARB_blend_func_extended }, 247b8e80941Smrg { GL_BLEND_ADVANCED_COHERENT_KHR, CONTEXT_BOOL(Color.BlendCoherent), extra_KHR_blend_equation_advanced_coherent }, 248b8e80941Smrg { GL_CONTEXT_ROBUST_ACCESS, CONTEXT_ENUM16(Const.RobustAccess), extra_KHR_robustness }, 249b8e80941Smrg { GL_RESET_NOTIFICATION_STRATEGY_ARB, CONTEXT_ENUM16(Const.ResetStrategy), extra_KHR_robustness_or_GL }, 250b8e80941Smrg { GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV, CONTEXT_UINT(SubpixelPrecisionBias[0]), extra_NV_conservative_raster }, 251b8e80941Smrg { GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV, CONTEXT_UINT(SubpixelPrecisionBias[1]), extra_NV_conservative_raster }, 252b8e80941Smrg { GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV, CONTEXT_UINT(Const.MaxSubpixelPrecisionBiasBits), extra_NV_conservative_raster }, 253b8e80941Smrg { GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV, CONTEXT_FLOAT2(Const.ConservativeRasterDilateRange), extra_NV_conservative_raster_dilate }, 254b8e80941Smrg { GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV, CONTEXT_FLOAT(Const.ConservativeRasterDilateGranularity), extra_NV_conservative_raster_dilate }, 255b8e80941Smrg { GL_CONSERVATIVE_RASTER_DILATE_NV, CONTEXT_FLOAT(ConservativeRasterDilate), extra_NV_conservative_raster_dilate }, 256b8e80941Smrg { GL_CONSERVATIVE_RASTER_MODE_NV, CONTEXT_ENUM16(ConservativeRasterMode), extra_NV_conservative_raster_pre_snap_triangles }, 257b8e80941Smrg { GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD, CONTEXT_INT(Const.MaxColorFramebufferSamples), extra_AMD_framebuffer_multisample_advanced }, 258b8e80941Smrg { GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD, CONTEXT_INT(Const.MaxColorFramebufferStorageSamples), extra_AMD_framebuffer_multisample_advanced }, 259b8e80941Smrg { GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD, CONTEXT_INT(Const.MaxDepthStencilFramebufferSamples), extra_AMD_framebuffer_multisample_advanced }, 260b8e80941Smrg { GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD, CONTEXT_INT(Const.NumSupportedMultisampleModes), extra_AMD_framebuffer_multisample_advanced }, 261b8e80941Smrg { GL_SUPPORTED_MULTISAMPLE_MODES_AMD, LOC_CUSTOM, TYPE_INT_N, 0, extra_AMD_framebuffer_multisample_advanced }, 262848b8605Smrg { GL_MAX_TEXTURE_LOD_BIAS_EXT, CONTEXT_FLOAT(Const.MaxTextureLodBias), NO_EXTRA }, 263848b8605Smrg { GL_NUM_EXTENSIONS, LOC_CUSTOM, TYPE_INT, 0, extra_gl30_es3 }, 264848b8605Smrg { GL_MAJOR_VERSION, LOC_CUSTOM, TYPE_INT, 0, extra_gl30_es3 }, 265848b8605Smrg { GL_MINOR_VERSION, LOC_CUSTOM, TYPE_INT, 0, extra_gl30_es3 }, 266848b8605Smrg { GL_MAX_VERTEX_OUTPUT_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxOutputComponents), extra_gl32_es3 }, 267848b8605Smrg { GL_MAX_FRAGMENT_INPUT_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxInputComponents), extra_gl32_es3 }, 268848b8605Smrg { GL_MAX_ELEMENT_INDEX, CONTEXT_INT64(Const.MaxElementIndex), extra_ARB_ES3_compatibility_api_es3 }, 269b8e80941Smrg { GL_PRIMITIVE_RESTART_FIXED_INDEX, CONTEXT_BOOL(Array.PrimitiveRestartFixedIndex), extra_ARB_ES3_compatibility_api_es3 }, 270848b8605Smrg { GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB, CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxUniformComponents), extra_ARB_fragment_shader }, 271848b8605Smrg { GL_MAX_SAMPLES, CONTEXT_INT(Const.MaxSamples), extra_ARB_framebuffer_object_EXT_framebuffer_multisample }, 272b8e80941Smrg { GL_SAMPLER_BINDING, LOC_CUSTOM, TYPE_INT, GL_SAMPLER_BINDING, NO_EXTRA }, 273848b8605Smrg { GL_MAX_SERVER_WAIT_TIMEOUT, CONTEXT_INT64(Const.MaxServerWaitTimeout), extra_ARB_sync }, 274848b8605Smrg { GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED, LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_transform_feedback2_api_es3 }, 275848b8605Smrg { GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE, LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_transform_feedback2_api_es3 }, 276848b8605Smrg { GL_TRANSFORM_FEEDBACK_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_transform_feedback2_api_es3 }, 277848b8605Smrg { GL_MAX_VERTEX_UNIFORM_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxUniformBlocks), extra_ARB_uniform_buffer_object }, 278848b8605Smrg { GL_MAX_FRAGMENT_UNIFORM_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxUniformBlocks), extra_ARB_uniform_buffer_object }, 279848b8605Smrg { GL_MAX_COMBINED_UNIFORM_BLOCKS, CONTEXT_INT(Const.MaxCombinedUniformBlocks), extra_ARB_uniform_buffer_object }, 280848b8605Smrg { GL_MAX_UNIFORM_BLOCK_SIZE, CONTEXT_INT(Const.MaxUniformBlockSize), extra_ARB_uniform_buffer_object }, 281848b8605Smrg { GL_MAX_UNIFORM_BUFFER_BINDINGS, CONTEXT_INT(Const.MaxUniformBufferBindings), extra_ARB_uniform_buffer_object }, 282b8e80941Smrg { GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, CONTEXT_INT64(Const.Program[MESA_SHADER_VERTEX].MaxCombinedUniformComponents), extra_ARB_uniform_buffer_object }, 283b8e80941Smrg { GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, CONTEXT_INT64(Const.Program[MESA_SHADER_FRAGMENT].MaxCombinedUniformComponents), extra_ARB_uniform_buffer_object }, 284848b8605Smrg { GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, CONTEXT_INT(Const.UniformBufferOffsetAlignment), extra_ARB_uniform_buffer_object }, 285848b8605Smrg { GL_UNIFORM_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_uniform_buffer_object }, 286848b8605Smrg { GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxUniformComponents), extra_ARB_vertex_shader }, 287848b8605Smrg { GL_MAX_VARYING_FLOATS_ARB, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_vertex_shader }, 288848b8605Smrg { GL_READ_FRAMEBUFFER_BINDING_EXT, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 289b8e80941Smrg { GL_MIN_PROGRAM_TEXEL_OFFSET, CONTEXT_INT(Const.MinProgramTexelOffset), extra_GLSL_130_es3_gpushader4 }, 290b8e80941Smrg { GL_MAX_PROGRAM_TEXEL_OFFSET, CONTEXT_INT(Const.MaxProgramTexelOffset), extra_GLSL_130_es3_gpushader4 }, 291848b8605Smrg { GL_PIXEL_PACK_BUFFER_BINDING_EXT, LOC_CUSTOM, TYPE_INT, 0, extra_EXT_pixel_buffer_object }, 292848b8605Smrg { GL_PIXEL_UNPACK_BUFFER_BINDING_EXT, LOC_CUSTOM, TYPE_INT, 0, extra_EXT_pixel_buffer_object }, 293848b8605Smrg { GL_TEXTURE_BINDING_2D_ARRAY, LOC_CUSTOM, TYPE_INT, TEXTURE_2D_ARRAY_INDEX, extra_EXT_texture_array_es3 }, 294848b8605Smrg { GL_MAX_ARRAY_TEXTURE_LAYERS_EXT, CONTEXT_INT(Const.MaxArrayTextureLayers), extra_EXT_texture_array_es3 }, 295848b8605Smrg { GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_EXT_transform_feedback }, 296848b8605Smrg { GL_RASTERIZER_DISCARD, CONTEXT_BOOL(RasterDiscard), extra_EXT_transform_feedback }, 297848b8605Smrg { GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS, CONTEXT_INT(Const.MaxTransformFeedbackInterleavedComponents), extra_EXT_transform_feedback }, 298848b8605Smrg { GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, CONTEXT_INT(Const.MaxTransformFeedbackBuffers), extra_EXT_transform_feedback }, 299848b8605Smrg { GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS, CONTEXT_INT(Const.MaxTransformFeedbackSeparateComponents), extra_EXT_transform_feedback }, 300b8e80941Smrg { GL_MAX_WINDOW_RECTANGLES_EXT, CONTEXT_INT(Const.MaxWindowRectangles), extra_EXT_window_rectangles }, 301b8e80941Smrg { GL_NUM_WINDOW_RECTANGLES_EXT, CONTEXT_INT(Scissor.NumWindowRects), extra_EXT_window_rectangles }, 302b8e80941Smrg { GL_WINDOW_RECTANGLE_MODE_EXT, CONTEXT_ENUM16(Scissor.WindowRectMode), extra_EXT_window_rectangles }, 303b8e80941Smrg { GL_MIN_FRAGMENT_INTERPOLATION_OFFSET, CONTEXT_FLOAT(Const.MinFragmentInterpolationOffset), extra_ARB_gpu_shader5_or_OES_sample_variables }, 304b8e80941Smrg { GL_MAX_FRAGMENT_INTERPOLATION_OFFSET, CONTEXT_FLOAT(Const.MaxFragmentInterpolationOffset), extra_ARB_gpu_shader5_or_OES_sample_variables }, 305b8e80941Smrg { GL_FRAGMENT_INTERPOLATION_OFFSET_BITS, CONST(FRAGMENT_INTERPOLATION_OFFSET_BITS), extra_ARB_gpu_shader5_or_OES_sample_variables }, 306b8e80941Smrg { GL_FRAMEBUFFER_SRGB_EXT, CONTEXT_BOOL(Color.sRGBEnabled), extra_EXT_framebuffer_sRGB }, 307b8e80941Smrg { GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT, CONTEXT_BOOL(Extensions.EXT_shader_framebuffer_fetch), extra_EXT_shader_framebuffer_fetch }, 308848b8605Smrg { GL_TEXTURE_BINDING_EXTERNAL_OES, LOC_CUSTOM, TYPE_INT, TEXTURE_EXTERNAL_INDEX, extra_OES_EGL_image_external }, 309848b8605Smrg { GL_TEXTURE_EXTERNAL_OES, LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_OES_EGL_image_external }, 310b8e80941Smrg { GL_MAX_TEXTURE_BUFFER_SIZE_ARB, CONTEXT_INT(Const.MaxTextureBufferSize), extra_texture_buffer_object }, 311b8e80941Smrg { GL_TEXTURE_BINDING_BUFFER_ARB, LOC_CUSTOM, TYPE_INT, 0, extra_texture_buffer_object }, 312b8e80941Smrg { GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB, LOC_CUSTOM, TYPE_INT, TEXTURE_BUFFER_INDEX, extra_texture_buffer_object }, 313b8e80941Smrg { GL_TEXTURE_BUFFER_FORMAT_ARB, LOC_CUSTOM, TYPE_INT, 0, extra_texture_buffer_object }, 314b8e80941Smrg { GL_TEXTURE_BUFFER_ARB, LOC_CUSTOM, TYPE_INT, 0, extra_texture_buffer_object }, 315b8e80941Smrg { GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT, CONTEXT_INT(Const.TextureBufferOffsetAlignment), extra_ARB_texture_buffer_range }, 316b8e80941Smrg { GL_MAX_IMAGE_UNITS, CONTEXT_INT(Const.MaxImageUnits), extra_ARB_shader_image_load_store }, 317b8e80941Smrg { GL_MAX_VERTEX_IMAGE_UNIFORMS, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxImageUniforms), extra_ARB_shader_image_load_store }, 318b8e80941Smrg { GL_MAX_FRAGMENT_IMAGE_UNIFORMS, CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxImageUniforms), extra_ARB_shader_image_load_store }, 319b8e80941Smrg { GL_MAX_COMBINED_IMAGE_UNIFORMS, CONTEXT_INT(Const.MaxCombinedImageUniforms), extra_ARB_shader_image_load_store }, 320b8e80941Smrg { GL_ATOMIC_COUNTER_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_shader_atomic_counters }, 321b8e80941Smrg { GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, CONTEXT_INT(Const.MaxAtomicBufferBindings), extra_ARB_shader_atomic_counters }, 322b8e80941Smrg { GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE, CONTEXT_INT(Const.MaxAtomicBufferSize), extra_ARB_shader_atomic_counters }, 323b8e80941Smrg { GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxAtomicBuffers), extra_ARB_shader_atomic_counters }, 324b8e80941Smrg { GL_MAX_VERTEX_ATOMIC_COUNTERS, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxAtomicCounters), extra_ARB_shader_atomic_counters }, 325b8e80941Smrg { GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS, CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxAtomicBuffers), extra_ARB_shader_atomic_counters }, 326b8e80941Smrg { GL_MAX_FRAGMENT_ATOMIC_COUNTERS, CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxAtomicCounters), extra_ARB_shader_atomic_counters }, 327b8e80941Smrg { GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS, CONTEXT_INT(Const.MaxCombinedAtomicBuffers), extra_ARB_shader_atomic_counters }, 328b8e80941Smrg { GL_MAX_COMBINED_ATOMIC_COUNTERS, CONTEXT_INT(Const.MaxCombinedAtomicCounters), extra_ARB_shader_atomic_counters }, 329b8e80941Smrg { GL_TEXTURE_BINDING_2D_MULTISAMPLE, LOC_CUSTOM, TYPE_INT, TEXTURE_2D_MULTISAMPLE_INDEX, extra_ARB_texture_multisample }, 330b8e80941Smrg { GL_MAX_COLOR_TEXTURE_SAMPLES, CONTEXT_INT(Const.MaxColorTextureSamples), extra_ARB_texture_multisample }, 331b8e80941Smrg { GL_MAX_DEPTH_TEXTURE_SAMPLES, CONTEXT_INT(Const.MaxDepthTextureSamples), extra_ARB_texture_multisample }, 332b8e80941Smrg { GL_MAX_INTEGER_SAMPLES, CONTEXT_INT(Const.MaxIntegerSamples), extra_ARB_texture_multisample }, 333b8e80941Smrg { GL_SAMPLE_MASK, CONTEXT_BOOL(Multisample.SampleMask), extra_ARB_texture_multisample }, 334b8e80941Smrg { GL_MAX_SAMPLE_MASK_WORDS, CONST(1), extra_ARB_texture_multisample }, 335b8e80941Smrg { GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY, LOC_CUSTOM, TYPE_INT, TEXTURE_2D_MULTISAMPLE_ARRAY_INDEX, extra_ARB_texture_multisample }, 336b8e80941Smrg { GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET, CONTEXT_INT(Const.MinProgramTextureGatherOffset), extra_ARB_texture_gather }, 337b8e80941Smrg { GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET, CONTEXT_INT(Const.MaxProgramTextureGatherOffset), extra_ARB_texture_gather }, 338b8e80941Smrg { GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS, CONTEXT_INT(Const.MaxComputeWorkGroupInvocations), extra_ARB_compute_shader_es31 }, 339b8e80941Smrg { GL_MAX_COMPUTE_UNIFORM_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxUniformBlocks), extra_ARB_compute_shader_es31 }, 340b8e80941Smrg { GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS, CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits), extra_ARB_compute_shader_es31 }, 341b8e80941Smrg { GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS, CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxAtomicBuffers), extra_ARB_compute_shader_es31 }, 342b8e80941Smrg { GL_MAX_COMPUTE_ATOMIC_COUNTERS, CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxAtomicCounters), extra_ARB_compute_shader_es31 }, 343b8e80941Smrg { GL_MAX_COMPUTE_SHARED_MEMORY_SIZE, CONTEXT_INT(Const.MaxComputeSharedMemorySize), extra_ARB_compute_shader_es31 }, 344b8e80941Smrg { GL_MAX_COMPUTE_UNIFORM_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxUniformComponents), extra_ARB_compute_shader_es31 }, 345b8e80941Smrg { GL_MAX_COMPUTE_IMAGE_UNIFORMS, CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxImageUniforms), extra_ARB_compute_shader_es31 }, 346b8e80941Smrg { GL_DISPATCH_INDIRECT_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_compute_shader_es31 }, 347b8e80941Smrg { GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS, CONTEXT_INT64(Const.Program[MESA_SHADER_COMPUTE].MaxCombinedUniformComponents), extra_ARB_compute_shader_es31 }, 348b8e80941Smrg { GL_MAX_FRAMEBUFFER_WIDTH, CONTEXT_INT(Const.MaxFramebufferWidth), extra_ARB_framebuffer_no_attachments }, 349b8e80941Smrg { GL_MAX_FRAMEBUFFER_HEIGHT, CONTEXT_INT(Const.MaxFramebufferHeight), extra_ARB_framebuffer_no_attachments }, 350b8e80941Smrg { GL_MAX_FRAMEBUFFER_SAMPLES, CONTEXT_INT(Const.MaxFramebufferSamples), extra_ARB_framebuffer_no_attachments }, 351b8e80941Smrg { GL_MAX_FRAMEBUFFER_LAYERS, CONTEXT_INT(Const.MaxFramebufferLayers), extra_ARB_framebuffer_no_attachments_and_geometry_shader }, 352b8e80941Smrg { GL_MAX_UNIFORM_LOCATIONS, CONTEXT_INT(Const.MaxUserAssignableUniformLocations), extra_ARB_explicit_uniform_location }, 353b8e80941Smrg { GL_PROGRAM_PIPELINE_BINDING, LOC_CUSTOM, TYPE_INT, GL_PROGRAM_PIPELINE_BINDING, NO_EXTRA }, 354b8e80941Smrg { GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET, CONTEXT_INT(Const.MaxVertexAttribRelativeOffset), NO_EXTRA }, 355b8e80941Smrg { GL_MAX_VERTEX_ATTRIB_BINDINGS, CONTEXT_INT(Const.MaxVertexAttribBindings), NO_EXTRA }, 356b8e80941Smrg { GL_MAX_VERTEX_ATTRIB_STRIDE, CONTEXT_UINT(Const.MaxVertexAttribStride), NO_EXTRA }, 357b8e80941Smrg { GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_VERTEX].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_es31 }, 358b8e80941Smrg { GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_FRAGMENT].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_es31 }, 359b8e80941Smrg { GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_COMPUTE].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_es31 }, 360b8e80941Smrg { GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS, CONTEXT_INT(Const.MaxCombinedShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_es31 }, 361b8e80941Smrg { GL_MAX_SHADER_STORAGE_BLOCK_SIZE, CONTEXT_INT(Const.MaxShaderStorageBlockSize), extra_ARB_shader_storage_buffer_object_es31 }, 362b8e80941Smrg { GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, CONTEXT_INT(Const.MaxShaderStorageBufferBindings), extra_ARB_shader_storage_buffer_object_es31 }, 363b8e80941Smrg { GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT, CONTEXT_INT(Const.ShaderStorageBufferOffsetAlignment), extra_ARB_shader_storage_buffer_object_es31 }, 364b8e80941Smrg { GL_SHADER_STORAGE_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_shader_storage_buffer_object_es31 }, 365b8e80941Smrg { GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES, CONTEXT_INT(Const.MaxCombinedShaderOutputResources), extra_ARB_shader_image_load_store_shader_storage_buffer_object_es31 }, 366b8e80941Smrg { GL_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 }, 367b8e80941Smrg { GL_NUM_SHADING_LANGUAGE_VERSIONS, LOC_CUSTOM, TYPE_INT, 0, extra_version_43 }, 368b8e80941Smrg { GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB, LOC_CUSTOM, TYPE_UINT, 0, extra_ARB_sample_locations }, 369b8e80941Smrg { GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB, LOC_CUSTOM, TYPE_UINT, 0, extra_ARB_sample_locations }, 370b8e80941Smrg { GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB, LOC_CUSTOM, TYPE_UINT, 0, extra_ARB_sample_locations }, 371b8e80941Smrg { GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB, LOC_CUSTOM, TYPE_UINT, 0, extra_ARB_sample_locations }, 372b8e80941Smrg { GL_DRAW_INDIRECT_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_draw_indirect }, 373b8e80941Smrg { GL_MAX_GEOMETRY_INPUT_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxInputComponents), extra_version_32_OES_geometry_shader }, 374b8e80941Smrg { GL_MAX_GEOMETRY_OUTPUT_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxOutputComponents), extra_version_32_OES_geometry_shader }, 375b8e80941Smrg { GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxTextureImageUnits), extra_version_32_OES_geometry_shader }, 376b8e80941Smrg { GL_MAX_GEOMETRY_OUTPUT_VERTICES, CONTEXT_INT(Const.MaxGeometryOutputVertices), extra_version_32_OES_geometry_shader }, 377b8e80941Smrg { GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, CONTEXT_INT(Const.MaxGeometryTotalOutputComponents), extra_version_32_OES_geometry_shader }, 378b8e80941Smrg { GL_MAX_GEOMETRY_UNIFORM_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxUniformComponents), extra_version_32_OES_geometry_shader }, 379b8e80941Smrg { GL_PATCH_VERTICES, CONTEXT_INT(TessCtrlProgram.patch_vertices), extra_ARB_tessellation_shader }, 380b8e80941Smrg { GL_PATCH_DEFAULT_OUTER_LEVEL, CONTEXT_FLOAT4(TessCtrlProgram.patch_default_outer_level), extra_ARB_tessellation_shader }, 381b8e80941Smrg { GL_PATCH_DEFAULT_INNER_LEVEL, CONTEXT_FLOAT2(TessCtrlProgram.patch_default_inner_level), extra_ARB_tessellation_shader }, 382b8e80941Smrg { GL_MAX_TESS_GEN_LEVEL, CONTEXT_INT(Const.MaxTessGenLevel), extra_ARB_tessellation_shader }, 383b8e80941Smrg { GL_MAX_PATCH_VERTICES, CONTEXT_INT(Const.MaxPatchVertices), extra_ARB_tessellation_shader }, 384b8e80941Smrg { GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxUniformComponents), extra_ARB_tessellation_shader }, 385b8e80941Smrg { GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxUniformComponents), extra_ARB_tessellation_shader }, 386b8e80941Smrg { GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxTextureImageUnits), extra_ARB_tessellation_shader }, 387b8e80941Smrg { GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxTextureImageUnits), extra_ARB_tessellation_shader }, 388b8e80941Smrg { GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxOutputComponents), extra_ARB_tessellation_shader }, 389b8e80941Smrg { GL_MAX_TESS_PATCH_COMPONENTS, CONTEXT_INT(Const.MaxTessPatchComponents), extra_ARB_tessellation_shader }, 390b8e80941Smrg { GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS, CONTEXT_INT(Const.MaxTessControlTotalOutputComponents), extra_ARB_tessellation_shader }, 391b8e80941Smrg { GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxOutputComponents), extra_ARB_tessellation_shader }, 392b8e80941Smrg { GL_MAX_TESS_CONTROL_INPUT_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxInputComponents), extra_ARB_tessellation_shader }, 393b8e80941Smrg { GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxInputComponents), extra_ARB_tessellation_shader }, 394b8e80941Smrg { GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxUniformBlocks), extra_ARB_tessellation_shader }, 395b8e80941Smrg { GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxUniformBlocks), extra_ARB_tessellation_shader }, 396b8e80941Smrg { GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS, CONTEXT_INT64(Const.Program[MESA_SHADER_TESS_CTRL].MaxCombinedUniformComponents), extra_ARB_tessellation_shader }, 397b8e80941Smrg { GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS, CONTEXT_INT64(Const.Program[MESA_SHADER_TESS_EVAL].MaxCombinedUniformComponents), extra_ARB_tessellation_shader }, 398b8e80941Smrg { GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED, CONTEXT_BOOL(Const.PrimitiveRestartForPatches), extra_ARB_tessellation_shader }, 399b8e80941Smrg { GL_MAX_GEOMETRY_IMAGE_UNIFORMS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxImageUniforms), extra_ARB_shader_image_load_store_and_geometry_shader }, 400b8e80941Smrg { GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxImageUniforms), extra_ARB_shader_image_load_store_and_tessellation }, 401b8e80941Smrg { GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxImageUniforms), extra_ARB_shader_image_load_store_and_tessellation }, 402b8e80941Smrg { GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxAtomicBuffers), extra_ARB_shader_atomic_counters_and_geometry_shader }, 403b8e80941Smrg { GL_MAX_GEOMETRY_ATOMIC_COUNTERS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxAtomicCounters), extra_ARB_shader_atomic_counters_and_geometry_shader }, 404b8e80941Smrg { GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxAtomicBuffers), extra_ARB_shader_atomic_counters_and_tessellation }, 405b8e80941Smrg { GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxAtomicCounters), extra_ARB_shader_atomic_counters_and_tessellation }, 406b8e80941Smrg { GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxAtomicBuffers), extra_ARB_shader_atomic_counters_and_tessellation }, 407b8e80941Smrg { GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxAtomicCounters), extra_ARB_shader_atomic_counters_and_tessellation }, 408b8e80941Smrg { GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object_and_geometry_shader }, 409b8e80941Smrg { GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_CTRL].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object }, 410b8e80941Smrg { GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_TESS_EVAL].MaxShaderStorageBlocks), extra_ARB_shader_storage_buffer_object }, 411b8e80941Smrg { GL_MAX_GEOMETRY_UNIFORM_BLOCKS, CONTEXT_INT(Const.Program[MESA_SHADER_GEOMETRY].MaxUniformBlocks), extra_ARB_uniform_buffer_object_and_geometry_shader }, 412b8e80941Smrg { GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS, CONTEXT_INT64(Const.Program[MESA_SHADER_GEOMETRY].MaxCombinedUniformComponents), extra_ARB_uniform_buffer_object_and_geometry_shader }, 413b8e80941Smrg { GL_LAYER_PROVOKING_VERTEX, CONTEXT_ENUM16(Const.LayerAndVPIndexProvokingVertex), extra_ARB_viewport_array_or_oes_geometry_shader }, 414b8e80941Smrg { GL_MAX_GEOMETRY_SHADER_INVOCATIONS, CONTEXT_INT(Const.MaxGeometryShaderInvocations), extra_ARB_gpu_shader5_or_oes_geometry_shader }, 415b8e80941Smrg { GL_PRIMITIVE_BOUNDING_BOX_ARB, CONTEXT_FLOAT8(PrimitiveBoundingBox), extra_OES_primitive_bounding_box }, 416b8e80941Smrg { GL_MAX_VIEWPORTS, CONTEXT_INT(Const.MaxViewports), extra_ARB_viewport_array_or_oes_viewport_array }, 417b8e80941Smrg { GL_VIEWPORT_SUBPIXEL_BITS, CONTEXT_INT(Const.ViewportSubpixelBits), extra_ARB_viewport_array_or_oes_viewport_array }, 418b8e80941Smrg { GL_VIEWPORT_BOUNDS_RANGE, CONTEXT_FLOAT2(Const.ViewportBounds), extra_ARB_viewport_array_or_oes_viewport_array }, 419b8e80941Smrg { GL_VIEWPORT_INDEX_PROVOKING_VERTEX, CONTEXT_ENUM16(Const.LayerAndVPIndexProvokingVertex), extra_ARB_viewport_array_or_oes_viewport_array }, 420b8e80941Smrg { GL_CONSERVATIVE_RASTERIZATION_INTEL, CONTEXT_BOOL(IntelConservativeRasterization), extra_INTEL_conservative_rasterization }, 421b8e80941Smrg { GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB, CONTEXT_FLOAT2(Const.MinLineWidthAA), extra_ES32 }, 422b8e80941Smrg { GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB, CONTEXT_FLOAT(Const.LineWidthGranularity), extra_ES32 }, 423b8e80941Smrg { GL_CONTEXT_FLAGS, CONTEXT_INT(Const.ContextFlags), extra_version_30 }, 424848b8605Smrg { GL_ACCUM_RED_BITS, BUFFER_INT(Visual.accumRedBits), NO_EXTRA }, 425848b8605Smrg { GL_ACCUM_GREEN_BITS, BUFFER_INT(Visual.accumGreenBits), NO_EXTRA }, 426848b8605Smrg { GL_ACCUM_BLUE_BITS, BUFFER_INT(Visual.accumBlueBits), NO_EXTRA }, 427848b8605Smrg { GL_ACCUM_ALPHA_BITS, BUFFER_INT(Visual.accumAlphaBits), NO_EXTRA }, 428848b8605Smrg { GL_ACCUM_CLEAR_VALUE, CONTEXT_FIELD(Accum.ClearColor[0], TYPE_FLOATN_4), NO_EXTRA }, 429848b8605Smrg { GL_ALPHA_BIAS, CONTEXT_FLOAT(Pixel.AlphaBias), NO_EXTRA }, 430848b8605Smrg { GL_ALPHA_SCALE, CONTEXT_FLOAT(Pixel.AlphaScale), NO_EXTRA }, 431848b8605Smrg { GL_ATTRIB_STACK_DEPTH, CONTEXT_INT(AttribStackDepth), NO_EXTRA }, 432848b8605Smrg { GL_AUTO_NORMAL, CONTEXT_BOOL(Eval.AutoNormal), NO_EXTRA }, 433848b8605Smrg { GL_AUX_BUFFERS, BUFFER_INT(Visual.numAuxBuffers), NO_EXTRA }, 434848b8605Smrg { GL_BLUE_BIAS, CONTEXT_FLOAT(Pixel.BlueBias), NO_EXTRA }, 435848b8605Smrg { GL_BLUE_SCALE, CONTEXT_FLOAT(Pixel.BlueScale), NO_EXTRA }, 436b8e80941Smrg { GL_CLIP_DEPTH_MODE, CONTEXT_ENUM16(Transform.ClipDepthMode), extra_ARB_clip_control }, 437b8e80941Smrg { GL_CLIP_ORIGIN, CONTEXT_ENUM16(Transform.ClipOrigin), extra_ARB_clip_control }, 438848b8605Smrg { GL_CLIENT_ATTRIB_STACK_DEPTH, CONTEXT_INT(ClientAttribStackDepth), NO_EXTRA }, 439b8e80941Smrg { GL_COLOR_MATERIAL_FACE, CONTEXT_ENUM16(Light.ColorMaterialFace), NO_EXTRA }, 440b8e80941Smrg { GL_COLOR_MATERIAL_PARAMETER, CONTEXT_ENUM16(Light.ColorMaterialMode), NO_EXTRA }, 441848b8605Smrg { GL_CURRENT_INDEX, CONTEXT_FLOAT(Current.Attrib[VERT_ATTRIB_COLOR_INDEX][0]), extra_flush_current }, 442848b8605Smrg { GL_CURRENT_RASTER_COLOR, CONTEXT_FIELD(Current.RasterColor[0], TYPE_FLOATN_4), NO_EXTRA }, 443848b8605Smrg { GL_CURRENT_RASTER_DISTANCE, CONTEXT_FLOAT(Current.RasterDistance), NO_EXTRA }, 444848b8605Smrg { GL_CURRENT_RASTER_INDEX, CONST(1), NO_EXTRA }, 445848b8605Smrg { GL_CURRENT_RASTER_POSITION, CONTEXT_FLOAT4(Current.RasterPos[0]), NO_EXTRA }, 446848b8605Smrg { GL_CURRENT_RASTER_SECONDARY_COLOR, CONTEXT_FIELD(Current.RasterSecondaryColor[0], TYPE_FLOATN_4), NO_EXTRA }, 447848b8605Smrg { GL_CURRENT_RASTER_TEXTURE_COORDS, LOC_CUSTOM, TYPE_FLOAT_4, 0, extra_valid_texture_unit }, 448848b8605Smrg { GL_CURRENT_RASTER_POSITION_VALID, CONTEXT_BOOL(Current.RasterPosValid), NO_EXTRA }, 449848b8605Smrg { GL_DEPTH_BIAS, CONTEXT_FLOAT(Pixel.DepthBias), NO_EXTRA }, 450848b8605Smrg { GL_DEPTH_SCALE, CONTEXT_FLOAT(Pixel.DepthScale), NO_EXTRA }, 451848b8605Smrg { GL_DOUBLEBUFFER, BUFFER_INT(Visual.doubleBufferMode), NO_EXTRA }, 452b8e80941Smrg { GL_DRAW_BUFFER, BUFFER_ENUM16(ColorDrawBuffer[0]), NO_EXTRA }, 453848b8605Smrg { GL_EDGE_FLAG, LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_flush_current }, 454848b8605Smrg { GL_FEEDBACK_BUFFER_SIZE, CONTEXT_INT(Feedback.BufferSize), NO_EXTRA }, 455b8e80941Smrg { GL_FEEDBACK_BUFFER_TYPE, CONTEXT_ENUM16(Feedback.Type), NO_EXTRA }, 456848b8605Smrg { GL_FOG_INDEX, CONTEXT_FLOAT(Fog.Index), NO_EXTRA }, 457848b8605Smrg { GL_GREEN_BIAS, CONTEXT_FLOAT(Pixel.GreenBias), NO_EXTRA }, 458848b8605Smrg { GL_GREEN_SCALE, CONTEXT_FLOAT(Pixel.GreenScale), NO_EXTRA }, 459848b8605Smrg { GL_INDEX_BITS, BUFFER_INT(Visual.indexBits), extra_new_buffers }, 460848b8605Smrg { GL_INDEX_CLEAR_VALUE, CONTEXT_INT(Color.ClearIndex), NO_EXTRA }, 461848b8605Smrg { GL_INDEX_MODE, CONST(0) , NO_EXTRA }, 462848b8605Smrg { GL_INDEX_OFFSET, CONTEXT_INT(Pixel.IndexOffset), NO_EXTRA }, 463848b8605Smrg { GL_INDEX_SHIFT, CONTEXT_INT(Pixel.IndexShift), NO_EXTRA }, 464848b8605Smrg { GL_INDEX_WRITEMASK, CONTEXT_INT(Color.IndexMask), NO_EXTRA }, 465b8e80941Smrg { GL_LIGHT_MODEL_COLOR_CONTROL, CONTEXT_ENUM16(Light.Model.ColorControl), NO_EXTRA }, 466848b8605Smrg { GL_LIGHT_MODEL_LOCAL_VIEWER, CONTEXT_BOOL(Light.Model.LocalViewer), NO_EXTRA }, 467848b8605Smrg { GL_LINE_STIPPLE, CONTEXT_BOOL(Line.StippleFlag), NO_EXTRA }, 468848b8605Smrg { GL_LINE_STIPPLE_PATTERN, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 469848b8605Smrg { GL_LINE_STIPPLE_REPEAT, CONTEXT_INT(Line.StippleFactor), NO_EXTRA }, 470848b8605Smrg { GL_LINE_WIDTH_GRANULARITY, CONTEXT_FLOAT(Const.LineWidthGranularity), NO_EXTRA }, 471848b8605Smrg { GL_LIST_BASE, CONTEXT_INT(List.ListBase), NO_EXTRA }, 472848b8605Smrg { GL_LIST_INDEX, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 473b8e80941Smrg { GL_LIST_MODE, LOC_CUSTOM, TYPE_ENUM16, 0, NO_EXTRA }, 474848b8605Smrg { GL_INDEX_LOGIC_OP, CONTEXT_BOOL(Color.IndexLogicOpEnabled), NO_EXTRA }, 475848b8605Smrg { GL_MAP1_COLOR_4, CONTEXT_BOOL(Eval.Map1Color4), NO_EXTRA }, 476848b8605Smrg { GL_MAP1_GRID_DOMAIN, CONTEXT_FLOAT2(Eval.MapGrid1u1), NO_EXTRA }, 477848b8605Smrg { GL_MAP1_GRID_SEGMENTS, CONTEXT_INT(Eval.MapGrid1un), NO_EXTRA }, 478848b8605Smrg { GL_MAP1_INDEX, CONTEXT_BOOL(Eval.Map1Index), NO_EXTRA }, 479848b8605Smrg { GL_MAP1_NORMAL, CONTEXT_BOOL(Eval.Map1Normal), NO_EXTRA }, 480848b8605Smrg { GL_MAP1_TEXTURE_COORD_1, CONTEXT_BOOL(Eval.Map1TextureCoord1), NO_EXTRA }, 481848b8605Smrg { GL_MAP1_TEXTURE_COORD_2, CONTEXT_BOOL(Eval.Map1TextureCoord2), NO_EXTRA }, 482848b8605Smrg { GL_MAP1_TEXTURE_COORD_3, CONTEXT_BOOL(Eval.Map1TextureCoord3), NO_EXTRA }, 483848b8605Smrg { GL_MAP1_TEXTURE_COORD_4, CONTEXT_BOOL(Eval.Map1TextureCoord4), NO_EXTRA }, 484848b8605Smrg { GL_MAP1_VERTEX_3, CONTEXT_BOOL(Eval.Map1Vertex3), NO_EXTRA }, 485848b8605Smrg { GL_MAP1_VERTEX_4, CONTEXT_BOOL(Eval.Map1Vertex4), NO_EXTRA }, 486848b8605Smrg { GL_MAP2_COLOR_4, CONTEXT_BOOL(Eval.Map2Color4), NO_EXTRA }, 487848b8605Smrg { GL_MAP2_GRID_DOMAIN, LOC_CUSTOM, TYPE_FLOAT_4, 0, NO_EXTRA }, 488848b8605Smrg { GL_MAP2_GRID_SEGMENTS, CONTEXT_INT2(Eval.MapGrid2un), NO_EXTRA }, 489848b8605Smrg { GL_MAP2_INDEX, CONTEXT_BOOL(Eval.Map2Index), NO_EXTRA }, 490848b8605Smrg { GL_MAP2_NORMAL, CONTEXT_BOOL(Eval.Map2Normal), NO_EXTRA }, 491848b8605Smrg { GL_MAP2_TEXTURE_COORD_1, CONTEXT_BOOL(Eval.Map2TextureCoord1), NO_EXTRA }, 492848b8605Smrg { GL_MAP2_TEXTURE_COORD_2, CONTEXT_BOOL(Eval.Map2TextureCoord2), NO_EXTRA }, 493848b8605Smrg { GL_MAP2_TEXTURE_COORD_3, CONTEXT_BOOL(Eval.Map2TextureCoord3), NO_EXTRA }, 494848b8605Smrg { GL_MAP2_TEXTURE_COORD_4, CONTEXT_BOOL(Eval.Map2TextureCoord4), NO_EXTRA }, 495848b8605Smrg { GL_MAP2_VERTEX_3, CONTEXT_BOOL(Eval.Map2Vertex3), NO_EXTRA }, 496848b8605Smrg { GL_MAP2_VERTEX_4, CONTEXT_BOOL(Eval.Map2Vertex4), NO_EXTRA }, 497848b8605Smrg { GL_MAP_COLOR, CONTEXT_BOOL(Pixel.MapColorFlag), NO_EXTRA }, 498848b8605Smrg { GL_MAP_STENCIL, CONTEXT_BOOL(Pixel.MapStencilFlag), NO_EXTRA }, 499848b8605Smrg { GL_MAX_ATTRIB_STACK_DEPTH, CONST(MAX_ATTRIB_STACK_DEPTH), NO_EXTRA }, 500848b8605Smrg { GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, CONST(MAX_CLIENT_ATTRIB_STACK_DEPTH), NO_EXTRA }, 501848b8605Smrg { GL_MAX_EVAL_ORDER, CONST(MAX_EVAL_ORDER), NO_EXTRA }, 502848b8605Smrg { GL_MAX_LIST_NESTING, CONST(MAX_LIST_NESTING), NO_EXTRA }, 503848b8605Smrg { GL_MAX_NAME_STACK_DEPTH, CONST(MAX_NAME_STACK_DEPTH), NO_EXTRA }, 504848b8605Smrg { GL_MAX_PIXEL_MAP_TABLE, CONST(MAX_PIXEL_MAP_TABLE), NO_EXTRA }, 505848b8605Smrg { GL_NAME_STACK_DEPTH, CONTEXT_INT(Select.NameStackDepth), NO_EXTRA }, 506848b8605Smrg { GL_PACK_LSB_FIRST, CONTEXT_BOOL(Pack.LsbFirst), NO_EXTRA }, 507848b8605Smrg { GL_PACK_SWAP_BYTES, CONTEXT_BOOL(Pack.SwapBytes), NO_EXTRA }, 508848b8605Smrg { GL_PACK_INVERT_MESA, CONTEXT_BOOL(Pack.Invert), NO_EXTRA }, 509848b8605Smrg { GL_PIXEL_MAP_A_TO_A_SIZE, CONTEXT_INT(PixelMaps.AtoA.Size), NO_EXTRA }, 510848b8605Smrg { GL_PIXEL_MAP_B_TO_B_SIZE, CONTEXT_INT(PixelMaps.BtoB.Size), NO_EXTRA }, 511848b8605Smrg { GL_PIXEL_MAP_G_TO_G_SIZE, CONTEXT_INT(PixelMaps.GtoG.Size), NO_EXTRA }, 512848b8605Smrg { GL_PIXEL_MAP_I_TO_A_SIZE, CONTEXT_INT(PixelMaps.ItoA.Size), NO_EXTRA }, 513848b8605Smrg { GL_PIXEL_MAP_I_TO_B_SIZE, CONTEXT_INT(PixelMaps.ItoB.Size), NO_EXTRA }, 514848b8605Smrg { GL_PIXEL_MAP_I_TO_G_SIZE, CONTEXT_INT(PixelMaps.ItoG.Size), NO_EXTRA }, 515848b8605Smrg { GL_PIXEL_MAP_I_TO_I_SIZE, CONTEXT_INT(PixelMaps.ItoI.Size), NO_EXTRA }, 516848b8605Smrg { GL_PIXEL_MAP_I_TO_R_SIZE, CONTEXT_INT(PixelMaps.ItoR.Size), NO_EXTRA }, 517848b8605Smrg { GL_PIXEL_MAP_R_TO_R_SIZE, CONTEXT_INT(PixelMaps.RtoR.Size), NO_EXTRA }, 518848b8605Smrg { GL_PIXEL_MAP_S_TO_S_SIZE, CONTEXT_INT(PixelMaps.StoS.Size), NO_EXTRA }, 519848b8605Smrg { GL_POINT_SIZE_GRANULARITY, CONTEXT_FLOAT(Const.PointSizeGranularity), NO_EXTRA }, 520848b8605Smrg { GL_POLYGON_MODE, CONTEXT_ENUM2(Polygon.FrontMode), NO_EXTRA }, 521848b8605Smrg { GL_POLYGON_OFFSET_POINT, CONTEXT_BOOL(Polygon.OffsetPoint), NO_EXTRA }, 522848b8605Smrg { GL_POLYGON_OFFSET_LINE, CONTEXT_BOOL(Polygon.OffsetLine), NO_EXTRA }, 523848b8605Smrg { GL_POLYGON_SMOOTH, CONTEXT_BOOL(Polygon.SmoothFlag), NO_EXTRA }, 524b8e80941Smrg { GL_POLYGON_SMOOTH_HINT, CONTEXT_ENUM16(Hint.PolygonSmooth), NO_EXTRA }, 525848b8605Smrg { GL_POLYGON_STIPPLE, CONTEXT_BOOL(Polygon.StippleFlag), NO_EXTRA }, 526848b8605Smrg { GL_RED_BIAS, CONTEXT_FLOAT(Pixel.RedBias), NO_EXTRA }, 527848b8605Smrg { GL_RED_SCALE, CONTEXT_FLOAT(Pixel.RedScale), NO_EXTRA }, 528b8e80941Smrg { GL_RENDER_MODE, CONTEXT_ENUM16(RenderMode), NO_EXTRA }, 529848b8605Smrg { GL_RGBA_MODE, CONST(1), NO_EXTRA }, 530848b8605Smrg { GL_SELECTION_BUFFER_SIZE, CONTEXT_INT(Select.BufferSize), NO_EXTRA }, 531848b8605Smrg { GL_STEREO, BUFFER_INT(Visual.stereoMode), NO_EXTRA }, 532848b8605Smrg { GL_TEXTURE_1D, LOC_CUSTOM, TYPE_BOOLEAN, NO_OFFSET, NO_EXTRA }, 533848b8605Smrg { GL_TEXTURE_3D, LOC_CUSTOM, TYPE_BOOLEAN, NO_OFFSET, NO_EXTRA }, 534848b8605Smrg { GL_TEXTURE_BINDING_1D, LOC_CUSTOM, TYPE_INT, TEXTURE_1D_INDEX, NO_EXTRA }, 535848b8605Smrg { GL_TEXTURE_BINDING_1D_ARRAY, LOC_CUSTOM, TYPE_INT, TEXTURE_1D_ARRAY_INDEX, extra_EXT_texture_array }, 536b8e80941Smrg { GL_TEXTURE_GEN_S, LOC_TEXUNIT, TYPE_BIT_0, offsetof(struct gl_fixedfunc_texture_unit, TexGenEnabled), NO_EXTRA }, 537b8e80941Smrg { GL_TEXTURE_GEN_T, LOC_TEXUNIT, TYPE_BIT_1, offsetof(struct gl_fixedfunc_texture_unit, TexGenEnabled), NO_EXTRA }, 538b8e80941Smrg { GL_TEXTURE_GEN_R, LOC_TEXUNIT, TYPE_BIT_2, offsetof(struct gl_fixedfunc_texture_unit, TexGenEnabled), NO_EXTRA }, 539b8e80941Smrg { GL_TEXTURE_GEN_Q, LOC_TEXUNIT, TYPE_BIT_3, offsetof(struct gl_fixedfunc_texture_unit, TexGenEnabled), NO_EXTRA }, 540848b8605Smrg { GL_UNPACK_LSB_FIRST, CONTEXT_BOOL(Unpack.LsbFirst), NO_EXTRA }, 541848b8605Smrg { GL_UNPACK_SWAP_BYTES, CONTEXT_BOOL(Unpack.SwapBytes), NO_EXTRA }, 542848b8605Smrg { GL_ZOOM_X, CONTEXT_FLOAT(Pixel.ZoomX), NO_EXTRA }, 543848b8605Smrg { GL_ZOOM_Y, CONTEXT_FLOAT(Pixel.ZoomY), NO_EXTRA }, 544848b8605Smrg { GL_VERTEX_ARRAY_COUNT_EXT, CONST(0), NO_EXTRA }, 545848b8605Smrg { GL_NORMAL_ARRAY_COUNT_EXT, CONST(0), NO_EXTRA }, 546848b8605Smrg { GL_COLOR_ARRAY_COUNT_EXT, CONST(0), NO_EXTRA }, 547b8e80941Smrg { GL_INDEX_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 548b8e80941Smrg { GL_INDEX_ARRAY_TYPE, ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Format.Type), NO_EXTRA }, 549b8e80941Smrg { GL_INDEX_ARRAY_STRIDE, ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Stride), NO_EXTRA }, 550848b8605Smrg { GL_INDEX_ARRAY_COUNT_EXT, CONST(0), NO_EXTRA }, 551848b8605Smrg { GL_TEXTURE_COORD_ARRAY_COUNT_EXT, CONST(0), NO_EXTRA }, 552b8e80941Smrg { GL_EDGE_FLAG_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 553b8e80941Smrg { GL_EDGE_FLAG_ARRAY_STRIDE, ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_EDGEFLAG].Stride), NO_EXTRA }, 554848b8605Smrg { GL_EDGE_FLAG_ARRAY_COUNT_EXT, CONST(0), NO_EXTRA }, 555b8e80941Smrg { GL_TEXTURE_COMPRESSION_HINT_ARB, CONTEXT_ENUM16(Hint.TextureCompression), NO_EXTRA }, 556848b8605Smrg { GL_ARRAY_ELEMENT_LOCK_FIRST_EXT, CONTEXT_INT(Array.LockFirst), NO_EXTRA }, 557848b8605Smrg { GL_ARRAY_ELEMENT_LOCK_COUNT_EXT, CONTEXT_INT(Array.LockCount), NO_EXTRA }, 558848b8605Smrg { GL_UNPACK_COMPRESSED_BLOCK_WIDTH, CONTEXT_INT(Unpack.CompressedBlockWidth), NO_EXTRA }, 559848b8605Smrg { GL_UNPACK_COMPRESSED_BLOCK_HEIGHT, CONTEXT_INT(Unpack.CompressedBlockHeight), NO_EXTRA }, 560848b8605Smrg { GL_UNPACK_COMPRESSED_BLOCK_DEPTH, CONTEXT_INT(Unpack.CompressedBlockDepth), NO_EXTRA }, 561848b8605Smrg { GL_UNPACK_COMPRESSED_BLOCK_SIZE, CONTEXT_INT(Unpack.CompressedBlockSize), NO_EXTRA }, 562848b8605Smrg { GL_PACK_COMPRESSED_BLOCK_WIDTH, CONTEXT_INT(Pack.CompressedBlockWidth), NO_EXTRA }, 563848b8605Smrg { GL_PACK_COMPRESSED_BLOCK_HEIGHT, CONTEXT_INT(Pack.CompressedBlockHeight), NO_EXTRA }, 564848b8605Smrg { GL_PACK_COMPRESSED_BLOCK_DEPTH, CONTEXT_INT(Pack.CompressedBlockDepth), NO_EXTRA }, 565848b8605Smrg { GL_PACK_COMPRESSED_BLOCK_SIZE, CONTEXT_INT(Pack.CompressedBlockSize), NO_EXTRA }, 566848b8605Smrg { GL_TRANSPOSE_MODELVIEW_MATRIX_ARB, CONTEXT_MATRIX_T(ModelviewMatrixStack), NO_EXTRA }, 567848b8605Smrg { GL_TRANSPOSE_PROJECTION_MATRIX_ARB, CONTEXT_MATRIX_T(ProjectionMatrixStack.Top), NO_EXTRA }, 568848b8605Smrg { GL_TRANSPOSE_TEXTURE_MATRIX_ARB, CONTEXT_MATRIX_T(TextureMatrixStack), NO_EXTRA }, 569848b8605Smrg { GL_COLOR_SUM, CONTEXT_BOOL(Fog.ColorSumEnabled), NO_EXTRA }, 570848b8605Smrg { GL_CURRENT_SECONDARY_COLOR, CONTEXT_FIELD(Current.Attrib[VERT_ATTRIB_COLOR1][0], TYPE_FLOATN_4), extra_flush_current }, 571b8e80941Smrg { GL_SECONDARY_COLOR_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 572b8e80941Smrg { GL_SECONDARY_COLOR_ARRAY_TYPE, ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_COLOR1].Format.Type), NO_EXTRA }, 573b8e80941Smrg { GL_SECONDARY_COLOR_ARRAY_STRIDE, ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_COLOR1].Stride), NO_EXTRA }, 574848b8605Smrg { GL_SECONDARY_COLOR_ARRAY_SIZE, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, 575848b8605Smrg { GL_CURRENT_FOG_COORDINATE, CONTEXT_FLOAT(Current.Attrib[VERT_ATTRIB_FOG][0]), extra_flush_current }, 576b8e80941Smrg { GL_FOG_COORDINATE_ARRAY, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA }, 577b8e80941Smrg { GL_FOG_COORDINATE_ARRAY_TYPE, ARRAY_ENUM16(VertexAttrib[VERT_ATTRIB_FOG].Format.Type), NO_EXTRA }, 578b8e80941Smrg { GL_FOG_COORDINATE_ARRAY_STRIDE, ARRAY_SHORT(VertexAttrib[VERT_ATTRIB_FOG].Stride), NO_EXTRA }, 579b8e80941Smrg { GL_FOG_COORDINATE_SOURCE, CONTEXT_ENUM16(Fog.FogCoordinateSource), NO_EXTRA }, 580b8e80941Smrg { GL_FOG_DISTANCE_MODE_NV, CONTEXT_ENUM16(Fog.FogDistanceMode), extra_NV_fog_distance }, 581848b8605Smrg { GL_RASTER_POSITION_UNCLIPPED_IBM, CONTEXT_BOOL(Transform.RasterPositionUnclipped), NO_EXTRA }, 582b8e80941Smrg { GL_POINT_SPRITE_R_MODE_NV, CONTEXT_ENUM16(Point.SpriteRMode), extra_NV_point_sprite }, 583b8e80941Smrg { GL_POINT_SPRITE_COORD_ORIGIN, CONTEXT_ENUM16(Point.SpriteOrigin), extra_NV_point_sprite_ARB_point_sprite }, 584848b8605Smrg { GL_TEXTURE_RECTANGLE_NV, LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_NV_texture_rectangle }, 585848b8605Smrg { GL_TEXTURE_BINDING_RECTANGLE_NV, LOC_CUSTOM, TYPE_INT, TEXTURE_RECT_INDEX, extra_NV_texture_rectangle }, 586848b8605Smrg { GL_MAX_RECTANGLE_TEXTURE_SIZE_NV, CONTEXT_INT(Const.MaxTextureRectSize), extra_NV_texture_rectangle }, 587848b8605Smrg { GL_STENCIL_TEST_TWO_SIDE_EXT, CONTEXT_BOOL(Stencil.TestTwoSide), extra_EXT_stencil_two_side }, 588b8e80941Smrg { GL_ACTIVE_STENCIL_FACE_EXT, LOC_CUSTOM, TYPE_ENUM16, NO_OFFSET, NO_EXTRA }, 589848b8605Smrg { GL_MAX_SHININESS_NV, CONTEXT_FLOAT(Const.MaxShininess), NO_EXTRA }, 590848b8605Smrg { GL_MAX_SPOT_EXPONENT_NV, CONTEXT_FLOAT(Const.MaxSpotExponent), NO_EXTRA }, 591848b8605Smrg { GL_PRIMITIVE_RESTART_NV, CONTEXT_BOOL(Array.PrimitiveRestart), extra_NV_primitive_restart }, 592848b8605Smrg { GL_PRIMITIVE_RESTART_INDEX_NV, CONTEXT_INT(Array.RestartIndex), extra_NV_primitive_restart }, 593b8e80941Smrg { GL_INDEX_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_COLOR_INDEX].BufferObj), NO_EXTRA }, 594b8e80941Smrg { GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_EDGEFLAG].BufferObj), NO_EXTRA }, 595b8e80941Smrg { GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_COLOR1].BufferObj), NO_EXTRA }, 596b8e80941Smrg { GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, offsetof(struct gl_vertex_array_object, BufferBinding[VERT_ATTRIB_FOG].BufferObj), NO_EXTRA }, 597848b8605Smrg { GL_VERTEX_PROGRAM_ARB, CONTEXT_BOOL(VertexProgram.Enabled), extra_ARB_vertex_program }, 598848b8605Smrg { GL_VERTEX_PROGRAM_POINT_SIZE_ARB, CONTEXT_BOOL(VertexProgram.PointSizeEnabled), extra_ARB_vertex_program }, 599848b8605Smrg { GL_VERTEX_PROGRAM_TWO_SIDE_ARB, CONTEXT_BOOL(VertexProgram.TwoSideEnabled), extra_ARB_vertex_program }, 600848b8605Smrg { GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB, CONTEXT_INT(Const.MaxProgramMatrixStackDepth), extra_ARB_vertex_program_ARB_fragment_program }, 601848b8605Smrg { GL_MAX_PROGRAM_MATRICES_ARB, CONTEXT_INT(Const.MaxProgramMatrices), extra_ARB_vertex_program_ARB_fragment_program }, 602848b8605Smrg { GL_CURRENT_MATRIX_STACK_DEPTH_ARB, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_vertex_program_ARB_fragment_program }, 603848b8605Smrg { GL_CURRENT_MATRIX_ARB, LOC_CUSTOM, TYPE_MATRIX, 0, extra_ARB_vertex_program_ARB_fragment_program }, 604848b8605Smrg { GL_TRANSPOSE_CURRENT_MATRIX_ARB, LOC_CUSTOM, TYPE_MATRIX_T, 0, extra_ARB_vertex_program_ARB_fragment_program }, 605848b8605Smrg { GL_PROGRAM_ERROR_POSITION_ARB, CONTEXT_INT(Program.ErrorPos), extra_ARB_vertex_program_ARB_fragment_program }, 606848b8605Smrg { GL_FRAGMENT_PROGRAM_ARB, CONTEXT_BOOL(FragmentProgram.Enabled), extra_ARB_fragment_program }, 607848b8605Smrg { GL_RGBA_SIGNED_COMPONENTS_EXT, LOC_CUSTOM, TYPE_INT_4, 0, extra_EXT_packed_float }, 608848b8605Smrg { GL_DEPTH_BOUNDS_TEST_EXT, CONTEXT_BOOL(Depth.BoundsTest), extra_EXT_depth_bounds_test }, 609848b8605Smrg { GL_DEPTH_BOUNDS_EXT, CONTEXT_FLOAT2(Depth.BoundsMin), extra_EXT_depth_bounds_test }, 610b8e80941Smrg { GL_DEPTH_CLAMP, LOC_CUSTOM, TYPE_BOOLEAN, 0, extra_ARB_depth_clamp }, 611b8e80941Smrg { GL_FRAGMENT_SHADER_ATI, CONTEXT_BOOL(ATIFragmentShader.Enabled), extra_ATI_fragment_shader }, 612848b8605Smrg { GL_NUM_FRAGMENT_REGISTERS_ATI, CONST(6), extra_ATI_fragment_shader }, 613848b8605Smrg { GL_NUM_FRAGMENT_CONSTANTS_ATI, CONST(8), extra_ATI_fragment_shader }, 614848b8605Smrg { GL_NUM_PASSES_ATI, CONST(2), extra_ATI_fragment_shader }, 615848b8605Smrg { GL_NUM_INSTRUCTIONS_PER_PASS_ATI, CONST(8), extra_ATI_fragment_shader }, 616848b8605Smrg { GL_NUM_INSTRUCTIONS_TOTAL_ATI, CONST(16), extra_ATI_fragment_shader }, 617848b8605Smrg { GL_COLOR_ALPHA_PAIRING_ATI, CONST(GL_TRUE), extra_ATI_fragment_shader }, 618848b8605Smrg { GL_NUM_LOOPBACK_COMPONENTS_ATI, CONST(3), extra_ATI_fragment_shader }, 619848b8605Smrg { GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI, CONST(3), extra_ATI_fragment_shader }, 620b8e80941Smrg { GL_PROVOKING_VERTEX_EXT, CONTEXT_ENUM16(Light.ProvokingVertex), extra_EXT_provoking_vertex }, 621b8e80941Smrg { GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT, CONTEXT_BOOL(Const.QuadsFollowProvokingVertexConvention), extra_EXT_provoking_vertex_32 }, 622848b8605Smrg { GL_TEXTURE_CUBE_MAP_SEAMLESS, CONTEXT_BOOL(Texture.CubeMapSeamless), extra_ARB_seamless_cube_map }, 623b8e80941Smrg { GL_RGBA_INTEGER_MODE_EXT, LOC_CUSTOM, TYPE_INT, 0, extra_EXT_texture_integer_and_new_buffers }, 624848b8605Smrg { GL_MAX_TRANSFORM_FEEDBACK_BUFFERS, CONTEXT_INT(Const.MaxTransformFeedbackBuffers), extra_ARB_transform_feedback3 }, 625848b8605Smrg { GL_MAX_VERTEX_STREAMS, CONTEXT_INT(Const.MaxVertexStreams), extra_ARB_transform_feedback3_ARB_gpu_shader5 }, 626848b8605Smrg { GL_RGBA_FLOAT_MODE_ARB, BUFFER_FIELD(Visual.floatMode, TYPE_BOOLEAN), extra_core_ARB_color_buffer_float_and_new_buffers }, 627848b8605Smrg { GL_FRAMEBUFFER_SRGB_CAPABLE_EXT, BUFFER_INT(Visual.sRGBCapable), extra_EXT_framebuffer_sRGB_and_new_buffers }, 628848b8605Smrg { GL_PRIMITIVE_RESTART, CONTEXT_BOOL(Array.PrimitiveRestart), extra_version_31 }, 629848b8605Smrg { GL_PRIMITIVE_RESTART_INDEX, CONTEXT_INT(Array.RestartIndex), extra_version_31 }, 630848b8605Smrg { GL_CONTEXT_PROFILE_MASK, CONTEXT_INT(Const.ProfileMask), extra_version_32 }, 631848b8605Smrg { GL_TIMESTAMP, LOC_CUSTOM, TYPE_INT64, 0, extra_ARB_timer_query }, 632848b8605Smrg { GL_MIN_MAP_BUFFER_ALIGNMENT, CONTEXT_INT(Const.MinMapBufferAlignment), NO_EXTRA }, 633848b8605Smrg { GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB, CONTEXT_INT(Const.MaxProgramTextureGatherComponents), extra_ARB_texture_gather }, 634848b8605Smrg { GL_MAX_IMAGE_SAMPLES, CONTEXT_INT(Const.MaxImageSamples), extra_ARB_shader_image_load_store }, 635b8e80941Smrg { GL_QUERY_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_query_buffer_object }, 636b8e80941Smrg { GL_VBO_FREE_MEMORY_ATI, LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo }, 637b8e80941Smrg { GL_TEXTURE_FREE_MEMORY_ATI, LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo }, 638b8e80941Smrg { GL_RENDERBUFFER_FREE_MEMORY_ATI, LOC_CUSTOM, TYPE_INT_4, NO_OFFSET, extra_ATI_meminfo }, 639b8e80941Smrg { GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX, LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info }, 640b8e80941Smrg { GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX, LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info }, 641b8e80941Smrg { GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info }, 642b8e80941Smrg { GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX, LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info }, 643b8e80941Smrg { GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX, LOC_CUSTOM, TYPE_INT, NO_OFFSET, extra_NVX_gpu_memory_info }, 644b8e80941Smrg { GL_MAX_CULL_DISTANCES, CONTEXT_INT(Const.MaxClipPlanes), extra_ARB_cull_distance }, 645b8e80941Smrg { GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES, CONTEXT_INT(Const.MaxClipPlanes), extra_ARB_cull_distance }, 646b8e80941Smrg { GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB, CONTEXT_INT(Const.MaxComputeVariableGroupInvocations), extra_ARB_compute_variable_group_size }, 647b8e80941Smrg { GL_SPARSE_BUFFER_PAGE_SIZE_ARB, CONTEXT_INT(Const.SparseBufferPageSize), extra_ARB_sparse_buffer }, 648b8e80941Smrg { GL_MAX_SUBROUTINES, CONST(MAX_SUBROUTINES), NO_EXTRA }, 649b8e80941Smrg { GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS, CONST(MAX_SUBROUTINE_UNIFORM_LOCATIONS), NO_EXTRA }, 650b8e80941Smrg { GL_PARAMETER_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_indirect_parameters }, 651b8e80941Smrg { GL_DEPTH_CLAMP_NEAR_AMD, CONTEXT_BOOL(Transform.DepthClampNear), extra_AMD_depth_clamp_separate }, 652b8e80941Smrg { GL_DEPTH_CLAMP_FAR_AMD, CONTEXT_BOOL(Transform.DepthClampFar), extra_AMD_depth_clamp_separate }, 653848b8605Smrg}; 654848b8605Smrg 655848b8605Smrgstatic table_t table_API_OPENGL = { 656b8e80941Smrg 95, 553, 492, 0, 657b8e80941Smrg 152, 214, 0, 0, 658b8e80941Smrg 245, 496, 564, 121, 659b8e80941Smrg 304, 397, 409, 0, 660b8e80941Smrg 0, 0, 337, 599, 661b8e80941Smrg 278, 257, 0, 387, 662b8e80941Smrg 0, 0, 0, 474, 663b8e80941Smrg 0, 0, 0, 497, 664b8e80941Smrg 413, 0, 194, 353, 665b8e80941Smrg 0, 0, 179, 164, 666b8e80941Smrg 528, 147, 153, 6, 667b8e80941Smrg 0, 0, 423, 0, 668b8e80941Smrg 340, 0, 416, 282, 669b8e80941Smrg 154, 362, 463, 0, 670b8e80941Smrg 64, 620, 0, 0, 671b8e80941Smrg 0, 241, 346, 0, 672b8e80941Smrg 596, 0, 0, 229, 673b8e80941Smrg 0, 0, 254, 309, 674b8e80941Smrg 0, 609, 420, 86, 675b8e80941Smrg 557, 520, 236, 0, 676b8e80941Smrg 0, 253, 371, 292, 677b8e80941Smrg 158, 0, 380, 0, 678b8e80941Smrg 265, 96, 554, 0, 679b8e80941Smrg 0, 157, 0, 0, 680b8e80941Smrg 123, 246, 465, 0, 681b8e80941Smrg 427, 305, 320, 414, 682b8e80941Smrg 0, 0, 0, 338, 683b8e80941Smrg 311, 0, 390, 0, 684b8e80941Smrg 0, 570, 0, 0, 685b8e80941Smrg 475, 0, 0, 0, 686b8e80941Smrg 137, 0, 0, 196, 687b8e80941Smrg 258, 0, 0, 180, 688b8e80941Smrg 293, 43, 131, 0, 689b8e80941Smrg 199, 0, 0, 444, 690b8e80941Smrg 0, 432, 73, 0, 691b8e80941Smrg 0, 433, 363, 0, 692b8e80941Smrg 146, 638, 0, 0, 693b8e80941Smrg 594, 428, 323, 0, 694b8e80941Smrg 0, 597, 0, 0, 695b8e80941Smrg 228, 576, 0, 255, 696b8e80941Smrg 0, 0, 610, 421, 697b8e80941Smrg 85, 558, 536, 80, 698b8e80941Smrg 20, 0, 541, 218, 699b8e80941Smrg 547, 162, 565, 600, 700b8e80941Smrg 455, 585, 97, 0, 701b8e80941Smrg 456, 487, 139, 0, 702b8e80941Smrg 598, 450, 280, 466, 703b8e80941Smrg 0, 438, 0, 322, 704b8e80941Smrg 0, 0, 581, 0, 705b8e80941Smrg 335, 0, 0, 391, 706b8e80941Smrg 0, 448, 0, 0, 707b8e80941Smrg 0, 476, 0, 0, 708b8e80941Smrg 42, 138, 260, 0, 709b8e80941Smrg 195, 356, 0, 0, 710b8e80941Smrg 181, 166, 223, 473, 711b8e80941Smrg 601, 202, 0, 0, 712b8e80941Smrg 109, 0, 0, 74, 713b8e80941Smrg 0, 0, 434, 364, 714b8e80941Smrg 0, 144, 639, 0, 715b8e80941Smrg 317, 0, 410, 329, 716b8e80941Smrg 618, 328, 82, 271, 717b8e80941Smrg 0, 230, 0, 0, 718b8e80941Smrg 490, 0, 0, 613, 719b8e80941Smrg 0, 83, 559, 537, 720b8e80941Smrg 238, 21, 0, 489, 721b8e80941Smrg 216, 548, 165, 440, 722b8e80941Smrg 634, 523, 586, 98, 723b8e80941Smrg 0, 521, 256, 151, 724b8e80941Smrg 39, 249, 125, 281, 725b8e80941Smrg 0, 0, 441, 0, 726b8e80941Smrg 316, 110, 0, 582, 727b8e80941Smrg 0, 336, 0, 0, 728b8e80941Smrg 591, 0, 449, 0, 729b8e80941Smrg 0, 0, 91, 0, 730b8e80941Smrg 0, 453, 23, 367, 731b8e80941Smrg 0, 44, 355, 0, 732b8e80941Smrg 509, 587, 167, 142, 733b8e80941Smrg 127, 54, 203, 0, 734848b8605Smrg 0, 3, 0, 0, 735b8e80941Smrg 0, 0, 0, 118, 736b8e80941Smrg 365, 0, 145, 239, 737b8e80941Smrg 0, 398, 0, 629, 738b8e80941Smrg 0, 425, 347, 84, 739b8e80941Smrg 405, 0, 0, 642, 740b8e80941Smrg 470, 300, 0, 0, 741b8e80941Smrg 612, 0, 384, 0, 742b8e80941Smrg 452, 500, 0, 358, 743b8e80941Smrg 626, 217, 0, 488, 744b8e80941Smrg 530, 635, 445, 574, 745b8e80941Smrg 99, 0, 0, 0, 746b8e80941Smrg 156, 33, 247, 129, 747b8e80941Smrg 212, 485, 0, 439, 748b8e80941Smrg 0, 348, 111, 0, 749b8e80941Smrg 0, 377, 341, 604, 750b8e80941Smrg 0, 392, 264, 480, 751b8e80941Smrg 0, 436, 0, 93, 752b8e80941Smrg 426, 263, 29, 494, 753b8e80941Smrg 368, 615, 579, 201, 754b8e80941Smrg 50, 512, 182, 168, 755b8e80941Smrg 190, 572, 0, 204, 756848b8605Smrg 30, 0, 2, 0, 757b8e80941Smrg 242, 354, 0, 0, 758b8e80941Smrg 502, 517, 222, 296, 759b8e80941Smrg 0, 350, 400, 0, 760b8e80941Smrg 0, 388, 373, 297, 761b8e80941Smrg 0, 272, 0, 0, 762b8e80941Smrg 643, 471, 621, 0, 763b8e80941Smrg 0, 611, 0, 385, 764b8e80941Smrg 495, 266, 191, 332, 765b8e80941Smrg 0, 0, 75, 289, 766b8e80941Smrg 169, 183, 636, 525, 767b8e80941Smrg 529, 100, 0, 0, 768b8e80941Smrg 106, 77, 35, 248, 769b8e80941Smrg 126, 213, 71, 0, 770b8e80941Smrg 442, 0, 349, 112, 771b8e80941Smrg 0, 0, 376, 0, 772b8e80941Smrg 0, 0, 577, 290, 773b8e80941Smrg 524, 0, 0, 0, 774b8e80941Smrg 92, 0, 0, 17, 775b8e80941Smrg 0, 261, 324, 0, 776b8e80941Smrg 46, 49, 510, 588, 777b8e80941Smrg 540, 25, 0, 0, 778b8e80941Smrg 205, 31, 0, 417, 779b8e80941Smrg 0, 0, 623, 0, 780b8e80941Smrg 12, 0, 519, 0, 781b8e80941Smrg 294, 0, 0, 396, 782b8e80941Smrg 0, 443, 389, 375, 783b8e80941Smrg 298, 0, 273, 0, 784b8e80941Smrg 27, 0, 481, 333, 785b8e80941Smrg 0, 0, 0, 424, 786b8e80941Smrg 584, 94, 68, 193, 787848b8605Smrg 0, 0, 0, 76, 788b8e80941Smrg 602, 546, 532, 637, 789b8e80941Smrg 0, 287, 101, 0, 790b8e80941Smrg 0, 107, 625, 40, 791b8e80941Smrg 0, 128, 0, 72, 792b8e80941Smrg 130, 437, 608, 0, 793b8e80941Smrg 113, 0, 0, 378, 794b8e80941Smrg 0, 327, 0, 268, 795b8e80941Smrg 291, 0, 0, 0, 796b8e80941Smrg 200, 0, 215, 262, 797b8e80941Smrg 4, 0, 148, 325, 798b8e80941Smrg 580, 174, 52, 508, 799b8e80941Smrg 589, 542, 19, 477, 800b8e80941Smrg 522, 206, 0, 630, 801b8e80941Smrg 575, 0, 578, 627, 802b8e80941Smrg 0, 13, 0, 366, 803b8e80941Smrg 0, 295, 0, 0, 804b8e80941Smrg 319, 0, 55, 0, 805b8e80941Smrg 374, 299, 0, 275, 806b8e80941Smrg 569, 514, 0, 482, 807b8e80941Smrg 334, 0, 0, 0, 808b8e80941Smrg 176, 0, 78, 69, 809b8e80941Smrg 192, 285, 351, 0, 810b8e80941Smrg 61, 603, 159, 533, 811b8e80941Smrg 0, 0, 645, 102, 812b8e80941Smrg 134, 0, 108, 0, 813b8e80941Smrg 34, 0, 124, 0, 814b8e80941Smrg 310, 18, 0, 0, 815b8e80941Smrg 315, 114, 0, 0, 816b8e80941Smrg 379, 0, 0, 459, 817b8e80941Smrg 269, 545, 0, 372, 818b8e80941Smrg 0, 483, 0, 219, 819b8e80941Smrg 0, 1, 0, 149, 820b8e80941Smrg 326, 0, 173, 51, 821b8e80941Smrg 507, 177, 543, 527, 822b8e80941Smrg 478, 0, 207, 0, 823b8e80941Smrg 631, 0, 0, 0, 824b8e80941Smrg 135, 0, 14, 0, 825b8e80941Smrg 7, 386, 343, 0, 826b8e80941Smrg 87, 321, 0, 56, 827b8e80941Smrg 0, 628, 330, 0, 828b8e80941Smrg 274, 571, 516, 0, 829b8e80941Smrg 513, 339, 0, 0, 830848b8605Smrg 0, 0, 0, 22, 831b8e80941Smrg 48, 24, 0, 402, 832b8e80941Smrg 0, 62, 0, 160, 833b8e80941Smrg 0, 0, 63, 646, 834b8e80941Smrg 583, 468, 451, 0, 835848b8605Smrg 0, 36, 0, 0, 836b8e80941Smrg 103, 359, 132, 0, 837b8e80941Smrg 0, 0, 115, 0, 838b8e80941Smrg 0, 237, 0, 0, 839b8e80941Smrg 0, 270, 0, 486, 840b8e80941Smrg 370, 633, 484, 0, 841b8e80941Smrg 220, 0, 9, 503, 842b8e80941Smrg 150, 267, 0, 560, 843b8e80941Smrg 395, 506, 57, 544, 844b8e80941Smrg 0, 479, 0, 208, 845b8e80941Smrg 614, 632, 0, 0, 846b8e80941Smrg 0, 141, 0, 10, 847b8e80941Smrg 431, 8, 197, 345, 848b8e80941Smrg 119, 361, 318, 0, 849b8e80941Smrg 0, 0, 0, 331, 850b8e80941Smrg 0, 276, 0, 0, 851b8e80941Smrg 0, 518, 0, 0, 852b8e80941Smrg 469, 0, 622, 0, 853b8e80941Smrg 498, 411, 0, 286, 854b8e80941Smrg 403, 0, 59, 573, 855b8e80941Smrg 161, 0, 0, 28, 856b8e80941Smrg 454, 53, 133, 429, 857b8e80941Smrg 592, 0, 37, 0, 858b8e80941Smrg 0, 460, 644, 464, 859b8e80941Smrg 0, 0, 0, 116, 860b8e80941Smrg 0, 0, 381, 0, 861b8e80941Smrg 0, 0, 0, 0, 862b8e80941Smrg 232, 155, 0, 251, 863b8e80941Smrg 0, 221, 606, 32, 864b8e80941Smrg 0, 122, 457, 0, 865b8e80941Smrg 561, 393, 511, 178, 866b8e80941Smrg 170, 189, 568, 314, 867b8e80941Smrg 209, 0, 233, 624, 868b8e80941Smrg 15, 0, 45, 225, 869b8e80941Smrg 11, 430, 16, 198, 870b8e80941Smrg 344, 435, 369, 399, 871b8e80941Smrg 0, 0, 0, 0, 872b8e80941Smrg 0, 0, 406, 90, 873b8e80941Smrg 447, 0, 342, 0, 874b8e80941Smrg 550, 472, 0, 605, 875b8e80941Smrg 0, 493, 412, 0, 876b8e80941Smrg 535, 404, 515, 60, 877b8e80941Smrg 66, 538, 0, 616, 878b8e80941Smrg 26, 458, 360, 549, 879b8e80941Smrg 408, 283, 0, 38, 880b8e80941Smrg 422, 0, 105, 641, 881b8e80941Smrg 461, 0, 0, 0, 882b8e80941Smrg 117, 0, 0, 382, 883b8e80941Smrg 88, 0, 0, 0, 884b8e80941Smrg 0, 231, 0, 0, 885b8e80941Smrg 252, 0, 501, 607, 886b8e80941Smrg 418, 0, 555, 175, 887b8e80941Smrg 240, 562, 312, 505, 888b8e80941Smrg 58, 171, 211, 566, 889b8e80941Smrg 446, 306, 0, 234, 890b8e80941Smrg 552, 491, 0, 140, 891b8e80941Smrg 394, 0, 590, 244, 892b8e80941Smrg 467, 563, 120, 308, 893b8e80941Smrg 401, 0, 0, 0, 894b8e80941Smrg 0, 357, 0, 277, 895b8e80941Smrg 259, 640, 0, 0, 896b8e80941Smrg 0, 551, 65, 0, 897b8e80941Smrg 0, 250, 136, 407, 898b8e80941Smrg 0, 534, 352, 539, 899b8e80941Smrg 0, 67, 163, 0, 900b8e80941Smrg 143, 0, 5, 0, 901b8e80941Smrg 595, 70, 284, 0, 902b8e80941Smrg 41, 415, 0, 104, 903b8e80941Smrg 0, 462, 0, 619, 904b8e80941Smrg 81, 593, 0, 0, 905b8e80941Smrg 383, 89, 243, 0, 906b8e80941Smrg 279, 0, 227, 531, 907b8e80941Smrg 0, 79, 617, 210, 908b8e80941Smrg 499, 419, 288, 556, 909b8e80941Smrg 47, 235, 0, 313, 910b8e80941Smrg 504, 526, 172, 224, 911b8e80941Smrg 567, 226, 307, 0, 912848b8605Smrg}; 913848b8605Smrg 914848b8605Smrgstatic table_t table_API_OPENGLES = { 915b8e80941Smrg 95, 0, 0, 0, 916b8e80941Smrg 152, 0, 0, 0, 917b8e80941Smrg 0, 0, 0, 121, 918848b8605Smrg 0, 0, 0, 0, 919848b8605Smrg 0, 0, 0, 0, 920848b8605Smrg 0, 0, 0, 0, 921848b8605Smrg 0, 0, 0, 0, 922b8e80941Smrg 0, 303, 0, 0, 923848b8605Smrg 0, 0, 0, 0, 924b8e80941Smrg 0, 0, 179, 164, 925b8e80941Smrg 0, 147, 153, 6, 926848b8605Smrg 0, 0, 0, 0, 927848b8605Smrg 0, 0, 0, 0, 928b8e80941Smrg 154, 0, 0, 0, 929848b8605Smrg 64, 0, 0, 0, 930848b8605Smrg 0, 0, 0, 0, 931848b8605Smrg 0, 0, 0, 0, 932848b8605Smrg 0, 0, 0, 0, 933b8e80941Smrg 0, 0, 0, 86, 934848b8605Smrg 0, 0, 0, 0, 935848b8605Smrg 0, 0, 0, 0, 936b8e80941Smrg 158, 0, 0, 0, 937b8e80941Smrg 0, 96, 0, 0, 938b8e80941Smrg 0, 157, 0, 0, 939b8e80941Smrg 123, 0, 0, 0, 940848b8605Smrg 0, 0, 0, 0, 941848b8605Smrg 0, 0, 0, 0, 942848b8605Smrg 0, 0, 0, 0, 943848b8605Smrg 0, 0, 0, 0, 944848b8605Smrg 0, 0, 0, 0, 945b8e80941Smrg 137, 0, 0, 0, 946b8e80941Smrg 0, 0, 0, 180, 947b8e80941Smrg 0, 43, 131, 0, 948848b8605Smrg 0, 0, 0, 0, 949848b8605Smrg 0, 0, 73, 0, 950848b8605Smrg 0, 0, 0, 0, 951b8e80941Smrg 146, 0, 0, 0, 952848b8605Smrg 0, 0, 0, 0, 953848b8605Smrg 0, 0, 0, 0, 954848b8605Smrg 0, 0, 0, 0, 955848b8605Smrg 0, 0, 0, 0, 956b8e80941Smrg 85, 0, 0, 80, 957848b8605Smrg 20, 0, 0, 0, 958b8e80941Smrg 0, 162, 0, 0, 959b8e80941Smrg 0, 0, 97, 0, 960b8e80941Smrg 0, 0, 139, 0, 961848b8605Smrg 0, 0, 0, 0, 962848b8605Smrg 0, 0, 0, 0, 963848b8605Smrg 0, 0, 0, 0, 964848b8605Smrg 0, 0, 0, 0, 965848b8605Smrg 0, 0, 0, 0, 966b8e80941Smrg 0, 0, 0, 302, 967b8e80941Smrg 42, 138, 0, 0, 968848b8605Smrg 0, 0, 0, 0, 969b8e80941Smrg 181, 166, 0, 0, 970848b8605Smrg 0, 0, 0, 0, 971b8e80941Smrg 109, 0, 0, 74, 972848b8605Smrg 0, 0, 0, 0, 973b8e80941Smrg 0, 144, 0, 0, 974848b8605Smrg 0, 0, 0, 0, 975b8e80941Smrg 0, 0, 82, 0, 976848b8605Smrg 0, 0, 0, 0, 977b8e80941Smrg 0, 0, 185, 0, 978b8e80941Smrg 0, 83, 0, 0, 979848b8605Smrg 0, 21, 0, 0, 980b8e80941Smrg 0, 0, 165, 0, 981b8e80941Smrg 0, 0, 0, 98, 982b8e80941Smrg 0, 0, 0, 151, 983b8e80941Smrg 39, 0, 125, 0, 984848b8605Smrg 0, 0, 0, 0, 985b8e80941Smrg 0, 110, 0, 0, 986848b8605Smrg 0, 0, 0, 0, 987848b8605Smrg 0, 0, 0, 0, 988b8e80941Smrg 0, 0, 91, 0, 989848b8605Smrg 0, 0, 23, 0, 990848b8605Smrg 0, 44, 0, 0, 991b8e80941Smrg 0, 0, 167, 142, 992b8e80941Smrg 127, 54, 0, 0, 993848b8605Smrg 0, 3, 0, 0, 994b8e80941Smrg 184, 0, 0, 118, 995b8e80941Smrg 0, 0, 145, 0, 996848b8605Smrg 0, 0, 0, 0, 997b8e80941Smrg 0, 0, 0, 84, 998848b8605Smrg 0, 0, 0, 0, 999b8e80941Smrg 0, 0, 0, 186, 1000848b8605Smrg 0, 0, 0, 0, 1001848b8605Smrg 0, 0, 0, 0, 1002848b8605Smrg 0, 0, 0, 0, 1003848b8605Smrg 0, 0, 0, 0, 1004b8e80941Smrg 99, 0, 0, 0, 1005b8e80941Smrg 156, 33, 0, 129, 1006848b8605Smrg 0, 0, 0, 0, 1007b8e80941Smrg 0, 0, 111, 0, 1008848b8605Smrg 0, 0, 0, 0, 1009848b8605Smrg 0, 0, 0, 0, 1010b8e80941Smrg 0, 0, 0, 93, 1011848b8605Smrg 0, 0, 29, 0, 1012848b8605Smrg 0, 0, 0, 0, 1013b8e80941Smrg 50, 0, 182, 168, 1014848b8605Smrg 0, 0, 0, 0, 1015848b8605Smrg 30, 0, 2, 0, 1016848b8605Smrg 0, 0, 0, 0, 1017848b8605Smrg 0, 0, 0, 0, 1018848b8605Smrg 0, 0, 0, 0, 1019848b8605Smrg 0, 0, 0, 0, 1020848b8605Smrg 0, 0, 0, 0, 1021848b8605Smrg 0, 0, 0, 0, 1022848b8605Smrg 0, 0, 0, 0, 1023848b8605Smrg 0, 0, 0, 0, 1024848b8605Smrg 0, 0, 75, 0, 1025b8e80941Smrg 169, 183, 0, 0, 1026b8e80941Smrg 0, 100, 0, 0, 1027b8e80941Smrg 106, 77, 35, 0, 1028b8e80941Smrg 126, 0, 71, 0, 1029b8e80941Smrg 0, 0, 0, 112, 1030848b8605Smrg 0, 0, 0, 0, 1031848b8605Smrg 0, 0, 0, 0, 1032848b8605Smrg 0, 0, 0, 0, 1033b8e80941Smrg 92, 0, 0, 17, 1034848b8605Smrg 0, 0, 0, 0, 1035848b8605Smrg 46, 49, 0, 0, 1036848b8605Smrg 0, 25, 0, 0, 1037848b8605Smrg 0, 31, 0, 0, 1038848b8605Smrg 0, 0, 0, 0, 1039848b8605Smrg 12, 0, 0, 0, 1040848b8605Smrg 0, 0, 0, 0, 1041848b8605Smrg 0, 0, 0, 0, 1042848b8605Smrg 0, 0, 0, 0, 1043848b8605Smrg 27, 0, 0, 0, 1044848b8605Smrg 0, 0, 0, 0, 1045b8e80941Smrg 0, 94, 68, 0, 1046848b8605Smrg 0, 0, 0, 76, 1047848b8605Smrg 0, 0, 0, 0, 1048b8e80941Smrg 0, 0, 101, 0, 1049b8e80941Smrg 0, 107, 0, 40, 1050b8e80941Smrg 0, 128, 0, 72, 1051b8e80941Smrg 130, 0, 0, 0, 1052b8e80941Smrg 113, 0, 0, 0, 1053848b8605Smrg 0, 0, 0, 0, 1054848b8605Smrg 0, 0, 0, 0, 1055848b8605Smrg 0, 0, 0, 0, 1056b8e80941Smrg 4, 0, 148, 0, 1057b8e80941Smrg 0, 174, 52, 0, 1058848b8605Smrg 0, 0, 19, 0, 1059848b8605Smrg 0, 0, 0, 0, 1060b8e80941Smrg 0, 0, 0, 187, 1061848b8605Smrg 0, 13, 0, 0, 1062848b8605Smrg 0, 0, 0, 0, 1063848b8605Smrg 0, 0, 55, 0, 1064848b8605Smrg 0, 0, 0, 0, 1065848b8605Smrg 0, 0, 0, 0, 1066848b8605Smrg 0, 0, 0, 0, 1067b8e80941Smrg 176, 0, 78, 69, 1068848b8605Smrg 0, 0, 0, 0, 1069b8e80941Smrg 61, 0, 159, 0, 1070b8e80941Smrg 0, 0, 0, 102, 1071b8e80941Smrg 134, 0, 108, 0, 1072b8e80941Smrg 34, 0, 124, 0, 1073848b8605Smrg 0, 18, 0, 0, 1074b8e80941Smrg 0, 114, 0, 0, 1075b8e80941Smrg 0, 0, 301, 0, 1076848b8605Smrg 0, 0, 0, 0, 1077848b8605Smrg 0, 0, 0, 0, 1078b8e80941Smrg 0, 1, 0, 149, 1079b8e80941Smrg 0, 0, 173, 51, 1080b8e80941Smrg 0, 177, 0, 0, 1081848b8605Smrg 0, 0, 0, 0, 1082848b8605Smrg 0, 0, 0, 0, 1083b8e80941Smrg 135, 0, 14, 0, 1084848b8605Smrg 7, 0, 0, 0, 1085b8e80941Smrg 87, 0, 0, 56, 1086848b8605Smrg 0, 0, 0, 0, 1087848b8605Smrg 0, 0, 0, 0, 1088848b8605Smrg 0, 0, 0, 0, 1089848b8605Smrg 0, 0, 0, 22, 1090848b8605Smrg 48, 24, 0, 0, 1091b8e80941Smrg 0, 62, 0, 160, 1092848b8605Smrg 0, 0, 63, 0, 1093848b8605Smrg 0, 0, 0, 0, 1094848b8605Smrg 0, 36, 0, 0, 1095b8e80941Smrg 103, 0, 132, 0, 1096b8e80941Smrg 0, 0, 115, 0, 1097848b8605Smrg 0, 0, 0, 0, 1098848b8605Smrg 0, 0, 0, 0, 1099848b8605Smrg 0, 0, 0, 0, 1100848b8605Smrg 0, 0, 9, 0, 1101b8e80941Smrg 150, 0, 0, 0, 1102848b8605Smrg 0, 0, 57, 0, 1103848b8605Smrg 0, 0, 0, 0, 1104848b8605Smrg 0, 0, 0, 0, 1105b8e80941Smrg 0, 141, 0, 10, 1106848b8605Smrg 0, 8, 0, 0, 1107b8e80941Smrg 119, 0, 0, 0, 1108848b8605Smrg 0, 0, 0, 0, 1109848b8605Smrg 0, 0, 0, 0, 1110848b8605Smrg 0, 0, 0, 0, 1111848b8605Smrg 0, 0, 0, 0, 1112848b8605Smrg 0, 0, 0, 0, 1113848b8605Smrg 0, 0, 59, 0, 1114b8e80941Smrg 161, 0, 0, 28, 1115b8e80941Smrg 0, 53, 133, 0, 1116848b8605Smrg 0, 0, 37, 0, 1117848b8605Smrg 0, 0, 0, 0, 1118b8e80941Smrg 0, 0, 0, 116, 1119848b8605Smrg 0, 0, 0, 0, 1120848b8605Smrg 0, 0, 0, 0, 1121b8e80941Smrg 0, 155, 0, 0, 1122848b8605Smrg 0, 0, 0, 32, 1123b8e80941Smrg 0, 122, 0, 0, 1124b8e80941Smrg 0, 0, 0, 178, 1125b8e80941Smrg 170, 0, 0, 0, 1126848b8605Smrg 0, 0, 0, 0, 1127848b8605Smrg 15, 0, 45, 0, 1128848b8605Smrg 11, 0, 16, 0, 1129848b8605Smrg 0, 0, 0, 0, 1130848b8605Smrg 0, 0, 0, 0, 1131b8e80941Smrg 0, 0, 0, 90, 1132848b8605Smrg 0, 0, 0, 0, 1133848b8605Smrg 0, 0, 0, 0, 1134848b8605Smrg 0, 0, 0, 0, 1135848b8605Smrg 0, 0, 0, 60, 1136848b8605Smrg 66, 0, 0, 0, 1137848b8605Smrg 26, 0, 0, 0, 1138848b8605Smrg 0, 0, 0, 38, 1139b8e80941Smrg 0, 0, 105, 0, 1140848b8605Smrg 0, 0, 0, 0, 1141b8e80941Smrg 117, 0, 0, 0, 1142b8e80941Smrg 88, 0, 0, 0, 1143848b8605Smrg 0, 0, 0, 0, 1144848b8605Smrg 0, 0, 0, 0, 1145b8e80941Smrg 0, 0, 0, 175, 1146848b8605Smrg 0, 0, 0, 0, 1147b8e80941Smrg 58, 171, 0, 0, 1148848b8605Smrg 0, 0, 0, 0, 1149b8e80941Smrg 0, 0, 0, 140, 1150848b8605Smrg 0, 0, 0, 0, 1151b8e80941Smrg 0, 0, 120, 0, 1152848b8605Smrg 0, 0, 0, 0, 1153848b8605Smrg 0, 0, 0, 0, 1154848b8605Smrg 0, 0, 0, 0, 1155848b8605Smrg 0, 0, 65, 0, 1156b8e80941Smrg 0, 0, 136, 0, 1157848b8605Smrg 0, 0, 0, 0, 1158b8e80941Smrg 0, 67, 163, 0, 1159b8e80941Smrg 143, 0, 5, 0, 1160848b8605Smrg 0, 70, 0, 0, 1161b8e80941Smrg 41, 0, 0, 104, 1162848b8605Smrg 0, 0, 0, 0, 1163b8e80941Smrg 81, 0, 0, 0, 1164b8e80941Smrg 0, 89, 0, 0, 1165848b8605Smrg 0, 0, 0, 0, 1166848b8605Smrg 0, 79, 0, 0, 1167848b8605Smrg 0, 0, 0, 0, 1168b8e80941Smrg 47, 256, 0, 0, 1169b8e80941Smrg 0, 0, 172, 0, 1170848b8605Smrg 0, 0, 0, 0, 1171848b8605Smrg}; 1172848b8605Smrg 1173848b8605Smrgstatic table_t table_API_OPENGLES2 = { 1174b8e80941Smrg 215, 0, 0, 188, 1175b8e80941Smrg 0, 214, 0, 0, 1176b8e80941Smrg 245, 0, 0, 0, 1177848b8605Smrg 0, 0, 0, 0, 1178848b8605Smrg 0, 0, 0, 0, 1179848b8605Smrg 0, 0, 0, 0, 1180848b8605Smrg 0, 0, 0, 0, 1181b8e80941Smrg 0, 303, 0, 0, 1182b8e80941Smrg 0, 0, 194, 0, 1183848b8605Smrg 0, 0, 0, 0, 1184848b8605Smrg 0, 0, 0, 6, 1185848b8605Smrg 0, 0, 0, 0, 1186848b8605Smrg 0, 0, 0, 0, 1187848b8605Smrg 0, 0, 0, 0, 1188848b8605Smrg 64, 0, 0, 0, 1189b8e80941Smrg 0, 241, 0, 0, 1190b8e80941Smrg 0, 0, 0, 229, 1191b8e80941Smrg 0, 0, 254, 0, 1192b8e80941Smrg 0, 0, 0, 86, 1193b8e80941Smrg 0, 0, 236, 0, 1194848b8605Smrg 0, 0, 0, 0, 1195848b8605Smrg 0, 0, 0, 0, 1196b8e80941Smrg 0, 219, 0, 0, 1197848b8605Smrg 0, 0, 0, 0, 1198b8e80941Smrg 0, 246, 0, 0, 1199848b8605Smrg 0, 0, 0, 0, 1200848b8605Smrg 0, 0, 0, 0, 1201848b8605Smrg 0, 0, 0, 0, 1202848b8605Smrg 0, 0, 0, 0, 1203848b8605Smrg 0, 0, 0, 0, 1204b8e80941Smrg 0, 0, 0, 196, 1205848b8605Smrg 0, 0, 0, 0, 1206848b8605Smrg 0, 43, 0, 0, 1207b8e80941Smrg 199, 0, 0, 0, 1208848b8605Smrg 0, 0, 73, 0, 1209848b8605Smrg 0, 0, 0, 0, 1210848b8605Smrg 0, 0, 0, 0, 1211848b8605Smrg 0, 0, 0, 0, 1212848b8605Smrg 0, 0, 0, 0, 1213b8e80941Smrg 228, 0, 0, 255, 1214848b8605Smrg 0, 0, 0, 0, 1215b8e80941Smrg 85, 0, 0, 80, 1216b8e80941Smrg 20, 0, 0, 218, 1217848b8605Smrg 0, 0, 0, 0, 1218b8e80941Smrg 0, 0, 220, 0, 1219848b8605Smrg 0, 0, 0, 0, 1220848b8605Smrg 0, 0, 0, 0, 1221848b8605Smrg 0, 0, 0, 0, 1222848b8605Smrg 0, 0, 0, 0, 1223848b8605Smrg 0, 0, 0, 0, 1224848b8605Smrg 0, 0, 0, 0, 1225b8e80941Smrg 0, 0, 0, 302, 1226848b8605Smrg 42, 0, 0, 0, 1227b8e80941Smrg 195, 0, 0, 0, 1228b8e80941Smrg 0, 0, 223, 0, 1229b8e80941Smrg 0, 202, 0, 0, 1230848b8605Smrg 0, 0, 0, 74, 1231848b8605Smrg 0, 0, 0, 0, 1232848b8605Smrg 0, 0, 0, 0, 1233848b8605Smrg 0, 0, 0, 0, 1234b8e80941Smrg 0, 0, 82, 0, 1235b8e80941Smrg 0, 230, 0, 0, 1236848b8605Smrg 0, 0, 0, 0, 1237b8e80941Smrg 0, 83, 0, 0, 1238b8e80941Smrg 238, 21, 0, 0, 1239b8e80941Smrg 216, 0, 253, 0, 1240b8e80941Smrg 0, 0, 0, 221, 1241848b8605Smrg 0, 0, 0, 0, 1242b8e80941Smrg 39, 249, 0, 0, 1243848b8605Smrg 0, 0, 0, 0, 1244848b8605Smrg 0, 0, 0, 0, 1245848b8605Smrg 0, 0, 0, 0, 1246848b8605Smrg 0, 0, 0, 0, 1247b8e80941Smrg 0, 0, 91, 0, 1248848b8605Smrg 0, 0, 23, 0, 1249848b8605Smrg 0, 44, 0, 0, 1250848b8605Smrg 0, 0, 0, 0, 1251b8e80941Smrg 0, 54, 203, 0, 1252848b8605Smrg 0, 3, 0, 0, 1253848b8605Smrg 0, 0, 0, 0, 1254b8e80941Smrg 0, 0, 0, 239, 1255848b8605Smrg 0, 0, 0, 0, 1256b8e80941Smrg 0, 0, 0, 84, 1257848b8605Smrg 0, 0, 0, 0, 1258848b8605Smrg 0, 0, 0, 0, 1259848b8605Smrg 0, 0, 0, 0, 1260848b8605Smrg 0, 0, 0, 0, 1261b8e80941Smrg 0, 217, 0, 0, 1262848b8605Smrg 0, 0, 0, 0, 1263848b8605Smrg 0, 0, 0, 0, 1264b8e80941Smrg 0, 33, 247, 0, 1265b8e80941Smrg 212, 0, 0, 0, 1266848b8605Smrg 0, 0, 0, 0, 1267848b8605Smrg 0, 0, 0, 0, 1268848b8605Smrg 0, 0, 0, 0, 1269b8e80941Smrg 0, 0, 0, 93, 1270848b8605Smrg 0, 0, 29, 0, 1271b8e80941Smrg 0, 0, 0, 201, 1272848b8605Smrg 50, 0, 0, 0, 1273b8e80941Smrg 190, 0, 0, 204, 1274848b8605Smrg 30, 0, 2, 0, 1275b8e80941Smrg 242, 0, 0, 0, 1276b8e80941Smrg 0, 0, 222, 0, 1277848b8605Smrg 0, 0, 0, 0, 1278848b8605Smrg 0, 0, 0, 0, 1279848b8605Smrg 0, 0, 0, 0, 1280848b8605Smrg 0, 0, 0, 0, 1281848b8605Smrg 0, 0, 0, 0, 1282b8e80941Smrg 0, 0, 191, 0, 1283848b8605Smrg 0, 0, 75, 0, 1284848b8605Smrg 0, 0, 0, 0, 1285b8e80941Smrg 0, 210, 0, 0, 1286b8e80941Smrg 237, 77, 35, 248, 1287b8e80941Smrg 0, 213, 71, 0, 1288b8e80941Smrg 0, 0, 0, 226, 1289848b8605Smrg 0, 0, 0, 0, 1290848b8605Smrg 0, 0, 0, 0, 1291848b8605Smrg 0, 0, 0, 0, 1292b8e80941Smrg 92, 0, 0, 17, 1293848b8605Smrg 0, 0, 0, 0, 1294848b8605Smrg 46, 49, 0, 0, 1295848b8605Smrg 0, 25, 0, 0, 1296b8e80941Smrg 205, 31, 0, 0, 1297848b8605Smrg 0, 0, 0, 0, 1298848b8605Smrg 12, 0, 0, 0, 1299848b8605Smrg 0, 0, 0, 0, 1300848b8605Smrg 0, 0, 0, 0, 1301848b8605Smrg 0, 0, 0, 0, 1302848b8605Smrg 27, 0, 0, 0, 1303848b8605Smrg 0, 0, 0, 0, 1304b8e80941Smrg 0, 0, 68, 193, 1305848b8605Smrg 0, 0, 0, 76, 1306848b8605Smrg 0, 0, 0, 0, 1307848b8605Smrg 0, 0, 0, 0, 1308848b8605Smrg 0, 0, 0, 40, 1309848b8605Smrg 0, 0, 0, 72, 1310848b8605Smrg 0, 0, 0, 0, 1311848b8605Smrg 0, 0, 0, 0, 1312848b8605Smrg 0, 0, 0, 0, 1313848b8605Smrg 0, 0, 0, 0, 1314b8e80941Smrg 200, 0, 0, 0, 1315848b8605Smrg 4, 0, 0, 0, 1316848b8605Smrg 0, 0, 52, 0, 1317848b8605Smrg 0, 0, 19, 0, 1318b8e80941Smrg 0, 206, 0, 0, 1319848b8605Smrg 0, 0, 0, 0, 1320848b8605Smrg 0, 13, 0, 0, 1321848b8605Smrg 0, 0, 0, 0, 1322848b8605Smrg 0, 0, 55, 0, 1323848b8605Smrg 0, 0, 0, 0, 1324848b8605Smrg 0, 0, 0, 0, 1325848b8605Smrg 0, 0, 0, 0, 1326848b8605Smrg 0, 0, 78, 69, 1327b8e80941Smrg 192, 0, 0, 0, 1328848b8605Smrg 61, 0, 0, 0, 1329848b8605Smrg 0, 0, 0, 0, 1330848b8605Smrg 0, 0, 0, 0, 1331848b8605Smrg 34, 0, 0, 0, 1332848b8605Smrg 0, 18, 0, 0, 1333848b8605Smrg 0, 0, 0, 0, 1334b8e80941Smrg 0, 0, 301, 0, 1335848b8605Smrg 0, 0, 0, 0, 1336848b8605Smrg 0, 0, 0, 0, 1337848b8605Smrg 0, 1, 0, 0, 1338848b8605Smrg 0, 0, 0, 51, 1339848b8605Smrg 0, 0, 0, 0, 1340b8e80941Smrg 0, 0, 207, 0, 1341848b8605Smrg 0, 0, 0, 0, 1342848b8605Smrg 0, 0, 14, 0, 1343848b8605Smrg 7, 0, 0, 0, 1344b8e80941Smrg 87, 0, 0, 56, 1345848b8605Smrg 0, 0, 0, 0, 1346848b8605Smrg 0, 0, 0, 0, 1347848b8605Smrg 0, 0, 0, 0, 1348848b8605Smrg 0, 0, 0, 22, 1349848b8605Smrg 48, 24, 0, 0, 1350848b8605Smrg 0, 62, 0, 0, 1351848b8605Smrg 0, 0, 63, 0, 1352848b8605Smrg 0, 0, 0, 0, 1353848b8605Smrg 0, 36, 0, 0, 1354848b8605Smrg 0, 0, 0, 0, 1355848b8605Smrg 0, 0, 0, 0, 1356848b8605Smrg 0, 0, 0, 0, 1357848b8605Smrg 0, 0, 0, 0, 1358848b8605Smrg 0, 0, 0, 0, 1359848b8605Smrg 0, 0, 9, 0, 1360848b8605Smrg 0, 0, 0, 0, 1361848b8605Smrg 0, 0, 57, 0, 1362b8e80941Smrg 0, 0, 0, 208, 1363848b8605Smrg 0, 0, 0, 0, 1364848b8605Smrg 0, 0, 0, 10, 1365b8e80941Smrg 0, 8, 197, 0, 1366848b8605Smrg 0, 0, 0, 0, 1367848b8605Smrg 0, 0, 0, 0, 1368848b8605Smrg 0, 0, 0, 0, 1369848b8605Smrg 0, 0, 0, 0, 1370848b8605Smrg 0, 0, 0, 0, 1371848b8605Smrg 0, 0, 0, 0, 1372848b8605Smrg 0, 0, 59, 0, 1373848b8605Smrg 0, 0, 0, 28, 1374848b8605Smrg 0, 53, 0, 0, 1375848b8605Smrg 0, 0, 37, 0, 1376848b8605Smrg 0, 0, 0, 0, 1377848b8605Smrg 0, 0, 0, 0, 1378848b8605Smrg 0, 0, 0, 0, 1379848b8605Smrg 0, 0, 0, 0, 1380b8e80941Smrg 232, 0, 0, 251, 1381848b8605Smrg 0, 0, 0, 32, 1382848b8605Smrg 0, 0, 0, 0, 1383848b8605Smrg 0, 0, 0, 0, 1384b8e80941Smrg 0, 189, 0, 0, 1385b8e80941Smrg 209, 0, 233, 0, 1386b8e80941Smrg 15, 0, 45, 225, 1387b8e80941Smrg 11, 0, 16, 198, 1388848b8605Smrg 0, 0, 0, 0, 1389848b8605Smrg 0, 0, 0, 0, 1390b8e80941Smrg 0, 0, 0, 90, 1391848b8605Smrg 0, 0, 0, 0, 1392848b8605Smrg 0, 0, 0, 0, 1393848b8605Smrg 0, 0, 0, 0, 1394848b8605Smrg 0, 0, 0, 60, 1395848b8605Smrg 66, 0, 0, 0, 1396848b8605Smrg 26, 0, 0, 0, 1397848b8605Smrg 0, 0, 0, 38, 1398848b8605Smrg 0, 0, 0, 0, 1399848b8605Smrg 0, 0, 0, 0, 1400848b8605Smrg 0, 0, 0, 0, 1401b8e80941Smrg 88, 0, 0, 0, 1402b8e80941Smrg 0, 231, 0, 0, 1403b8e80941Smrg 252, 0, 0, 0, 1404848b8605Smrg 0, 0, 0, 0, 1405b8e80941Smrg 240, 0, 0, 0, 1406b8e80941Smrg 58, 0, 211, 0, 1407b8e80941Smrg 0, 0, 0, 234, 1408848b8605Smrg 0, 0, 0, 0, 1409b8e80941Smrg 0, 0, 0, 244, 1410848b8605Smrg 0, 0, 0, 0, 1411848b8605Smrg 0, 0, 0, 0, 1412848b8605Smrg 0, 0, 0, 0, 1413848b8605Smrg 0, 0, 0, 0, 1414848b8605Smrg 0, 0, 65, 0, 1415b8e80941Smrg 0, 250, 0, 0, 1416848b8605Smrg 0, 0, 0, 0, 1417848b8605Smrg 0, 67, 0, 0, 1418848b8605Smrg 0, 0, 5, 0, 1419848b8605Smrg 0, 70, 0, 0, 1420848b8605Smrg 41, 0, 0, 0, 1421848b8605Smrg 0, 0, 0, 0, 1422b8e80941Smrg 81, 0, 0, 0, 1423b8e80941Smrg 0, 89, 243, 0, 1424b8e80941Smrg 0, 0, 227, 0, 1425848b8605Smrg 0, 79, 0, 0, 1426848b8605Smrg 0, 0, 0, 0, 1427b8e80941Smrg 47, 235, 0, 0, 1428b8e80941Smrg 0, 0, 0, 224, 1429848b8605Smrg 0, 0, 0, 0, 1430848b8605Smrg}; 1431848b8605Smrg 1432848b8605Smrgstatic table_t table_API_OPENGLES3 = { 1433b8e80941Smrg 215, 0, 0, 188, 1434b8e80941Smrg 0, 214, 0, 0, 1435b8e80941Smrg 245, 0, 0, 0, 1436848b8605Smrg 0, 0, 0, 0, 1437848b8605Smrg 0, 0, 0, 0, 1438b8e80941Smrg 278, 257, 0, 0, 1439848b8605Smrg 0, 0, 0, 0, 1440b8e80941Smrg 0, 303, 0, 0, 1441b8e80941Smrg 0, 0, 194, 0, 1442848b8605Smrg 0, 0, 0, 0, 1443848b8605Smrg 0, 0, 0, 6, 1444848b8605Smrg 0, 0, 0, 0, 1445b8e80941Smrg 0, 0, 0, 282, 1446848b8605Smrg 0, 0, 0, 0, 1447848b8605Smrg 64, 0, 0, 0, 1448b8e80941Smrg 0, 241, 0, 0, 1449b8e80941Smrg 0, 0, 0, 229, 1450b8e80941Smrg 0, 0, 254, 0, 1451b8e80941Smrg 0, 0, 0, 86, 1452b8e80941Smrg 0, 0, 236, 0, 1453b8e80941Smrg 0, 0, 0, 292, 1454848b8605Smrg 0, 0, 0, 0, 1455b8e80941Smrg 265, 219, 0, 0, 1456848b8605Smrg 0, 0, 0, 0, 1457b8e80941Smrg 0, 246, 0, 0, 1458848b8605Smrg 0, 0, 0, 0, 1459848b8605Smrg 0, 0, 0, 0, 1460848b8605Smrg 0, 0, 0, 0, 1461848b8605Smrg 0, 0, 0, 0, 1462848b8605Smrg 0, 0, 0, 0, 1463b8e80941Smrg 0, 0, 0, 196, 1464b8e80941Smrg 258, 0, 0, 0, 1465b8e80941Smrg 293, 43, 0, 0, 1466b8e80941Smrg 199, 0, 0, 0, 1467848b8605Smrg 0, 0, 73, 0, 1468848b8605Smrg 0, 0, 0, 0, 1469848b8605Smrg 0, 0, 0, 0, 1470848b8605Smrg 0, 0, 0, 0, 1471848b8605Smrg 0, 0, 0, 0, 1472b8e80941Smrg 228, 0, 0, 255, 1473848b8605Smrg 0, 0, 0, 0, 1474b8e80941Smrg 85, 0, 0, 80, 1475b8e80941Smrg 20, 0, 0, 218, 1476848b8605Smrg 0, 0, 0, 0, 1477b8e80941Smrg 0, 0, 220, 0, 1478848b8605Smrg 0, 0, 0, 0, 1479b8e80941Smrg 0, 0, 280, 0, 1480848b8605Smrg 0, 0, 0, 0, 1481848b8605Smrg 0, 0, 0, 0, 1482848b8605Smrg 0, 0, 0, 0, 1483848b8605Smrg 0, 0, 0, 0, 1484b8e80941Smrg 0, 0, 0, 302, 1485b8e80941Smrg 42, 0, 260, 0, 1486b8e80941Smrg 195, 0, 0, 0, 1487b8e80941Smrg 0, 0, 223, 0, 1488b8e80941Smrg 0, 202, 0, 0, 1489848b8605Smrg 0, 0, 0, 74, 1490848b8605Smrg 0, 0, 0, 0, 1491848b8605Smrg 0, 0, 0, 0, 1492848b8605Smrg 0, 0, 0, 0, 1493b8e80941Smrg 0, 0, 82, 271, 1494b8e80941Smrg 0, 230, 0, 0, 1495848b8605Smrg 0, 0, 0, 0, 1496b8e80941Smrg 0, 83, 0, 0, 1497b8e80941Smrg 238, 21, 0, 0, 1498b8e80941Smrg 216, 0, 253, 0, 1499b8e80941Smrg 0, 0, 0, 221, 1500b8e80941Smrg 0, 0, 256, 0, 1501b8e80941Smrg 39, 249, 0, 281, 1502848b8605Smrg 0, 0, 0, 0, 1503848b8605Smrg 0, 0, 0, 0, 1504b8e80941Smrg 188, 0, 0, 0, 1505848b8605Smrg 0, 0, 0, 0, 1506b8e80941Smrg 0, 0, 91, 0, 1507848b8605Smrg 0, 0, 23, 0, 1508848b8605Smrg 0, 44, 0, 0, 1509848b8605Smrg 0, 0, 0, 0, 1510b8e80941Smrg 0, 54, 203, 0, 1511848b8605Smrg 0, 3, 0, 0, 1512848b8605Smrg 0, 0, 0, 0, 1513b8e80941Smrg 0, 0, 0, 239, 1514848b8605Smrg 0, 0, 0, 0, 1515b8e80941Smrg 0, 0, 0, 84, 1516848b8605Smrg 0, 0, 0, 0, 1517b8e80941Smrg 0, 300, 0, 0, 1518848b8605Smrg 0, 0, 0, 0, 1519848b8605Smrg 0, 0, 0, 0, 1520b8e80941Smrg 0, 217, 0, 0, 1521848b8605Smrg 0, 0, 0, 0, 1522848b8605Smrg 0, 0, 0, 0, 1523b8e80941Smrg 0, 33, 247, 0, 1524b8e80941Smrg 212, 0, 0, 0, 1525848b8605Smrg 0, 0, 0, 0, 1526848b8605Smrg 0, 0, 0, 0, 1527b8e80941Smrg 0, 0, 264, 0, 1528b8e80941Smrg 0, 0, 0, 93, 1529b8e80941Smrg 0, 263, 29, 0, 1530b8e80941Smrg 0, 0, 0, 201, 1531848b8605Smrg 50, 0, 0, 0, 1532b8e80941Smrg 190, 0, 0, 204, 1533848b8605Smrg 30, 0, 2, 0, 1534b8e80941Smrg 242, 0, 0, 0, 1535b8e80941Smrg 0, 0, 222, 296, 1536848b8605Smrg 0, 0, 0, 0, 1537b8e80941Smrg 0, 0, 0, 297, 1538b8e80941Smrg 0, 272, 0, 0, 1539848b8605Smrg 0, 0, 0, 0, 1540848b8605Smrg 0, 0, 0, 0, 1541b8e80941Smrg 0, 266, 191, 0, 1542b8e80941Smrg 0, 0, 75, 289, 1543848b8605Smrg 0, 0, 0, 0, 1544b8e80941Smrg 0, 210, 0, 0, 1545b8e80941Smrg 237, 77, 35, 248, 1546b8e80941Smrg 0, 213, 71, 0, 1547b8e80941Smrg 0, 0, 0, 226, 1548848b8605Smrg 0, 0, 0, 0, 1549848b8605Smrg 0, 0, 0, 0, 1550848b8605Smrg 0, 0, 0, 0, 1551b8e80941Smrg 92, 0, 0, 17, 1552b8e80941Smrg 0, 261, 0, 0, 1553848b8605Smrg 46, 49, 0, 0, 1554848b8605Smrg 0, 25, 0, 0, 1555b8e80941Smrg 205, 31, 0, 0, 1556848b8605Smrg 0, 0, 0, 0, 1557848b8605Smrg 12, 0, 0, 0, 1558b8e80941Smrg 294, 0, 0, 0, 1559848b8605Smrg 0, 0, 0, 0, 1560b8e80941Smrg 298, 0, 273, 0, 1561848b8605Smrg 27, 0, 0, 0, 1562848b8605Smrg 0, 0, 0, 0, 1563b8e80941Smrg 0, 0, 68, 193, 1564848b8605Smrg 0, 0, 0, 76, 1565848b8605Smrg 0, 0, 0, 0, 1566b8e80941Smrg 0, 287, 0, 0, 1567848b8605Smrg 0, 0, 0, 40, 1568848b8605Smrg 0, 0, 0, 72, 1569848b8605Smrg 0, 0, 0, 0, 1570848b8605Smrg 0, 0, 0, 0, 1571b8e80941Smrg 0, 0, 0, 268, 1572848b8605Smrg 0, 0, 0, 0, 1573b8e80941Smrg 200, 0, 0, 262, 1574848b8605Smrg 4, 0, 0, 0, 1575848b8605Smrg 0, 0, 52, 0, 1576848b8605Smrg 0, 0, 19, 0, 1577b8e80941Smrg 0, 206, 0, 0, 1578848b8605Smrg 0, 0, 0, 0, 1579848b8605Smrg 0, 13, 0, 0, 1580b8e80941Smrg 0, 295, 0, 0, 1581848b8605Smrg 0, 0, 55, 0, 1582b8e80941Smrg 0, 299, 0, 275, 1583848b8605Smrg 0, 0, 0, 0, 1584848b8605Smrg 0, 0, 0, 0, 1585848b8605Smrg 0, 0, 78, 69, 1586b8e80941Smrg 192, 285, 0, 0, 1587848b8605Smrg 61, 0, 0, 0, 1588848b8605Smrg 0, 0, 0, 0, 1589848b8605Smrg 0, 0, 0, 0, 1590848b8605Smrg 34, 0, 0, 0, 1591848b8605Smrg 0, 18, 0, 0, 1592848b8605Smrg 0, 0, 0, 0, 1593b8e80941Smrg 0, 0, 301, 0, 1594b8e80941Smrg 269, 0, 0, 0, 1595848b8605Smrg 0, 0, 0, 0, 1596848b8605Smrg 0, 1, 0, 0, 1597848b8605Smrg 0, 0, 0, 51, 1598848b8605Smrg 0, 0, 0, 0, 1599b8e80941Smrg 0, 0, 207, 0, 1600848b8605Smrg 0, 0, 0, 0, 1601848b8605Smrg 0, 0, 14, 0, 1602848b8605Smrg 7, 0, 0, 0, 1603b8e80941Smrg 87, 0, 0, 56, 1604848b8605Smrg 0, 0, 0, 0, 1605b8e80941Smrg 274, 0, 0, 0, 1606848b8605Smrg 0, 0, 0, 0, 1607848b8605Smrg 0, 0, 0, 22, 1608848b8605Smrg 48, 24, 0, 0, 1609848b8605Smrg 0, 62, 0, 0, 1610848b8605Smrg 0, 0, 63, 0, 1611848b8605Smrg 0, 0, 0, 0, 1612848b8605Smrg 0, 36, 0, 0, 1613848b8605Smrg 0, 0, 0, 0, 1614848b8605Smrg 0, 0, 0, 0, 1615b8e80941Smrg 0, 288, 0, 0, 1616b8e80941Smrg 0, 270, 0, 0, 1617848b8605Smrg 0, 0, 0, 0, 1618848b8605Smrg 0, 0, 9, 0, 1619b8e80941Smrg 0, 267, 0, 0, 1620848b8605Smrg 0, 0, 57, 0, 1621b8e80941Smrg 0, 0, 0, 208, 1622848b8605Smrg 0, 0, 0, 0, 1623848b8605Smrg 0, 0, 0, 10, 1624b8e80941Smrg 0, 8, 197, 0, 1625848b8605Smrg 0, 0, 0, 0, 1626848b8605Smrg 0, 0, 0, 0, 1627b8e80941Smrg 0, 276, 0, 0, 1628848b8605Smrg 0, 0, 0, 0, 1629848b8605Smrg 0, 0, 0, 0, 1630b8e80941Smrg 0, 0, 0, 286, 1631848b8605Smrg 0, 0, 59, 0, 1632848b8605Smrg 0, 0, 0, 28, 1633848b8605Smrg 0, 53, 0, 0, 1634848b8605Smrg 0, 0, 37, 0, 1635848b8605Smrg 0, 0, 0, 0, 1636848b8605Smrg 0, 0, 0, 0, 1637848b8605Smrg 0, 0, 0, 0, 1638848b8605Smrg 0, 0, 0, 0, 1639b8e80941Smrg 232, 0, 0, 251, 1640848b8605Smrg 0, 0, 0, 32, 1641848b8605Smrg 0, 0, 0, 0, 1642848b8605Smrg 0, 0, 0, 0, 1643b8e80941Smrg 0, 189, 0, 0, 1644b8e80941Smrg 209, 0, 233, 0, 1645b8e80941Smrg 15, 0, 45, 225, 1646b8e80941Smrg 11, 0, 16, 198, 1647848b8605Smrg 0, 0, 0, 0, 1648848b8605Smrg 0, 0, 0, 0, 1649b8e80941Smrg 0, 0, 0, 90, 1650848b8605Smrg 0, 0, 0, 0, 1651848b8605Smrg 0, 0, 0, 0, 1652848b8605Smrg 0, 0, 0, 0, 1653848b8605Smrg 0, 0, 0, 60, 1654848b8605Smrg 66, 0, 0, 0, 1655848b8605Smrg 26, 0, 0, 0, 1656b8e80941Smrg 0, 283, 0, 38, 1657848b8605Smrg 0, 0, 0, 0, 1658848b8605Smrg 0, 0, 0, 0, 1659848b8605Smrg 0, 0, 0, 0, 1660b8e80941Smrg 88, 0, 0, 0, 1661b8e80941Smrg 0, 231, 0, 0, 1662b8e80941Smrg 252, 0, 0, 0, 1663848b8605Smrg 0, 0, 0, 0, 1664b8e80941Smrg 240, 0, 0, 0, 1665b8e80941Smrg 58, 290, 211, 0, 1666b8e80941Smrg 0, 0, 0, 234, 1667848b8605Smrg 0, 0, 0, 0, 1668b8e80941Smrg 0, 0, 0, 244, 1669848b8605Smrg 0, 0, 0, 0, 1670848b8605Smrg 0, 0, 0, 0, 1671b8e80941Smrg 0, 0, 0, 277, 1672b8e80941Smrg 259, 0, 0, 0, 1673b8e80941Smrg 0, 0, 65, 0, 1674b8e80941Smrg 0, 250, 0, 0, 1675848b8605Smrg 0, 0, 0, 0, 1676b8e80941Smrg 0, 67, 0, 0, 1677b8e80941Smrg 0, 0, 5, 0, 1678b8e80941Smrg 0, 70, 284, 0, 1679b8e80941Smrg 41, 0, 0, 0, 1680848b8605Smrg 0, 0, 0, 0, 1681b8e80941Smrg 81, 0, 0, 0, 1682b8e80941Smrg 0, 89, 243, 0, 1683b8e80941Smrg 279, 0, 227, 0, 1684b8e80941Smrg 0, 79, 0, 0, 1685848b8605Smrg 0, 0, 0, 0, 1686b8e80941Smrg 47, 235, 0, 0, 1687b8e80941Smrg 0, 0, 291, 224, 1688b8e80941Smrg 0, 0, 0, 0, 1689b8e80941Smrg}; 1690b8e80941Smrg 1691b8e80941Smrgstatic table_t table_API_OPENGLES31 = { 1692b8e80941Smrg 215, 0, 0, 188, 1693b8e80941Smrg 0, 214, 0, 0, 1694b8e80941Smrg 245, 0, 0, 0, 1695b8e80941Smrg 304, 397, 409, 0, 1696b8e80941Smrg 0, 0, 337, 0, 1697b8e80941Smrg 278, 257, 0, 387, 1698b8e80941Smrg 0, 0, 0, 0, 1699b8e80941Smrg 0, 303, 0, 0, 1700b8e80941Smrg 413, 0, 194, 353, 1701b8e80941Smrg 0, 0, 0, 0, 1702b8e80941Smrg 0, 0, 0, 6, 1703b8e80941Smrg 0, 0, 0, 0, 1704b8e80941Smrg 340, 0, 0, 282, 1705b8e80941Smrg 0, 362, 0, 0, 1706b8e80941Smrg 64, 0, 0, 0, 1707b8e80941Smrg 0, 241, 346, 0, 1708b8e80941Smrg 0, 0, 0, 229, 1709b8e80941Smrg 0, 0, 254, 309, 1710b8e80941Smrg 0, 0, 0, 86, 1711b8e80941Smrg 0, 0, 236, 0, 1712b8e80941Smrg 0, 0, 0, 292, 1713b8e80941Smrg 0, 0, 0, 0, 1714b8e80941Smrg 265, 219, 0, 0, 1715b8e80941Smrg 0, 0, 0, 0, 1716b8e80941Smrg 0, 246, 0, 0, 1717b8e80941Smrg 0, 305, 320, 414, 1718b8e80941Smrg 0, 0, 0, 338, 1719b8e80941Smrg 311, 0, 390, 0, 1720b8e80941Smrg 0, 0, 0, 0, 1721b8e80941Smrg 0, 0, 0, 0, 1722b8e80941Smrg 0, 0, 0, 196, 1723b8e80941Smrg 258, 0, 0, 0, 1724b8e80941Smrg 293, 43, 0, 0, 1725b8e80941Smrg 199, 0, 0, 0, 1726b8e80941Smrg 0, 0, 73, 0, 1727b8e80941Smrg 0, 0, 363, 0, 1728b8e80941Smrg 0, 0, 0, 0, 1729b8e80941Smrg 0, 0, 323, 0, 1730b8e80941Smrg 0, 0, 0, 0, 1731b8e80941Smrg 228, 0, 0, 255, 1732b8e80941Smrg 0, 0, 0, 0, 1733b8e80941Smrg 85, 0, 0, 80, 1734b8e80941Smrg 20, 0, 0, 218, 1735b8e80941Smrg 0, 0, 0, 0, 1736b8e80941Smrg 0, 0, 220, 0, 1737b8e80941Smrg 0, 0, 0, 0, 1738b8e80941Smrg 0, 0, 280, 0, 1739b8e80941Smrg 0, 0, 0, 322, 1740b8e80941Smrg 0, 0, 0, 0, 1741b8e80941Smrg 335, 0, 0, 391, 1742b8e80941Smrg 0, 0, 0, 0, 1743b8e80941Smrg 0, 0, 0, 302, 1744b8e80941Smrg 42, 0, 260, 0, 1745b8e80941Smrg 195, 356, 0, 0, 1746b8e80941Smrg 0, 0, 223, 0, 1747b8e80941Smrg 0, 202, 0, 0, 1748b8e80941Smrg 0, 0, 0, 74, 1749b8e80941Smrg 0, 0, 0, 364, 1750b8e80941Smrg 0, 0, 0, 0, 1751b8e80941Smrg 317, 0, 410, 329, 1752b8e80941Smrg 0, 328, 82, 271, 1753b8e80941Smrg 0, 230, 0, 0, 1754b8e80941Smrg 0, 0, 0, 0, 1755b8e80941Smrg 0, 83, 0, 0, 1756b8e80941Smrg 238, 21, 0, 0, 1757b8e80941Smrg 216, 0, 253, 0, 1758b8e80941Smrg 0, 0, 0, 221, 1759b8e80941Smrg 0, 0, 256, 0, 1760b8e80941Smrg 39, 249, 0, 281, 1761b8e80941Smrg 0, 0, 0, 0, 1762b8e80941Smrg 316, 314, 0, 0, 1763b8e80941Smrg 188, 336, 0, 0, 1764b8e80941Smrg 0, 0, 0, 0, 1765b8e80941Smrg 0, 0, 91, 0, 1766b8e80941Smrg 0, 0, 23, 367, 1767b8e80941Smrg 0, 44, 355, 0, 1768b8e80941Smrg 0, 0, 0, 0, 1769b8e80941Smrg 0, 54, 203, 0, 1770b8e80941Smrg 0, 3, 0, 0, 1771b8e80941Smrg 0, 0, 0, 0, 1772b8e80941Smrg 365, 0, 0, 239, 1773b8e80941Smrg 0, 398, 0, 0, 1774b8e80941Smrg 0, 0, 347, 84, 1775b8e80941Smrg 405, 0, 0, 0, 1776b8e80941Smrg 0, 300, 0, 0, 1777b8e80941Smrg 0, 0, 384, 0, 1778b8e80941Smrg 0, 0, 0, 358, 1779b8e80941Smrg 0, 217, 0, 0, 1780b8e80941Smrg 0, 0, 0, 0, 1781b8e80941Smrg 0, 0, 0, 0, 1782b8e80941Smrg 0, 33, 247, 0, 1783b8e80941Smrg 212, 0, 0, 0, 1784b8e80941Smrg 0, 348, 0, 0, 1785b8e80941Smrg 0, 377, 341, 0, 1786b8e80941Smrg 0, 392, 264, 0, 1787b8e80941Smrg 0, 0, 0, 93, 1788b8e80941Smrg 0, 263, 29, 0, 1789b8e80941Smrg 368, 0, 0, 201, 1790b8e80941Smrg 50, 0, 0, 0, 1791b8e80941Smrg 190, 0, 0, 204, 1792b8e80941Smrg 30, 0, 2, 0, 1793b8e80941Smrg 242, 354, 0, 0, 1794b8e80941Smrg 0, 0, 222, 296, 1795b8e80941Smrg 0, 350, 400, 0, 1796b8e80941Smrg 0, 388, 373, 297, 1797b8e80941Smrg 0, 272, 0, 0, 1798b8e80941Smrg 0, 0, 0, 0, 1799b8e80941Smrg 0, 0, 0, 385, 1800b8e80941Smrg 0, 266, 191, 332, 1801b8e80941Smrg 0, 0, 75, 289, 1802b8e80941Smrg 0, 0, 0, 0, 1803b8e80941Smrg 0, 210, 0, 0, 1804b8e80941Smrg 237, 77, 35, 248, 1805b8e80941Smrg 0, 213, 71, 0, 1806b8e80941Smrg 0, 0, 349, 226, 1807b8e80941Smrg 0, 0, 376, 0, 1808b8e80941Smrg 0, 0, 0, 0, 1809b8e80941Smrg 0, 0, 0, 0, 1810b8e80941Smrg 92, 0, 0, 17, 1811b8e80941Smrg 0, 261, 324, 0, 1812b8e80941Smrg 46, 49, 0, 0, 1813b8e80941Smrg 0, 25, 0, 0, 1814b8e80941Smrg 205, 31, 0, 0, 1815b8e80941Smrg 0, 0, 0, 0, 1816b8e80941Smrg 12, 0, 0, 0, 1817b8e80941Smrg 294, 0, 0, 396, 1818b8e80941Smrg 0, 0, 389, 375, 1819b8e80941Smrg 298, 0, 273, 0, 1820b8e80941Smrg 27, 0, 0, 333, 1821b8e80941Smrg 0, 0, 0, 0, 1822b8e80941Smrg 0, 0, 68, 193, 1823b8e80941Smrg 0, 0, 0, 76, 1824b8e80941Smrg 0, 0, 0, 0, 1825b8e80941Smrg 0, 287, 0, 0, 1826b8e80941Smrg 0, 0, 0, 40, 1827b8e80941Smrg 0, 0, 0, 72, 1828b8e80941Smrg 0, 0, 0, 0, 1829b8e80941Smrg 0, 0, 0, 378, 1830b8e80941Smrg 0, 327, 0, 268, 1831b8e80941Smrg 0, 0, 0, 0, 1832b8e80941Smrg 200, 0, 0, 262, 1833b8e80941Smrg 4, 0, 0, 325, 1834b8e80941Smrg 0, 0, 52, 0, 1835b8e80941Smrg 0, 0, 19, 0, 1836b8e80941Smrg 0, 206, 0, 0, 1837b8e80941Smrg 0, 0, 0, 0, 1838b8e80941Smrg 0, 13, 0, 366, 1839b8e80941Smrg 0, 295, 0, 0, 1840b8e80941Smrg 319, 0, 55, 0, 1841b8e80941Smrg 374, 299, 0, 275, 1842b8e80941Smrg 0, 0, 0, 0, 1843b8e80941Smrg 334, 0, 0, 0, 1844b8e80941Smrg 0, 0, 78, 69, 1845b8e80941Smrg 192, 285, 351, 0, 1846b8e80941Smrg 61, 0, 0, 0, 1847b8e80941Smrg 0, 0, 0, 0, 1848b8e80941Smrg 0, 0, 0, 0, 1849b8e80941Smrg 34, 0, 0, 0, 1850b8e80941Smrg 310, 18, 0, 0, 1851b8e80941Smrg 315, 0, 0, 0, 1852b8e80941Smrg 379, 0, 301, 0, 1853b8e80941Smrg 269, 0, 0, 372, 1854b8e80941Smrg 0, 0, 0, 0, 1855b8e80941Smrg 0, 1, 0, 0, 1856b8e80941Smrg 326, 0, 0, 51, 1857b8e80941Smrg 0, 0, 0, 0, 1858b8e80941Smrg 0, 0, 207, 0, 1859b8e80941Smrg 0, 0, 0, 0, 1860b8e80941Smrg 357, 0, 14, 0, 1861b8e80941Smrg 7, 386, 343, 0, 1862b8e80941Smrg 87, 321, 0, 56, 1863b8e80941Smrg 0, 0, 330, 0, 1864b8e80941Smrg 274, 0, 0, 0, 1865b8e80941Smrg 0, 339, 0, 0, 1866b8e80941Smrg 0, 0, 0, 22, 1867b8e80941Smrg 48, 24, 0, 402, 1868b8e80941Smrg 0, 62, 0, 0, 1869b8e80941Smrg 0, 0, 63, 0, 1870b8e80941Smrg 0, 0, 0, 0, 1871b8e80941Smrg 0, 36, 0, 0, 1872b8e80941Smrg 0, 359, 0, 0, 1873b8e80941Smrg 0, 0, 0, 0, 1874b8e80941Smrg 0, 288, 0, 0, 1875b8e80941Smrg 0, 270, 0, 0, 1876b8e80941Smrg 370, 0, 0, 0, 1877b8e80941Smrg 0, 0, 9, 0, 1878b8e80941Smrg 0, 267, 0, 0, 1879b8e80941Smrg 395, 0, 57, 0, 1880b8e80941Smrg 0, 0, 0, 208, 1881b8e80941Smrg 0, 0, 0, 0, 1882b8e80941Smrg 0, 0, 0, 10, 1883b8e80941Smrg 0, 8, 197, 345, 1884b8e80941Smrg 0, 361, 318, 0, 1885b8e80941Smrg 0, 0, 0, 331, 1886b8e80941Smrg 0, 276, 0, 0, 1887b8e80941Smrg 0, 0, 0, 0, 1888b8e80941Smrg 0, 0, 0, 0, 1889b8e80941Smrg 0, 411, 0, 286, 1890b8e80941Smrg 403, 0, 59, 0, 1891b8e80941Smrg 0, 0, 0, 28, 1892b8e80941Smrg 0, 53, 0, 0, 1893b8e80941Smrg 0, 0, 37, 0, 1894b8e80941Smrg 0, 0, 0, 0, 1895b8e80941Smrg 0, 0, 0, 0, 1896b8e80941Smrg 0, 0, 381, 0, 1897b8e80941Smrg 0, 0, 0, 0, 1898b8e80941Smrg 232, 371, 0, 251, 1899b8e80941Smrg 0, 0, 0, 32, 1900b8e80941Smrg 0, 0, 0, 0, 1901b8e80941Smrg 0, 393, 0, 0, 1902b8e80941Smrg 0, 189, 0, 0, 1903b8e80941Smrg 209, 0, 233, 0, 1904b8e80941Smrg 15, 0, 45, 225, 1905b8e80941Smrg 11, 0, 16, 198, 1906b8e80941Smrg 344, 0, 369, 399, 1907b8e80941Smrg 0, 0, 0, 0, 1908b8e80941Smrg 0, 0, 406, 90, 1909b8e80941Smrg 0, 0, 342, 0, 1910b8e80941Smrg 0, 0, 0, 0, 1911b8e80941Smrg 0, 0, 412, 0, 1912b8e80941Smrg 0, 404, 0, 60, 1913b8e80941Smrg 66, 0, 0, 0, 1914b8e80941Smrg 26, 0, 360, 0, 1915b8e80941Smrg 408, 283, 0, 38, 1916848b8605Smrg 0, 0, 0, 0, 1917848b8605Smrg 0, 0, 0, 0, 1918b8e80941Smrg 0, 0, 0, 382, 1919b8e80941Smrg 88, 0, 0, 0, 1920b8e80941Smrg 0, 231, 0, 0, 1921b8e80941Smrg 252, 0, 0, 0, 1922b8e80941Smrg 0, 0, 0, 0, 1923b8e80941Smrg 240, 0, 312, 0, 1924b8e80941Smrg 58, 290, 211, 0, 1925b8e80941Smrg 0, 306, 0, 234, 1926848b8605Smrg 0, 0, 0, 0, 1927b8e80941Smrg 394, 0, 0, 244, 1928b8e80941Smrg 0, 0, 0, 308, 1929b8e80941Smrg 401, 0, 0, 0, 1930b8e80941Smrg 0, 0, 0, 277, 1931b8e80941Smrg 259, 0, 0, 0, 1932b8e80941Smrg 0, 0, 65, 0, 1933b8e80941Smrg 0, 250, 0, 407, 1934b8e80941Smrg 0, 0, 352, 0, 1935848b8605Smrg 0, 67, 0, 0, 1936848b8605Smrg 0, 0, 5, 0, 1937b8e80941Smrg 0, 70, 284, 0, 1938848b8605Smrg 41, 0, 0, 0, 1939848b8605Smrg 0, 0, 0, 0, 1940b8e80941Smrg 81, 0, 0, 0, 1941b8e80941Smrg 383, 89, 243, 0, 1942b8e80941Smrg 279, 0, 227, 0, 1943b8e80941Smrg 0, 79, 0, 0, 1944b8e80941Smrg 0, 0, 380, 0, 1945b8e80941Smrg 47, 235, 0, 313, 1946b8e80941Smrg 0, 0, 291, 224, 1947b8e80941Smrg 0, 0, 307, 0, 1948b8e80941Smrg}; 1949b8e80941Smrg 1950b8e80941Smrgstatic table_t table_API_OPENGLES32 = { 1951b8e80941Smrg 215, 0, 0, 188, 1952b8e80941Smrg 0, 214, 0, 0, 1953b8e80941Smrg 245, 0, 0, 0, 1954b8e80941Smrg 304, 397, 409, 0, 1955b8e80941Smrg 0, 0, 337, 0, 1956b8e80941Smrg 278, 257, 0, 387, 1957848b8605Smrg 0, 0, 0, 0, 1958b8e80941Smrg 0, 303, 0, 0, 1959b8e80941Smrg 413, 0, 194, 353, 1960848b8605Smrg 0, 0, 0, 0, 1961b8e80941Smrg 0, 0, 0, 6, 1962848b8605Smrg 0, 0, 0, 0, 1963b8e80941Smrg 340, 0, 416, 282, 1964b8e80941Smrg 0, 362, 0, 0, 1965b8e80941Smrg 64, 0, 0, 0, 1966b8e80941Smrg 0, 241, 346, 0, 1967b8e80941Smrg 0, 0, 0, 229, 1968b8e80941Smrg 0, 0, 254, 309, 1969b8e80941Smrg 0, 0, 0, 86, 1970b8e80941Smrg 0, 0, 236, 0, 1971b8e80941Smrg 0, 0, 0, 292, 1972848b8605Smrg 0, 0, 0, 0, 1973b8e80941Smrg 265, 219, 0, 0, 1974b8e80941Smrg 0, 0, 0, 0, 1975b8e80941Smrg 0, 246, 0, 0, 1976b8e80941Smrg 0, 305, 320, 414, 1977b8e80941Smrg 0, 0, 0, 338, 1978b8e80941Smrg 311, 0, 390, 0, 1979b8e80941Smrg 0, 0, 0, 0, 1980b8e80941Smrg 0, 0, 0, 0, 1981b8e80941Smrg 0, 0, 0, 196, 1982b8e80941Smrg 258, 0, 0, 0, 1983b8e80941Smrg 293, 43, 0, 0, 1984b8e80941Smrg 199, 0, 0, 0, 1985b8e80941Smrg 0, 0, 73, 0, 1986b8e80941Smrg 0, 0, 363, 0, 1987b8e80941Smrg 0, 0, 0, 0, 1988b8e80941Smrg 0, 0, 323, 0, 1989b8e80941Smrg 0, 0, 0, 0, 1990b8e80941Smrg 228, 0, 0, 255, 1991b8e80941Smrg 0, 0, 0, 0, 1992b8e80941Smrg 85, 0, 0, 80, 1993b8e80941Smrg 20, 0, 0, 218, 1994b8e80941Smrg 0, 0, 0, 0, 1995b8e80941Smrg 0, 0, 220, 0, 1996b8e80941Smrg 0, 0, 0, 0, 1997b8e80941Smrg 0, 0, 280, 0, 1998b8e80941Smrg 0, 0, 0, 322, 1999b8e80941Smrg 0, 0, 0, 0, 2000b8e80941Smrg 335, 0, 0, 391, 2001b8e80941Smrg 0, 0, 0, 0, 2002b8e80941Smrg 0, 0, 0, 302, 2003b8e80941Smrg 42, 0, 260, 0, 2004b8e80941Smrg 195, 356, 0, 0, 2005b8e80941Smrg 0, 0, 223, 0, 2006b8e80941Smrg 0, 202, 0, 0, 2007b8e80941Smrg 0, 0, 0, 74, 2008b8e80941Smrg 0, 0, 0, 364, 2009b8e80941Smrg 0, 0, 0, 0, 2010b8e80941Smrg 317, 0, 410, 329, 2011b8e80941Smrg 0, 328, 82, 271, 2012b8e80941Smrg 0, 230, 0, 0, 2013b8e80941Smrg 0, 0, 0, 0, 2014b8e80941Smrg 0, 83, 0, 0, 2015b8e80941Smrg 238, 21, 0, 0, 2016b8e80941Smrg 216, 0, 253, 0, 2017b8e80941Smrg 0, 0, 0, 221, 2018b8e80941Smrg 0, 0, 256, 0, 2019b8e80941Smrg 39, 249, 0, 281, 2020b8e80941Smrg 0, 0, 0, 0, 2021b8e80941Smrg 316, 314, 0, 0, 2022b8e80941Smrg 188, 336, 0, 0, 2023b8e80941Smrg 0, 0, 0, 0, 2024b8e80941Smrg 0, 0, 91, 0, 2025b8e80941Smrg 0, 0, 23, 367, 2026b8e80941Smrg 0, 44, 355, 0, 2027b8e80941Smrg 0, 0, 0, 0, 2028b8e80941Smrg 0, 54, 203, 0, 2029848b8605Smrg 0, 3, 0, 0, 2030b8e80941Smrg 0, 0, 0, 0, 2031b8e80941Smrg 365, 0, 0, 239, 2032b8e80941Smrg 0, 398, 0, 0, 2033b8e80941Smrg 0, 0, 347, 84, 2034b8e80941Smrg 405, 0, 0, 0, 2035b8e80941Smrg 0, 300, 0, 0, 2036b8e80941Smrg 0, 0, 384, 0, 2037b8e80941Smrg 0, 0, 0, 358, 2038b8e80941Smrg 0, 217, 0, 0, 2039b8e80941Smrg 0, 0, 0, 0, 2040b8e80941Smrg 0, 0, 0, 0, 2041b8e80941Smrg 0, 33, 247, 0, 2042b8e80941Smrg 212, 0, 0, 0, 2043b8e80941Smrg 0, 348, 0, 0, 2044b8e80941Smrg 0, 377, 341, 0, 2045b8e80941Smrg 0, 392, 264, 0, 2046b8e80941Smrg 0, 0, 0, 93, 2047b8e80941Smrg 0, 263, 29, 0, 2048b8e80941Smrg 368, 0, 0, 201, 2049b8e80941Smrg 50, 0, 0, 0, 2050b8e80941Smrg 190, 0, 0, 204, 2051848b8605Smrg 30, 0, 2, 0, 2052b8e80941Smrg 242, 354, 0, 0, 2053b8e80941Smrg 0, 0, 222, 296, 2054b8e80941Smrg 0, 350, 400, 0, 2055b8e80941Smrg 0, 388, 373, 297, 2056b8e80941Smrg 0, 272, 0, 0, 2057b8e80941Smrg 0, 0, 0, 0, 2058b8e80941Smrg 0, 0, 0, 385, 2059b8e80941Smrg 0, 266, 191, 332, 2060b8e80941Smrg 0, 0, 75, 289, 2061b8e80941Smrg 0, 0, 0, 0, 2062b8e80941Smrg 0, 210, 0, 0, 2063b8e80941Smrg 237, 77, 35, 248, 2064b8e80941Smrg 0, 213, 71, 0, 2065b8e80941Smrg 0, 0, 349, 226, 2066b8e80941Smrg 0, 0, 376, 0, 2067b8e80941Smrg 0, 0, 0, 0, 2068b8e80941Smrg 0, 0, 0, 0, 2069b8e80941Smrg 92, 0, 0, 17, 2070b8e80941Smrg 0, 261, 324, 0, 2071b8e80941Smrg 46, 49, 0, 0, 2072b8e80941Smrg 0, 25, 0, 0, 2073b8e80941Smrg 205, 31, 0, 0, 2074b8e80941Smrg 0, 0, 0, 0, 2075b8e80941Smrg 12, 0, 0, 0, 2076b8e80941Smrg 294, 0, 0, 396, 2077b8e80941Smrg 0, 0, 389, 375, 2078b8e80941Smrg 298, 0, 273, 0, 2079b8e80941Smrg 27, 0, 0, 333, 2080b8e80941Smrg 0, 0, 0, 0, 2081b8e80941Smrg 0, 0, 68, 193, 2082848b8605Smrg 0, 0, 0, 76, 2083b8e80941Smrg 0, 0, 0, 0, 2084b8e80941Smrg 0, 287, 0, 0, 2085b8e80941Smrg 0, 0, 0, 40, 2086b8e80941Smrg 0, 0, 0, 72, 2087b8e80941Smrg 0, 0, 0, 0, 2088b8e80941Smrg 0, 0, 0, 378, 2089b8e80941Smrg 0, 327, 0, 268, 2090b8e80941Smrg 0, 0, 0, 0, 2091b8e80941Smrg 200, 0, 0, 262, 2092b8e80941Smrg 4, 0, 0, 325, 2093b8e80941Smrg 0, 0, 52, 0, 2094b8e80941Smrg 0, 0, 19, 0, 2095b8e80941Smrg 0, 206, 0, 0, 2096b8e80941Smrg 0, 0, 0, 0, 2097b8e80941Smrg 0, 13, 0, 366, 2098b8e80941Smrg 0, 295, 0, 0, 2099b8e80941Smrg 319, 0, 55, 0, 2100b8e80941Smrg 374, 299, 0, 275, 2101b8e80941Smrg 0, 0, 0, 0, 2102b8e80941Smrg 334, 0, 0, 0, 2103b8e80941Smrg 0, 0, 78, 69, 2104b8e80941Smrg 192, 285, 351, 0, 2105b8e80941Smrg 61, 0, 0, 0, 2106b8e80941Smrg 0, 0, 0, 0, 2107b8e80941Smrg 0, 0, 0, 0, 2108b8e80941Smrg 34, 0, 0, 0, 2109b8e80941Smrg 310, 18, 0, 0, 2110b8e80941Smrg 315, 0, 0, 0, 2111b8e80941Smrg 379, 0, 301, 0, 2112b8e80941Smrg 269, 0, 0, 372, 2113b8e80941Smrg 0, 0, 0, 0, 2114b8e80941Smrg 0, 1, 0, 0, 2115b8e80941Smrg 326, 0, 0, 51, 2116b8e80941Smrg 0, 0, 0, 0, 2117b8e80941Smrg 0, 0, 207, 0, 2118b8e80941Smrg 0, 0, 0, 0, 2119b8e80941Smrg 357, 0, 14, 0, 2120b8e80941Smrg 7, 386, 343, 0, 2121b8e80941Smrg 87, 321, 0, 56, 2122b8e80941Smrg 0, 0, 330, 0, 2123b8e80941Smrg 274, 0, 0, 0, 2124b8e80941Smrg 0, 339, 0, 0, 2125848b8605Smrg 0, 0, 0, 22, 2126b8e80941Smrg 48, 24, 0, 402, 2127b8e80941Smrg 0, 62, 0, 0, 2128848b8605Smrg 0, 0, 63, 0, 2129b8e80941Smrg 0, 0, 0, 0, 2130848b8605Smrg 0, 36, 0, 0, 2131b8e80941Smrg 0, 359, 0, 0, 2132b8e80941Smrg 0, 0, 0, 0, 2133b8e80941Smrg 0, 288, 0, 0, 2134b8e80941Smrg 0, 270, 0, 0, 2135b8e80941Smrg 370, 0, 0, 0, 2136b8e80941Smrg 0, 0, 9, 0, 2137b8e80941Smrg 0, 267, 0, 0, 2138b8e80941Smrg 395, 0, 57, 0, 2139b8e80941Smrg 0, 0, 0, 208, 2140b8e80941Smrg 0, 0, 0, 0, 2141b8e80941Smrg 0, 0, 0, 10, 2142b8e80941Smrg 0, 8, 197, 345, 2143b8e80941Smrg 0, 361, 318, 0, 2144b8e80941Smrg 0, 0, 0, 331, 2145b8e80941Smrg 0, 276, 0, 0, 2146b8e80941Smrg 0, 0, 0, 0, 2147b8e80941Smrg 0, 0, 0, 0, 2148b8e80941Smrg 0, 411, 0, 286, 2149b8e80941Smrg 403, 0, 59, 0, 2150b8e80941Smrg 0, 0, 0, 28, 2151b8e80941Smrg 0, 53, 0, 0, 2152848b8605Smrg 0, 0, 37, 0, 2153b8e80941Smrg 0, 0, 0, 0, 2154b8e80941Smrg 0, 0, 0, 0, 2155b8e80941Smrg 0, 0, 381, 0, 2156b8e80941Smrg 0, 0, 0, 0, 2157b8e80941Smrg 232, 371, 0, 251, 2158b8e80941Smrg 0, 0, 0, 32, 2159b8e80941Smrg 0, 0, 0, 0, 2160b8e80941Smrg 0, 393, 0, 0, 2161b8e80941Smrg 0, 189, 0, 0, 2162b8e80941Smrg 209, 0, 233, 0, 2163b8e80941Smrg 15, 0, 45, 225, 2164b8e80941Smrg 11, 0, 16, 198, 2165b8e80941Smrg 344, 0, 369, 399, 2166b8e80941Smrg 0, 0, 0, 0, 2167b8e80941Smrg 0, 0, 406, 90, 2168b8e80941Smrg 0, 0, 342, 0, 2169b8e80941Smrg 0, 0, 0, 0, 2170b8e80941Smrg 0, 0, 412, 0, 2171b8e80941Smrg 0, 404, 0, 60, 2172b8e80941Smrg 66, 0, 0, 0, 2173b8e80941Smrg 26, 0, 360, 0, 2174b8e80941Smrg 408, 283, 0, 38, 2175b8e80941Smrg 0, 0, 0, 0, 2176b8e80941Smrg 0, 0, 0, 0, 2177b8e80941Smrg 0, 0, 0, 382, 2178b8e80941Smrg 88, 0, 0, 0, 2179b8e80941Smrg 0, 231, 0, 0, 2180b8e80941Smrg 252, 0, 0, 0, 2181b8e80941Smrg 0, 0, 0, 0, 2182b8e80941Smrg 240, 0, 312, 0, 2183b8e80941Smrg 58, 290, 211, 0, 2184b8e80941Smrg 0, 306, 0, 234, 2185b8e80941Smrg 0, 0, 0, 0, 2186b8e80941Smrg 394, 0, 0, 244, 2187b8e80941Smrg 0, 0, 0, 308, 2188b8e80941Smrg 401, 0, 0, 0, 2189b8e80941Smrg 0, 417, 0, 277, 2190b8e80941Smrg 259, 0, 0, 0, 2191b8e80941Smrg 0, 0, 65, 0, 2192b8e80941Smrg 0, 250, 0, 407, 2193b8e80941Smrg 0, 0, 352, 0, 2194b8e80941Smrg 0, 67, 0, 0, 2195b8e80941Smrg 0, 0, 5, 0, 2196b8e80941Smrg 0, 70, 284, 0, 2197b8e80941Smrg 41, 415, 0, 0, 2198b8e80941Smrg 0, 0, 0, 0, 2199b8e80941Smrg 81, 0, 0, 0, 2200b8e80941Smrg 383, 89, 243, 0, 2201b8e80941Smrg 279, 0, 227, 0, 2202b8e80941Smrg 0, 79, 0, 0, 2203b8e80941Smrg 0, 0, 380, 0, 2204b8e80941Smrg 47, 235, 0, 313, 2205b8e80941Smrg 0, 0, 291, 224, 2206b8e80941Smrg 0, 0, 307, 0, 2207848b8605Smrg}; 2208848b8605Smrg 2209848b8605Smrgstatic table_t *table_set[] = { 2210848b8605Smrg &table_API_OPENGL, 2211848b8605Smrg &table_API_OPENGLES, 2212848b8605Smrg &table_API_OPENGLES2, 2213b8e80941Smrg &table_API_OPENGL, 2214848b8605Smrg &table_API_OPENGLES3, 2215b8e80941Smrg &table_API_OPENGLES31, 2216b8e80941Smrg &table_API_OPENGLES32, 2217848b8605Smrg}; 2218848b8605Smrg 2219848b8605Smrg#define table(api) (*table_set[api]) 2220