home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 2000 April & May
/
AMIGA_2000_04.iso
/
patches
/
mesa3.1
/
util
/
dumpstate.c
next >
Wrap
C/C++ Source or Header
|
1999-08-18
|
71KB
|
1,960 lines
/*
*
* From: Stephane Rehel <rehel@worldnet.fr>
* Date: Mon, 31 May 1999 18:40:54 -0400
* To: Paul Brian <brianp@ra.avid.com>
* Subject: OpenGL State Dump Function
*
* Here is a function that dumps the current OpenGL state. I wrote it
* some time ago.
*
* In the attachment:
* + the code itself
* + its output
*
* I think Mesa is wrong on some getBooleanv(). For example, GL_VERTEX_ARRAY
* is queried by IsEnabled() (cf. p. 196 of the spec). But on page 193
* we can read that all the boolean attribs that can be queried by IsEnabled()
* can also be queried by IsEnabled().
*
* I had duplicated all the enums (LOCAL_*) so that the code can run on any
* OpenGL version, even if an enum is not recognized.
*
* The code can be shipped in the public domain.
*
* Stephane.
*/
/*
* Stephane Rehel
* Creation: February 5 1999
*/
#include <stdio.h>
#include <GL/gl.h>
/***************************************************************************/
enum {
/* Data types */
LOCAL_GL_BYTE = 0x1400,
LOCAL_GL_UNSIGNED_BYTE = 0x1401,
LOCAL_GL_SHORT = 0x1402,
LOCAL_GL_UNSIGNED_SHORT = 0x1403,
LOCAL_GL_INT = 0x1404,
LOCAL_GL_UNSIGNED_INT = 0x1405,
LOCAL_GL_FLOAT = 0x1406,
LOCAL_GL_DOUBLE = 0x140A,
LOCAL_GL_2_BYTES = 0x1407,
LOCAL_GL_3_BYTES = 0x1408,
LOCAL_GL_4_BYTES = 0x1409,
/* Primitives */
LOCAL_GL_LINES = 0x0001,
LOCAL_GL_POINTS = 0x0000,
LOCAL_GL_LINE_STRIP = 0x0003,
LOCAL_GL_LINE_LOOP = 0x0002,
LOCAL_GL_TRIANGLES = 0x0004,
LOCAL_GL_TRIANGLE_STRIP = 0x0005,
LOCAL_GL_TRIANGLE_FAN = 0x0006,
LOCAL_GL_QUADS = 0x0007,
LOCAL_GL_QUAD_STRIP = 0x0008,
LOCAL_GL_POLYGON = 0x0009,
LOCAL_GL_EDGE_FLAG = 0x0B43,
/* Vertex Arrays */
LOCAL_GL_VERTEX_ARRAY = 0x8074,
LOCAL_GL_NORMAL_ARRAY = 0x8075,
LOCAL_GL_COLOR_ARRAY = 0x8076,
LOCAL_GL_INDEX_ARRAY = 0x8077,
LOCAL_GL_TEXTURE_COORD_ARRAY = 0x8078,
LOCAL_GL_EDGE_FLAG_ARRAY = 0x8079,
LOCAL_GL_VERTEX_ARRAY_SIZE = 0x807A,
LOCAL_GL_VERTEX_ARRAY_TYPE = 0x807B,
LOCAL_GL_VERTEX_ARRAY_STRIDE = 0x807C,
LOCAL_GL_NORMAL_ARRAY_TYPE = 0x807E,
LOCAL_GL_NORMAL_ARRAY_STRIDE = 0x807F,
LOCAL_GL_COLOR_ARRAY_SIZE = 0x8081,
LOCAL_GL_COLOR_ARRAY_TYPE = 0x8082,
LOCAL_GL_COLOR_ARRAY_STRIDE = 0x8083,
LOCAL_GL_INDEX_ARRAY_TYPE = 0x8085,
LOCAL_GL_INDEX_ARRAY_STRIDE = 0x8086,
LOCAL_GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088,
LOCAL_GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089,
LOCAL_GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A,
LOCAL_GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C,
LOCAL_GL_VERTEX_ARRAY_POINTER = 0x808E,
LOCAL_GL_NORMAL_ARRAY_POINTER = 0x808F,
LOCAL_GL_COLOR_ARRAY_POINTER = 0x8090,
LOCAL_GL_INDEX_ARRAY_POINTER = 0x8091,
LOCAL_GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092,
LOCAL_GL_EDGE_FLAG_ARRAY_POINTER = 0x8093,
LOCAL_GL_V2F = 0x2A20,
LOCAL_GL_V3F = 0x2A21,
LOCAL_GL_C4UB_V2F = 0x2A22,
LOCAL_GL_C4UB_V3F = 0x2A23,
LOCAL_GL_C3F_V3F = 0x2A24,
LOCAL_GL_N3F_V3F = 0x2A25,
LOCAL_GL_C4F_N3F_V3F = 0x2A26,
LOCAL_GL_T2F_V3F = 0x2A27,
LOCAL_GL_T4F_V4F = 0x2A28,
LOCAL_GL_T2F_C4UB_V3F = 0x2A29,
LOCAL_GL_T2F_C3F_V3F = 0x2A2A,
LOCAL_GL_T2F_N3F_V3F = 0x2A2B,
LOCAL_GL_T2F_C4F_N3F_V3F = 0x2A2C,
LOCAL_GL_T4F_C4F_N3F_V4F = 0x2A2D,
/* Matrix Mode */
LOCAL_GL_MATRIX_MODE = 0x0BA0,
LOCAL_GL_MODELVIEW = 0x1700,
LOCAL_GL_PROJECTION = 0x1701,
LOCAL_GL_TEXTURE = 0x1702,
/* Points */
LOCAL_GL_POINT_SMOOTH = 0x0B10,
LOCAL_GL_POINT_SIZE = 0x0B11,
LOCAL_GL_POINT_SIZE_GRANULARITY = 0x0B13,
LOCAL_GL_POINT_SIZE_RANGE = 0x0B12,
/* Lines */
LOCAL_GL_LINE_SMOOTH = 0x0B20,
LOCAL_GL_LINE_STIPPLE = 0x0B24,
LOCAL_GL_LINE_STIPPLE_PATTERN = 0x0B25,
LOCAL_GL_LINE_STIPPLE_REPEAT = 0x0B26,
LOCAL_GL_LINE_WIDTH = 0x0B21,
LOCAL_GL_LINE_WIDTH_GRANULARITY = 0x0B23,
LOCAL_GL_LINE_WIDTH_RANGE = 0x0B22,
/* Polygons */
LOCAL_GL_POINT = 0x1B00,
LOCAL_GL_LINE = 0x1B01,
LOCAL_GL_FILL = 0x1B02,
LOCAL_GL_CCW = 0x0901,
LOCAL_GL_CW = 0x0900,
LOCAL_GL_FRONT = 0x0404,
LOCAL_GL_BACK = 0x0405,
LOCAL_GL_CULL_FACE = 0x0B44,
LOCAL_GL_CULL_FACE_MODE = 0x0B45,
LOCAL_GL_POLYGON_SMOOTH = 0x0B41,
LOCAL_GL_POLYGON_STIPPLE = 0x0B42,
LOCAL_GL_FRONT_FACE = 0x0B46,
LOCAL_GL_POLYGON_MODE = 0x0B40,
LOCAL_GL_POLYGON_OFFSET_FACTOR = 0x8038,
LOCAL_GL_POLYGON_OFFSET_UNITS = 0x2A00,
LOCAL_GL_POLYGON_OFFSET_POINT = 0x2A01,
LOCAL_GL_POLYGON_OFFSET_LINE = 0x2A02,
LOCAL_GL_POLYGON_OFFSET_FILL = 0x8037,
/* Display Lists */
LOCAL_GL_COMPILE = 0x1300,
LOCAL_GL_COMPILE_AND_EXECUTE = 0x1301,
LOCAL_GL_LIST_BASE = 0x0B32,
LOCAL_GL_LIST_INDEX = 0x0B33,
LOCAL_GL_LIST_MODE = 0x0B30,
/* Depth buffer */
LOCAL_GL_NEVER = 0x0200,
LOCAL_GL_LESS = 0x0201,
LOCAL_GL_GEQUAL = 0x0206,
LOCAL_GL_LEQUAL = 0x0203,
LOCAL_GL_GREATER = 0x0204,
LOCAL_GL_NOTEQUAL = 0x0205,
LOCAL_GL_EQUAL = 0x0202,
LOCAL_GL_ALWAYS = 0x0207,
LOCAL_GL_DEPTH_TEST = 0x0B71,
LOCAL_GL_DEPTH_BITS = 0x0D56,
LOCAL_GL_DEPTH_CLEAR_VALUE = 0x0B73,
LOCAL_GL_DEPTH_FUNC = 0x0B74,
LOCAL_GL_DEPTH_RANGE = 0x0B70,
LOCAL_GL_DEPTH_WRITEMASK = 0x0B72,
LOCAL_GL_DEPTH_COMPONENT = 0x1902,
/* Lighting */
LOCAL_GL_LIGHTING = 0x0B50,
LOCAL_GL_LIGHT0 = 0x4000,
LOCAL_GL_LIGHT1 = 0x4001,
LOCAL_GL_LIGHT2 = 0x4002,
LOCAL_GL_LIGHT3 = 0x4003,
LOCAL_GL_LIGHT4 = 0x4004,
LOCAL_GL_LIGHT5 = 0x4005,
LOCAL_GL_LIGHT6 = 0x4006,
LOCAL_GL_LIGHT7 = 0x4007,
LOCAL_GL_SPOT_EXPONENT = 0x1205,
LOCAL_GL_SPOT_CUTOFF = 0x1206,
LOCAL_GL_CONSTANT_ATTENUATION = 0x1207,
LOCAL_GL_LINEAR_ATTENUATION = 0x1208,
LOCAL_GL_QUADRATIC_ATTENUATION = 0x1209,
LOCAL_GL_AMBIENT = 0x1200,
LOCAL_GL_DIFFUSE = 0x1201,
LOCAL_GL_SPECULAR = 0x1202,
LOCAL_GL_SHININESS = 0x1601,
LOCAL_GL_EMISSION = 0x1600,
LOCAL_GL_POSITION = 0x1203,
LOCAL_GL_SPOT_DIRECTION = 0x1204,
LOCAL_GL_AMBIENT_AND_DIFFUSE = 0x1602,
LOCAL_GL_COLOR_INDEXES = 0x1603,
LOCAL_GL_LIGHT_MODEL_TWO_SIDE = 0x0B52,
LOCAL_GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51,
LOCAL_GL_LIGHT_MODEL_AMBIENT = 0x0B53,
LOCAL_GL_FRONT_AND_BACK = 0x0408,
LOCAL_GL_SHADE_MODEL = 0x0B54,
LOCAL_GL_FLAT = 0x1D00,
LOCAL_GL_SMOOTH = 0x1D01,
LOCAL_GL_COLOR_MATERIAL = 0x0B57,
LOCAL_GL_COLOR_MATERIAL_FACE = 0x0B55,
LOCAL_GL_COLOR_MATERIAL_PARAMETER = 0x0B56,
LOCAL_GL_NORMALIZE = 0x0BA1,
/* User clipping planes */
LOCAL_GL_CLIP_PLANE0 = 0x3000,
LOCAL_GL_CLIP_PLANE1 = 0x3001,
LOCAL_GL_CLIP_PLANE2 = 0x3002,
LOCAL_GL_CLIP_PLANE3 = 0x3003,
LOCAL_GL_CLIP_PLANE4 = 0x3004,
LOCAL_GL_CLIP_PLANE5 = 0x3005,
/* Accumulation buffer */
LOCAL_GL_ACCUM_RED_BITS = 0x0D58,
LOCAL_GL_ACCUM_GREEN_BITS = 0x0D59,
LOCAL_GL_ACCUM_BLUE_BITS = 0x0D5A,
LOCAL_GL_ACCUM_ALPHA_BITS = 0x0D5B,
LOCAL_GL_ACCUM_CLEAR_VALUE = 0x0B80,
LOCAL_GL_ACCUM = 0x0100,
LOCAL_GL_ADD = 0x0104,
LOCAL_GL_LOAD = 0x0101,
LOCAL_GL_MULT = 0x0103,
LOCAL_GL_RETURN = 0x0102,
/* Alpha testing */
LOCAL_GL_ALPHA_TEST = 0x0BC0,
LOCAL_GL_ALPHA_TEST_REF = 0x0BC2,
LOCAL_GL_ALPHA_TEST_FUNC = 0x0BC1,
/* Blending */
LOCAL_GL_BLEND = 0x0BE2,
LOCAL_GL_BLEND_SRC = 0x0BE1,
LOCAL_GL_BLEND_DST = 0x0BE0,
LOCAL_GL_ZERO = 0,
LOCAL_GL_ONE = 1,
LOCAL_GL_SRC_COLOR = 0x0300,
LOCAL_GL_ONE_MINUS_SRC_COLOR = 0x0301,
LOCAL_GL_DST_COLOR = 0x0306,
LOCAL_GL_ONE_MINUS_DST_COLOR = 0x0307,
LOCAL_GL_SRC_ALPHA = 0x0302,
LOCAL_GL_ONE_MINUS_SRC_ALPHA = 0x0303,
LOCAL_GL_DST_ALPHA = 0x0304,
LOCAL_GL_ONE_MINUS_DST_ALPHA = 0x0305,
LOCAL_GL_SRC_ALPHA_SATURATE = 0x0308,
LOCAL_GL_CONSTANT_COLOR = 0x8001,
LOCAL_GL_ONE_MINUS_CONSTANT_COLOR = 0x8002,
LOCAL_GL_CONSTANT_ALPHA = 0x8003,
LOCAL_GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
/* Render Mode */
LOCAL_GL_FEEDBACK = 0x1C01,
LOCAL_GL_RENDER = 0x1C00,
LOCAL_GL_SELECT = 0x1C02,
/* Feedback */
LOCAL_GL_2D = 0x0600,
LOCAL_GL_3D = 0x0601,
LOCAL_GL_3D_COLOR = 0x0602,
LOCAL_GL_3D_COLOR_TEXTURE = 0x0603,
LOCAL_GL_4D_COLOR_TEXTURE = 0x0604,
LOCAL_GL_POINT_TOKEN = 0x0701,
LOCAL_GL_LINE_TOKEN = 0x0702,
LOCAL_GL_LINE_RESET_TOKEN = 0x0707,
LOCAL_GL_POLYGON_TOKEN = 0x0703,
LOCAL_GL_BITMAP_TOKEN = 0x0704,
LOCAL_GL_DRAW_PIXEL_TOKEN = 0x0705,
LOCAL_GL_COPY_PIXEL_TOKEN = 0x0706,
LOCAL_GL_PASS_THROUGH_TOKEN = 0x0700,
LOCAL_GL_FEEDBACK_BUFFER_POINTER = 0x0DF0,
LOCAL_GL_FEEDBACK_BUFFER_SIZE = 0x0DF1,
LOCAL_GL_FEEDBACK_BUFFER_TYPE = 0x0DF2,
/* Selection */
LOCAL_GL_SELECTION_BUFFER_POINTER = 0x0DF3,
LOCAL_GL_SELECTION_BUFFER_SIZE = 0x0DF4,
/* Fog */
LOCAL_GL_FOG = 0x0B60,
LOCAL_GL_FOG_MODE = 0x0B65,
LOCAL_GL_FOG_DENSITY = 0x0B62,
LOCAL_GL_FOG_COLOR = 0x0B66,
LOCAL_GL_FOG_INDEX = 0x0B61,
LOCAL_GL_FOG_START = 0x0B63,
LOCAL_GL_FOG_END = 0x0B64,
LOCAL_GL_LINEAR = 0x2601,
LOCAL_GL_EXP = 0x0800,
LOCAL_GL_EXP2 = 0x0801,
/* Logic Ops */
LOCAL_GL_LOGIC_OP = 0x0BF1,
LOCAL_GL_INDEX_LOGIC_OP = 0x0BF1,
LOCAL_GL_COLOR_LOGIC_OP = 0x0BF2,
LOCAL_GL_LOGIC_OP_MODE = 0x0BF0,
LOCAL_GL_CLEAR = 0x1500,
LOCAL_GL_SET = 0x150F,
LOCAL_GL_COPY = 0x1503,
LOCAL_GL_COPY_INVERTED = 0x150C,
LOCAL_GL_NOOP = 0x1505,
LOCAL_GL_INVERT = 0x150A,
LOCAL_GL_AND = 0x1501,
LOCAL_GL_NAND = 0x150E,
LOCAL_GL_OR = 0x1507,
LOCAL_GL_NOR = 0x1508,
LOCAL_GL_XOR = 0x1506,
LOCAL_GL_EQUIV = 0x1509,
LOCAL_GL_AND_REVERSE = 0x1502,
LOCAL_GL_AND_INVERTED = 0x1504,
LOCAL_GL_OR_REVERSE = 0x150B,
LOCAL_GL_OR_INVERTED = 0x150D,
/* Stencil */
LOCAL_GL_STENCIL_TEST = 0x0B90,
LOCAL_GL_STENCIL_WRITEMASK = 0x0B98,
LOCAL_GL_STENCIL_BITS = 0x0D57,
LOCAL_GL_STENCIL_FUNC = 0x0B92,
LOCAL_GL_STENCIL_VALUE_MASK = 0x0B93,
LOCAL_GL_STENCIL_REF = 0x0B97,
LOCAL_GL_STENCIL_FAIL = 0x0B94,
LOCAL_GL_STENCIL_PASS_DEPTH_PASS = 0x0B96,
LOCAL_GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95,
LOCAL_GL_STENCIL_CLEAR_VALUE = 0x0B91,
LOCAL_GL_STENCIL_INDEX = 0x1901,
LOCAL_GL_KEEP = 0x1E00,
LOCAL_GL_REPLACE = 0x1E01,
LOCAL_GL_INCR = 0x1E02,
LOCAL_GL_DECR = 0x1E03,
/* Buffers, Pixel Drawing/Reading */
LOCAL_GL_NONE = 0,
LOCAL_GL_LEFT = 0x0406,
LOCAL_GL_RIGHT = 0x0407,
/*LOCAL_GL_FRONT = 0x0404, */
/*LOCAL_GL_BACK = 0x0405, */
/*LOCAL_GL_FRONT_AND_BACK = 0x0408, */
LOCAL_GL_FRONT_LEFT = 0x0400,
LOCAL_GL_FRONT_RIGHT = 0x0401,
LOCAL_GL_BACK_LEFT = 0x0402,
LOCAL_GL_BACK_RIGHT = 0x0403,
LOCAL_GL_AUX0 = 0x0409,
LOCAL_GL_AUX1 = 0x040A,
LOCAL_GL_AUX2 = 0x040B,
LOCAL_GL_AUX3 = 0x040C,
LOCAL_GL_COLOR_INDEX = 0x1900,
LOCAL_GL_RED = 0x1903,
LOCAL_GL_GREEN = 0x1904,
LOCAL_GL_BLUE = 0x1905,
LOCAL_GL_ALPHA = 0x1906,
LOCAL_GL_LUMINANCE = 0x1909,
LOCAL_GL_LUMINANCE_ALPHA = 0x190A,
LOCAL_GL_ALPHA_BITS = 0x0D55,
LOCAL_GL_RED_BITS = 0x0D52,
LOCAL_GL_GREEN_BITS = 0x0D53,
LOCAL_GL_BLUE_BITS = 0x0D54,
LOCAL_GL_INDEX_BITS = 0x0D51,
LOCAL_GL_SUBPIXEL_BITS = 0x0D50,
LOCAL_GL_AUX_BUFFERS = 0x0C00,
LOCAL_GL_READ_BUFFER = 0x0C02,
LOCAL_GL_DRAW_BUFFER = 0x0C01,
LOCAL_GL_DOUBLEBUFFER = 0x0C32,
LOCAL_GL_STEREO = 0x0C33,
LOCAL_GL_BITMAP = 0x1A00,
LOCAL_GL_COLOR = 0x1800,
LOCAL_GL_DEPTH = 0x1801,
LOCAL_GL_STENCIL = 0x1802,
LOCAL_GL_DITHER = 0x0BD0,
LOCAL_GL_RGB = 0x1907,
LOCAL_GL_RGBA = 0x1908,
/* Implementation limits */
LOCAL_GL_MAX_LIST_NESTING = 0x0B31,
LOCAL_GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35,
LOCAL_GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36,
LOCAL_GL_MAX_NAME_STACK_DEPTH = 0x0D37,
LOCAL_GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38,
LOCAL_GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39,
LOCAL_GL_MAX_EVAL_ORDER = 0x0D30,
LOCAL_GL_MAX_LIGHTS = 0x0D31,
LOCAL_GL_MAX_CLIP_PLANES = 0x0D32,
LOCAL_GL_MAX_TEXTURE_SIZE = 0x0D33,
LOCAL_GL_MAX_PIXEL_MAP_TABLE = 0x0D34,
LOCAL_GL_MAX_VIEWPORT_DIMS = 0x0D3A,
LOCAL_GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
/* Gets */
LOCAL_GL_ATTRIB_STACK_DEPTH = 0x0BB0,
LOCAL_GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1,
LOCAL_GL_COLOR_CLEAR_VALUE = 0x0C22,
LOCAL_GL_COLOR_WRITEMASK = 0x0C23,
LOCAL_GL_CURRENT_INDEX = 0x0B01,
LOCAL_GL_CURRENT_COLOR = 0x0B00,
LOCAL_GL_CURRENT_NORMAL = 0x0B02,
LOCAL_GL_CURRENT_RASTER_COLOR = 0x0B04,
LOCAL_GL_CURRENT_RASTER_DISTANCE = 0x0B09,
LOCAL_GL_CURRENT_RASTER_INDEX = 0x0B05,
LOCAL_GL_CURRENT_RASTER_POSITION = 0x0B07,
LOCAL_GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
LOCAL_GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
LOCAL_GL_CURRENT_TEXTURE_COORDS = 0x0B03,
LOCAL_GL_INDEX_CLEAR_VALUE = 0x0C20,
LOCAL_GL_INDEX_MODE = 0x0C30,
LOCAL_GL_INDEX_WRITEMASK = 0x0C21,
LOCAL_GL_MODELVIEW_MATRIX = 0x0BA6,
LOCAL_GL_MODELVIEW_STACK_DEPTH = 0x0BA3,
LOCAL_GL_NAME_STACK_DEPTH = 0x0D70,
LOCAL_GL_PROJECTION_MATRIX = 0x0BA7,
LOCAL_GL_PROJECTION_STACK_DEPTH = 0x0BA4,
LOCAL_GL_RENDER_MODE = 0x0C40,
LOCAL_GL_RGBA_MODE = 0x0C31,
LOCAL_GL_TEXTURE_MATRIX = 0x0BA8,
LOCAL_GL_TEXTURE_STACK_DEPTH = 0x0BA5,
LOCAL_GL_VIEWPORT = 0x0BA2,
/* Evaluators */
LOCAL_GL_AUTO_NORMAL = 0x0D80,
LOCAL_GL_MAP1_COLOR_4 = 0x0D90,
LOCAL_GL_MAP1_GRID_DOMAIN = 0x0DD0,
LOCAL_GL_MAP1_GRID_SEGMENTS = 0x0DD1,
LOCAL_GL_MAP1_INDEX = 0x0D91,
LOCAL_GL_MAP1_NORMAL = 0x0D92,
LOCAL_GL_MAP1_TEXTURE_COORD_1 = 0x0D93,
LOCAL_GL_MAP1_TEXTURE_COORD_2 = 0x0D94,
LOCAL_GL_MAP1_TEXTURE_COORD_3 = 0x0D95,
LOCAL_GL_MAP1_TEXTURE_COORD_4 = 0x0D96,
LOCAL_GL_MAP1_VERTEX_3 = 0x0D97,
LOCAL_GL_MAP1_VERTEX_4 = 0x0D98,
LOCAL_GL_MAP2_COLOR_4 = 0x0DB0,
LOCAL_GL_MAP2_GRID_DOMAIN = 0x0DD2,
LOCAL_GL_MAP2_GRID_SEGMENTS = 0x0DD3,
LOCAL_GL_MAP2_INDEX = 0x0DB1,
LOCAL_GL_MAP2_NORMAL = 0x0DB2,
LOCAL_GL_MAP2_TEXTURE_COORD_1 = 0x0DB3,
LOCAL_GL_MAP2_TEXTURE_COORD_2 = 0x0DB4,
LOCAL_GL_MAP2_TEXTURE_COORD_3 = 0x0DB5,
LOCAL_GL_MAP2_TEXTURE_COORD_4 = 0x0DB6,
LOCAL_GL_MAP2_VERTEX_3 = 0x0DB7,
LOCAL_GL_MAP2_VERTEX_4 = 0x0DB8,
LOCAL_GL_COEFF = 0x0A00,
LOCAL_GL_DOMAIN = 0x0A02,
LOCAL_GL_ORDER = 0x0A01,
/* Hints */
LOCAL_GL_FOG_HINT = 0x0C54,
LOCAL_GL_LINE_SMOOTH_HINT = 0x0C52,
LOCAL_GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50,
LOCAL_GL_POINT_SMOOTH_HINT = 0x0C51,
LOCAL_GL_POLYGON_SMOOTH_HINT = 0x0C53,
LOCAL_GL_DONT_CARE = 0x1100,
LOCAL_GL_FASTEST = 0x1101,
LOCAL_GL_NICEST = 0x1102,
/* Scissor box */
LOCAL_GL_SCISSOR_TEST = 0x0C11,
LOCAL_GL_SCISSOR_BOX = 0x0C10,
/* Pixel Mode / Transfer */
LOCAL_GL_MAP_COLOR = 0x0D10,
LOCAL_GL_MAP_STENCIL = 0x0D11,
LOCAL_GL_INDEX_SHIFT = 0x0D12,
LOCAL_GL_INDEX_OFFSET = 0x0D13,
LOCAL_GL_RED_SCALE = 0x0D14,
LOCAL_GL_RED_BIAS = 0x0D15,
LOCAL_GL_GREEN_SCALE = 0x0D18,
LOCAL_GL_GREEN_BIAS = 0x0D19,
LOCAL_GL_BLUE_SCALE = 0x0D1A,
LOCAL_GL_BLUE_BIAS = 0x0D1B,
LOCAL_GL_ALPHA_SCALE = 0x0D1C,
LOCAL_GL_ALPHA_BIAS = 0x0D1D,
LOCAL_GL_DEPTH_SCALE = 0x0D1E,
LOCAL_GL_DEPTH_BIAS = 0x0D1F,
LOCAL_GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1,
LOCAL_GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0,
LOCAL_GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2,
LOCAL_GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3,
LOCAL_GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4,
LOCAL_GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5,
LOCAL_GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6,
LOCAL_GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7,
LOCAL_GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8,
LOCAL_GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9,
LOCAL_GL_PIXEL_MAP_S_TO_S = 0x0C71,
LOCAL_GL_PIXEL_MAP_I_TO_I = 0x0C70,
LOCAL_GL_PIXEL_MAP_I_TO_R = 0x0C72,
LOCAL_GL_PIXEL_MAP_I_TO_G = 0x0C73,
LOCAL_GL_PIXEL_MAP_I_TO_B = 0x0C74,
LOCAL_GL_PIXEL_MAP_I_TO_A = 0x0C75,
LOCAL_GL_PIXEL_MAP_R_TO_R = 0x0C76,
LOCAL_GL_PIXEL_MAP_G_TO_G = 0x0C77,
LOCAL_GL_PIXEL_MAP_B_TO_B = 0x0C78,
LOCAL_GL_PIXEL_MAP_A_TO_A = 0x0C79,
LOCAL_GL_PACK_ALIGNMENT = 0x0D05,
LOCAL_GL_PACK_LSB_FIRST = 0x0D01,
LOCAL_GL_PACK_ROW_LENGTH = 0x0D02,
LOCAL_GL_PACK_SKIP_PIXELS = 0x0D04,
LOCAL_GL_PACK_SKIP_ROWS = 0x0D03,
LOCAL_GL_PACK_SWAP_BYTES = 0x0D00,
LOCAL_GL_UNPACK_ALIGNMENT = 0x0CF5,
LOCAL_GL_UNPACK_LSB_FIRST = 0x0CF1,
LOCAL_GL_UNPACK_ROW_LENGTH = 0x0CF2,
LOCAL_GL_UNPACK_SKIP_PIXELS = 0x0CF4,
LOCAL_GL_UNPACK_SKIP_ROWS = 0x0CF3,
LOCAL_GL_UNPACK_SWAP_BYTES = 0x0CF0,
LOCAL_GL_ZOOM_X = 0x0D16,
LOCAL_GL_ZOOM_Y = 0x0D17,
/* Texture mapping */
LOCAL_GL_TEXTURE_ENV = 0x2300,
LOCAL_GL_TEXTURE_ENV_MODE = 0x2200,
LOCAL_GL_TEXTURE_1D = 0x0DE0,
LOCAL_GL_TEXTURE_2D = 0x0DE1,
LOCAL_GL_TEXTURE_WRAP_S = 0x2802,
LOCAL_GL_TEXTURE_WRAP_T = 0x2803,
LOCAL_GL_TEXTURE_MAG_FILTER = 0x2800,
LOCAL_GL_TEXTURE_MIN_FILTER = 0x2801,
LOCAL_GL_TEXTURE_ENV_COLOR = 0x2201,
LOCAL_GL_TEXTURE_GEN_S = 0x0C60,
LOCAL_GL_TEXTURE_GEN_T = 0x0C61,
LOCAL_GL_TEXTURE_GEN_MODE = 0x2500,
LOCAL_GL_TEXTURE_BORDER_COLOR = 0x1004,
LOCAL_GL_TEXTURE_WIDTH = 0x1000,
LOCAL_GL_TEXTURE_HEIGHT = 0x1001,
LOCAL_GL_TEXTURE_BORDER = 0x1005,
LOCAL_GL_TEXTURE_COMPONENTS = 0x1003,
LOCAL_GL_TEXTURE_RED_SIZE = 0x805C,
LOCAL_GL_TEXTURE_GREEN_SIZE = 0x805D,
LOCAL_GL_TEXTURE_BLUE_SIZE = 0x805E,
LOCAL_GL_TEXTURE_ALPHA_SIZE = 0x805F,
LOCAL_GL_TEXTURE_LUMINANCE_SIZE = 0x8060,
LOCAL_GL_TEXTURE_INTENSITY_SIZE = 0x8061,
LOCAL_GL_NEAREST_MIPMAP_NEAREST = 0x2700,
LOCAL_GL_NEAREST_MIPMAP_LINEAR = 0x2702,
LOCAL_GL_LINEAR_MIPMAP_NEAREST = 0x2701,
LOCAL_GL_LINEAR_MIPMAP_LINEAR = 0x2703,
LOCAL_GL_OBJECT_LINEAR = 0x2401,
LOCAL_GL_OBJECT_PLANE = 0x2501,
LOCAL_GL_EYE_LINEAR = 0x2400,
LOCAL_GL_EYE_PLANE = 0x2502,
LOCAL_GL_SPHERE_MAP = 0x2402,
LOCAL_GL_DECAL = 0x2101,
LOCAL_GL_MODULATE = 0x2100,
LOCAL_GL_NEAREST = 0x2600,
LOCAL_GL_REPEAT = 0x2901,
LOCAL_GL_CLAMP = 0x2900,
LOCAL_GL_S = 0x2000,
LOCAL_GL_T = 0x2001,
LOCAL_GL_R = 0x2002,
LOCAL_GL_Q = 0x2003,
LOCAL_GL_TEXTURE_GEN_R = 0x0C62,
LOCAL_GL_TEXTURE_GEN_Q = 0x0C63,
/* GL 1.1 texturing */
LOCAL_GL_PROXY_TEXTURE_1D = 0x8063,
LOCAL_GL_PROXY_TEXTURE_2D = 0x8064,
LOCAL_GL_TEXTURE_PRIORITY = 0x8066,
LOCAL_GL_TEXTURE_RESIDENT = 0x8067,
LOCAL_GL_TEXTURE_BINDING_1D = 0x8068,
LOCAL_GL_TEXTURE_BINDING_2D = 0x8069,
LOCAL_GL_TEXTURE_INTERNAL_FORMAT = 0x1003,
/* GL 1.2 texturing */
LOCAL_GL_PACK_SKIP_IMAGES = 0x806B,
LOCAL_GL_PACK_IMAGE_HEIGHT = 0x806C,
LOCAL_GL_UNPACK_SKIP_IMAGES = 0x806D,
LOCAL_GL_UNPACK_IMAGE_HEIGHT = 0x806E,
LOCAL_GL_TEXTURE_3D = 0x806F,
LOCAL_GL_PROXY_TEXTURE_3D = 0x8070,
LOCAL_GL_TEXTURE_DEPTH = 0x8071,
LOCAL_GL_TEXTURE_WRAP_R = 0x8072,
LOCAL_GL_MAX_3D_TEXTURE_SIZE = 0x8073,
LOCAL_GL_TEXTURE_BINDING_3D = 0x806A,
/* Internal texture formats (GL 1.1) */
LOCAL_GL_ALPHA4 = 0x803B,
LOCAL_GL_ALPHA8 = 0x803C,
LOCAL_GL_ALPHA12 = 0x803D,
LOCAL_GL_ALPHA16 = 0x803E,
LOCAL_GL_LUMINANCE4 = 0x803F,
LOCAL_GL_LUMINANCE8 = 0x8040,
LOCAL_GL_LUMINANCE12 = 0x8041,
LOCAL_GL_LUMINANCE16 = 0x8042,
LOCAL_GL_LUMINANCE4_ALPHA4 = 0x8043,
LOCAL_GL_LUMINANCE6_ALPHA2 = 0x8044,
LOCAL_GL_LUMINANCE8_ALPHA8 = 0x8045,
LOCAL_GL_LUMINANCE12_ALPHA4 = 0x8046,
LOCAL_GL_LUMINANCE12_ALPHA12 = 0x8047,
LOCAL_GL_LUMINANCE16_ALPHA16 = 0x8048,
LOCAL_GL_INTENSITY = 0x8049,
LOCAL_GL_INTENSITY4 = 0x804A,
LOCAL_GL_INTENSITY8 = 0x804B,
LOCAL_GL_INTENSITY12 = 0x804C,
LOCAL_GL_INTENSITY16 = 0x804D,
LOCAL_GL_R3_G3_B2 = 0x2A10,
LOCAL_GL_RGB4 = 0x804F,
LOCAL_GL_RGB5 = 0x8050,
LOCAL_GL_RGB8 = 0x8051,
LOCAL_GL_RGB10 = 0x8052,
LOCAL_GL_RGB12 = 0x8053,
LOCAL_GL_RGB16 = 0x8054,
LOCAL_GL_RGBA2 = 0x8055,
LOCAL_GL_RGBA4 = 0x8056,
LOCAL_GL_RGB5_A1 = 0x8057,
LOCAL_GL_RGBA8 = 0x8058,
LOCAL_GL_RGB10_A2 = 0x8059,
LOCAL_GL_RGBA12 = 0x805A,
LOCAL_GL_RGBA16 = 0x805B,
/* Utility */
LOCAL_GL_VENDOR = 0x1F00,
LOCAL_GL_RENDERER = 0x1F01,
LOCAL_GL_VERSION = 0x1F02,
LOCAL_GL_EXTENSIONS = 0x1F03,
/* Errors */
LOCAL_GL_INVALID_VALUE = 0x0501,
LOCAL_GL_INVALID_ENUM = 0x0500,
LOCAL_GL_INVALID_OPERATION = 0x0502,
LOCAL_GL_STACK_OVERFLOW = 0x0503,
LOCAL_GL_STACK_UNDERFLOW = 0x0504,
LOCAL_GL_OUT_OF_MEMORY = 0x0505,
/*
* Extensions
*/
/* LOCAL_GL_EXT_blend_minmax and LOCAL_GL_EXT_blend_color */
LOCAL_GL_CONSTANT_COLOR_EXT = 0x8001,
LOCAL_GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002,
LOCAL_GL_CONSTANT_ALPHA_EXT = 0x8003,
LOCAL_GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004,
LOCAL_GL_BLEND_EQUATION_EXT = 0x8009,
LOCAL_GL_MIN_EXT = 0x8007,
LOCAL_GL_MAX_EXT = 0x8008,
LOCAL_GL_FUNC_ADD_EXT = 0x8006,
LOCAL_GL_FUNC_SUBTRACT_EXT = 0x800A,
LOCAL_GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B,
LOCAL_GL_BLEND_COLOR_EXT = 0x8005,
/* LOCAL_GL_EXT_polygon_offset */
LOCAL_GL_POLYGON_OFFSET_EXT = 0x8037,
LOCAL_GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038,
LOCAL_GL_POLYGON_OFFSET_BIAS_EXT = 0x8039,
/* LOCAL_GL_EXT_vertex_array */
LOCAL_GL_VERTEX_ARRAY_EXT = 0x8074,
LOCAL_GL_NORMAL_ARRAY_EXT = 0x8075,
LOCAL_GL_COLOR_ARRAY_EXT = 0x8076,
LOCAL_GL_INDEX_ARRAY_EXT = 0x8077,
LOCAL_GL_TEXTURE_COORD_ARRAY_EXT = 0x8078,
LOCAL_GL_EDGE_FLAG_ARRAY_EXT = 0x8079,
LOCAL_GL_VERTEX_ARRAY_SIZE_EXT = 0x807A,
LOCAL_GL_VERTEX_ARRAY_TYPE_EXT = 0x807B,
LOCAL_GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C,
LOCAL_GL_VERTEX_ARRAY_COUNT_EXT = 0x807D,
LOCAL_GL_NORMAL_ARRAY_TYPE_EXT = 0x807E,
LOCAL_GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F,
LOCAL_GL_NORMAL_ARRAY_COUNT_EXT = 0x8080,
LOCAL_GL_COLOR_ARRAY_SIZE_EXT = 0x8081,
LOCAL_GL_COLOR_ARRAY_TYPE_EXT = 0x8082,
LOCAL_GL_COLOR_ARRAY_STRIDE_EXT = 0x8083,
LOCAL_GL_COLOR_ARRAY_COUNT_EXT = 0x8084,
LOCAL_GL_INDEX_ARRAY_TYPE_EXT = 0x8085,
LOCAL_GL_INDEX_ARRAY_STRIDE_EXT = 0x8086,
LOCAL_GL_INDEX_ARRAY_COUNT_EXT = 0x8087,
LOCAL_GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088,
LOCAL_GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089,
LOCAL_GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A,
LOCAL_GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B,
LOCAL_GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C,
LOCAL_GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D,
LOCAL_GL_VERTEX_ARRAY_POINTER_EXT = 0x808E,
LOCAL_GL_NORMAL_ARRAY_POINTER_EXT = 0x808F,
LOCAL_GL_COLOR_ARRAY_POINTER_EXT = 0x8090,
LOCAL_GL_INDEX_ARRAY_POINTER_EXT = 0x8091,
LOCAL_GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092,
LOCAL_GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093,
/* LOCAL_GL_EXT_texture_object */
LOCAL_GL_TEXTURE_PRIORITY_EXT = 0x8066,
LOCAL_GL_TEXTURE_RESIDENT_EXT = 0x8067,
LOCAL_GL_TEXTURE_1D_BINDING_EXT = 0x8068,
LOCAL_GL_TEXTURE_2D_BINDING_EXT = 0x8069,
/* LOCAL_GL_EXT_texture3D */
LOCAL_GL_PACK_SKIP_IMAGES_EXT = 0x806B,
LOCAL_GL_PACK_IMAGE_HEIGHT_EXT = 0x806C,
LOCAL_GL_UNPACK_SKIP_IMAGES_EXT = 0x806D,
LOCAL_GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E,
LOCAL_GL_TEXTURE_3D_EXT = 0x806F,
LOCAL_GL_PROXY_TEXTURE_3D_EXT = 0x8070,
LOCAL_GL_TEXTURE_DEPTH_EXT = 0x8071,
LOCAL_GL_TEXTURE_WRAP_R_EXT = 0x8072,
LOCAL_GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073,
LOCAL_GL_TEXTURE_3D_BINDING_EXT = 0x806A,
/* LOCAL_GL_EXT_paletted_texture */
LOCAL_GL_TABLE_TOO_LARGE_EXT = 0x8031,
LOCAL_GL_COLOR_TABLE_FORMAT_EXT = 0x80D8,
LOCAL_GL_COLOR_TABLE_WIDTH_EXT = 0x80D9,
LOCAL_GL_COLOR_TABLE_RED_SIZE_EXT = 0x80DA,
LOCAL_GL_COLOR_TABLE_GREEN_SIZE_EXT = 0x80DB,
LOCAL_GL_COLOR_TABLE_BLUE_SIZE_EXT = 0x80DC,
LOCAL_GL_COLOR_TABLE_ALPHA_SIZE_EXT = 0x80DD,
LOCAL_GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = 0x80DE,
LOCAL_GL_COLOR_TABLE_INTENSITY_SIZE_EXT = 0x80DF,
LOCAL_GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED,
LOCAL_GL_COLOR_INDEX1_EXT = 0x80E2,
LOCAL_GL_COLOR_INDEX2_EXT = 0x80E3,
LOCAL_GL_COLOR_INDEX4_EXT = 0x80E4,
LOCAL_GL_COLOR_INDEX8_EXT = 0x80E5,
LOCAL_GL_COLOR_INDEX12_EXT = 0x80E6,
LOCAL_GL_COLOR_INDEX16_EXT = 0x80E7,
/* LOCAL_GL_EXT_shared_texture_palette */
LOCAL_GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB,
/* LOCAL_GL_EXT_point_parameters */
LOCAL_GL_POINT_SIZE_MIN_EXT = 0x8126,
LOCAL_GL_POINT_SIZE_MAX_EXT = 0x8127,
LOCAL_GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128,
LOCAL_GL_DISTANCE_ATTENUATION_EXT = 0x8129,
/* LOCAL_GL_EXT_rescale_normal */
LOCAL_GL_RESCALE_NORMAL_EXT = 0x803A,
/* LOCAL_GL_EXT_abgr */
LOCAL_GL_ABGR_EXT = 0x8000,
/* LOCAL_GL_SGIS_multitexture */
LOCAL_GL_SELECTED_TEXTURE_SGIS = 0x835C,
LOCAL_GL_SELECTED_TEXTURE_COORD_SET_SGIS = 0x835D,
LOCAL_GL_MAX_TEXTURES_SGIS = 0x835E,
LOCAL_GL_TEXTURE0_SGIS = 0x835F,
LOCAL_GL_TEXTURE1_SGIS = 0x8360,
LOCAL_GL_TEXTURE2_SGIS = 0x8361,
LOCAL_GL_TEXTURE3_SGIS = 0x8362,
LOCAL_GL_TEXTURE_COORD_SET_SOURCE_SGIS = 0x8363,
/* LOCAL_GL_EXT_multitexture */
LOCAL_GL_SELECTED_TEXTURE_EXT = 0x83C0,
LOCAL_GL_SELECTED_TEXTURE_COORD_SET_EXT = 0x83C1,
LOCAL_GL_SELECTED_TEXTURE_TRANSFORM_EXT = 0x83C2,
LOCAL_GL_MAX_TEXTURES_EXT = 0x83C3,
LOCAL_GL_MAX_TEXTURE_COORD_SETS_EXT = 0x83C4,
LOCAL_GL_TEXTURE_ENV_COORD_SET_EXT = 0x83C5,
LOCAL_GL_TEXTURE0_EXT = 0x83C6,
LOCAL_GL_TEXTURE1_EXT = 0x83C7,
LOCAL_GL_TEXTURE2_EXT = 0x83C8,
LOCAL_GL_TEXTURE3_EXT = 0x83C9,
/* LOCAL_GL_SGIS_texture_edge_clamp */
LOCAL_GL_CLAMP_TO_EDGE_SGIS = 0x812F,
/* OpenGL 1.2 */
LOCAL_GL_RESCALE_NORMAL = 0x803A,
LOCAL_GL_CLAMP_TO_EDGE = 0x812F,
LOCAL_GL_MAX_ELEMENTS_VERTICES = 0xF0E8,
LOCAL_GL_MAX_ELEMENTS_INDICES = 0xF0E9,
LOCAL_GL_BGR = 0x80E0,
LOCAL_GL_BGRA = 0x80E1,
LOCAL_GL_UNSIGNED_BYTE_3_3_2 = 0x8032,
LOCAL_GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362,
LOCAL_GL_UNSIGNED_SHORT_5_6_5 = 0x8363,
LOCAL_GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364,
LOCAL_GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033,
LOCAL_GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365,
LOCAL_GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034,
LOCAL_GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366,
LOCAL_GL_UNSIGNED_INT_8_8_8_8 = 0x8035,
LOCAL_GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367,
LOCAL_GL_UNSIGNED_INT_10_10_10_2 = 0x8036,
LOCAL_GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368,
LOCAL_GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8,
LOCAL_GL_SINGLE_COLOR = 0x81F9,
LOCAL_GL_SEPARATE_SPECULAR_COLOR = 0x81FA,
LOCAL_GL_TEXTURE_MIN_LOD = 0x813A,
LOCAL_GL_TEXTURE_MAX_LOD = 0x813B,
LOCAL_GL_TEXTURE_BASE_LEVEL = 0x813C,
LOCAL_GL_TEXTURE_MAX_LEVEL = 0x813D
};
typedef struct { GLenum e; const char* name; } ENUM;
#define EDEF(VAR) { (GLenum)(LOCAL_GL_##VAR), #VAR }
static ENUM enums[] =
{
EDEF(BYTE),
EDEF(UNSIGNED_BYTE),
EDEF(SHORT),
EDEF(UNSIGNED_SHORT),
EDEF(INT),
EDEF(UNSIGNED_INT),
EDEF(FLOAT),
EDEF(DOUBLE),
EDEF(2_BYTES),
EDEF(3_BYTES),
EDEF(4_BYTES),
/*
EDEF(LINES),
EDEF(POINTS),
EDEF(LINE_STRIP),
EDEF(LINE_LOOP),
EDEF(TRIANGLES),
EDEF(TRIANGLE_STRIP),
EDEF(TRIANGLE_FAN),
EDEF(QUADS),
EDEF(QUAD_STRIP),
EDEF(POLYGON),
EDEF(EDGE_FLAG),
*/
EDEF(VERTEX_ARRAY),
EDEF(NORMAL_ARRAY),
EDEF(COLOR_ARRAY),
EDEF(INDEX_ARRAY),
EDEF(TEXTURE_COORD_ARRAY),
EDEF(EDGE_FLAG_ARRAY),
EDEF(VERTEX_ARRAY_SIZE),
EDEF(VERTEX_ARRAY_TYPE),
EDEF(VERTEX_ARRAY_STRIDE),
EDEF(NORMAL_ARRAY_TYPE),
EDEF(NORMAL_ARRAY_STRIDE),
EDEF(COLOR_ARRAY_SIZE),
EDEF(COLOR_ARRAY_TYPE),
EDEF(COLOR_ARRAY_STRIDE),
EDEF(INDEX_ARRAY_TYPE),
EDEF(INDEX_ARRAY_STRIDE),
EDEF(TEXTURE_COORD_ARRAY_SIZE),
EDEF(TEXTURE_COORD_ARRAY_TYPE),
EDEF(TEXTURE_COORD_ARRAY_STRIDE),
EDEF(EDGE_FLAG_ARRAY_STRIDE),
EDEF(VERTEX_ARRAY_POINTER),
EDEF(NORMAL_ARRAY_POINTER),
EDEF(COLOR_ARRAY_POINTER),
EDEF(INDEX_ARRAY_POINTER),
EDEF(TEXTURE_COORD_ARRAY_POINTER),
EDEF(EDGE_FLAG_ARRAY_POINTER),
EDEF(V2F),
EDEF(V3F),
EDEF(C4UB_V2F),
EDEF(C4UB_V3F),
EDEF(C3F_V3F),
EDEF(N3F_V3F),
EDEF(C4F_N3F_V3F),
EDEF(T2F_V3F),
EDEF(T4F_V4F),
EDEF(T2F_C4UB_V3F),
EDEF(T2F_C3F_V3F),
EDEF(T2F_N3F_V3F),
EDEF(T2F_C4F_N3F_V3F),
EDEF(T4F_C4F_N3F_V4F),
EDEF(MATRIX_MODE),
EDEF(MODELVIEW),
EDEF(PROJECTION),
EDEF(TEXTURE),
EDEF(POINT_SMOOTH),
EDEF(POINT_SIZE),
EDEF(POINT_SIZE_GRANULARITY),
EDEF(POINT_SIZE_RANGE),
EDEF(LINE_SMOOTH),
EDEF(LINE_STIPPLE),
EDEF(LINE_STIPPLE_PATTERN),
EDEF(LINE_STIPPLE_REPEAT),
EDEF(LINE_WIDTH),
EDEF(LINE_WIDTH_GRANULARITY),
EDEF(LINE_WIDTH_RANGE),
EDEF(POINT),
EDEF(LINE),
EDEF(FILL),
EDEF(CCW),
EDEF(CW),
EDEF(FRONT),
EDEF(BACK),
EDEF(CULL_FACE),
EDEF(CULL_FACE_MODE),
EDEF(POLYGON_SMOOTH),
EDEF(POLYGON_STIPPLE),
EDEF(FRONT_FACE),
EDEF(POLYGON_MODE),
EDEF(POLYGON_OFFSET_FACTOR),
EDEF(POLYGON_OFFSET_UNITS),
EDEF(POLYGON_OFFSET_POINT),
EDEF(POLYGON_OFFSET_LINE),
EDEF(POLYGON_OFFSET_FILL),
EDEF(COMPILE),
EDEF(COMPILE_AND_EXECUTE),
EDEF(LIST_BASE),
EDEF(LIST_INDEX),
EDEF(LIST_MODE),
EDEF(NEVER),
EDEF(LESS),
EDEF(GEQUAL),
EDEF(LEQUAL),
EDEF(GREATER),
EDEF(NOTEQUAL),
EDEF(EQUAL),
EDEF(ALWAYS),
EDEF(DEPTH_TEST),
EDEF(DEPTH_BITS),
EDEF(DEPTH_CLEAR_VALUE),
EDEF(DEPTH_FUNC),
EDEF(DEPTH_RANGE),
EDEF(DEPTH_WRITEMASK),
EDEF(DEPTH_COMPONENT),
EDEF(LIGHTING),
EDEF(LIGHT0),
EDEF(LIGHT1),
EDEF(LIGHT2),
EDEF(LIGHT3),
EDEF(LIGHT4),
EDEF(LIGHT5),
EDEF(LIGHT6),
EDEF(LIGHT7),
EDEF(SPOT_EXPONENT),
EDEF(SPOT_CUTOFF),
EDEF(CONSTANT_ATTENUATION),
EDEF(LINEAR_ATTENUATION),
EDEF(QUADRATIC_ATTENUATION),
EDEF(AMBIENT),
EDEF(DIFFUSE),
EDEF(SPECULAR),
EDEF(SHININESS),
EDEF(EMISSION),
EDEF(POSITION),
EDEF(SPOT_DIRECTION),
EDEF(AMBIENT_AND_DIFFUSE),
EDEF(COLOR_INDEXES),
EDEF(LIGHT_MODEL_TWO_SIDE),
EDEF(LIGHT_MODEL_LOCAL_VIEWER),
EDEF(LIGHT_MODEL_AMBIENT),
EDEF(FRONT_AND_BACK),
EDEF(SHADE_MODEL),
EDEF(FLAT),
EDEF(SMOOTH),
EDEF(COLOR_MATERIAL),
EDEF(COLOR_MATERIAL_FACE),
EDEF(COLOR_MATERIAL_PARAMETER),
EDEF(NORMALIZE),
EDEF(CLIP_PLANE0),
EDEF(CLIP_PLANE1),
EDEF(CLIP_PLANE2),
EDEF(CLIP_PLANE3),
EDEF(CLIP_PLANE4),
EDEF(CLIP_PLANE5),
EDEF(ACCUM_RED_BITS),
EDEF(ACCUM_GREEN_BITS),
EDEF(ACCUM_BLUE_BITS),
EDEF(ACCUM_ALPHA_BITS),
EDEF(ACCUM_CLEAR_VALUE),
EDEF(ACCUM),
EDEF(ADD),
EDEF(LOAD),
EDEF(MULT),
EDEF(RETURN),
EDEF(ALPHA_TEST),
EDEF(ALPHA_TEST_REF),
EDEF(ALPHA_TEST_FUNC),
EDEF(BLEND),
EDEF(BLEND_SRC),
EDEF(BLEND_DST),
EDEF(ZERO),
EDEF(ONE),
EDEF(SRC_COLOR),
EDEF(ONE_MINUS_SRC_COLOR),
EDEF(DST_COLOR),
EDEF(ONE_MINUS_DST_COLOR),
EDEF(SRC_ALPHA),
EDEF(ONE_MINUS_SRC_ALPHA),
EDEF(DST_ALPHA),
EDEF(ONE_MINUS_DST_ALPHA),
EDEF(SRC_ALPHA_SATURATE),
EDEF(CONSTANT_COLOR),
EDEF(ONE_MINUS_CONSTANT_COLOR),
EDEF(CONSTANT_ALPHA),
EDEF(ONE_MINUS_CONSTANT_ALPHA),
EDEF(FEEDBACK),
EDEF(RENDER),
EDEF(SELECT),
EDEF(2D),
EDEF(3D),
EDEF(3D_COLOR),
EDEF(3D_COLOR_TEXTURE),
EDEF(4D_COLOR_TEXTURE),
EDEF(POINT_TOKEN),
EDEF(LINE_TOKEN),
EDEF(LINE_RESET_TOKEN),
EDEF(POLYGON_TOKEN),
EDEF(BITMAP_TOKEN),
EDEF(DRAW_PIXEL_TOKEN),
EDEF(COPY_PIXEL_TOKEN),
EDEF(PASS_THROUGH_TOKEN),
EDEF(FEEDBACK_BUFFER_POINTER),
EDEF(FEEDBACK_BUFFER_SIZE),
EDEF(FEEDBACK_BUFFER_TYPE),
EDEF(SELECTION_BUFFER_POINTER),
EDEF(SELECTION_BUFFER_SIZE),
EDEF(FOG),
EDEF(FOG_MODE),
EDEF(FOG_DENSITY),
EDEF(FOG_COLOR),
EDEF(FOG_INDEX),
EDEF(FOG_START),
EDEF(FOG_END),
EDEF(LINEAR),
EDEF(EXP),
EDEF(EXP2),
EDEF(LOGIC_OP),
EDEF(INDEX_LOGIC_OP),
EDEF(COLOR_LOGIC_OP),
EDEF(LOGIC_OP_MODE),
EDEF(CLEAR),
EDEF(SET),
EDEF(COPY),
EDEF(COPY_INVERTED),
EDEF(NOOP),
EDEF(INVERT),
EDEF(AND),
EDEF(NAND),
EDEF(OR),
EDEF(NOR),
EDEF(XOR),
EDEF(EQUIV),
EDEF(AND_REVERSE),
EDEF(AND_INVERTED),
EDEF(OR_REVERSE),
EDEF(OR_INVERTED),
EDEF(STENCIL_TEST),
EDEF(STENCIL_WRITEMASK),
EDEF(STENCIL_BITS),
EDEF(STENCIL_FUNC),
EDEF(STENCIL_VALUE_MASK),
EDEF(STENCIL_REF),
EDEF(STENCIL_FAIL),
EDEF(STENCIL_PASS_DEPTH_PASS),
EDEF(STENCIL_PASS_DEPTH_FAIL),
EDEF(STENCIL_CLEAR_VALUE),
EDEF(STENCIL_INDEX),
EDEF(KEEP),
EDEF(REPLACE),
EDEF(INCR),
EDEF(DECR),
EDEF(NONE),
EDEF(LEFT),
EDEF(RIGHT),
EDEF(FRONT_LEFT),
EDEF(FRONT_RIGHT),
EDEF(BACK_LEFT),
EDEF(BACK_RIGHT),
EDEF(AUX0),
EDEF(AUX1),
EDEF(AUX2),
EDEF(AUX3),
EDEF(COLOR_INDEX),
EDEF(RED),
EDEF(GREEN),
EDEF(BLUE),
EDEF(ALPHA),
EDEF(LUMINANCE),
EDEF(LUMINANCE_ALPHA),
EDEF(ALPHA_BITS),
EDEF(RED_BITS),
EDEF(GREEN_BITS),
EDEF(BLUE_BITS),
EDEF(INDEX_BITS),
EDEF(SUBPIXEL_BITS),
EDEF(AUX_BUFFERS),
EDEF(READ_BUFFER),
EDEF(DRAW_BUFFER),
EDEF(DOUBLEBUFFER),
EDEF(STEREO),
EDEF(BITMAP),
EDEF(COLOR),
EDEF(DEPTH),
EDEF(STENCIL),
EDEF(DITHER),
EDEF(RGB),
EDEF(RGBA),
EDEF(MAX_LIST_NESTING),
EDEF(MAX_ATTRIB_STACK_DEPTH),
EDEF(MAX_MODELVIEW_STACK_DEPTH),
EDEF(MAX_NAME_STACK_DEPTH),
EDEF(MAX_PROJECTION_STACK_DEPTH),
EDEF(MAX_TEXTURE_STACK_DEPTH),
EDEF(MAX_EVAL_ORDER),
EDEF(MAX_LIGHTS),
EDEF(MAX_CLIP_PLANES),
EDEF(MAX_TEXTURE_SIZE),
EDEF(MAX_PIXEL_MAP_TABLE),
EDEF(MAX_VIEWPORT_DIMS),
EDEF(MAX_CLIENT_ATTRIB_STACK_DEPTH),
EDEF(ATTRIB_STACK_DEPTH),
EDEF(CLIENT_ATTRIB_STACK_DEPTH),
EDEF(COLOR_CLEAR_VALUE),
EDEF(COLOR_WRITEMASK),
EDEF(CURRENT_INDEX),
EDEF(CURRENT_COLOR),
EDEF(CURRENT_NORMAL),
EDEF(CURRENT_RASTER_COLOR),
EDEF(CURRENT_RASTER_DISTANCE),
EDEF(CURRENT_RASTER_INDEX),
EDEF(CURRENT_RASTER_POSITION),
EDEF(CURRENT_RASTER_TEXTURE_COORDS),
EDEF(CURRENT_RASTER_POSITION_VALID),
EDEF(CURRENT_TEXTURE_COORDS),
EDEF(INDEX_CLEAR_VALUE),
EDEF(INDEX_MODE),
EDEF(INDEX_WRITEMASK),
EDEF(MODELVIEW_MATRIX),
EDEF(MODELVIEW_STACK_DEPTH),
EDEF(NAME_STACK_DEPTH),
EDEF(PROJECTION_MATRIX),
EDEF(PROJECTION_STACK_DEPTH),
EDEF(RENDER_MODE),
EDEF(RGBA_MODE),
EDEF(TEXTURE_MATRIX),
EDEF(TEXTURE_STACK_DEPTH),
EDEF(VIEWPORT),
EDEF(AUTO_NORMAL),
EDEF(MAP1_COLOR_4),
EDEF(MAP1_GRID_DOMAIN),
EDEF(MAP1_GRID_SEGMENTS),
EDEF(MAP1_INDEX),
EDEF(MAP1_NORMAL),
EDEF(MAP1_TEXTURE_COORD_1),
EDEF(MAP1_TEXTURE_COORD_2),
EDEF(MAP1_TEXTURE_COORD_3),
EDEF(MAP1_TEXTURE_COORD_4),
EDEF(MAP1_VERTEX_3),
EDEF(MAP1_VERTEX_4),
EDEF(MAP2_COLOR_4),
EDEF(MAP2_GRID_DOMAIN),
EDEF(MAP2_GRID_SEGMENTS),
EDEF(MAP2_INDEX),
EDEF(MAP2_NORMAL),
EDEF(MAP2_TEXTURE_COORD_1),
EDEF(MAP2_TEXTURE_COORD_2),
EDEF(MAP2_TEXTURE_COORD_3),
EDEF(MAP2_TEXTURE_COORD_4),
EDEF(MAP2_VERTEX_3),
EDEF(MAP2_VERTEX_4),
EDEF(COEFF),
EDEF(DOMAIN),
EDEF(ORDER),
EDEF(FOG_HINT),
EDEF(LINE_SMOOTH_HINT),
EDEF(PERSPECTIVE_CORRECTION_HINT),
EDEF(POINT_SMOOTH_HINT),
EDEF(POLYGON_SMOOTH_HINT),
EDEF(DONT_CARE),
EDEF(FASTEST),
EDEF(NICEST),
EDEF(SCISSOR_TEST),
EDEF(SCISSOR_BOX),
EDEF(MAP_COLOR),
EDEF(MAP_STENCIL),
EDEF(INDEX_SHIFT),
EDEF(INDEX_OFFSET),
EDEF(RED_SCALE),
EDEF(RED_BIAS),
EDEF(GREEN_SCALE),
EDEF(GREEN_BIAS),
EDEF(BLUE_SCALE),
EDEF(BLUE_BIAS),
EDEF(ALPHA_SCALE),
EDEF(ALPHA_BIAS),
EDEF(DEPTH_SCALE),
EDEF(DEPTH_BIAS),
EDEF(PIXEL_MAP_S_TO_S_SIZE),
EDEF(PIXEL_MAP_I_TO_I_SIZE),
EDEF(PIXEL_MAP_I_TO_R_SIZE),
EDEF(PIXEL_MAP_I_TO_G_SIZE),
EDEF(PIXEL_MAP_I_TO_B_SIZE),
EDEF(PIXEL_MAP_I_TO_A_SIZE),
EDEF(PIXEL_MAP_R_TO_R_SIZE),
EDEF(PIXEL_MAP_G_TO_G_SIZE),
EDEF(PIXEL_MAP_B_TO_B_SIZE),
EDEF(PIXEL_MAP_A_TO_A_SIZE),
EDEF(PIXEL_MAP_S_TO_S),
EDEF(PIXEL_MAP_I_TO_I),
EDEF(PIXEL_MAP_I_TO_R),
EDEF(PIXEL_MAP_I_TO_G),
EDEF(PIXEL_MAP_I_TO_B),
EDEF(PIXEL_MAP_I_TO_A),
EDEF(PIXEL_MAP_R_TO_R),
EDEF(PIXEL_MAP_G_TO_G),
EDEF(PIXEL_MAP_B_TO_B),
EDEF(PIXEL_MAP_A_TO_A),
EDEF(PACK_ALIGNMENT),
EDEF(PACK_LSB_FIRST),
EDEF(PACK_ROW_LENGTH),
EDEF(PACK_SKIP_PIXELS),
EDEF(PACK_SKIP_ROWS),
EDEF(PACK_SWAP_BYTES),
EDEF(UNPACK_ALIGNMENT),
EDEF(UNPACK_LSB_FIRST),
EDEF(UNPACK_ROW_LENGTH),
EDEF(UNPACK_SKIP_PIXELS),
EDEF(UNPACK_SKIP_ROWS),
EDEF(UNPACK_SWAP_BYTES),
EDEF(ZOOM_X),
EDEF(ZOOM_Y),
EDEF(TEXTURE_ENV),
EDEF(TEXTURE_ENV_MODE),
EDEF(TEXTURE_1D),
EDEF(TEXTURE_2D),
EDEF(TEXTURE_WRAP_S),
EDEF(TEXTURE_WRAP_T),
EDEF(TEXTURE_MAG_FILTER),
EDEF(TEXTURE_MIN_FILTER),
EDEF(TEXTURE_ENV_COLOR),
EDEF(TEXTURE_GEN_S),
EDEF(TEXTURE_GEN_T),
EDEF(TEXTURE_GEN_MODE),
EDEF(TEXTURE_BORDER_COLOR),
EDEF(TEXTURE_WIDTH),
EDEF(TEXTURE_HEIGHT),
EDEF(TEXTURE_BORDER),
EDEF(TEXTURE_COMPONENTS),
EDEF(TEXTURE_RED_SIZE),
EDEF(TEXTURE_GREEN_SIZE),
EDEF(TEXTURE_BLUE_SIZE),
EDEF(TEXTURE_ALPHA_SIZE),
EDEF(TEXTURE_LUMINANCE_SIZE),
EDEF(TEXTURE_INTENSITY_SIZE),
EDEF(NEAREST_MIPMAP_NEAREST),
EDEF(NEAREST_MIPMAP_LINEAR),
EDEF(LINEAR_MIPMAP_NEAREST),
EDEF(LINEAR_MIPMAP_LINEAR),
EDEF(OBJECT_LINEAR),
EDEF(OBJECT_PLANE),
EDEF(EYE_LINEAR),
EDEF(EYE_PLANE),
EDEF(SPHERE_MAP),
EDEF(DECAL),
EDEF(MODULATE),
EDEF(NEAREST),
EDEF(REPEAT),
EDEF(CLAMP),
EDEF(S),
EDEF(T),
EDEF(R),
EDEF(Q),
EDEF(TEXTURE_GEN_R),
EDEF(TEXTURE_GEN_Q),
EDEF(PROXY_TEXTURE_1D),
EDEF(PROXY_TEXTURE_2D),
EDEF(TEXTURE_PRIORITY),
EDEF(TEXTURE_RESIDENT),
EDEF(TEXTURE_BINDING_1D),
EDEF(TEXTURE_BINDING_2D),
EDEF(TEXTURE_INTERNAL_FORMAT),
EDEF(PACK_SKIP_IMAGES),
EDEF(PACK_IMAGE_HEIGHT),
EDEF(UNPACK_SKIP_IMAGES),
EDEF(UNPACK_IMAGE_HEIGHT),
EDEF(TEXTURE_3D),
EDEF(PROXY_TEXTURE_3D),
EDEF(TEXTURE_DEPTH),
EDEF(TEXTURE_WRAP_R),
EDEF(MAX_3D_TEXTURE_SIZE),
EDEF(TEXTURE_BINDING_3D),
EDEF(ALPHA4),
EDEF(ALPHA8),
EDEF(ALPHA12),
EDEF(ALPHA16),
EDEF(LUMINANCE4),
EDEF(LUMINANCE8),
EDEF(LUMINANCE12),
EDEF(LUMINANCE16),
EDEF(LUMINANCE4_ALPHA4),
EDEF(LUMINANCE6_ALPHA2),
EDEF(LUMINANCE8_ALPHA8),
EDEF(LUMINANCE12_ALPHA4),
EDEF(LUMINANCE12_ALPHA12),
EDEF(LUMINANCE16_ALPHA16),
EDEF(INTENSITY),
EDEF(INTENSITY4),
EDEF(INTENSITY8),
EDEF(INTENSITY12),
EDEF(INTENSITY16),
EDEF(R3_G3_B2),
EDEF(RGB4),
EDEF(RGB5),
EDEF(RGB8),
EDEF(RGB10),
EDEF(RGB12),
EDEF(RGB16),
EDEF(RGBA2),
EDEF(RGBA4),
EDEF(RGB5_A1),
EDEF(RGBA8),
EDEF(RGB10_A2),
EDEF(RGBA12),
EDEF(RGBA16),
EDEF(VENDOR),
EDEF(RENDERER),
EDEF(VERSION),
EDEF(EXTENSIONS),
EDEF(INVALID_VALUE),
EDEF(INVALID_ENUM),
EDEF(INVALID_OPERATION),
EDEF(STACK_OVERFLOW),
EDEF(STACK_UNDERFLOW),
EDEF(OUT_OF_MEMORY),
/* extensions */
EDEF(CONSTANT_COLOR_EXT),
EDEF(ONE_MINUS_CONSTANT_COLOR_EXT),
EDEF(CONSTANT_ALPHA_EXT),
EDEF(ONE_MINUS_CONSTANT_ALPHA_EXT),
EDEF(BLEND_EQUATION_EXT),
EDEF(MIN_EXT),
EDEF(MAX_EXT),
EDEF(FUNC_ADD_EXT),
EDEF(FUNC_SUBTRACT_EXT),
EDEF(FUNC_REVERSE_SUBTRACT_EXT),
EDEF(BLEND_COLOR_EXT),
EDEF(POLYGON_OFFSET_EXT),
EDEF(POLYGON_OFFSET_FACTOR_EXT),
EDEF(POLYGON_OFFSET_BIAS_EXT),
EDEF(VERTEX_ARRAY_EXT),
EDEF(NORMAL_ARRAY_EXT),
EDEF(COLOR_ARRAY_EXT),
EDEF(INDEX_ARRAY_EXT),
EDEF(TEXTURE_COORD_ARRAY_EXT),
EDEF(EDGE_FLAG_ARRAY_EXT),
EDEF(VERTEX_ARRAY_SIZE_EXT),
EDEF(VERTEX_ARRAY_TYPE_EXT),
EDEF(VERTEX_ARRAY_STRIDE_EXT),
EDEF(VERTEX_ARRAY_COUNT_EXT),
EDEF(NORMAL_ARRAY_TYPE_EXT),
EDEF(NORMAL_ARRAY_STRIDE_EXT),
EDEF(NORMAL_ARRAY_COUNT_EXT),
EDEF(COLOR_ARRAY_SIZE_EXT),
EDEF(COLOR_ARRAY_TYPE_EXT),
EDEF(COLOR_ARRAY_STRIDE_EXT),
EDEF(COLOR_ARRAY_COUNT_EXT),
EDEF(INDEX_ARRAY_TYPE_EXT),
EDEF(INDEX_ARRAY_STRIDE_EXT),
EDEF(INDEX_ARRAY_COUNT_EXT),
EDEF(TEXTURE_COORD_ARRAY_SIZE_EXT),
EDEF(TEXTURE_COORD_ARRAY_TYPE_EXT),
EDEF(TEXTURE_COORD_ARRAY_STRIDE_EXT),
EDEF(TEXTURE_COORD_ARRAY_COUNT_EXT),
EDEF(EDGE_FLAG_ARRAY_STRIDE_EXT),
EDEF(EDGE_FLAG_ARRAY_COUNT_EXT),
EDEF(VERTEX_ARRAY_POINTER_EXT),
EDEF(NORMAL_ARRAY_POINTER_EXT),
EDEF(COLOR_ARRAY_POINTER_EXT),
EDEF(INDEX_ARRAY_POINTER_EXT),
EDEF(TEXTURE_COORD_ARRAY_POINTER_EXT),
EDEF(EDGE_FLAG_ARRAY_POINTER_EXT),
EDEF(TEXTURE_PRIORITY_EXT),
EDEF(TEXTURE_RESIDENT_EXT),
EDEF(TEXTURE_1D_BINDING_EXT),
EDEF(TEXTURE_2D_BINDING_EXT),
EDEF(PACK_SKIP_IMAGES_EXT),
EDEF(PACK_IMAGE_HEIGHT_EXT),
EDEF(UNPACK_SKIP_IMAGES_EXT),
EDEF(UNPACK_IMAGE_HEIGHT_EXT),
EDEF(TEXTURE_3D_EXT),
EDEF(PROXY_TEXTURE_3D_EXT),
EDEF(TEXTURE_DEPTH_EXT),
EDEF(TEXTURE_WRAP_R_EXT),
EDEF(MAX_3D_TEXTURE_SIZE_EXT),
EDEF(TEXTURE_3D_BINDING_EXT),
EDEF(TABLE_TOO_LARGE_EXT),
EDEF(COLOR_TABLE_FORMAT_EXT),
EDEF(COLOR_TABLE_WIDTH_EXT),
EDEF(COLOR_TABLE_RED_SIZE_EXT),
EDEF(COLOR_TABLE_GREEN_SIZE_EXT),
EDEF(COLOR_TABLE_BLUE_SIZE_EXT),
EDEF(COLOR_TABLE_ALPHA_SIZE_EXT),
EDEF(COLOR_TABLE_LUMINANCE_SIZE_EXT),
EDEF(COLOR_TABLE_INTENSITY_SIZE_EXT),
EDEF(TEXTURE_INDEX_SIZE_EXT),
EDEF(COLOR_INDEX1_EXT),
EDEF(COLOR_INDEX2_EXT),
EDEF(COLOR_INDEX4_EXT),
EDEF(COLOR_INDEX8_EXT),
EDEF(COLOR_INDEX12_EXT),
EDEF(COLOR_INDEX16_EXT),
EDEF(SHARED_TEXTURE_PALETTE_EXT),
EDEF(POINT_SIZE_MIN_EXT),
EDEF(POINT_SIZE_MAX_EXT),
EDEF(POINT_FADE_THRESHOLD_SIZE_EXT),
EDEF(DISTANCE_ATTENUATION_EXT),
EDEF(RESCALE_NORMAL_EXT),
EDEF(ABGR_EXT),
EDEF(SELECTED_TEXTURE_SGIS),
EDEF(SELECTED_TEXTURE_COORD_SET_SGIS),
EDEF(MAX_TEXTURES_SGIS),
EDEF(TEXTURE0_SGIS),
EDEF(TEXTURE1_SGIS),
EDEF(TEXTURE2_SGIS),
EDEF(TEXTURE3_SGIS),
EDEF(TEXTURE_COORD_SET_SOURCE_SGIS),
EDEF(SELECTED_TEXTURE_EXT),
EDEF(SELECTED_TEXTURE_COORD_SET_EXT),
EDEF(SELECTED_TEXTURE_TRANSFORM_EXT),
EDEF(MAX_TEXTURES_EXT),
EDEF(MAX_TEXTURE_COORD_SETS_EXT),
EDEF(TEXTURE_ENV_COORD_SET_EXT),
EDEF(TEXTURE0_EXT),
EDEF(TEXTURE1_EXT),
EDEF(TEXTURE2_EXT),
EDEF(TEXTURE3_EXT),
EDEF(CLAMP_TO_EDGE_SGIS),
EDEF(RESCALE_NORMAL),
EDEF(CLAMP_TO_EDGE),
EDEF(MAX_ELEMENTS_VERTICES),
EDEF(MAX_ELEMENTS_INDICES),
EDEF(BGR),
EDEF(BGRA),
EDEF(UNSIGNED_BYTE_3_3_2),
EDEF(UNSIGNED_BYTE_2_3_3_REV),
EDEF(UNSIGNED_SHORT_5_6_5),
EDEF(UNSIGNED_SHORT_5_6_5_REV),
EDEF(UNSIGNED_SHORT_4_4_4_4),
EDEF(UNSIGNED_SHORT_4_4_4_4_REV),
EDEF(UNSIGNED_SHORT_5_5_5_1),
EDEF(UNSIGNED_SHORT_1_5_5_5_REV),
EDEF(UNSIGNED_INT_8_8_8_8),
EDEF(UNSIGNED_INT_8_8_8_8_REV),
EDEF(UNSIGNED_INT_10_10_10_2),
EDEF(UNSIGNED_INT_2_10_10_10_REV),
EDEF(LIGHT_MODEL_COLOR_CONTROL),
EDEF(SINGLE_COLOR),
EDEF(SEPARATE_SPECULAR_COLOR),
EDEF(TEXTURE_MIN_LOD),
EDEF(TEXTURE_MAX_LOD),
EDEF(TEXTURE_BASE_LEVEL),
EDEF(TEXTURE_MAX_LEVEL)
};
#undef EDEF
#define N_ENUMS (sizeof(enums) / sizeof(ENUM))
/***************************************************************************/
static void print_enum_name( FILE* OUT, GLenum e )
{
int i, found= 0;
for( i= 0; i < N_ENUMS; ++i )
{
if( enums[i].e == e )
{
if( found )
fprintf( OUT, "/" );
found= 1;
fprintf( OUT, "%s", enums[i].name );
}
}
if( ! found )
fprintf( OUT, "*UNKNOWN* [%04x]", (int)e );
fprintf( OUT, "\n" );
}
#define BOOL_STRING(b) (b ? "true" : "false")
#define VAR_ENUM(VAR) \
{ \
GLint e= 0; \
glGetIntegerv(GL_##VAR,&e); \
fprintf( OUT, "%s: ", #VAR ); \
print_enum_name( OUT, (GLenum) e ); \
}
#define VAR_FLOAT4(VAR) \
{ \
GLfloat f[4]; \
f[0]= f[1]= f[2]= f[3]= 0.0; \
glGetFloatv(GL_##VAR,f); \
fprintf( OUT, "%s: [%f %f %f %f]\n", \
#VAR, f[0], f[1], f[2], f[3] ); \
}
#define VAR_MAT_FLOAT4(VAR) \
{ \
GLfloat f[4]; \
f[0]= f[1]= f[2]= f[3]= 0.0; \
glGetMaterialfv(GL_FRONT,GL_##VAR,f); \
fprintf( OUT, "FRONT_%s: [%f %f %f %f]\n", \
#VAR, f[0], f[1], f[2], f[3] ); \
glGetMaterialfv(GL_BACK,GL_##VAR,f); \
fprintf( OUT, " BACK_%s: [%f %f %f %f]\n", \
#VAR, f[0], f[1], f[2], f[3] ); \
}
#define VAR_LIGHT_FLOAT4(LIGHT,VAR) \
{ \
GLfloat f[4]; \
f[0]= f[1]= f[2]= f[3]= 0.0; \
glGetLightfv(GL_LIGHT0+LIGHT,GL_##VAR,f); \
fprintf( OUT, "LIGHT%d.%s: [%f %f %f %f]\n", \
LIGHT, #VAR, f[0], f[1], f[2], f[3] ); \
}
#define VAR_LIGHT_FLOAT3(LIGHT,VAR) \
{ \
GLfloat f[3]; \
f[0]= f[1]= f[2]= 0.0; \
glGetLightfv(GL_LIGHT0+LIGHT,GL_##VAR,f); \
fprintf( OUT, "LIGHT%d.%s: [%f %f %f]\n", \
LIGHT, #VAR, f[0], f[1], f[2] ); \
}
#define VAR_FLOAT3(VAR) \
{ \
GLfloat f[3]; \
f[0]= f[1]= f[2]= 0.0; \
glGetFloatv(GL_##VAR,f) ; \
fprintf( OUT, "%s: [%f %f %f]\n", \
#VAR, f[0], f[1], f[2] ); \
}
#define VAR_FLOAT2(VAR) \
{ \
GLfloat f[2]; \
f[0]= f[1]= 0.0; \
glGetFloatv(GL_##VAR,f); \
fprintf( OUT, "%s: [%f %f]\n", \
#VAR, f[0], f[1] ); \
}
#define VAR_COLOR(VAR) VAR_FLOAT4(VAR)
#define VAR_TEXCOORD(VAR) VAR_FLOAT4(VAR)
#define VAR_NORMAL(VAR) VAR_FLOAT3(VAR)
#define VAR_MAT_COLOR(VAR) VAR_MAT_FLOAT4(VAR)
#define VAR_LIGHT_COLOR(LIGHT,VAR) VAR_LIGHT_FLOAT4(LIGHT,VAR)
#define VAR_FLOAT(VAR) \
{ \
GLfloat f= 0.0; \
glGetFloatv(GL_##VAR,&f); \
fprintf( OUT, "%s: %f\n", #VAR, f ); \
}
#define VAR_MAT_FLOAT(VAR) \
{ \
GLfloat f= 0.0; \
glGetMaterialfv(GL_FRONT,GL_##VAR,&f); \
fprintf( OUT, "FRONT_%s: %f\n", #VAR, f ); \
glGetMaterialfv(GL_BACK,GL_##VAR,&f); \
fprintf( OUT, " BACK_%s: %f\n", #VAR, f ); \
}
#define VAR_LIGHT_FLOAT(LIGHT,VAR) \
{ \
GLfloat f= 0.0; \
glGetLightfv(GL_LIGHT0+LIGHT,GL_##VAR,&f); \
fprintf( OUT, "LIGHT%d.%s: %f\n", \
LIGHT, #VAR, f ); \
}
#define VAR_INT(VAR) \
{ \
GLint i= 0; \
glGetIntegerv(GL_##VAR,&i); \
fprintf( OUT, "%s: %d\n", #VAR, (int)i ); \
}
#define VAR_INTEGER(VAR) VAR_INT(VAR)
#define VAR_INDEX(VAR) VAR_INT(VAR)
#define VAR_HEXINT(VAR) \
{ \
GLint i= 0; \
glGetIntegerv(GL_##VAR,&i); \
fprintf( OUT, "%s: 0x%04x\n", #VAR, (int)i ); \
}
#define VAR_INT4(VAR) \
{ \
GLint i[4]; \
i[0]= i[1]= i[2]= i[3]= 0; \
glGetIntegerv(GL_##VAR,i); \
fprintf( OUT, "%s: [%d %d %d %d]\n", \
#VAR, (int)i[0], (int)i[1], (int)i[2], (int)i[3] ); \
}
#define VAR_BOOL(VAR) \
{ \
GLboolean b= 0; \
glGetBooleanv(GL_##VAR,&b); \
fprintf( OUT, "%s: %s\n", #VAR, BOOL_STRING(b) ); \
}
#define VAR_BOOL4(VAR) \
{ \
GLboolean b[4]; \
b[0]= b[1]= b[2]= b[3]= 0; \
glGetBooleanv(GL_##VAR,b); \
fprintf( OUT, "%s: [%s %s %s %s]\n", \
#VAR, \
BOOL_STRING(b[0]), \
BOOL_STRING(b[1]), \
BOOL_STRING(b[2]), \
BOOL_STRING(b[3]) ); \
}
#define VAR_PTR(VAR) \
{ \
GLvoid* p= 0; \
glGetPointerv(GL_##VAR,&p); \
fprintf( OUT, "%s: %p\n", #VAR, p ); \
}
#define VAR_MATRIX(VAR) \
{ \
GLfloat m[16]; \
int i; \
for( i= 0; i < 16; ++i ) m[i]= 0.0; \
glGetFloatv(GL_##VAR,m); \
fprintf( OUT, \
"%s:\n\t[%+.6f %+.6f %+.6f %+.6f]\n\t[%+.6f %+.6f %+.6f
%+.6f]\n\t[%+.6f %+.6f %+.6f %+.6f]\n\t[%+.6f %+.6f %+.6f %+.6f]\n", \
#VAR, \
m[0+0*4], m[0+1*4], m[0+2*4], m[0+3*4], \
m[1+0*4], m[1+1*4], m[1+2*4], m[1+3*4], \
m[2+0*4], m[2+1*4], m[2+2*4], m[2+3*4], \
m[3+0*4], m[3+1*4], m[3+2*4], m[3+3*4] ); \
}
/***************************************************************************/
/*
#define OUT stderr
*/
void dump_opengl_state( FILE* OUT )
{
int i;
GLint n_lights= 0;
glGetIntegerv( GL_MAX_LIGHTS, &n_lights );
VAR_COLOR(CURRENT_COLOR)
VAR_INDEX(CURRENT_INDEX)
VAR_TEXCOORD(CURRENT_TEXTURE_COORDS)
VAR_NORMAL(CURRENT_NORMAL)
VAR_FLOAT4(CURRENT_RASTER_POSITION)
VAR_FLOAT(CURRENT_RASTER_DISTANCE)
VAR_COLOR(CURRENT_RASTER_COLOR)
VAR_INDEX(CURRENT_RASTER_INDEX)
VAR_TEXCOORD(CURRENT_RASTER_TEXTURE_COORDS)
VAR_BOOL(CURRENT_RASTER_POSITION_VALID)
VAR_BOOL(EDGE_FLAG)
VAR_BOOL (VERTEX_ARRAY)
VAR_INTEGER(VERTEX_ARRAY_SIZE)
VAR_ENUM (VERTEX_ARRAY_TYPE)
VAR_INTEGER(VERTEX_ARRAY_STRIDE)
VAR_PTR (VERTEX_ARRAY_POINTER)
VAR_BOOL (NORMAL_ARRAY)
VAR_ENUM (NORMAL_ARRAY_TYPE)
VAR_INTEGER(NORMAL_ARRAY_STRIDE)
VAR_PTR (NORMAL_ARRAY_POINTER)
VAR_BOOL (COLOR_ARRAY)
VAR_INTEGER(COLOR_ARRAY_SIZE)
VAR_ENUM (COLOR_ARRAY_TYPE)
VAR_INTEGER(COLOR_ARRAY_STRIDE)
VAR_PTR (COLOR_ARRAY_POINTER)
VAR_BOOL (INDEX_ARRAY)
VAR_ENUM (INDEX_ARRAY_TYPE)
VAR_INTEGER(INDEX_ARRAY_STRIDE)
VAR_PTR (INDEX_ARRAY_POINTER)
VAR_BOOL (TEXTURE_COORD_ARRAY)
VAR_INTEGER(TEXTURE_COORD_ARRAY_SIZE)
VAR_ENUM (TEXTURE_COORD_ARRAY_TYPE)
VAR_INTEGER(TEXTURE_COORD_ARRAY_STRIDE)
VAR_PTR (TEXTURE_COORD_ARRAY_POINTER)
VAR_BOOL (EDGE_FLAG_ARRAY)
VAR_INTEGER(EDGE_FLAG_ARRAY_STRIDE)
VAR_PTR (EDGE_FLAG_ARRAY_POINTER)
VAR_MATRIX(MODELVIEW_MATRIX)
VAR_MATRIX(PROJECTION_MATRIX)
VAR_MATRIX(TEXTURE_MATRIX)
VAR_INT4(VIEWPORT)
VAR_FLOAT2(DEPTH_RANGE)
VAR_INT(MODELVIEW_STACK_DEPTH)
VAR_INT(PROJECTION_STACK_DEPTH)
VAR_INT(TEXTURE_STACK_DEPTH)
VAR_ENUM(MATRIX_MODE)
VAR_BOOL(NORMALIZE)
VAR_BOOL(RESCALE_NORMAL_EXT)
VAR_BOOL(CLIP_PLANE0)
VAR_BOOL(CLIP_PLANE1)
VAR_BOOL(CLIP_PLANE2)
VAR_BOOL(CLIP_PLANE3)
VAR_BOOL(CLIP_PLANE4)
VAR_BOOL(CLIP_PLANE5)
/* + glGetClipPlane() */
VAR_COLOR(FOG_COLOR)
VAR_INDEX(FOG_INDEX)
VAR_FLOAT(FOG_DENSITY)
VAR_FLOAT(FOG_START)
VAR_FLOAT(FOG_END)
VAR_ENUM(FOG_MODE)
VAR_BOOL(FOG)
VAR_ENUM(SHADE_MODEL)
VAR_BOOL(LIGHTING)
VAR_BOOL(COLOR_MATERIAL)
VAR_ENUM(COLOR_MATERIAL_PARAMETER)
VAR_ENUM(COLOR_MATERIAL_FACE)
VAR_MAT_COLOR(AMBIENT)
VAR_MAT_COLOR(DIFFUSE)
VAR_MAT_COLOR(SPECULAR)
VAR_MAT_COLOR(EMISSION)
VAR_MAT_FLOAT(SHININESS)
VAR_COLOR(LIGHT_MODEL_AMBIENT)
VAR_BOOL(LIGHT_MODEL_LOCAL_VIEWER)
VAR_BOOL(LIGHT_MODEL_TWO_SIDE)
/* VAR_ENUM(LIGHT_MODEL_COLOR_CONTROL)*/
for( i= 0; i < n_lights; ++i )
{
GLboolean b= 0;
glGetBooleanv( GL_LIGHT0 + i, &b );
fprintf( OUT, "LIGHT%d: %s\n", i, BOOL_STRING(b) );
if( ! b )
continue;
VAR_LIGHT_COLOR(i,AMBIENT)
VAR_LIGHT_COLOR(i,DIFFUSE)
VAR_LIGHT_COLOR(i,SPECULAR)
VAR_LIGHT_FLOAT4(i,POSITION)
VAR_LIGHT_FLOAT(i,CONSTANT_ATTENUATION)
VAR_LIGHT_FLOAT(i,LINEAR_ATTENUATION)
VAR_LIGHT_FLOAT(i,QUADRATIC_ATTENUATION)
VAR_LIGHT_FLOAT3(i,SPOT_DIRECTION)
VAR_LIGHT_FLOAT(i,SPOT_EXPONENT)
VAR_LIGHT_FLOAT(i,SPOT_CUTOFF)
/* COLOR_INDEXES */
}
VAR_FLOAT(POINT_SIZE)
VAR_BOOL(POINT_SMOOTH)
VAR_FLOAT(LINE_WIDTH)
VAR_BOOL(LINE_SMOOTH)
VAR_HEXINT(LINE_STIPPLE_PATTERN)
VAR_INT(LINE_STIPPLE_REPEAT)
VAR_BOOL(LINE_STIPPLE)
VAR_BOOL(CULL_FACE)
VAR_ENUM(CULL_FACE_MODE)
VAR_ENUM(FRONT_FACE)
VAR_BOOL(POLYGON_SMOOTH)
VAR_ENUM(POLYGON_MODE)
VAR_FLOAT(POLYGON_OFFSET_FACTOR)
VAR_FLOAT(POLYGON_OFFSET_UNITS)
VAR_BOOL(POLYGON_OFFSET_POINT)
VAR_BOOL(POLYGON_OFFSET_LINE)
VAR_BOOL(POLYGON_OFFSET_FILL)
/* GetPolygonStipple */
VAR_BOOL(POLYGON_STIPPLE)
VAR_BOOL(TEXTURE_1D)
VAR_BOOL(TEXTURE_2D)
/* VAR_BOOL(TEXTURE_3D)*/
VAR_INT(TEXTURE_BINDING_1D)
VAR_INT(TEXTURE_BINDING_2D)
/* VAR_INT(TEXTURE_BINDING_3D)*/
/* GetTexImage() */
/* GetTexLevelParameter() */
/* GetTexEnv() */
VAR_BOOL(TEXTURE_GEN_S)
VAR_BOOL(TEXTURE_GEN_T)
VAR_BOOL(TEXTURE_GEN_R)
VAR_BOOL(TEXTURE_GEN_Q)
/* GetTexGen() */
VAR_BOOL(SCISSOR_TEST)
VAR_INT4(SCISSOR_BOX)
VAR_BOOL(ALPHA_TEST)
VAR_ENUM(ALPHA_TEST_FUNC)
VAR_FLOAT(ALPHA_TEST_REF)
VAR_BOOL(STENCIL_TEST)
VAR_ENUM(STENCIL_FUNC)
VAR_HEXINT(STENCIL_VALUE_MASK)
VAR_INT(STENCIL_REF)
VAR_ENUM(STENCIL_FAIL)
VAR_ENUM(STENCIL_PASS_DEPTH_FAIL)
VAR_ENUM(STENCIL_PASS_DEPTH_PASS)
VAR_BOOL(DEPTH_TEST)
VAR_ENUM(DEPTH_FUNC)
VAR_BOOL(BLEND)
VAR_ENUM(BLEND_SRC)
VAR_ENUM(BLEND_DST)
VAR_BOOL(DITHER)
VAR_BOOL(LOGIC_OP) /* INDEX_LOGIC_OP */
VAR_BOOL(COLOR_LOGIC_OP)
VAR_ENUM(DRAW_BUFFER)
VAR_INT(INDEX_WRITEMASK)
VAR_BOOL4(COLOR_WRITEMASK)
VAR_BOOL(DEPTH_WRITEMASK)
VAR_HEXINT(STENCIL_WRITEMASK)
VAR_COLOR(COLOR_CLEAR_VALUE)
VAR_INDEX(INDEX_CLEAR_VALUE)
VAR_FLOAT(DEPTH_CLEAR_VALUE)
VAR_INT(STENCIL_CLEAR_VALUE)
VAR_FLOAT(ACCUM_CLEAR_VALUE)
VAR_BOOL(UNPACK_SWAP_BYTES)
VAR_BOOL(UNPACK_LSB_FIRST)
#ifdef UNPACK_IMAGE_HEIGHT
VAR_INT(UNPACK_IMAGE_HEIGHT)
#endif
#ifdef UNPACK_SKIP_IMAGES
VAR_INT(UNPACK_SKIP_IMAGES)
#endif
VAR_INT(UNPACK_ROW_LENGTH)
VAR_INT(UNPACK_SKIP_ROWS)
VAR_INT(UNPACK_SKIP_PIXELS)
VAR_INT(UNPACK_ALIGNMENT)
VAR_BOOL(PACK_SWAP_BYTES)
VAR_BOOL(PACK_LSB_FIRST)
#ifdef PACK_IMAGE_HEIGHT
VAR_INT(PACK_IMAGE_HEIGHT)
#endif
#ifdef PACK_SKIP_IMAGES
VAR_INT(PACK_SKIP_IMAGES)
#endif
VAR_INT(PACK_ROW_LENGTH)
VAR_INT(PACK_SKIP_ROWS)
VAR_INT(PACK_SKIP_PIXELS)
VAR_INT(PACK_ALIGNMENT)
VAR_BOOL(MAP_COLOR)
VAR_BOOL(MAP_STENCIL)
VAR_INT(INDEX_SHIFT)
VAR_INT(INDEX_OFFSET)
VAR_FLOAT(RED_SCALE)
VAR_FLOAT(GREEN_SCALE)
VAR_FLOAT(BLUE_SCALE)
VAR_FLOAT(ALPHA_SCALE)
VAR_FLOAT(DEPTH_SCALE)
VAR_FLOAT(RED_BIAS)
VAR_FLOAT(GREEN_BIAS)
VAR_FLOAT(BLUE_BIAS)
VAR_FLOAT(ALPHA_BIAS)
VAR_FLOAT(DEPTH_BIAS)
VAR_FLOAT(ZOOM_X)
VAR_FLOAT(ZOOM_Y)
VAR_ENUM(READ_BUFFER)
VAR_BOOL(AUTO_NORMAL)
VAR_ENUM(PERSPECTIVE_CORRECTION_HINT)
VAR_ENUM(POINT_SMOOTH_HINT)
VAR_ENUM(LINE_SMOOTH_HINT)
VAR_ENUM(POLYGON_SMOOTH_HINT)
VAR_ENUM(FOG_HINT)
VAR_INT(MAX_LIGHTS)
VAR_INT(MAX_CLIP_PLANES)
VAR_INT(MAX_MODELVIEW_STACK_DEPTH)
VAR_INT(MAX_PROJECTION_STACK_DEPTH)
VAR_INT(MAX_TEXTURE_STACK_DEPTH)
VAR_INT(SUBPIXEL_BITS)
#ifdef GL_MAX_3D_TEXTURE_SIZE
VAR_INT(MAX_3D_TEXTURE_SIZE)
#endif
VAR_INT(MAX_TEXTURE_SIZE)
VAR_INT(MAX_PIXEL_MAP_TABLE)
VAR_INT(MAX_NAME_STACK_DEPTH)
VAR_INT(MAX_LIST_NESTING)
VAR_INT(MAX_EVAL_ORDER)
VAR_INT(MAX_VIEWPORT_DIMS)
VAR_INT(MAX_ATTRIB_STACK_DEPTH)
VAR_INT(MAX_CLIENT_ATTRIB_STACK_DEPTH)
VAR_INT(AUX_BUFFERS)
VAR_BOOL(RGBA_MODE)
VAR_BOOL(INDEX_MODE)
VAR_BOOL(DOUBLEBUFFER)
VAR_BOOL(STEREO)
#ifdef GL_ALIASED_POINT_SIZE_RANGE
VAR_FLOAT2(ALIASED_POINT_SIZE_RANGE)
#endif
#ifdef GL_POINT_SIZE_RANGE
VAR_FLOAT2(POINT_SIZE_RANGE) /* SMOOTH_POINT_SIZE_RANGE */
#endif
VAR_FLOAT(POINT_SIZE_GRANULARITY) /* SMOOTH_POINT_SIZE_GRANULARITY */
#ifdef GL_ALIASED_LINE_WIDTH_RANGE
VAR_FLOAT2(ALIASED_LINE_WIDTH_RANGE)
#endif
VAR_FLOAT2(LINE_WIDTH_RANGE) /* SMOOTH_LINE_WIDTH_RANGE */
VAR_FLOAT(LINE_WIDTH_GRANULARITY) /* SMOOTH_LINE_WIDTH_GRANULARITY */
#ifdef GL_MAX_ELEMENTS_INDICES
VAR_INT(MAX_ELEMENTS_INDICES)
#endif
#ifdef GL_MAX_ELEMENTS_VERTICES
VAR_INT(MAX_ELEMENTS_VERTICES)
#endif
VAR_INT(RED_BITS)
VAR_INT(GREEN_BITS)
VAR_INT(BLUE_BITS)
VAR_INT(ALPHA_BITS)
VAR_INT(INDEX_BITS)
VAR_INT(DEPTH_BITS)
VAR_INT(STENCIL_BITS)
VAR_INT(ACCUM_RED_BITS)
VAR_INT(ACCUM_GREEN_BITS)
VAR_INT(ACCUM_BLUE_BITS)
VAR_INT(ACCUM_ALPHA_BITS)
VAR_INT(LIST_BASE)
VAR_INT(LIST_INDEX)
VAR_ENUM(LIST_MODE)
VAR_INT(ATTRIB_STACK_DEPTH)
VAR_INT(CLIENT_ATTRIB_STACK_DEPTH)
VAR_INT(NAME_STACK_DEPTH)
VAR_ENUM(RENDER_MODE)
VAR_PTR(SELECTION_BUFFER_POINTER)
VAR_INT(SELECTION_BUFFER_SIZE)
VAR_PTR(FEEDBACK_BUFFER_POINTER)
VAR_INT(FEEDBACK_BUFFER_SIZE)
VAR_ENUM(FEEDBACK_BUFFER_TYPE)
/* glGetError() */
}
/***************************************************************************/
/*#define TEST*/
#ifdef TEST
#include <GL/glut.h>
int main( int argc, char *argv[] )
{
glutInit( &argc, argv );
glutInitWindowPosition(0, 0);
glutInitWindowSize(400, 300);
glutInitDisplayMode(GLUT_RGB);
glutCreateWindow(argv[0]);
dump_opengl_state(stdout);
return 0;
}
#endif