// TODO: Sync this vs. the official XML spec! // Note from XML spec: // OpenGL 3.2 is where core and compatibility profiles were first // introduced, so many, many things were removed from the core // profile in this version. A few were reintroduced later (e.g. // GetPointerv / STACK_{UNDER,OVER}FLOW by OpenGL 4.3 for debug // functionality). // Format is: DEFINE_GL_GET(enum, min_supported_vers, max_supported_version) // Start of version 1.0 - 1.5 DEFINE_GL_GET(GL_BLEND_DST, 0x0010, 0x0015) DEFINE_GL_GET(GL_BLEND_SRC, 0x0010, 0x0015) //DEFINE_GL_GET(GL_TEXTURE_ENV_COLOR, 0x0010, 0x0015) //DEFINE_GL_GET(GL_TEXTURE_ENV_MODE, 0x0010, 0x0015) // Start of version 1.0 - 2.1 DEFINE_GL_GET(GL_ACCUM_ALPHA_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_ACCUM_BLUE_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_ACCUM_CLEAR_VALUE, 0x0010, 0x0021) DEFINE_GL_GET(GL_ACCUM_GREEN_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_ACCUM_RED_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_ALPHA_BIAS, 0x0010, 0x0021) DEFINE_GL_GET(GL_ALPHA_BITS, 0x0010, 0x0021) //DEFINE_GL_GET(GL_ALPHA_SCALE, 0x0010, 0x0021) DEFINE_GL_GET(GL_ALPHA_TEST, 0x0010, 0x0021) DEFINE_GL_GET(GL_ALPHA_TEST_FUNC, 0x0010, 0x0021) DEFINE_GL_GET(GL_ALPHA_TEST_REF, 0x0010, 0x0021) DEFINE_GL_GET(GL_ATTRIB_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_AUTO_NORMAL, 0x0010, 0x0021) DEFINE_GL_GET(GL_AUX_BUFFERS, 0x0010, 0x0021) DEFINE_GL_GET(GL_BLUE_BIAS, 0x0010, 0x0021) DEFINE_GL_GET(GL_BLUE_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_BLUE_SCALE, 0x0010, 0x0021) DEFINE_GL_GET(GL_CLIP_PLANE0, 0x0010, 0x0021) DEFINE_GL_GET(GL_CLIP_PLANE1, 0x0010, 0x0021) DEFINE_GL_GET(GL_CLIP_PLANE2, 0x0010, 0x0021) DEFINE_GL_GET(GL_CLIP_PLANE3, 0x0010, 0x0021) DEFINE_GL_GET(GL_CLIP_PLANE4, 0x0010, 0x0021) DEFINE_GL_GET(GL_CLIP_PLANE5, 0x0010, 0x0021) DEFINE_GL_GET(GL_COLOR_MATERIAL, 0x0010, 0x0021) DEFINE_GL_GET(GL_COLOR_MATERIAL_FACE, 0x0010, 0x0021) DEFINE_GL_GET(GL_COLOR_MATERIAL_PARAMETER, 0x0010, 0x0021) DEFINE_GL_GET(GL_CULL_FACE_MODE, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_COLOR, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_INDEX, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_NORMAL, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_RASTER_COLOR, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_RASTER_DISTANCE, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_RASTER_INDEX, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_RASTER_POSITION, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_RASTER_POSITION_VALID, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_RASTER_TEXTURE_COORDS, 0x0010, 0x0021) DEFINE_GL_GET(GL_CURRENT_TEXTURE_COORDS, 0x0010, 0x0021) DEFINE_GL_GET(GL_DEPTH_BIAS, 0x0010, 0x0021) DEFINE_GL_GET(GL_DEPTH_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_DEPTH_SCALE, 0x0010, 0x0021) DEFINE_GL_GET(GL_EDGE_FLAG, 0x0010, 0x0021) DEFINE_GL_GET(GL_FOG, 0x0010, 0x0021) DEFINE_GL_GET(GL_FOG_COLOR, 0x0010, 0x0021) DEFINE_GL_GET(GL_FOG_DENSITY, 0x0010, 0x0021) DEFINE_GL_GET(GL_FOG_END, 0x0010, 0x0021) DEFINE_GL_GET(GL_FOG_HINT, 0x0010, 0x0021) DEFINE_GL_GET(GL_FOG_INDEX, 0x0010, 0x0021) DEFINE_GL_GET(GL_FOG_MODE, 0x0010, 0x0021) DEFINE_GL_GET(GL_FOG_START, 0x0010, 0x0021) DEFINE_GL_GET(GL_FRONT_FACE, 0x0010, 0x0021) DEFINE_GL_GET(GL_GREEN_BIAS, 0x0010, 0x0021) DEFINE_GL_GET(GL_GREEN_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_GREEN_SCALE, 0x0010, 0x0021) DEFINE_GL_GET(GL_INDEX_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_INDEX_CLEAR_VALUE, 0x0010, 0x0021) DEFINE_GL_GET(GL_INDEX_MODE, 0x0010, 0x0021) DEFINE_GL_GET(GL_INDEX_OFFSET, 0x0010, 0x0021) DEFINE_GL_GET(GL_INDEX_SHIFT, 0x0010, 0x0021) DEFINE_GL_GET(GL_INDEX_WRITEMASK, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT0, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT1, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT2, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT3, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT4, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT5, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT6, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT7, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT_MODEL_LOCAL_VIEWER, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHT_MODEL_TWO_SIDE, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIGHTING, 0x0010, 0x0021) DEFINE_GL_GET(GL_LINE_STIPPLE, 0x0010, 0x0021) DEFINE_GL_GET(GL_LINE_STIPPLE_PATTERN, 0x0010, 0x0021) DEFINE_GL_GET(GL_LINE_STIPPLE_REPEAT, 0x0010, 0x0021) // replaced with GL_SMOOTH_LINE_WIDTH_GRANULARITY //DEFINE_GL_GET(GL_LINE_WIDTH_GRANULARITY, 0x0010, 0x0021) // replaced with GL_SMOOTH_LINE_WIDTH_RANGE //DEFINE_GL_GET(GL_LINE_WIDTH_RANGE, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIST_BASE, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIST_INDEX, 0x0010, 0x0021) DEFINE_GL_GET(GL_LIST_MODE, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_COLOR_4, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_GRID_DOMAIN, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_GRID_SEGMENTS, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_INDEX, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_NORMAL, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_TEXTURE_COORD_1, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_TEXTURE_COORD_2, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_TEXTURE_COORD_3, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_TEXTURE_COORD_4, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_VERTEX_3, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP1_VERTEX_4, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_COLOR_4, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_GRID_DOMAIN, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_GRID_SEGMENTS, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_INDEX, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_NORMAL, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_TEXTURE_COORD_1, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_TEXTURE_COORD_2, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_TEXTURE_COORD_3, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_TEXTURE_COORD_4, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_VERTEX_3, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP2_VERTEX_4, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP_COLOR, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAP_STENCIL, 0x0010, 0x0021) DEFINE_GL_GET(GL_MATRIX_MODE, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_ATTRIB_STACK_DEPTH, 0x0010, 0x0021) //DEFINE_GL_GET(GL_MAX_CLIP_PLANES, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_CLIP_DISTANCES, 0x0010, 0x99) // alias to GL_MAX_CLIP_PLANES DEFINE_GL_GET(GL_MAX_EVAL_ORDER, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_LIGHTS, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_LIST_NESTING, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_MODELVIEW_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_NAME_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_PIXEL_MAP_TABLE, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_PROJECTION_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_MAX_TEXTURE_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_MODELVIEW_MATRIX, 0x0010, 0x0021) DEFINE_GL_GET(GL_MODELVIEW_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_NAME_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_NORMALIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PERSPECTIVE_CORRECTION_HINT, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_A_TO_A_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_B_TO_B_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_G_TO_G_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_I_TO_A_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_I_TO_B_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_I_TO_G_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_I_TO_I_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_I_TO_R_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_R_TO_R_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PIXEL_MAP_S_TO_S_SIZE, 0x0010, 0x0021) DEFINE_GL_GET(GL_POINT_SMOOTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_POINT_SMOOTH_HINT, 0x0010, 0x0021) DEFINE_GL_GET(GL_POLYGON_MODE, 0x0010, 0x0021) DEFINE_GL_GET(GL_POLYGON_STIPPLE, 0x0010, 0x0021) DEFINE_GL_GET(GL_PROJECTION_MATRIX, 0x0010, 0x0021) DEFINE_GL_GET(GL_PROJECTION_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_RED_BIAS, 0x0010, 0x0021) DEFINE_GL_GET(GL_RED_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_RED_SCALE, 0x0010, 0x0021) DEFINE_GL_GET(GL_RENDER_MODE, 0x0010, 0x0021) DEFINE_GL_GET(GL_RGBA_MODE, 0x0010, 0x0021) DEFINE_GL_GET(GL_SHADE_MODEL, 0x0010, 0x0021) DEFINE_GL_GET(GL_STENCIL_BITS, 0x0010, 0x0021) DEFINE_GL_GET(GL_TEXTURE_1D, 0x0010, 0x0021) DEFINE_GL_GET(GL_TEXTURE_2D, 0x0010, 0x0021) DEFINE_GL_GET(GL_TEXTURE_GEN_Q, 0x0010, 0x0021) DEFINE_GL_GET(GL_TEXTURE_GEN_R, 0x0010, 0x0021) DEFINE_GL_GET(GL_TEXTURE_GEN_S, 0x0010, 0x0021) DEFINE_GL_GET(GL_TEXTURE_GEN_T, 0x0010, 0x0021) DEFINE_GL_GET(GL_TEXTURE_MATRIX, 0x0010, 0x0021) DEFINE_GL_GET(GL_TEXTURE_STACK_DEPTH, 0x0010, 0x0021) DEFINE_GL_GET(GL_ZOOM_X, 0x0010, 0x0021) DEFINE_GL_GET(GL_ZOOM_Y, 0x0010, 0x0021) // Start of version 1.0 - 4.3 DEFINE_GL_GET(GL_BLEND, 0x0010, 0x99) DEFINE_GL_GET(GL_COLOR_CLEAR_VALUE, 0x0010, 0x99) DEFINE_GL_GET(GL_COLOR_WRITEMASK, 0x0010, 0x99) DEFINE_GL_GET(GL_CULL_FACE, 0x0010, 0x99) DEFINE_GL_GET(GL_DEPTH_CLEAR_VALUE, 0x0010, 0x99) DEFINE_GL_GET(GL_DEPTH_FUNC, 0x0010, 0x99) DEFINE_GL_GET(GL_DEPTH_RANGE, 0x0010, 0x99) DEFINE_GL_GET(GL_DEPTH_TEST, 0x0010, 0x99) DEFINE_GL_GET(GL_DEPTH_WRITEMASK, 0x0010, 0x99) DEFINE_GL_GET(GL_DITHER, 0x0010, 0x99) DEFINE_GL_GET(GL_DOUBLEBUFFER, 0x0010, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER, 0x0010, 0x99) DEFINE_GL_GET(GL_LINE_SMOOTH, 0x0010, 0x99) DEFINE_GL_GET(GL_LINE_SMOOTH_HINT, 0x0010, 0x99) DEFINE_GL_GET(GL_LINE_WIDTH, 0x0010, 0x99) DEFINE_GL_GET(GL_LOGIC_OP_MODE, 0x0010, 0x99) DEFINE_GL_GET(GL_MAX_TEXTURE_SIZE, 0x0010, 0x99) DEFINE_GL_GET(GL_MAX_VIEWPORT_DIMS, 0x0010, 0x99) DEFINE_GL_GET(GL_PACK_ALIGNMENT, 0x0010, 0x99) DEFINE_GL_GET(GL_PACK_LSB_FIRST, 0x0010, 0x99) DEFINE_GL_GET(GL_PACK_ROW_LENGTH, 0x0010, 0x99) DEFINE_GL_GET(GL_PACK_SKIP_PIXELS, 0x0010, 0x99) DEFINE_GL_GET(GL_PACK_SKIP_ROWS, 0x0010, 0x99) DEFINE_GL_GET(GL_PACK_SWAP_BYTES, 0x0010, 0x99) DEFINE_GL_GET(GL_POINT_SIZE, 0x0010, 0x99) DEFINE_GL_GET(GL_POINT_SIZE_GRANULARITY, 0x0010, 0x99) DEFINE_GL_GET(GL_POINT_SIZE_RANGE, 0x0010, 0x99) DEFINE_GL_GET(GL_POLYGON_SMOOTH, 0x0010, 0x99) DEFINE_GL_GET(GL_POLYGON_SMOOTH_HINT, 0x0010, 0x99) DEFINE_GL_GET(GL_READ_BUFFER, 0x0010, 0x99) DEFINE_GL_GET(GL_SCISSOR_BOX, 0x0010, 0x99) DEFINE_GL_GET(GL_SCISSOR_TEST, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_CLEAR_VALUE, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_FAIL, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_FUNC, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_PASS_DEPTH_FAIL, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_PASS_DEPTH_PASS, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_REF, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_TEST, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_VALUE_MASK, 0x0010, 0x99) DEFINE_GL_GET(GL_STENCIL_WRITEMASK, 0x0010, 0x99) DEFINE_GL_GET(GL_STEREO, 0x0010, 0x99) DEFINE_GL_GET(GL_SUBPIXEL_BITS, 0x0010, 0x99) DEFINE_GL_GET(GL_UNPACK_ALIGNMENT, 0x0010, 0x99) DEFINE_GL_GET(GL_UNPACK_LSB_FIRST, 0x0010, 0x99) DEFINE_GL_GET(GL_UNPACK_ROW_LENGTH, 0x0010, 0x99) DEFINE_GL_GET(GL_UNPACK_SKIP_PIXELS, 0x0010, 0x99) DEFINE_GL_GET(GL_UNPACK_SKIP_ROWS, 0x0010, 0x99) DEFINE_GL_GET(GL_UNPACK_SWAP_BYTES, 0x0010, 0x99) DEFINE_GL_GET(GL_VIEWPORT, 0x0010, 0x99) // Start of version 1.1 - 2.1 DEFINE_GL_GET(GL_COLOR_ARRAY, 0x0011, 0x0021) DEFINE_GL_GET(GL_COLOR_ARRAY_SIZE, 0x0011, 0x0021) DEFINE_GL_GET(GL_COLOR_ARRAY_STRIDE, 0x0011, 0x0021) DEFINE_GL_GET(GL_COLOR_ARRAY_TYPE, 0x0011, 0x0021) DEFINE_GL_GET(GL_EDGE_FLAG_ARRAY, 0x0011, 0x0021) DEFINE_GL_GET(GL_EDGE_FLAG_ARRAY_STRIDE, 0x0011, 0x0021) DEFINE_GL_GET(GL_INDEX_ARRAY, 0x0011, 0x0021) DEFINE_GL_GET(GL_INDEX_ARRAY_STRIDE, 0x0011, 0x0021) DEFINE_GL_GET(GL_INDEX_ARRAY_TYPE, 0x0011, 0x0021) // these got merged? or replaced with GL_COLOR_LOGIC_OP //DEFINE_GL_GET(GL_INDEX_LOGIC_OP, 0x0011, 0x0021) //DEFINE_GL_GET(GL_LOGIC_OP, 0x0010, 0x0015) DEFINE_GL_GET(GL_LOGIC_OP, 0x0010, 0x0021) DEFINE_GL_GET(GL_NORMAL_ARRAY, 0x0011, 0x0021) DEFINE_GL_GET(GL_NORMAL_ARRAY_STRIDE, 0x0011, 0x0021) DEFINE_GL_GET(GL_NORMAL_ARRAY_TYPE, 0x0011, 0x0021) DEFINE_GL_GET(GL_TEXTURE_COORD_ARRAY, 0x0011, 0x0021) DEFINE_GL_GET(GL_TEXTURE_COORD_ARRAY_SIZE, 0x0011, 0x0021) DEFINE_GL_GET(GL_TEXTURE_COORD_ARRAY_STRIDE, 0x0011, 0x0021) DEFINE_GL_GET(GL_TEXTURE_COORD_ARRAY_TYPE, 0x0011, 0x0021) DEFINE_GL_GET(GL_VERTEX_ARRAY, 0x0011, 0x0021) DEFINE_GL_GET(GL_VERTEX_ARRAY_SIZE, 0x0015, 0x0021) DEFINE_GL_GET(GL_VERTEX_ARRAY_STRIDE, 0x0011, 0x0021) DEFINE_GL_GET(GL_VERTEX_ARRAY_TYPE, 0x0011, 0x0021) // Start of version 1.1 - 4.3 DEFINE_GL_GET(GL_COLOR_LOGIC_OP, 0x0011, 0x99) DEFINE_GL_GET(GL_POLYGON_OFFSET_FACTOR, 0x0011, 0x99) DEFINE_GL_GET(GL_POLYGON_OFFSET_FILL, 0x0011, 0x99) DEFINE_GL_GET(GL_POLYGON_OFFSET_LINE, 0x0011, 0x99) DEFINE_GL_GET(GL_POLYGON_OFFSET_POINT, 0x0011, 0x99) DEFINE_GL_GET(GL_POLYGON_OFFSET_UNITS, 0x0011, 0x99) // Start of version 1.2 - 2.1 DEFINE_GL_GET(GL_ALIASED_POINT_SIZE_RANGE, 0x0012, 0x0021) DEFINE_GL_GET(GL_FEEDBACK_BUFFER_SIZE, 0x0012, 0x0021) DEFINE_GL_GET(GL_FEEDBACK_BUFFER_TYPE, 0x0012, 0x0021) DEFINE_GL_GET(GL_LIGHT_MODEL_AMBIENT, 0x0012, 0x0021) DEFINE_GL_GET(GL_LIGHT_MODEL_COLOR_CONTROL, 0x0012, 0x0021) DEFINE_GL_GET(GL_RESCALE_NORMAL, 0x0012, 0x0021) DEFINE_GL_GET(GL_SELECTION_BUFFER_SIZE, 0x0012, 0x0021) //DEFINE_GL_GET(GL_SMOOTH_POINT_SIZE_GRANULARITY, 0x0012, 0x0021) //DEFINE_GL_GET(GL_SMOOTH_POINT_SIZE_RANGE, 0x0012, 0x0021) DEFINE_GL_GET(GL_TEXTURE_3D, 0x0012, 0x0021) // Start of version 1.3 - 3.3 // TODO: Double check this ARB program stuff, is 3.1 right? // TODO: Add an extension parameter to this macro, so we can only get/set if the extension is available. DEFINE_GL_GET_EXT(GL_VERTEX_PROGRAM_ARB, 0x0013, 0x0031, "GL_ARB_vertex_program") DEFINE_GL_GET_EXT(GL_FRAGMENT_PROGRAM_ARB, 0x0013, 0x0031, "GL_ARB_fragment_program") // These guys are aliases to newer enums //DEFINE_GL_GET_EXT(GL_VERTEX_PROGRAM_POINT_SIZE_ARB, 0x0013, 0x0031, "GL_ARB_vertex_program") //DEFINE_GL_GET_EXT(GL_VERTEX_PROGRAM_TWO_SIDE_ARB, 0x0013, 0x0031, "GL_ARB_vertex_program") //DEFINE_GL_GET_EXT(GL_COLOR_SUM_ARB, 0x0013, 0x0031, "GL_ARB_vertex_program") // Start of version 1.4 - 2.1 DEFINE_GL_GET(GL_CURRENT_FOG_COORD, 0x0014, 0x0021) DEFINE_GL_GET(GL_CURRENT_SECONDARY_COLOR, 0x0014, 0x0021) DEFINE_GL_GET(GL_FOG_COORD_ARRAY_STRIDE, 0x0014, 0x0021) DEFINE_GL_GET(GL_FOG_COORD_ARRAY_TYPE, 0x0014, 0x0021) DEFINE_GL_GET(GL_FOG_COORD_SRC, 0x0014, 0x0021) DEFINE_GL_GET(GL_POINT_SIZE_MAX, 0x0014, 0x0021) DEFINE_GL_GET(GL_POINT_SIZE_MIN, 0x0014, 0x0021) DEFINE_GL_GET(GL_POINT_DISTANCE_ATTENUATION, 0x0014, 0x0021) // Start of version 1.2 - 4.3 DEFINE_GL_GET(GL_MAX_3D_TEXTURE_SIZE, 0x0012, 0x99) DEFINE_GL_GET(GL_MAX_ELEMENTS_INDICES, 0x0012, 0x99) DEFINE_GL_GET(GL_MAX_ELEMENTS_VERTICES, 0x0012, 0x99) DEFINE_GL_GET(GL_PACK_IMAGE_HEIGHT, 0x0012, 0x99) DEFINE_GL_GET(GL_PACK_SKIP_IMAGES, 0x0012, 0x99) DEFINE_GL_GET(GL_SMOOTH_LINE_WIDTH_GRANULARITY, 0x0012, 0x99) DEFINE_GL_GET(GL_SMOOTH_LINE_WIDTH_RANGE, 0x0012, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_3D, 0x0012, 0x99) DEFINE_GL_GET(GL_UNPACK_IMAGE_HEIGHT, 0x0012, 0x99) DEFINE_GL_GET(GL_UNPACK_SKIP_IMAGES, 0x0012, 0x99) // Start of version 1.3 - 4.3 DEFINE_GL_GET(GL_COMPRESSED_TEXTURE_FORMATS, 0x0013, 0x99) DEFINE_GL_GET(GL_NUM_COMPRESSED_TEXTURE_FORMATS, 0x0013, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_CUBE_MAP, 0x0013, 0x99) DEFINE_GL_GET(GL_TEXTURE_COMPRESSION_HINT, 0x0013, 0x99) // Start of version 1.4 - 2.1 DEFINE_GL_GET(GL_SECONDARY_COLOR_ARRAY_SIZE, 0x0014, 0x0021) DEFINE_GL_GET(GL_SECONDARY_COLOR_ARRAY_STRIDE, 0x0014, 0x0021) DEFINE_GL_GET(GL_SECONDARY_COLOR_ARRAY_TYPE, 0x0014, 0x0021) // best guesses - glGetPointerv() seems to have died < GL 3.0 DEFINE_GL_GET(GL_COLOR_ARRAY_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_EDGE_FLAG_ARRAY_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_FOG_COORD_ARRAY_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_FEEDBACK_BUFFER_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_INDEX_ARRAY_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_NORMAL_ARRAY_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_SECONDARY_COLOR_ARRAY_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_SELECTION_BUFFER_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_TEXTURE_COORD_ARRAY_POINTER, 0x0014, 0x0021) DEFINE_GL_GET(GL_VERTEX_ARRAY_POINTER, 0x0014, 0x0021) // Start of version 1.4 - 4.3 DEFINE_GL_GET(GL_BLEND_DST_ALPHA, 0x0014, 0x99) DEFINE_GL_GET(GL_BLEND_DST_RGB, 0x0014, 0x99) DEFINE_GL_GET(GL_BLEND_SRC_ALPHA, 0x0014, 0x99) DEFINE_GL_GET(GL_BLEND_SRC_RGB, 0x0014, 0x99) DEFINE_GL_GET(GL_MAX_TEXTURE_LOD_BIAS, 0x0014, 0x99) DEFINE_GL_GET(GL_POINT_FADE_THRESHOLD_SIZE, 0x0014, 0x99) // Start of version 1.5 - 2.1 DEFINE_GL_GET(GL_CLIENT_ATTRIB_STACK_DEPTH, 0x0015, 0x0021) DEFINE_GL_GET(GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, 0x0015, 0x0021) DEFINE_GL_GET(GL_COLOR_ARRAY_BUFFER_BINDING, 0x0015, 0x0021) DEFINE_GL_GET(GL_EDGE_FLAG_ARRAY_BUFFER_BINDING, 0x0015, 0x0021) DEFINE_GL_GET(GL_FOG_COORD_ARRAY_BUFFER_BINDING, 0x0015, 0x0021) DEFINE_GL_GET(GL_INDEX_ARRAY_BUFFER_BINDING, 0x0015, 0x0021) DEFINE_GL_GET(GL_NORMAL_ARRAY_BUFFER_BINDING, 0x0015, 0x0021) DEFINE_GL_GET(GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING, 0x0015, 0x0021) DEFINE_GL_GET(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING, 0x0015, 0x0021) DEFINE_GL_GET(GL_VERTEX_ARRAY_BUFFER_BINDING, 0x0015, 0x0021) // Start of version 1.5 - 4.3 DEFINE_GL_GET(GL_ELEMENT_ARRAY_BUFFER_BINDING, 0x0015, 0x99) DEFINE_GL_GET(GL_ARRAY_BUFFER_BINDING, 0x0015, 0x99) // Start of version 2.0 - 2.1 DEFINE_GL_GET(GL_MAX_TEXTURE_COORDS, 0x0020, 0x0021) DEFINE_GL_GET(GL_POINT_SPRITE, 0x0020, 0x0021) //DEFINE_GL_GET(GL_VERTEX_PROGRAM_POINT_SIZE, 0x0020, 0x0021) DEFINE_GL_GET(GL_PROGRAM_POINT_SIZE, 0x0020, 0x99) // alias of GL_VERTEX_PROGRAM_POINT_SIZE from GL2 DEFINE_GL_GET(GL_VERTEX_PROGRAM_TWO_SIDE, 0x0020, 0x0021) DEFINE_GL_GET(GL_MULTISAMPLE, 0x0021, 0x99) // Start of version 2.0 - 4.3 DEFINE_GL_GET(GL_BLEND_EQUATION_ALPHA, 0x0020, 0x99) DEFINE_GL_GET(GL_BLEND_EQUATION_RGB, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER0, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER1, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER2, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER3, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER4, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER5, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER6, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER7, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER8, 0x0020, 0x99) DEFINE_GL_GET(GL_DRAW_BUFFER9, 0x0020, 0x99) DEFINE_GL_GET(GL_FRAGMENT_SHADER_DERIVATIVE_HINT, 0x0020, 0x99) DEFINE_GL_GET(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, 0x0020, 0x99) DEFINE_GL_GET(GL_MAX_DRAW_BUFFERS, 0x0020, 0x99) DEFINE_GL_GET(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, 0x0020, 0x99) DEFINE_GL_GET(GL_MAX_TEXTURE_IMAGE_UNITS, 0x0020, 0x99) //DEFINE_GL_GET(GL_MAX_VARYING_FLOATS, 0x0020, 0x99) DEFINE_GL_GET(GL_MAX_VARYING_COMPONENTS, 0x0020, 0x99) // alias of GL_MAX_VARYING_FLOATS from GL2 DEFINE_GL_GET(GL_MAX_VERTEX_ATTRIBS, 0x0020, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, 0x0020, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_UNIFORM_COMPONENTS, 0x0020, 0x99) DEFINE_GL_GET(GL_STENCIL_BACK_FAIL, 0x0020, 0x99) DEFINE_GL_GET(GL_STENCIL_BACK_FUNC, 0x0020, 0x99) DEFINE_GL_GET(GL_STENCIL_BACK_PASS_DEPTH_FAIL, 0x0020, 0x99) DEFINE_GL_GET(GL_STENCIL_BACK_PASS_DEPTH_PASS, 0x0020, 0x99) DEFINE_GL_GET(GL_STENCIL_BACK_REF, 0x0020, 0x99) DEFINE_GL_GET(GL_STENCIL_BACK_VALUE_MASK, 0x0020, 0x99) DEFINE_GL_GET(GL_STENCIL_BACK_WRITEMASK, 0x0020, 0x99) // Start of version 2.1 - 2.1 DEFINE_GL_GET(GL_CLIENT_ACTIVE_TEXTURE, 0x0021, 0x0021) DEFINE_GL_GET(GL_COLOR_MATRIX, 0x0021, 0x0021) //DEFINE_GL_GET(GL_COLOR_MATRIX_STACK_DEPTH, 0x0021, 0x0021) // can't retrieve on AMD v13 drivers - seems like a bug? DEFINE_GL_GET(GL_COLOR_SUM, 0x0021, 0x0021) DEFINE_GL_GET(GL_COLOR_TABLE, 0x0021, 0x0021) DEFINE_GL_GET(GL_CONVOLUTION_1D, 0x0021, 0x0021) DEFINE_GL_GET(GL_CONVOLUTION_2D, 0x0021, 0x0021) //DEFINE_GL_GET(GL_CURRENT_RASTER_SECONDARY_COLOR, 0x0021, 0x0021) // can't retrieve on AMD v13 drivers - seems like a bug? DEFINE_GL_GET(GL_FOG_COORD_ARRAY, 0x0021, 0x0021) DEFINE_GL_GET(GL_GENERATE_MIPMAP_HINT, 0x0021, 0x0021) DEFINE_GL_GET(GL_HISTOGRAM, 0x0021, 0x0021) DEFINE_GL_GET(GL_MAX_COLOR_MATRIX_STACK_DEPTH, 0x0021, 0x0021) DEFINE_GL_GET(GL_MAX_TEXTURE_UNITS, 0x0021, 0x0021) DEFINE_GL_GET(GL_MINMAX, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_ALPHA_BIAS, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_ALPHA_SCALE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_BLUE_BIAS, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_BLUE_SCALE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_COLOR_TABLE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_GREEN_BIAS, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_GREEN_SCALE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_RED_BIAS, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_COLOR_MATRIX_RED_SCALE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_ALPHA_BIAS, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_ALPHA_SCALE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_BLUE_BIAS, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_BLUE_SCALE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_COLOR_TABLE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_GREEN_BIAS, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_GREEN_SCALE, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_RED_BIAS, 0x0021, 0x0021) DEFINE_GL_GET(GL_POST_CONVOLUTION_RED_SCALE, 0x0021, 0x0021) DEFINE_GL_GET(GL_SECONDARY_COLOR_ARRAY, 0x0021, 0x0021) DEFINE_GL_GET(GL_SEPARABLE_2D, 0x0021, 0x0021) DEFINE_GL_GET(GL_TEXTURE_CUBE_MAP, 0x0021, 0x0021) DEFINE_GL_GET(GL_TRANSPOSE_COLOR_MATRIX, 0x0021, 0x0021) DEFINE_GL_GET(GL_TRANSPOSE_MODELVIEW_MATRIX, 0x0021, 0x0021) DEFINE_GL_GET(GL_TRANSPOSE_PROJECTION_MATRIX, 0x0021, 0x0021) DEFINE_GL_GET(GL_TRANSPOSE_TEXTURE_MATRIX, 0x0021, 0x0021) // Start of version 2.1 - DEFINE_GL_GET(GL_ACTIVE_TEXTURE, 0x0021, 0x99) DEFINE_GL_GET(GL_ALIASED_LINE_WIDTH_RANGE, 0x0021, 0x99) DEFINE_GL_GET(GL_BLEND_COLOR, 0x0021, 0x99) DEFINE_GL_GET(GL_CURRENT_PROGRAM, 0x0021, 0x99) DEFINE_GL_GET(GL_MAX_CUBE_MAP_TEXTURE_SIZE, 0x0021, 0x99) DEFINE_GL_GET(GL_PIXEL_PACK_BUFFER_BINDING, 0x0021, 0x99) DEFINE_GL_GET(GL_PIXEL_UNPACK_BUFFER_BINDING, 0x0021, 0x99) DEFINE_GL_GET(GL_SAMPLE_BUFFERS, 0x0021, 0x99) DEFINE_GL_GET(GL_SAMPLE_COVERAGE_INVERT, 0x0021, 0x99) DEFINE_GL_GET(GL_SAMPLE_COVERAGE_VALUE, 0x0021, 0x99) DEFINE_GL_GET(GL_SAMPLES, 0x0021, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_1D, 0x0021, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_2D, 0x0021, 0x99) DEFINE_GL_GET(GL_SAMPLE_ALPHA_TO_COVERAGE, 0x0021, 0x99) DEFINE_GL_GET(GL_SAMPLE_ALPHA_TO_ONE, 0x0021, 0x99) DEFINE_GL_GET(GL_SAMPLE_COVERAGE, 0x0021, 0x99) // Start of version 3.0 - DEFINE_GL_GET(GL_CONTEXT_FLAGS, 0x0030, 0x99) DEFINE_GL_GET(GL_MAJOR_VERSION, 0x0030, 0x99) DEFINE_GL_GET(GL_MINOR_VERSION, 0x0030, 0x99) DEFINE_GL_GET(GL_NUM_EXTENSIONS, 0x0030, 0x99) DEFINE_GL_GET(GL_CLIP_DISTANCE6, 0x0030, 0x99) DEFINE_GL_GET(GL_CLIP_DISTANCE7, 0x0030, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_1D_ARRAY, 0x0030, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_2D_ARRAY, 0x0030, 0x99) DEFINE_GL_GET(GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, 0x030, 0x99) DEFINE_GL_INDEXED_GET(GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, 0x030, 0x99, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS) DEFINE_GL_INDEXED_GET(GL_TRANSFORM_FEEDBACK_BUFFER_SIZE, 0x0030, 0x99, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS) DEFINE_GL_INDEXED_GET(GL_TRANSFORM_FEEDBACK_BUFFER_START, 0x0030, 0x99, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS) DEFINE_GL_GET(GL_DRAW_FRAMEBUFFER_BINDING, 0x0030, 0x99) DEFINE_GL_GET(GL_RENDERBUFFER_BINDING, 0x0030, 0x99) DEFINE_GL_GET(GL_READ_FRAMEBUFFER_BINDING, 0x0030, 0x99) DEFINE_GL_GET(GL_MAX_PROGRAM_TEXEL_OFFSET, 0x0030, 0x99) DEFINE_GL_GET(GL_MIN_PROGRAM_TEXEL_OFFSET, 0x0030, 0x99) DEFINE_GL_GET(GL_MAX_ARRAY_TEXTURE_LAYERS, 0x0030, 0x99) DEFINE_GL_GET(GL_MAX_RENDERBUFFER_SIZE, 0x0030, 0x99) DEFINE_GL_GET(GL_MAX_COLOR_ATTACHMENTS, 0x0030, 0x99) // Not sure about the version of the VAO binding DEFINE_GL_GET(GL_VERTEX_ARRAY_BINDING, 0x0030, 0x99) // Start of version 3.1 - DEFINE_GL_GET(GL_MAX_RECTANGLE_TEXTURE_SIZE, 0x0031, 0x99) DEFINE_GL_GET(GL_MAX_TEXTURE_BUFFER_SIZE, 0x0031, 0x99) DEFINE_GL_GET(GL_UNIFORM_BUFFER_BINDING, 0x0031, 0x99) DEFINE_GL_INDEXED_GET(GL_UNIFORM_BUFFER_BINDING, 0x0031, 0x99, GL_MAX_UNIFORM_BUFFER_BINDINGS) DEFINE_GL_INDEXED_GET(GL_UNIFORM_BUFFER_START, 0x0031, 0x99, GL_MAX_UNIFORM_BUFFER_BINDINGS) DEFINE_GL_INDEXED_GET(GL_UNIFORM_BUFFER_SIZE, 0x0031, 0x99, GL_MAX_UNIFORM_BUFFER_BINDINGS) DEFINE_GL_GET(GL_TEXTURE_BINDING_BUFFER, 0x0031, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_UNIFORM_BLOCKS, 0x0031, 0x99) DEFINE_GL_GET(GL_MAX_FRAGMENT_UNIFORM_BLOCKS, 0x0031, 0x99) DEFINE_GL_GET(GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS, 0x0031, 0x99) DEFINE_GL_GET(GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS, 0x0031, 0x99) DEFINE_GL_GET(GL_MAX_COMBINED_UNIFORM_BLOCKS, 0x0031, 0x99) DEFINE_GL_GET(GL_MAX_UNIFORM_BLOCK_SIZE, 0x0031, 0x99) DEFINE_GL_GET(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, 0x0031, 0x99) DEFINE_GL_GET(GL_FRAMEBUFFER_SRGB, 0x0031, 0x99) DEFINE_GL_GET(GL_PRIMITIVE_RESTART, 0x0031, 0x99) DEFINE_GL_GET(GL_SAMPLE_MASK, 0x0031, 0x99) DEFINE_GL_GET(GL_TEXTURE_CUBE_MAP_SEAMLESS, 0x0031, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_RECTANGLE, 0x0031, 0x99) DEFINE_GL_GET(GL_PRIMITIVE_RESTART_INDEX, 0x0031, 0x99) DEFINE_GL_GET(GL_MAX_UNIFORM_BUFFER_BINDINGS, 0x0031, 0x99) // not positive about these DEFINE_GL_GET(GL_COPY_READ_BUFFER_BINDING, 0x0031, 0x99) DEFINE_GL_GET(GL_COPY_WRITE_BUFFER_BINDING, 0x0031, 0x99) // Start of version 3.2 - DEFINE_GL_GET(GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_UNIFORM_BLOCKS, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_INPUT_COMPONENTS, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_OUTPUT_COMPONENTS, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_OUTPUT_VERTICES, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, 0x0032, 0x99) DEFINE_GL_GET(GL_DEPTH_CLAMP, 0x0032, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_2D_MULTISAMPLE, 0x0032, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY, 0x0032, 0x99) DEFINE_GL_GET(GL_PROVOKING_VERTEX, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_INTEGER_SAMPLES, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_COLOR_TEXTURE_SAMPLES, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_DEPTH_TEXTURE_SAMPLES, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_SAMPLE_MASK_WORDS, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_FRAGMENT_INPUT_COMPONENTS, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_OUTPUT_COMPONENTS, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_SERVER_WAIT_TIMEOUT, 0x0032, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_UNIFORM_COMPONENTS, 0x0032, 0x99) // Start of version 3.3 - DEFINE_GL_GET(GL_MAX_DUAL_SOURCE_DRAW_BUFFERS, 0x0033, 0x99) DEFINE_GL_GET(GL_SAMPLER_BINDING, 0x0033, 0x99) DEFINE_GL_GET(GL_TIMESTAMP, 0x0033, 0x99) // Start of version 4.0 - DEFINE_GL_GET(GL_IMPLEMENTATION_COLOR_READ_FORMAT, 0x0040, 0x99) DEFINE_GL_GET(GL_IMPLEMENTATION_COLOR_READ_TYPE, 0x0040, 0x99) DEFINE_GL_GET(GL_MAX_COMBINED_ATOMIC_COUNTERS, 0x0040, 0x99) DEFINE_GL_GET_EXT(GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS, 0x0040, 0x99, "GL_ARB_shader_storage_buffer_object") DEFINE_GL_GET(GL_MAX_FRAGMENT_UNIFORM_VECTORS, 0x0040, 0x99) DEFINE_GL_GET_EXT(GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, 0x0040, 0x99, "GL_ARB_shader_storage_buffer_object") DEFINE_GL_GET(GL_MAX_VARYING_VECTORS, 0x0040, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_UNIFORM_VECTORS, 0x0040, 0x99) DEFINE_GL_GET(GL_NUM_PROGRAM_BINARY_FORMATS, 0x0040, 0x99) DEFINE_GL_GET(GL_NUM_SHADER_BINARY_FORMATS, 0x0040, 0x99) DEFINE_GL_GET(GL_PROGRAM_BINARY_FORMATS, 0x0040, 0x99) DEFINE_GL_GET(GL_PROGRAM_PIPELINE_BINDING, 0x0040, 0x99) DEFINE_GL_GET(GL_SHADER_COMPILER, 0x0040, 0x99) // TODO: //DEFINE_GL_GET(GL_SHADER_STORAGE_BUFFER_BINDING, 0x0040, 0x99) //DEFINE_GL_GET(GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT, 0x0040, 0x99) //DEFINE_GL_GET(GL_SHADER_STORAGE_BUFFER_SIZE, 0x0040, 0x99) //DEFINE_GL_GET(GL_SHADER_STORAGE_BUFFER_START, 0x0040, 0x99) DEFINE_GL_GET(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY, 0x0040, 0x99) DEFINE_GL_GET(GL_SAMPLE_SHADING, 0x0040, 0x99) DEFINE_GL_GET(GL_MIN_SAMPLE_SHADING_VALUE, 0x0040, 0x99) // not sure about these DEFINE_GL_GET(GL_ATOMIC_COUNTER_BUFFER_BINDING, 0x0040, 0x99) DEFINE_GL_GET(GL_DRAW_INDIRECT_BUFFER_BINDING, 0x0040, 0x99) // Start of version 4.1 - DEFINE_GL_GET(GL_MAX_VIEWPORTS, 0x0041, 0x99) DEFINE_GL_GET(GL_VIEWPORT_BOUNDS_RANGE, 0x0041, 0x99) DEFINE_GL_GET(GL_VIEWPORT_INDEX_PROVOKING_VERTEX, 0x0041, 0x99) DEFINE_GL_GET(GL_VIEWPORT_SUBPIXEL_BITS, 0x0041, 0x99) DEFINE_GL_GET(GL_LAYER_PROVOKING_VERTEX, 0x0041, 0x99) // Start of version 4.2 - DEFINE_GL_GET(GL_MAX_FRAGMENT_ATOMIC_COUNTERS, 0x0042, 0x99) DEFINE_GL_GET(GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS, 0x0042, 0x99) DEFINE_GL_GET(GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS, 0x0042, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_ATOMIC_COUNTERS, 0x0042, 0x99) DEFINE_GL_GET(GL_MIN_MAP_BUFFER_ALIGNMENT, 0x0042, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_ATOMIC_COUNTERS, 0x0042, 0x99) // Start of version 4.3 - DEFINE_GL_GET(GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_COMPUTE_ATOMIC_COUNTERS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_COMPUTE_UNIFORM_BLOCKS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_COMPUTE_UNIFORM_COMPONENTS, 0x0043, 0x99) //DEFINE_GL_GET(GL_MAX_COMPUTE_WORK_GROUP_COUNT, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS, 0x0043, 0x99) //DEFINE_GL_GET(GL_MAX_COMPUTE_WORK_GROUP_SIZE, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_ELEMENT_INDEX, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_FRAMEBUFFER_HEIGHT, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_FRAMEBUFFER_LAYERS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_FRAMEBUFFER_SAMPLES, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_FRAMEBUFFER_WIDTH, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_UNIFORM_LOCATIONS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS, 0x0043, 0x99) DEFINE_GL_GET(GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT, 0x0043, 0x99) DEFINE_GL_GET(GL_DISPATCH_INDIRECT_BUFFER_BINDING, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_DEBUG_GROUP_STACK_DEPTH, 0x0043, 0x99) DEFINE_GL_GET(GL_DEBUG_GROUP_STACK_DEPTH, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_LABEL_LENGTH, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS, 0x0043, 0x99) //DEFINE_GL_GET(GL_VERTEX_BINDING_DIVISOR, 0x0043, 0x99) //DEFINE_GL_GET(GL_VERTEX_BINDING_OFFSET, 0x0043, 0x99) //DEFINE_GL_GET(GL_VERTEX_BINDING_STRIDE, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET, 0x0043, 0x99) DEFINE_GL_GET(GL_MAX_VERTEX_ATTRIB_BINDINGS, 0x0043, 0x99)