diff options
75 files changed, 53505 insertions, 103 deletions
diff --git a/configs/darwin b/configs/darwin index d28d5906ba..e519684877 100644 --- a/configs/darwin +++ b/configs/darwin @@ -13,7 +13,10 @@ CC = gcc  CXX = g++  PIC_FLAGS = -fPIC  DEFINES =  -D_DARWIN_C_SOURCE -DPTHREADS -D_GNU_SOURCE \ -	   -DGLX_ALIAS_UNSUPPORTED -DGLX_INDIRECT_RENDERING +	   -DGLX_ALIAS_UNSUPPORTED \ +	   -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL + +# -DGLX_INDIRECT_RENDERING \  # -D_GNU_SOURCE          - for src/mesa/main ...  # -DGLX_DIRECT_RENDERING - pulls in libdrm stuff in glx @@ -49,7 +52,7 @@ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X  APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -L$(INSTALL_DIR)/$(LIB_DIR) -L$(X11_DIR)/$(LIB_DIR) -lX11 -lXmu -lXt -lXi -lm  # omit glw lib for now: -SRC_DIRS = glsl glx mesa gallium glu glut/glx glew +SRC_DIRS = glsl glx/apple mesa gallium glu glut/glx glew  GLU_DIRS = sgi  DRIVER_DIRS = osmesa  #DRIVER_DIRS = dri diff --git a/configs/linux-osmesa b/configs/linux-osmesa index c112642f89..3015f5fcbb 100644 --- a/configs/linux-osmesa +++ b/configs/linux-osmesa @@ -9,7 +9,7 @@ CONFIG_NAME = linux-osmesa  # Compiler and flags  CC = gcc  CXX = g++ -CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS +CFLAGS = -g -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS  CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE  # Work around aliasing bugs - developers should comment this out @@ -17,12 +17,12 @@ CFLAGS += -fno-strict-aliasing  CXXFLAGS += -fno-strict-aliasing  # Directories -SRC_DIRS = gallium mesa glu +SRC_DIRS = glsl mesa glu  DRIVER_DIRS = osmesa  PROGRAM_DIRS = osdemos  # Dependencies -OSMESA_LIB_DEPS = -lm -lpthread +OSMESA_LIB_DEPS = -lm -lpthread -ldl  GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(OSMESA_LIB)  APP_LIB_DEPS = -lm -lpthread diff --git a/configs/linux-osmesa16 b/configs/linux-osmesa16 index b3c8da0991..090ca27309 100644 --- a/configs/linux-osmesa16 +++ b/configs/linux-osmesa16 @@ -20,7 +20,7 @@ OSMESA_LIB_NAME = libOSMesa16.so  # Directories -SRC_DIRS = gallium mesa glu +SRC_DIRS = glsl mesa glu  DRIVER_DIRS = osmesa  PROGRAM_DIRS =  diff --git a/configs/linux-osmesa32 b/configs/linux-osmesa32 index 5804ef8e5f..63de7f9a46 100644 --- a/configs/linux-osmesa32 +++ b/configs/linux-osmesa32 @@ -20,7 +20,7 @@ OSMESA_LIB_NAME = libOSMesa32.so  # Directories -SRC_DIRS = gallium mesa glu +SRC_DIRS = glsl mesa glu  DRIVER_DIRS = osmesa  PROGRAM_DIRS =  diff --git a/progs/osdemos/Makefile b/progs/osdemos/Makefile index f53515cb0a..2a0f208083 100644 --- a/progs/osdemos/Makefile +++ b/progs/osdemos/Makefile @@ -5,7 +5,7 @@ include $(TOP)/configs/current  INCDIR = $(TOP)/include -OSMESA_LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -l$(OSMESA_LIB) $(APP_LIB_DEPS) +OSMESA_LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(OSMESA_LIB) $(APP_LIB_DEPS)  OSMESA16_LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -lOSMesa16 -l$(GLU_LIB) \  	-l$(GL_LIB) $(APP_LIB_DEPS) diff --git a/progs/osdemos/ostest1.c b/progs/osdemos/ostest1.c index 000b8c4a78..5a00fdb246 100644 --- a/progs/osdemos/ostest1.c +++ b/progs/osdemos/ostest1.c @@ -399,7 +399,11 @@ test(GLenum type, GLint bits, const char *filename)     /* sanity checks */     glGetIntegerv(GL_RED_BITS, &cBits); -   assert(cBits == bits); +   if (cBits != bits) { +      fprintf(stderr, "Unable to create %d-bit/channel renderbuffer.\n", bits); +      fprintf(stderr, "May need to recompile Mesa with CHAN_BITS=16 or 32.\n"); +      return 0; +   }     glGetIntegerv(GL_GREEN_BITS, &cBits);     assert(cBits == bits);     glGetIntegerv(GL_BLUE_BITS, &cBits); diff --git a/src/glx/Makefile b/src/glx/Makefile index 6711fdc61b..c6ebc49828 100644 --- a/src/glx/Makefile +++ b/src/glx/Makefile @@ -90,7 +90,7 @@ install: $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)  # Remove .o and backup files  clean: -	-rm -f $(TOP)/$(LIB_DIR)/libGL.so* +	-rm -f $(TOP)/$(LIB_DIR)/$(GL_LIB_GLOB)  	-rm -f *.o *~  	-rm -f depend depend.bak diff --git a/src/glx/XF86dri.c b/src/glx/XF86dri.c index fdbdd43000..d0e88805bc 100644 --- a/src/glx/XF86dri.c +++ b/src/glx/XF86dri.c @@ -36,7 +36,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  /* THIS IS NOT AN X CONSORTIUM STANDARD */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  #define NEED_REPLIES  #include <X11/Xlibint.h> diff --git a/src/glx/apple/.gitignore b/src/glx/apple/.gitignore new file mode 100644 index 0000000000..3cc2d13013 --- /dev/null +++ b/src/glx/apple/.gitignore @@ -0,0 +1,4 @@ +apple_xgl_api.[hc] +exports.list +stage.[1234] + diff --git a/src/glx/apple/GL_aliases b/src/glx/apple/GL_aliases new file mode 100644 index 0000000000..8de22383a7 --- /dev/null +++ b/src/glx/apple/GL_aliases @@ -0,0 +1,10 @@ +#GL_EXT_texture_object +alias AreTexturesResidentEXT AreTexturesResident +alias BindTextureEXT BindTexture +alias DeleteTexturesEXT DeleteTextures +alias GenTexturesEXT GenTextures +alias IsTextureEXT IsTexture +alias PrioritizeTexturesEXT PrioritizeTextures + +# Due to type conflicts, we handle this differently +#alias TexImage3DEXT TexImage3D diff --git a/src/glx/apple/GL_extensions b/src/glx/apple/GL_extensions new file mode 100644 index 0000000000..073666c367 --- /dev/null +++ b/src/glx/apple/GL_extensions @@ -0,0 +1,106 @@ +extension ARB_transpose_matrix +extension ARB_vertex_program +extension ARB_vertex_blend +extension ARB_window_pos +extension ARB_shader_objects +extension ARB_vertex_shader +extension ARB_shading_language_100 +extension ARB_imaging +extension ARB_point_parameters +extension ARB_texture_env_crossbar +extension ARB_texture_border_clamp +extension ARB_multitexture +extension ARB_texture_env_add +extension ARB_texture_cube_map +extension ARB_texture_env_dot3 +extension ARB_multisample +extension ARB_texture_env_combine +extension ARB_texture_compression +extension ARB_texture_mirrored_repeat +extension ARB_shadow +extension ARB_depth_texture +extension ARB_shadow_ambient +extension ARB_fragment_program +extension ARB_fragment_program_shadow +extension ARB_fragment_shader +extension ARB_occlusion_query +extension ARB_point_sprite +extension ARB_texture_non_power_of_two +extension ARB_vertex_buffer_object +extension ARB_pixel_buffer_object +extension ARB_draw_buffers +extension ARB_shader_texture_lod +extension ARB_texture_rectangle +extension ARB_texture_float +extension ARB_half_float_pixel + +extension EXT_multi_draw_arrays +extension EXT_clip_volume_hint +extension EXT_rescale_normal +extension EXT_draw_range_elements +extension EXT_fog_coord +extension EXT_gpu_program_parameters +extension EXT_geometry_shader4 + +#The gl.spec has the wrong arguments for GetTransformFeedbackVaryingEXT +#extension EXT_transform_feedback +extension EXT_compiled_vertex_array +extension EXT_framebuffer_object +extension EXT_framebuffer_blit +extension EXT_framebuffer_multisample +extension EXT_texture_rectangle +extension EXT_texture_env_add +extension EXT_blend_color +extension EXT_blend_minmax +extension EXT_blend_subtract +extension EXT_texture_lod_bias +extension EXT_abgr +extension EXT_bgra +extension EXT_stencil_wrap +extension EXT_texture_filter_anisotropic +extension EXT_separate_specular_color +extension EXT_secondary_color +extension EXT_blend_func_separate +extension EXT_shadow_funcs +extension EXT_stencil_two_side +extension EXT_texture_compression_s3tc +extension EXT_texture_compression_dxt1 +extension EXT_texture_sRGB +extension EXT_blend_equation_separate +extension EXT_texture_mirror_clamp +extension EXT_packed_depth_stencil + +extension APPLE_client_storage +extension APPLE_specular_vector +extension APPLE_transform_hint +extension APPLE_packed_pixels +#The gl.spec has different argument types for this: +#extension APPLE_fence +extension APPLE_vertex_array_object +extension APPLE_vertex_program_evaluators +extension APPLE_element_array +extension APPLE_flush_render +extension APPLE_aux_depth_stencil +extension APPLE_flush_buffer_range +extension APPLE_ycbcr_422 +#The gl.spec has different argument types for this: +#extension APPLE_vertex_array_range +extension APPLE_texture_range +extension APPLE_float_pixels +extension APPLE_pixel_buffer +extension APPLE_object_purgeable + +#The OpenGL framework has moved this to the core OpenGL, and eliminated EXT_convolution listing. +#extension EXT_convolution + +#Leopard supports these according to nm. +#Applications should use the GL_EXTENSIONS list to determine capabilities. +extension EXT_paletted_texture +extension APPLE_fence +extension NV_vertex_program4 +extension EXT_draw_buffers2 +extension EXT_gpu_shader4  +extension ATI_pn_triangles +extension NV_register_combiners +extension EXT_depth_bounds_test + diff --git a/src/glx/apple/GL_noop b/src/glx/apple/GL_noop new file mode 100644 index 0000000000..2581be1a7d --- /dev/null +++ b/src/glx/apple/GL_noop @@ -0,0 +1,15 @@ +#These are for compatibility with the old libGL. +noop SGI_color_table +noop EXT_convolution +noop EXT_cull_vertex +noop NV_fence +noop SGIS_detail_texture +noop SGIX_fragment_lighting +noop SGIX_flush_raster +noop EXT_vertex_array +noop SGIX_instruments +noop EXT_histogram +noop NV_vertex_program +noop PGI_misc_hints +noop SGIS_multisample +noop EXT_multisample diff --git a/src/glx/apple/GL_promoted b/src/glx/apple/GL_promoted new file mode 100644 index 0000000000..a16dc6ae65 --- /dev/null +++ b/src/glx/apple/GL_promoted @@ -0,0 +1,4 @@ +promoted MESA_window_pos +promoted ARB_window_pos +promoted EXT_copy_texture +promoted ARB_vertex_program diff --git a/src/glx/apple/Makefile b/src/glx/apple/Makefile new file mode 100644 index 0000000000..279f7aded9 --- /dev/null +++ b/src/glx/apple/Makefile @@ -0,0 +1,129 @@ +TOP = ../../.. + +include $(TOP)/configs/current + +#CC=gcc +#GL_CFLAGS=-Wall -ggdb3 -Os -DPTHREADS -D_REENTRANT $(RC_CFLAGS) $(CFLAGS) +#GL_LDFLAGS=-L$(INSTALL_DIR)/lib -L$(X11_DIR)/lib $(LDFLAGS) -Wl,-single_module + +TCLSH=tclsh8.5 +MKDIR=mkdir +INSTALL=install +LN=ln +RM=rm + +#INCLUDE=-I. -Iinclude -I.. -DGLX_ALIAS_UNSUPPORTED -I$(INSTALL_DIR)/include -I$(X11_DIR)/include + +#COMPILE=$(CC) $(INCLUDE) $(GL_CFLAGS) -c + +#The directory with the final binaries. +BUILD_DIR=builds + +all: $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) + +SOURCES = \ +	apple_cgl.c \ +	apple_glx.c \ +	apple_glx_context.c \ +	apple_glx_drawable.c \ +	apple_glx_pbuffer.c \ +	apple_glx_pixmap.c \ +	apple_glx_surface.c \ +	apple_visual.c \ +	apple_xgl_api.c \ +	apple_xgl_api_additional.c \ +	apple_xgl_api_read.c \ +	apple_xgl_api_stereo.c \ +	apple_xgl_api_viewport.c \ +	appledri.c \ +	../clientattrib.c \ +	../compsize.c \ +	../glcontextmodes.c \ +	glx_empty.c \ +	glx_error.c \ +	../glx_pbuffer.c \ +	../glx_query.c \ +	../glxcmds.c \ +	../glxcurrent.c \ +	../glxext.c \ +	../glxextensions.c \ +	glxreply.c \ +	../pixel.c \ +	../xfont.c + +include $(TOP)/src/mesa/sources.mak + +LDFLAGS += -lXplugin -framework ApplicationServices -framework CoreFoundation + +MESA_GLAPI_ASM_SOURCES = $(addprefix $(TOP)/src/mesa/, $(GLAPI_ASM_SOURCES)) +MESA_GLAPI_SOURCES = $(addprefix $(TOP)/src/mesa/, $(GLAPI_SOURCES)) +MESA_GLAPI_OBJECTS = $(addprefix $(TOP)/src/mesa/, $(GLAPI_OBJECTS)) + +OBJECTS = $(SOURCES:.c=.o) # $(MESA_GLAPI_OBJECTS) + +INCLUDES = -I. -Iinclude -I..\ +	-I$(TOP)/include \ +	-I$(TOP)/include/GL/internal \ +	-I$(TOP)/src/mesa \ +	-I$(TOP)/src/mesa/glapi \ +	$(LIBDRM_CFLAGS) \ +	$(DRI2PROTO_CFLAGS) \ +	$(X11_INCLUDES) + +##### RULES ##### + +$(OBJECTS) : apple_xgl_api.h + +apple_xgl_api.c : apple_xgl_api.h + +apple_xgl_api.h : gen_api_header.tcl  gen_api_library.tcl  gen_code.tcl  gen_defs.tcl  gen_exports.tcl  gen_funcs.tcl  gen_types.tcl +	$(TCLSH) gen_code.tcl + +.c.o: +	$(CC) -c $(INCLUDES) $(CFLAGS) $(EXTRA_DEFINES) $< -o $@ + +.S.o: +	$(CC) -c $(INCLUDES) $(CFLAGS) $(EXTRA_DEFINES)  $< -o $@ + +##### TARGETS ##### + +default: depend $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) + +# Make libGL +$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME):  $(OBJECTS) Makefile +	$(MKLIB) -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ +		-major 1 -minor 2 $(MKLIB_OPTIONS) \ +		-install $(TOP)/$(LIB_DIR) -id $(INSTALL_LIB_DIR)/lib$(GL_LIB).1.dylib \ +		$(GL_LIB_DEPS) $(OBJECTS) + +depend: $(SOURCES) $(MESA_GLAPI_SOURCES) $(MESA_GLAPI_ASM_SOURCES) Makefile +	rm -f depend +	touch depend +	$(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES) \ +		$(MESA_GLAPI_SOURCES) $(MESA_GLAPI_ASM_SOURCES)  + +# Emacs tags +tags: +	etags `find . -name \*.[ch]` `find $(TOP)/include` + +install_headers: include/GL/gl.h +	$(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL +	$(INSTALL) -m 644 include/GL/gl.h $(DESTDIR)$(INSTALL_DIR)/include/GL + +install_libraries: $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) +	$(MAKE) -C $(TOP)/src/mesa install-libgl + +install: install_libraries + +# Remove .o and backup files +clean: +	-rm -f *.o *.a *~ +	-rm -f *.c~ *.h~ +	-rm -f apple_xgl_api.h apple_xgl_api.c +	-rm -f *.dylib +	-rm -f include/GL/gl.h +	-rm -f $(TOP)/$(LIB_DIR)/$(GL_LIB_GLOB) +	-rm -f *.o *~ +	-rm -f depend depend.bak + +-include depend diff --git a/src/glx/apple/OVERALL_DESIGN b/src/glx/apple/OVERALL_DESIGN new file mode 100644 index 0000000000..c394b2115c --- /dev/null +++ b/src/glx/apple/OVERALL_DESIGN @@ -0,0 +1,18 @@ +A lot of the code is automatically generated. + +The following are generated based on specs/gl.spec and specs/enum.spec (from OpenGL.org): + +apple_xgl_api.h +apple_xgl_api.c +exports.list +include/GL/gl.h  +include/GL/glext.h (includes the OpenGL framework glext.h) + +The gen_code.tcl script is what executes the various gen_*.tcl scripts to produce those. + +You will need Tcl 8.5 for the gen_code.tcl script. + +The tests/ directory contains some tests that are built in testbuilds. + +The tests built in testbuilds don't require installation of the library. + diff --git a/src/glx/apple/README_UPDATING b/src/glx/apple/README_UPDATING new file mode 100644 index 0000000000..7b1bbe02c5 --- /dev/null +++ b/src/glx/apple/README_UPDATING @@ -0,0 +1,8 @@ +The design of most of this code is such that we extend the GLX structures  +with a void * named apple. + +The GLX functions that need to do Apple-specific things are passed  +&s->apple in order to initialize the private structures. + +Thus when updating, just run a diff against glxext.c or glxcmds.c, and +manually merge from there as needed. diff --git a/src/glx/apple/RELEASE_NOTES b/src/glx/apple/RELEASE_NOTES new file mode 100644 index 0000000000..c5c603e76d --- /dev/null +++ b/src/glx/apple/RELEASE_NOTES @@ -0,0 +1,71 @@ +AppleSGLX Release Notes + +o OpenGL Support + +AppleSGLX supports the same version of OpenGL as Leopard (OpenGL 2.1). +Many extensions from the OpenGL framework are now builtin. + +This adds support for GLSL, and a variety of other features. + +o Thread Support + +Thread support has been improved since the libGL in XQuartz 2.3.2.1. + +o GLX 1.4 Support + +The GLX 1.3 and 1.4 functions should all work with a few exceptions +as outlined in this document. + +o glXMakeContextCurrent (a GLX 1.3 feature) + +glXMakeContextCurrent should work with the readable drawable.  The +OpenGL functions: glReadPixels, glCopyPixels, and glCopyColorTable,  +should use the readable drawable if it's different than the rendering  +drawable. + +o glXGetProcAddress (a GLX 1.4 feature and ARB extension) + +glXGetProcAddress should work and allow getting the address of any  +extension functions you may need from the X11 libGL, or OpenGL framework +libGL.  Previous versions of the X11 libGL didn't allow getting the newer  +OpenGL framework addresses. + +o GLXPixmaps + +New support for GLXPixmaps works well with mixed X11 and OpenGL drawing +operations.  You can create them using glXCreateGLXPixmap or +glXCreatePixmap. + +o GLXPbuffers + +Support for GLXPbuffers has been added.  These are drawables that are +not possible to render to with X11, which is allowed by the spec. +A GLXPbuffer will never generate a clobber event, however  +glXSelectEvent and glXGetSelectedEvent should operate normally. + +Clobber events are not generated due to low-level architectural +differences.  The contents of your pbuffers will not be clobbered. + +o Shared Contexts + +Due to basic low-level architectural differences the usage of shared  +contexts requires a similar visual or GLXFBConfig be used in the  +creation of a shared context.  It's best if you specify the same +visual.  This is due to a CGL design difference, and not something  +that is easily worked around.  UPDATE: some changes made seem to +help resolve this issue in many cases, so you may be able to use a +shared context without this restriction. + + +o Indirect + +The X server supports indirect fairly well, so OpenGL applications +can be run remotely and displayed by XQuartz.  This means you can run +applications from a remote host on an XQuartz X server. + +AppleSGLX does not support indirect rendering.  Any indirect context +created will appear to glXIsDirect as an indirect context, but it +does not actually support indirect rendering to a remote X server. + +AppleSGLX supports GLXPixmaps and GLXPbuffers with direct and indirect +contexts, though they are all direct contexts by definition (see above). diff --git a/src/glx/apple/TODO b/src/glx/apple/TODO new file mode 100644 index 0000000000..4a063fe0ed --- /dev/null +++ b/src/glx/apple/TODO @@ -0,0 +1,26 @@ +Test shared contexts! + +Go over every glxcmd in glxcmds.c and make sure we have them working. +Verify the XError behavior of GLXPixmap support functions. + +Test GLXPixmap support with various pixmap depths. +  +Test GLXPixmap support with invalid pixmaps (to stress the protocol code). + +-- Feb 10, 2009 + +Test glXCopyContext. + +-- Dec 12 2008 +  +TEST glXCopyContext needs some work and additional code in apple_glx.c. + +---- + +Make sure we report the proper list of GLX extensions available.  Apple direct may not support some  +that Mesa does, and vice-versa. + +Modify create_destroy_context and create a new test called create_destroy_context_thread_race.   +Where 2 threads are doing the same sort of path of create and destroy.  The locking should protect  +us there, but we need to verify nothing goes wrong. + diff --git a/src/glx/apple/apple_cgl.c b/src/glx/apple/apple_cgl.c new file mode 100644 index 0000000000..737d757ed5 --- /dev/null +++ b/src/glx/apple/apple_cgl.c @@ -0,0 +1,128 @@ +/* + Copyright (c) 2008 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <dlfcn.h> + +#include "apple_cgl.h" +#include "apple_glx.h" + +#ifndef OPENGL_FRAMEWORK_PATH +#define OPENGL_FRAMEWORK_PATH "/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL" +#endif + +static void *dl_handle = NULL; + +struct apple_cgl_api apple_cgl; + +static bool initialized = false; + +static void * +sym(void *h, const char *name) +{ +   void *s; + +   s = dlsym(h, name); + +   if (NULL == s) { +      fprintf(stderr, "error: %s\n", dlerror()); +      abort(); +   } + +   return s; +} + +void +apple_cgl_init(void) +{ +   void *h; +   GLint major = 0, minor = 0; +   const char *opengl_framework_path; + +   if (initialized) +      return; + +   opengl_framework_path = getenv("OPENGL_FRAMEWORK_PATH"); +   if (!opengl_framework_path) { +      opengl_framework_path = OPENGL_FRAMEWORK_PATH; +   } + +   (void) dlerror();            /*drain dlerror */ +   h = dlopen(opengl_framework_path, RTLD_NOW); + +   if (NULL == h) { +      fprintf(stderr, "error: unable to dlopen %s : %s\n", +              opengl_framework_path, dlerror()); +      abort(); +   } + +   dl_handle = h; + +   apple_cgl.get_version = sym(h, "CGLGetVersion"); + +   apple_cgl.get_version(&major, &minor); + +   apple_glx_diagnostic("CGL major %d minor %d\n", major, minor); + +   if (1 != major) { +      fprintf(stderr, "WARNING: the CGL major version has changed!\n" +              "libGL may be incompatible!\n"); +   } + +   apple_cgl.choose_pixel_format = sym(h, "CGLChoosePixelFormat"); +   apple_cgl.destroy_pixel_format = sym(h, "CGLDestroyPixelFormat"); + +   apple_cgl.clear_drawable = sym(h, "CGLClearDrawable"); +   apple_cgl.flush_drawable = sym(h, "CGLFlushDrawable"); + +   apple_cgl.create_context = sym(h, "CGLCreateContext"); +   apple_cgl.destroy_context = sym(h, "CGLDestroyContext"); + +   apple_cgl.set_current_context = sym(h, "CGLSetCurrentContext"); +   apple_cgl.get_current_context = sym(h, "CGLGetCurrentContext"); +   apple_cgl.error_string = sym(h, "CGLErrorString"); + +   apple_cgl.set_off_screen = sym(h, "CGLSetOffScreen"); + +   apple_cgl.copy_context = sym(h, "CGLCopyContext"); + +   apple_cgl.create_pbuffer = sym(h, "CGLCreatePBuffer"); +   apple_cgl.destroy_pbuffer = sym(h, "CGLDestroyPBuffer"); +   apple_cgl.set_pbuffer = sym(h, "CGLSetPBuffer"); + +   initialized = true; +} + +void * +apple_cgl_get_dl_handle(void) +{ +   return dl_handle; +} diff --git a/src/glx/apple/apple_cgl.h b/src/glx/apple/apple_cgl.h new file mode 100644 index 0000000000..5e98a00fe7 --- /dev/null +++ b/src/glx/apple/apple_cgl.h @@ -0,0 +1,86 @@ +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#ifndef APPLE_CGL_H +#define APPLE_CGL_H + +#include <stdio.h> +#include <OpenGL/CGLCurrent.h> +#include <OpenGL/CGLTypes.h> +#include <OpenGL/OpenGL.h> + +/* For GLint and GLsizei on Tiger */ +#include <OpenGL/gl.h> + +struct apple_cgl_api +{ +   void (*get_version) (GLint * majorvers, GLint * minorvers); + +     CGLError(*choose_pixel_format) (const CGLPixelFormatAttribute * attribs, +                                     CGLPixelFormatObj * pix, GLint * npix); +     CGLError(*destroy_pixel_format) (CGLPixelFormatObj pix); + +     CGLError(*clear_drawable) (CGLContextObj ctx); +     CGLError(*flush_drawable) (CGLContextObj ctx); + +     CGLError(*create_context) (CGLPixelFormatObj pix, CGLContextObj share, +                                CGLContextObj * ctx); +     CGLError(*destroy_context) (CGLContextObj pix); + +     CGLError(*set_current_context) (CGLContextObj ctx); +     CGLContextObj(*get_current_context) (void); +   const char *(*error_string) (CGLError error); + +     CGLError(*set_off_screen) (CGLContextObj ctx, +                                GLsizei width, GLsizei height, GLint rowbytes, +                                void *baseaddr); + +     CGLError(*copy_context) (CGLContextObj src, CGLContextObj dst, +                              GLbitfield mask); + +     CGLError(*create_pbuffer) (GLsizei width, +                                GLsizei height, +                                GLenum target, +                                GLenum internalFormat, +                                GLint max_level, CGLPBufferObj * pbuffer); + +     CGLError(*destroy_pbuffer) (CGLPBufferObj pbuffer); + +     CGLError(*set_pbuffer) (CGLContextObj ctx, +                             CGLPBufferObj pbuffer, +                             GLenum face, GLint level, GLint screen); +}; + +extern struct apple_cgl_api apple_cgl; + +extern void apple_cgl_init(void); + +extern void *apple_cgl_get_dl_handle(void); + +#endif diff --git a/src/glx/apple/apple_exports.list b/src/glx/apple/apple_exports.list new file mode 100644 index 0000000000..f4790119a5 --- /dev/null +++ b/src/glx/apple/apple_exports.list @@ -0,0 +1,623 @@ +_glAccum +_glAlphaFunc +_glAreTexturesResident +_glArrayElement +_glBegin +_glBindTexture +_glBitmap +_glBlendColor +_glBlendEquation +_glBlendEquationSeparate +_glBlendFunc +_glCallList +_glCallLists +_glClear +_glClearAccum +_glClearColor +_glClearDepth +_glClearIndex +_glClearStencil +_glClipPlane +_glColor3b +_glColor3bv +_glColor3d +_glColor3dv +_glColor3f +_glColor3fv +_glColor3i +_glColor3iv +_glColor3s +_glColor3sv +_glColor3ub +_glColor3ubv +_glColor3ui +_glColor3uiv +_glColor3us +_glColor3usv +_glColor4b +_glColor4bv +_glColor4d +_glColor4dv +_glColor4f +_glColor4fv +_glColor4i +_glColor4iv +_glColor4s +_glColor4sv +_glColor4ub +_glColor4ubv +_glColor4ui +_glColor4uiv +_glColor4us +_glColor4usv +_glColorMask +_glColorMaterial +_glColorPointer +_glColorSubTable +_glColorTable +_glColorTableParameterfv +_glColorTableParameteriv +_glConvolutionFilter1D +_glConvolutionFilter2D +_glConvolutionParameterf +_glConvolutionParameterfv +_glConvolutionParameteri +_glConvolutionParameteriv +_glCopyColorSubTable +_glCopyColorTable +_glCopyConvolutionFilter1D +_glCopyConvolutionFilter2D +_glCopyPixels +_glCopyTexImage1D +_glCopyTexImage2D +_glCopyTexSubImage1D +_glCopyTexSubImage2D +_glCopyTexSubImage3D +_glCullFace +_glDeleteLists +_glDeleteTextures +_glDepthFunc +_glDepthMask +_glDepthRange +_glDisable +_glDisableClientState +_glDrawArrays +_glDrawBuffer +_glDrawElements +_glDrawPixels +_glDrawRangeElements +_glEdgeFlag +_glEdgeFlagPointer +_glEdgeFlagv +_glEnable +_glEnableClientState +_glEnd +_glEndList +_glEvalCoord1d +_glEvalCoord1dv +_glEvalCoord1f +_glEvalCoord1fv +_glEvalCoord2d +_glEvalCoord2dv +_glEvalCoord2f +_glEvalCoord2fv +_glEvalMesh1 +_glEvalMesh2 +_glEvalPoint1 +_glEvalPoint2 +_glFeedbackBuffer +_glFinish +_glFlush +_glFogf +_glFogfv +_glFogi +_glFogiv +_glFrontFace +_glFrustum +_glGenLists +_glGenTextures +_glGetBooleanv +_glGetClipPlane +_glGetColorTable +_glGetColorTableParameterfv +_glGetColorTableParameteriv +_glGetConvolutionFilter +_glGetConvolutionParameterfv +_glGetConvolutionParameteriv +_glGetDoublev +_glGetError +_glGetFloatv +_glGetHistogram +_glGetHistogramParameterfv +_glGetHistogramParameteriv +_glGetIntegerv +_glGetLightfv +_glGetLightiv +_glGetMapdv +_glGetMapfv +_glGetMapiv +_glGetMaterialfv +_glGetMaterialiv +_glGetMinmax +_glGetMinmaxParameterfv +_glGetMinmaxParameteriv +_glGetPixelMapfv +_glGetPixelMapuiv +_glGetPixelMapusv +_glGetPointerv +_glGetPolygonStipple +_glGetSeparableFilter +_glGetString +_glGetTexEnvfv +_glGetTexEnviv +_glGetTexGendv +_glGetTexGenfv +_glGetTexGeniv +_glGetTexImage +_glGetTexLevelParameterfv +_glGetTexLevelParameteriv +_glGetTexParameterfv +_glGetTexParameteriv +_glHint +_glHistogram +_glIndexMask +_glIndexPointer +_glIndexd +_glIndexdv +_glIndexf +_glIndexfv +_glIndexi +_glIndexiv +_glIndexs +_glIndexsv +_glIndexub +_glIndexubv +_glInitNames +_glInterleavedArrays +_glIsEnabled +_glIsList +_glIsTexture +_glLightModelf +_glLightModelfv +_glLightModeli +_glLightModeliv +_glLightf +_glLightfv +_glLighti +_glLightiv +_glLineStipple +_glLineWidth +_glListBase +_glLoadIdentity +_glLoadMatrixd +_glLoadMatrixf +_glLoadName +_glLogicOp +_glMap1d +_glMap1f +_glMap2d +_glMap2f +_glMapGrid1d +_glMapGrid1f +_glMapGrid2d +_glMapGrid2f +_glMaterialf +_glMaterialfv +_glMateriali +_glMaterialiv +_glMatrixMode +_glMinmax +_glMultMatrixd +_glMultMatrixf +_glNewList +_glNormal3b +_glNormal3bv +_glNormal3d +_glNormal3dv +_glNormal3f +_glNormal3fv +_glNormal3i +_glNormal3iv +_glNormal3s +_glNormal3sv +_glNormalPointer +_glOrtho +_glPassThrough +_glPixelMapfv +_glPixelMapuiv +_glPixelMapusv +_glPixelStoref +_glPixelStorei +_glPixelTransferf +_glPixelTransferi +_glPixelZoom +_glPointSize +_glPolygonMode +_glPolygonOffset +_glPolygonStipple +_glPopAttrib +_glPopClientAttrib +_glPopMatrix +_glPopName +_glPrioritizeTextures +_glPushAttrib +_glPushClientAttrib +_glPushMatrix +_glPushName +_glRasterPos2d +_glRasterPos2dv +_glRasterPos2f +_glRasterPos2fv +_glRasterPos2i +_glRasterPos2iv +_glRasterPos2s +_glRasterPos2sv +_glRasterPos3d +_glRasterPos3dv +_glRasterPos3f +_glRasterPos3fv +_glRasterPos3i +_glRasterPos3iv +_glRasterPos3s +_glRasterPos3sv +_glRasterPos4d +_glRasterPos4dv +_glRasterPos4f +_glRasterPos4fv +_glRasterPos4i +_glRasterPos4iv +_glRasterPos4s +_glRasterPos4sv +_glReadBuffer +_glReadPixels +_glRectd +_glRectdv +_glRectf +_glRectfv +_glRecti +_glRectiv +_glRects +_glRectsv +_glRenderMode +_glResetHistogram +_glResetMinmax +_glRotated +_glRotatef +_glScaled +_glScalef +_glScissor +_glSelectBuffer +_glSeparableFilter2D +_glShadeModel +_glStencilFunc +_glStencilMask +_glStencilOp +_glTexCoord1d +_glTexCoord1dv +_glTexCoord1f +_glTexCoord1fv +_glTexCoord1i +_glTexCoord1iv +_glTexCoord1s +_glTexCoord1sv +_glTexCoord2d +_glTexCoord2dv +_glTexCoord2f +_glTexCoord2fv +_glTexCoord2i +_glTexCoord2iv +_glTexCoord2s +_glTexCoord2sv +_glTexCoord3d +_glTexCoord3dv +_glTexCoord3f +_glTexCoord3fv +_glTexCoord3i +_glTexCoord3iv +_glTexCoord3s +_glTexCoord3sv +_glTexCoord4d +_glTexCoord4dv +_glTexCoord4f +_glTexCoord4fv +_glTexCoord4i +_glTexCoord4iv +_glTexCoord4s +_glTexCoord4sv +_glTexCoordPointer +_glTexEnvf +_glTexEnvfv +_glTexEnvi +_glTexEnviv +_glTexGend +_glTexGendv +_glTexGenf +_glTexGenfv +_glTexGeni +_glTexGeniv +_glTexImage1D +_glTexImage2D +_glTexImage3D +_glTexParameterf +_glTexParameterfv +_glTexParameteri +_glTexParameteriv +_glTexSubImage1D +_glTexSubImage2D +_glTexSubImage3D +_glTranslated +_glTranslatef +_glVertex2d +_glVertex2dv +_glVertex2f +_glVertex2fv +_glVertex2i +_glVertex2iv +_glVertex2s +_glVertex2sv +_glVertex3d +_glVertex3dv +_glVertex3f +_glVertex3fv +_glVertex3i +_glVertex3iv +_glVertex3s +_glVertex3sv +_glVertex4d +_glVertex4dv +_glVertex4f +_glVertex4fv +_glVertex4i +_glVertex4iv +_glVertex4s +_glVertex4sv +_glVertexPointer +_glViewport +_glSampleCoverage +_glSamplePass +_glLoadTransposeMatrixf +_glLoadTransposeMatrixd +_glMultTransposeMatrixf +_glMultTransposeMatrixd +_glCompressedTexImage3D +_glCompressedTexImage2D +_glCompressedTexImage1D +_glCompressedTexSubImage3D +_glCompressedTexSubImage2D +_glCompressedTexSubImage1D +_glGetCompressedTexImage +_glActiveTexture +_glClientActiveTexture +_glMultiTexCoord1d +_glMultiTexCoord1dv +_glMultiTexCoord1f +_glMultiTexCoord1fv +_glMultiTexCoord1i +_glMultiTexCoord1iv +_glMultiTexCoord1s +_glMultiTexCoord1sv +_glMultiTexCoord2d +_glMultiTexCoord2dv +_glMultiTexCoord2f +_glMultiTexCoord2fv +_glMultiTexCoord2i +_glMultiTexCoord2iv +_glMultiTexCoord2s +_glMultiTexCoord2sv +_glMultiTexCoord3d +_glMultiTexCoord3dv +_glMultiTexCoord3f +_glMultiTexCoord3fv +_glMultiTexCoord3i +_glMultiTexCoord3iv +_glMultiTexCoord3s +_glMultiTexCoord3sv +_glMultiTexCoord4d +_glMultiTexCoord4dv +_glMultiTexCoord4f +_glMultiTexCoord4fv +_glMultiTexCoord4i +_glMultiTexCoord4iv +_glMultiTexCoord4s +_glMultiTexCoord4sv +_glFogCoordf +_glFogCoordfv +_glFogCoordd +_glFogCoorddv +_glFogCoordPointer +_glSecondaryColor3b +_glSecondaryColor3bv +_glSecondaryColor3d +_glSecondaryColor3dv +_glSecondaryColor3f +_glSecondaryColor3fv +_glSecondaryColor3i +_glSecondaryColor3iv +_glSecondaryColor3s +_glSecondaryColor3sv +_glSecondaryColor3ub +_glSecondaryColor3ubv +_glSecondaryColor3ui +_glSecondaryColor3uiv +_glSecondaryColor3us +_glSecondaryColor3usv +_glSecondaryColorPointer +_glPointParameterf +_glPointParameterfv +_glPointParameteri +_glPointParameteriv +_glBlendFuncSeparate +_glMultiDrawArrays +_glMultiDrawElements +_glWindowPos2d +_glWindowPos2dv +_glWindowPos2f +_glWindowPos2fv +_glWindowPos2i +_glWindowPos2iv +_glWindowPos2s +_glWindowPos2sv +_glWindowPos3d +_glWindowPos3dv +_glWindowPos3f +_glWindowPos3fv +_glWindowPos3i +_glWindowPos3iv +_glWindowPos3s +_glWindowPos3sv +_glGenQueries +_glDeleteQueries +_glIsQuery +_glBeginQuery +_glEndQuery +_glGetQueryiv +_glGetQueryObjectiv +_glGetQueryObjectuiv +_glBindBuffer +_glDeleteBuffers +_glGenBuffers +_glIsBuffer +_glBufferData +_glBufferSubData +_glGetBufferSubData +_glMapBuffer +_glUnmapBuffer +_glGetBufferParameteriv +_glGetBufferPointerv +_glDrawBuffers +_glVertexAttrib1d +_glVertexAttrib1dv +_glVertexAttrib1f +_glVertexAttrib1fv +_glVertexAttrib1s +_glVertexAttrib1sv +_glVertexAttrib2d +_glVertexAttrib2dv +_glVertexAttrib2f +_glVertexAttrib2fv +_glVertexAttrib2s +_glVertexAttrib2sv +_glVertexAttrib3d +_glVertexAttrib3dv +_glVertexAttrib3f +_glVertexAttrib3fv +_glVertexAttrib3s +_glVertexAttrib3sv +_glVertexAttrib4Nbv +_glVertexAttrib4Niv +_glVertexAttrib4Nsv +_glVertexAttrib4Nub +_glVertexAttrib4Nubv +_glVertexAttrib4Nuiv +_glVertexAttrib4Nusv +_glVertexAttrib4bv +_glVertexAttrib4d +_glVertexAttrib4dv +_glVertexAttrib4f +_glVertexAttrib4fv +_glVertexAttrib4iv +_glVertexAttrib4s +_glVertexAttrib4sv +_glVertexAttrib4ubv +_glVertexAttrib4uiv +_glVertexAttrib4usv +_glVertexAttribPointer +_glEnableVertexAttribArray +_glDisableVertexAttribArray +_glGetVertexAttribdv +_glGetVertexAttribfv +_glGetVertexAttribiv +_glGetVertexAttribPointerv +_glDeleteShader +_glDetachShader +_glCreateShader +_glShaderSource +_glCompileShader +_glCreateProgram +_glAttachShader +_glLinkProgram +_glUseProgram +_glDeleteProgram +_glValidateProgram +_glUniform1f +_glUniform2f +_glUniform3f +_glUniform4f +_glUniform1i +_glUniform2i +_glUniform3i +_glUniform4i +_glUniform1fv +_glUniform2fv +_glUniform3fv +_glUniform4fv +_glUniform1iv +_glUniform2iv +_glUniform3iv +_glUniform4iv +_glUniformMatrix2fv +_glUniformMatrix3fv +_glUniformMatrix4fv +_glIsShader +_glIsProgram +_glGetShaderiv +_glGetProgramiv +_glGetAttachedShaders +_glGetShaderInfoLog +_glGetProgramInfoLog +_glGetUniformLocation +_glGetActiveUniform +_glGetUniformfv +_glGetUniformiv +_glGetShaderSource +_glBindAttribLocation +_glGetActiveAttrib +_glGetAttribLocation +_glStencilFuncSeparate +_glStencilOpSeparate +_glStencilMaskSeparate +_glUniformMatrix2x3fv +_glUniformMatrix3x2fv +_glUniformMatrix2x4fv +_glUniformMatrix4x2fv +_glUniformMatrix3x4fv +_glUniformMatrix4x3fv +_glXChooseVisual +_glXCreateContext +_glXDestroyContext +_glXMakeCurrent +_glXCopyContext +_glXSwapBuffers +_glXCreateGLXPixmap +_glXDestroyGLXPixmap +_glXQueryExtension +_glXQueryVersion +_glXIsDirect +_glXGetConfig +_glXGetCurrentContext +_glXGetCurrentDrawable +_glXWaitGL +_glXWaitX +_glXUseXFont +_glXQueryExtensionsString +_glXQueryServerString +_glXGetClientString +_glXGetCurrentDisplay +_glXChooseFBConfig +_glXGetFBConfigAttrib +_glXGetFBConfigs +_glXGetVisualFromFBConfig +_glXCreateWindow +_glXDestroyWindow +_glXCreatePixmap +_glXDestroyPixmap +_glXCreatePbuffer +_glXDestroyPbuffer +_glXQueryDrawable +_glXCreateNewContext +_glXMakeContextCurrent +_glXGetCurrentReadDrawable +_glXQueryContext +_glXSelectEvent +_glXGetSelectedEvent +_glXGetProcAddress diff --git a/src/glx/apple/apple_glx.c b/src/glx/apple/apple_glx.c new file mode 100644 index 0000000000..d9bc091715 --- /dev/null +++ b/src/glx/apple/apple_glx.c @@ -0,0 +1,214 @@ +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <assert.h> +#include <stdarg.h> +#include <dlfcn.h> +#include "appledri.h" +#include "apple_glx.h" +#include "apple_glx_context.h" +#include "apple_cgl.h" +#include "apple_xgl_api.h" + +static bool initialized = false; +static int dri_event_base = 0; + +const GLuint __glXDefaultPixelStore[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 1 }; + +#ifndef OPENGL_LIB_PATH +#define OPENGL_LIB_PATH "/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib" +#endif + +static void *libgl_handle = NULL; + +static bool diagnostic = false; + +void +apple_glx_diagnostic(const char *fmt, ...) +{ +   va_list vl; + +   if (diagnostic) { +      fprintf(stderr, "DIAG: "); + +      va_start(vl, fmt); +      vfprintf(stderr, fmt, vl); +      va_end(vl); +   } +} + +int +apple_get_dri_event_base(void) +{ +   if (!initialized) { +      fprintf(stderr, +              "error: dri_event_base called before apple_init_glx!\n"); +      abort(); +   } +   return dri_event_base; +} + +static void +surface_notify_handler(Display * dpy, unsigned int uid, int kind) +{ + +   switch (kind) { +   case AppleDRISurfaceNotifyDestroyed: +      apple_glx_diagnostic("%s: surface destroyed %u\n", __func__, uid); +      apple_glx_surface_destroy(uid); +      break; + +   case AppleDRISurfaceNotifyChanged:{ +         int updated; + +         updated = apple_glx_context_surface_changed(uid, pthread_self()); + +         apple_glx_diagnostic("surface notify updated %d\n", updated); +      } +      break; + +   default: +      fprintf(stderr, "unhandled kind of event: %d in %s\n", kind, __func__); +   } +} + +xp_client_id +apple_glx_get_client_id(void) +{ +   static xp_client_id id; + +   if (0 == id) { +      if ((XP_Success != xp_init(XP_IN_BACKGROUND)) || +          (Success != xp_get_client_id(&id))) { +         return 0; +      } +   } + +   return id; +} + +/* Return true if an error occured. */ +bool +apple_init_glx(Display * dpy) +{ +   int eventBase, errorBase; +   int major, minor, patch; + +   if (!XAppleDRIQueryExtension(dpy, &eventBase, &errorBase)) +      return true; + +   if (!XAppleDRIQueryVersion(dpy, &major, &minor, &patch)) +      return true; + +   if (initialized) +      return false; + +   if (getenv("LIBGL_DIAGNOSTIC")) { +      printf("initializing libGL in %s\n", __func__); +      diagnostic = true; +   } + +   apple_cgl_init(); +   apple_xgl_init_direct(); +   libgl_handle = dlopen(OPENGL_LIB_PATH, RTLD_LAZY); +   (void) apple_glx_get_client_id(); + +   XAppleDRISetSurfaceNotifyHandler(surface_notify_handler); + +   /* This should really be per display. */ +   dri_event_base = eventBase; +   initialized = true; + +   return false; +} + +void +apple_glx_swap_buffers(void *ptr) +{ +   struct apple_glx_context *ac = ptr; + +   /* This may not be needed with CGLFlushDrawable: */ +   glFlush(); +   apple_cgl.flush_drawable(ac->context_obj); +} + +void * +apple_glx_get_proc_address(const GLubyte * procname) +{ +   size_t len; +   void *h, *s; +   char *pname = (char *) procname; + +   assert(NULL != procname); +   len = strlen(pname); + +   if (len < 3) { +      return NULL; +   } + +   if ((pname != strstr(pname, "glX")) && (pname != strstr(pname, "gl"))) { +      fprintf(stderr, +              "warning: get proc address request is not for a gl or glX function"); +      return NULL; +   } + +   /* Search using the default symbols first. */ +   (void) dlerror();            /*drain dlerror */ +   h = dlopen(NULL, RTLD_NOW); +   if (NULL == h) { +      fprintf(stderr, "warning: get proc address: %s\n", dlerror()); +      return NULL; +   } + +   s = dlsym(h, pname); + +   if (NULL == s) { +      /* Try the libGL.dylib from the OpenGL.framework. */ +      s = dlsym(libgl_handle, pname); +   } + +   dlclose(h); + +   return s; +} + +void +apple_glx_waitx(Display * dpy, void *ptr) +{ +   struct apple_private_context *ac = ptr; + +   (void) ac; + +   glFlush(); +   glFinish(); +   XSync(dpy, False); +} diff --git a/src/glx/apple/apple_glx.h b/src/glx/apple/apple_glx.h new file mode 100644 index 0000000000..9b3643bf15 --- /dev/null +++ b/src/glx/apple/apple_glx.h @@ -0,0 +1,49 @@ +/* + Copyright (c) 2008 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#ifndef APPLE_GLX_H +#define APPLE_GLX_H + +#include <stdbool.h> +#include <GL/gl.h> +#include <GL/glxint.h> +#include <X11/Xlib.h> + +#define XP_NO_X_HEADERS +#include <Xplugin.h> + +void apple_glx_diagnostic(const char *fmt, ...); +xp_client_id apple_glx_get_client_id(void); +bool apple_init_glx(Display * dpy); +void apple_glx_swap_buffers(void *ptr); +void *apple_glx_get_proc_address(const GLubyte * procname); +void apple_glx_waitx(Display * dpy, void *ptr); +int apple_get_dri_event_base(void); + +#endif diff --git a/src/glx/apple/apple_glx_context.c b/src/glx/apple/apple_glx_context.c new file mode 100644 index 0000000000..c58d05a59a --- /dev/null +++ b/src/glx/apple/apple_glx_context.c @@ -0,0 +1,616 @@ +/*  + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <limits.h> +#include <assert.h> +#include <pthread.h> + +#include <fcntl.h> +#include <sys/mman.h> +#include <unistd.h> + +// Get the newer glext.h first +#include <GL/gl.h> +#include <GL/glext.h> + +#include <OpenGL/CGLTypes.h> +#include <OpenGL/CGLCurrent.h> +#include <OpenGL/OpenGL.h> + +#include "glxclient.h" + +#include "apple_glx.h" +#include "apple_glx_context.h" +#include "appledri.h" +#include "apple_visual.h" +#include "apple_cgl.h" +#include "apple_glx_drawable.h" + +static pthread_mutex_t context_lock = PTHREAD_MUTEX_INITIALIZER; + +/* + * This should be locked on creation and destruction of the  + * apple_glx_contexts. + * + * It's also locked when the surface_notify_handler is searching + * for a uid associated with a surface. + */ +static struct apple_glx_context *context_list = NULL; + +/* This guards the context_list above. */ +static void +lock_context_list(void) +{ +   int err; + +   err = pthread_mutex_lock(&context_lock); + +   if (err) { +      fprintf(stderr, "pthread_mutex_lock failure in %s: %d\n", +              __func__, err); +      abort(); +   } +} + +static void +unlock_context_list(void) +{ +   int err; + +   err = pthread_mutex_unlock(&context_lock); + +   if (err) { +      fprintf(stderr, "pthread_mutex_unlock failure in %s: %d\n", +              __func__, err); +      abort(); +   } +} + +static bool +is_context_valid(struct apple_glx_context *ac) +{ +   struct apple_glx_context *i; + +   lock_context_list(); + +   for (i = context_list; i; i = i->next) { +      if (ac == i) { +         unlock_context_list(); +         return true; +      } +   } + +   unlock_context_list(); + +   return false; +} + +/* This creates an apple_private_context struct.   + * + * It's typically called to save the struct in a GLXContext. + * + * This is also where the CGLContextObj is created, and the CGLPixelFormatObj. + */ +bool +apple_glx_create_context(void **ptr, Display * dpy, int screen, +                         const void *mode, void *sharedContext, +                         int *errorptr, bool * x11errorptr) +{ +   struct apple_glx_context *ac; +   struct apple_glx_context *sharedac = sharedContext; +   CGLError error; + +   *ptr = NULL; + +   ac = malloc(sizeof *ac); + +   if (NULL == ac) { +      *errorptr = BadAlloc; +      *x11errorptr = true; +      return true; +   } + +   if (sharedac && !is_context_valid(sharedac)) { +      *errorptr = GLXBadContext; +      *x11errorptr = false; +      return true; +   } + +   ac->context_obj = NULL; +   ac->pixel_format_obj = NULL; +   ac->drawable = NULL; +   ac->thread_id = pthread_self(); +   ac->screen = screen; +   ac->double_buffered = false; +   ac->uses_stereo = false; +   ac->need_update = false; +   ac->is_current = false; +   ac->made_current = false; +   ac->last_surface_window = None; + +   apple_visual_create_pfobj(&ac->pixel_format_obj, mode, +                             &ac->double_buffered, &ac->uses_stereo, +                             /*offscreen */ false); + +   error = apple_cgl.create_context(ac->pixel_format_obj, +                                    sharedac ? sharedac->context_obj : NULL, +                                    &ac->context_obj); + + +   if (error) { +      (void) apple_cgl.destroy_pixel_format(ac->pixel_format_obj); + +      free(ac); + +      if (kCGLBadMatch == error) { +         *errorptr = BadMatch; +         *x11errorptr = true; +      } +      else { +         *errorptr = GLXBadContext; +         *x11errorptr = false; +      } + +      if (getenv("LIBGL_DIAGNOSTIC")) +         fprintf(stderr, "error: %s\n", apple_cgl.error_string(error)); + +      return true; +   } + +   /* The context creation succeeded, so we can link in the new context. */ +   lock_context_list(); + +   if (context_list) +      context_list->previous = ac; + +   ac->previous = NULL; +   ac->next = context_list; +   context_list = ac; + +   *ptr = ac; + +   apple_glx_diagnostic("%s: ac %p ac->context_obj %p\n", +                        __func__, (void *) ac, (void *) ac->context_obj); + +   unlock_context_list(); + +   return false; +} + +void +apple_glx_destroy_context(void **ptr, Display * dpy) +{ +   struct apple_glx_context *ac = *ptr; + +   if (NULL == ac) +      return; + +   apple_glx_diagnostic("%s: ac %p ac->context_obj %p\n", +                        __func__, (void *) ac, (void *) ac->context_obj); + +   if (apple_cgl.get_current_context() == ac->context_obj) { +      apple_glx_diagnostic("%s: context ac->context_obj %p " +                           "is still current!\n", __func__, +                           (void *) ac->context_obj); +      if (apple_cgl.set_current_context(NULL)) { +         abort(); +      } +   } + +   /* Remove ac from the context_list as soon as possible. */ +   lock_context_list(); + +   if (ac->previous) { +      ac->previous->next = ac->next; +   } +   else { +      context_list = ac->next; +   } + +   if (ac->next) { +      ac->next->previous = ac->previous; +   } + +   unlock_context_list(); + + +   if (apple_cgl.clear_drawable(ac->context_obj)) { +      fprintf(stderr, "error: while clearing drawable!\n"); +      abort(); +   } + +   /* +    * This potentially causes surface_notify_handler to be called in +    * apple_glx.c...  +    * We can NOT have a lock held at this point.  It would result in  +    * an abort due to an attempted deadlock.  This is why we earlier +    * removed the ac pointer from the double-linked list. +    */ +   if (ac->drawable) { +      ac->drawable->destroy(ac->drawable); +   } + +   if (apple_cgl.destroy_pixel_format(ac->pixel_format_obj)) { +      fprintf(stderr, "error: destroying pixel format in %s\n", __func__); +      abort(); +   } + +   if (apple_cgl.destroy_context(ac->context_obj)) { +      fprintf(stderr, "error: destroying context_obj in %s\n", __func__); +      abort(); +   } + +   free(ac); + +   *ptr = NULL; + +   apple_glx_garbage_collect_drawables(dpy); +} + + +/* Return true if an error occured. */ +bool +apple_glx_make_current_context(Display * dpy, void *oldptr, void *ptr, +                               GLXDrawable drawable) +{ +   struct apple_glx_context *oldac = oldptr; +   struct apple_glx_context *ac = ptr; +   struct apple_glx_drawable *newagd = NULL; +   CGLError cglerr; +   bool same_drawable = false; + +#if 0 +   apple_glx_diagnostic("%s: oldac %p ac %p drawable 0x%lx\n", +                        __func__, (void *) oldac, (void *) ac, drawable); + +   apple_glx_diagnostic("%s: oldac->context_obj %p ac->context_obj %p\n", +                        __func__, +                        (void *) (oldac ? oldac->context_obj : NULL), +                        (void *) (ac ? ac->context_obj : NULL)); +#endif + +   /* This a common path for GLUT and other apps, so special case it. */ +   if (ac && ac->drawable && ac->drawable->drawable == drawable) { +      same_drawable = true; + +      if (ac->is_current) +         return false; +   } + +   /* Reset the is_current state of the old context, if non-NULL. */ +   if (oldac && (ac != oldac)) +      oldac->is_current = false; + +   if (NULL == ac) { +      /*Clear the current context for this thread. */ +      apple_cgl.set_current_context(NULL); + +      if (oldac) { +         oldac->is_current = false; + +         if (oldac->drawable) { +            oldac->drawable->destroy(oldac->drawable); +            oldac->drawable = NULL; +         } + +         /* Invalidate this to prevent surface recreation. */ +         oldac->last_surface_window = None; +      } + +      return false; +   } + +   if (None == drawable) { +      bool error = false; + +      /* Clear the current drawable for this context_obj. */ + +      if (apple_cgl.set_current_context(ac->context_obj)) +         error = true; + +      if (apple_cgl.clear_drawable(ac->context_obj)) +         error = true; + +      if (ac->drawable) { +         ac->drawable->destroy(ac->drawable); +         ac->drawable = NULL; +      } + +      /* Invalidate this to prevent surface recreation. */ +      ac->last_surface_window = None; + +      apple_glx_diagnostic("%s: drawable is None, error is: %d\n", +                           __func__, error); + +      return error; +   } + +   /* This is an optimisation to avoid searching for the current drawable. */ +   if (ac->drawable && ac->drawable->drawable == drawable) { +      newagd = ac->drawable; +   } +   else { +      /* Find the drawable if possible, and retain a reference to it. */ +      newagd = +         apple_glx_drawable_find(drawable, APPLE_GLX_DRAWABLE_REFERENCE); +   } + +   /* +    * Try to destroy the old drawable, so long as the new one +    * isn't the old.  +    */ +   if (ac->drawable && !same_drawable) { +      ac->drawable->destroy(ac->drawable); +      ac->drawable = NULL; +   } + +   if (NULL == newagd) { +      if (apple_glx_surface_create(dpy, ac->screen, drawable, &newagd)) +         return true; + +      /* The drawable is referenced once by apple_glx_surface_create. */ + +      /* +       * FIXME: We actually need 2 references to prevent premature surface  +       * destruction.  The problem is that the surface gets destroyed in  +       * the case of the context being reused for another window, and +       * we then lose the surface contents.  Wait for destruction of a +       * window to destroy a surface. +       * +       * Note: this may leave around surfaces we don't want around, if +       * say we are using X for raster drawing after OpenGL rendering,  +       * but it will be compatible with the old libGL's behavior. +       * +       * Someday the X11 and OpenGL rendering must be unified at some +       * layer.  I suspect we can do that via shared memory and  +       * multiple threads in the X server (1 for each context created +       * by a client).  This would also allow users to render from  +       * multiple clients to the same OpenGL surface.  In fact it could +       * all be OpenGL. +       * +       */ +      newagd->reference(newagd); + +      /* Save the new drawable with the context structure. */ +      ac->drawable = newagd; +   } +   else { +      /* We are reusing an existing drawable structure. */ + +      if (same_drawable) { +         assert(ac->drawable == newagd); +         /* The drawable_find above retained a reference for us. */ +      } +      else { +         ac->drawable = newagd; +      } +   } + +   /*  +    * Avoid this costly path if this is the same drawable and the +    * context is already current.  +    */ + +   if (same_drawable && ac->is_current) { +      apple_glx_diagnostic("%s: same_drawable and ac->is_current\n"); +      return false; +   } + +   cglerr = apple_cgl.set_current_context(ac->context_obj); + +   if (kCGLNoError != cglerr) { +      fprintf(stderr, "set current error: %s\n", +              apple_cgl.error_string(cglerr)); +      return true; +   } + +   ac->is_current = true; + +   assert(NULL != ac->context_obj); +   assert(NULL != ac->drawable); + +   ac->thread_id = pthread_self(); + +   /* This will be set if the pending_destroy code indicates it should be: */ +   ac->last_surface_window = None; + +   switch (ac->drawable->type) { +   case APPLE_GLX_DRAWABLE_PBUFFER: +   case APPLE_GLX_DRAWABLE_SURFACE: +   case APPLE_GLX_DRAWABLE_PIXMAP: +      if (ac->drawable->callbacks.make_current) { +         if (ac->drawable->callbacks.make_current(ac, ac->drawable)) +            return true; +      } +      break; + +   default: +      fprintf(stderr, "internal error: invalid drawable type: %d\n", +              ac->drawable->type); +      abort(); +   } + +   return false; +} + +bool +apple_glx_is_current_drawable(Display * dpy, void *ptr, GLXDrawable drawable) +{ +   struct apple_glx_context *ac = ptr; + +   if (ac->drawable && ac->drawable->drawable == drawable) { +      return true; +   } +   else if (NULL == ac->drawable && None != ac->last_surface_window) { +      apple_glx_context_update(dpy, ac); + +      return (ac->drawable && ac->drawable->drawable == drawable); +   } + +   return false; +} + +bool +apple_glx_copy_context(void *currentptr, void *srcptr, void *destptr, +                       unsigned long mask, int *errorptr, bool * x11errorptr) +{ +   struct apple_glx_context *src, *dest; +   CGLError err; + +   src = srcptr; +   dest = destptr; + +   if (src->screen != dest->screen) { +      *errorptr = BadMatch; +      *x11errorptr = true; +      return true; +   } + +   if (dest == currentptr || dest->is_current) { +      *errorptr = BadAccess; +      *x11errorptr = true; +      return true; +   } + +   /*  +    * If srcptr is the current context then we should do an implicit glFlush. +    */ +   if (currentptr == srcptr) +      glFlush(); + +   err = apple_cgl.copy_context(src->context_obj, dest->context_obj, +                                (GLbitfield) mask); + +   if (kCGLNoError != err) { +      *errorptr = GLXBadContext; +      *x11errorptr = false; +      return true; +   } + +   return false; +} + +/*  + * The value returned is the total number of contexts set to update.  + * It's meant for debugging/introspection. + */ +int +apple_glx_context_surface_changed(unsigned int uid, pthread_t caller) +{ +   struct apple_glx_context *ac; +   int updated = 0; + +   lock_context_list(); + +   for (ac = context_list; ac; ac = ac->next) { +      if (ac->drawable && APPLE_GLX_DRAWABLE_SURFACE == ac->drawable->type +          && ac->drawable->types.surface.uid == uid) { + +         if (caller == ac->thread_id) { +            apple_glx_diagnostic("caller is the same thread for uid %u\n", +                                 uid); + +            xp_update_gl_context(ac->context_obj); +         } +         else { +            ac->need_update = true; +            ++updated; +         } +      } +   } + +   unlock_context_list(); + +   return updated; +} + +void +apple_glx_context_update(Display * dpy, void *ptr) +{ +   struct apple_glx_context *ac = ptr; + +   if (NULL == ac->drawable && None != ac->last_surface_window) { +      bool failed; + +      /* Attempt to recreate the surface for a destroyed drawable. */ +      failed = +         apple_glx_make_current_context(dpy, ac, ac, ac->last_surface_window); + +      apple_glx_diagnostic("%s: surface recreation failed? %s\n", __func__, +                           failed ? "YES" : "NO"); +   } + +   if (ac->need_update) { +      xp_update_gl_context(ac->context_obj); +      ac->need_update = false; + +      apple_glx_diagnostic("%s: updating context %p\n", __func__, ptr); +   } + +   if (ac->drawable && APPLE_GLX_DRAWABLE_SURFACE == ac->drawable->type +       && ac->drawable->types.surface.pending_destroy) { +      apple_glx_diagnostic("%s: clearing drawable %p\n", __func__, ptr); +      apple_cgl.clear_drawable(ac->context_obj); + +      if (ac->drawable) { +         struct apple_glx_drawable *d; + +         apple_glx_diagnostic("%s: attempting to destroy drawable %p\n", +                              __func__, ptr); +         apple_glx_diagnostic("%s: ac->drawable->drawable is 0x%lx\n", +                              __func__, ac->drawable->drawable); + +         d = ac->drawable; + +         ac->last_surface_window = d->drawable; + +         ac->drawable = NULL; + +         /*  +          * This will destroy the surface drawable if there are  +          * no references to it.   +          * It also subtracts 1 from the reference_count. +          * If there are references to it, then it's probably made +          * current in another context. +          */ +         d->destroy(d); +      } +   } +} + +bool +apple_glx_context_uses_stereo(void *ptr) +{ +   struct apple_glx_context *ac = ptr; + +   return ac->uses_stereo; +} diff --git a/src/glx/apple/apple_glx_context.h b/src/glx/apple/apple_glx_context.h new file mode 100644 index 0000000000..c2a3e3fcf6 --- /dev/null +++ b/src/glx/apple/apple_glx_context.h @@ -0,0 +1,93 @@ +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ +#ifndef APPLE_GLX_CONTEXT_H +#define APPLE_GLX_CONTEXT_H + +/* <rdar://problem/6953344> */ +#define glTexImage1D glTexImage1D_OSX +#define glTexImage2D glTexImage2D_OSX +#define glTexImage3D glTexImage3D_OSX +#include <OpenGL/CGLTypes.h> +#include <OpenGL/CGLContext.h> +#undef glTexImage1D +#undef glTexImage2D +#undef glTexImage3D + +#include <stdbool.h> +#include <X11/Xlib.h> +#include <GL/glx.h> +#define XP_NO_X_HEADERS +#include <Xplugin.h> +#undef XP_NO_X_HEADERS + +#include "apple_glx_drawable.h" + +struct apple_glx_context +{ +   CGLContextObj context_obj; +   CGLPixelFormatObj pixel_format_obj; +   struct apple_glx_drawable *drawable; +   pthread_t thread_id; +   int screen; +   bool double_buffered; +   bool uses_stereo; +   bool need_update; +   bool is_current;             /* True if the context is current in some thread. */ +   bool made_current;           /* True if the context has ever been made current. */ + +   /* +    * last_surface is set by the pending_destroy code handler for a drawable. +    * Due to a CG difference, we have to recreate a surface if the window +    * is unmapped and mapped again. +    */ +   Window last_surface_window; +   struct apple_glx_context *previous, *next; +}; + +bool apple_glx_create_context(void **ptr, Display * dpy, int screen, +                              const void *mode, void *sharedContext, +                              int *errorptr, bool * x11errorptr); +void apple_glx_destroy_context(void **ptr, Display * dpy); + +bool apple_glx_make_current_context(Display * dpy, void *oldptr, void *ptr, +                                    GLXDrawable drawable); +bool apple_glx_is_current_drawable(Display * dpy, void *ptr, +                                   GLXDrawable drawable); + +bool apple_glx_copy_context(void *currentptr, void *srcptr, void *destptr, +                            unsigned long mask, int *errorptr, +                            bool * x11errorptr); + +int apple_glx_context_surface_changed(unsigned int uid, pthread_t caller); + +void apple_glx_context_update(Display * dpy, void *ptr); + +bool apple_glx_context_uses_stereo(void *ptr); + +#endif /*APPLE_GLX_CONTEXT_H */ diff --git a/src/glx/apple/apple_glx_drawable.c b/src/glx/apple/apple_glx_drawable.c new file mode 100644 index 0000000000..5530224335 --- /dev/null +++ b/src/glx/apple/apple_glx_drawable.c @@ -0,0 +1,542 @@ +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <pthread.h> +#include "apple_glx.h" +#include "apple_glx_context.h" +#include "apple_glx_drawable.h" +#include "appledri.h" + +static pthread_mutex_t drawables_lock = PTHREAD_MUTEX_INITIALIZER; +static struct apple_glx_drawable *drawables_list = NULL; + +static void +lock_drawables_list(void) +{ +   int err; + +   err = pthread_mutex_lock(&drawables_lock); + +   if (err) { +      fprintf(stderr, "pthread_mutex_lock failure in %s: %d\n", +              __func__, err); +      abort(); +   } +} + +static void +unlock_drawables_list(void) +{ +   int err; + +   err = pthread_mutex_unlock(&drawables_lock); + +   if (err) { +      fprintf(stderr, "pthread_mutex_unlock failure in %s: %d\n", +              __func__, err); +      abort(); +   } +} + +struct apple_glx_drawable * +apple_glx_find_drawable(Display * dpy, GLXDrawable drawable) +{ +   struct apple_glx_drawable *i, *agd = NULL; + +   lock_drawables_list(); + +   for (i = drawables_list; i; i = i->next) { +      if (i->drawable == drawable) { +         agd = i; +         break; +      } +   } + +   unlock_drawables_list(); + +   return agd; +} + +static void +drawable_lock(struct apple_glx_drawable *agd) +{ +   int err; + +   err = pthread_mutex_lock(&agd->mutex); + +   if (err) { +      fprintf(stderr, "pthread_mutex_lock error: %d\n", err); +      abort(); +   } +} + +static void +drawable_unlock(struct apple_glx_drawable *d) +{ +   int err; + +   err = pthread_mutex_unlock(&d->mutex); + +   if (err) { +      fprintf(stderr, "pthread_mutex_unlock error: %d\n", err); +      abort(); +   } +} + + +static void +reference_drawable(struct apple_glx_drawable *d) +{ +   d->lock(d); +   d->reference_count++; +   d->unlock(d); +} + +static void +release_drawable(struct apple_glx_drawable *d) +{ +   d->lock(d); +   d->reference_count--; +   d->unlock(d); +} + +/* The drawables list must be locked prior to calling this. */ +/* Return true if the drawable was destroyed. */ +static bool +destroy_drawable(struct apple_glx_drawable *d) +{ + +   d->lock(d); + +   if (d->reference_count > 0) { +      d->unlock(d); +      return false; +   } + +   d->unlock(d); + +   if (d->previous) { +      d->previous->next = d->next; +   } +   else { +      /* +       * The item must be at the head of the list, if it +       * has no previous pointer.  +       */ +      drawables_list = d->next; +   } + +   if (d->next) +      d->next->previous = d->previous; + +   unlock_drawables_list(); + +   if (d->callbacks.destroy) { +      /* +       * Warning: this causes other routines to be called (potentially) +       * from surface_notify_handler.  It's probably best to not have +       * any locks at this point locked. +       */ +      d->callbacks.destroy(d->display, d); +   } + +   apple_glx_diagnostic("%s: freeing %p\n", __func__, (void *) d); + +   free(d); + +   /* So that the locks are balanced and the caller correctly unlocks. */ +   lock_drawables_list(); + +   return true; +} + +/* + * This is typically called when a context is destroyed or the current + * drawable is made None. + */ +static bool +destroy_drawable_callback(struct apple_glx_drawable *d) +{ +   bool result; + +   d->lock(d); + +   apple_glx_diagnostic("%s: %p ->reference_count before -- %d\n", __func__, +                        (void *) d, d->reference_count); + +   d->reference_count--; + +   if (d->reference_count > 0) { +      d->unlock(d); +      return false; +   } + +   d->unlock(d); + +   lock_drawables_list(); + +   result = destroy_drawable(d); + +   unlock_drawables_list(); + +   return result; +} + +static bool +is_pbuffer(struct apple_glx_drawable *d) +{ +   return APPLE_GLX_DRAWABLE_PBUFFER == d->type; +} + +static bool +is_pixmap(struct apple_glx_drawable *d) +{ +   return APPLE_GLX_DRAWABLE_PIXMAP == d->type; +} + +static void +common_init(Display * dpy, GLXDrawable drawable, struct apple_glx_drawable *d) +{ +   int err; +   pthread_mutexattr_t attr; + +   d->display = dpy; +   d->reference_count = 0; +   d->drawable = drawable; +   d->type = -1; + +   err = pthread_mutexattr_init(&attr); + +   if (err) { +      fprintf(stderr, "pthread_mutexattr_init error: %d\n", err); +      abort(); +   } + +   /*  +    * There are some patterns that require a recursive mutex, +    * when working with locks that protect the apple_glx_drawable, +    * and reference functions like ->reference, and ->release. +    */ +   err = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + +   if (err) { +      fprintf(stderr, "error: setting pthread mutex type: %d\n", err); +      abort(); +   } + +   err = pthread_mutex_init(&d->mutex, &attr); + +   if (err) { +      fprintf(stderr, "pthread_mutex_init error: %d\n", err); +      abort(); +   } + +   (void) pthread_mutexattr_destroy(&attr); + +   d->lock = drawable_lock; +   d->unlock = drawable_unlock; + +   d->reference = reference_drawable; +   d->release = release_drawable; + +   d->destroy = destroy_drawable_callback; + +   d->is_pbuffer = is_pbuffer; +   d->is_pixmap = is_pixmap; + +   d->width = -1; +   d->height = -1; +   d->row_bytes = 0; +   d->path[0] = '\0'; +   d->fd = -1; +   d->buffer = NULL; +   d->buffer_length = 0; + +   d->previous = NULL; +   d->next = NULL; +} + +static void +link_tail(struct apple_glx_drawable *agd) +{ +   lock_drawables_list(); + +   /* Link the new drawable into the global list. */ +   agd->next = drawables_list; + +   if (drawables_list) +      drawables_list->previous = agd; + +   drawables_list = agd; + +   unlock_drawables_list(); +} + +/*WARNING: this returns a locked and referenced object. */ +bool +apple_glx_drawable_create(Display * dpy, +                          int screen, +                          GLXDrawable drawable, +                          struct apple_glx_drawable **agdResult, +                          struct apple_glx_drawable_callbacks *callbacks) +{ +   struct apple_glx_drawable *d; + +   d = calloc(1, sizeof *d); + +   if (NULL == d) { +      perror("malloc"); +      return true; +   } + +   common_init(dpy, drawable, d); +   d->type = callbacks->type; +   d->callbacks = *callbacks; + +   d->reference(d); +   d->lock(d); + +   link_tail(d); + +   apple_glx_diagnostic("%s: new drawable %p\n", __func__, (void *) d); + +   *agdResult = d; + +   return false; +} + +static int error_count = 0; + +static int +error_handler(Display * dpy, XErrorEvent * err) +{ +   if (err->error_code == BadWindow) { +      ++error_count; +   } + +   return 0; +} + +void +apple_glx_garbage_collect_drawables(Display * dpy) +{ +   struct apple_glx_drawable *d, *dnext; +   Window root; +   int x, y; +   unsigned int width, height, bd, depth; +   int (*old_handler) (Display *, XErrorEvent *); + + +   if (NULL == drawables_list) +      return; + +   old_handler = XSetErrorHandler(error_handler); + +   XSync(dpy, False); + +   lock_drawables_list(); + +   for (d = drawables_list; d;) { +      dnext = d->next; + +      d->lock(d); + +      if (d->reference_count > 0) { +         /*  +          * Skip this, because some context still retains a reference  +          * to the drawable. +          */ +         d->unlock(d); +         d = dnext; +         continue; +      } + +      d->unlock(d); + +      error_count = 0; + +      /*  +       * Mesa uses XGetWindowAttributes, but some of these things are  +       * most definitely not Windows, and that's against the rules. +       * XGetGeometry on the other hand is legal with a Pixmap and Window. +       */ +      XGetGeometry(dpy, d->drawable, &root, &x, &y, &width, &height, &bd, +                   &depth); + +      if (error_count > 0) { +         /* +          * Note: this may not actually destroy the drawable. +          * If another context retains a reference to the drawable +          * after the reference count test above.  +          */ +         (void) destroy_drawable(d); +         error_count = 0; +      } + +      d = dnext; +   } + +   XSetErrorHandler(old_handler); + +   unlock_drawables_list(); +} + +unsigned int +apple_glx_get_drawable_count(void) +{ +   unsigned int result = 0; +   struct apple_glx_drawable *d; + +   lock_drawables_list(); + +   for (d = drawables_list; d; d = d->next) +      ++result; + +   unlock_drawables_list(); + +   return result; +} + +struct apple_glx_drawable * +apple_glx_drawable_find_by_type(GLXDrawable drawable, int type, int flags) +{ +   struct apple_glx_drawable *d; + +   lock_drawables_list(); + +   for (d = drawables_list; d; d = d->next) { +      if (d->type == type && d->drawable == drawable) { +         if (flags & APPLE_GLX_DRAWABLE_REFERENCE) +            d->reference(d); + +         if (flags & APPLE_GLX_DRAWABLE_LOCK) +            d->lock(d); + +         unlock_drawables_list(); + +         return d; +      } +   } + +   unlock_drawables_list(); + +   return NULL; +} + +struct apple_glx_drawable * +apple_glx_drawable_find(GLXDrawable drawable, int flags) +{ +   struct apple_glx_drawable *d; + +   lock_drawables_list(); + +   for (d = drawables_list; d; d = d->next) { +      if (d->drawable == drawable) { +         if (flags & APPLE_GLX_DRAWABLE_REFERENCE) +            d->reference(d); + +         if (flags & APPLE_GLX_DRAWABLE_LOCK) +            d->lock(d); + +         unlock_drawables_list(); + +         return d; +      } +   } + +   unlock_drawables_list(); + +   return NULL; +} + +/* Return true if the type is valid for the drawable. */ +bool +apple_glx_drawable_destroy_by_type(Display * dpy, +                                   GLXDrawable drawable, int type) +{ +   struct apple_glx_drawable *d; + +   lock_drawables_list(); + +   for (d = drawables_list; d; d = d->next) { +      if (drawable == d->drawable && type == d->type) { +         /* +          * The user has requested that we destroy this resource. +          * However, there may be references in the contexts to it, so +          * release it, and call destroy_drawable which doesn't destroy +          * if the reference_count is > 0. +          */ +         d->release(d); + +         apple_glx_diagnostic("%s d->reference_count %d\n", +                              __func__, d->reference_count); + +         destroy_drawable(d); +         unlock_drawables_list(); +         return true; +      } +   } + +   unlock_drawables_list(); + +   return false; +} + +struct apple_glx_drawable * +apple_glx_drawable_find_by_uid(unsigned int uid, int flags) +{ +   struct apple_glx_drawable *d; + +   lock_drawables_list(); + +   for (d = drawables_list; d; d = d->next) { +      /* Only surfaces have a uid. */ +      if (APPLE_GLX_DRAWABLE_SURFACE == d->type) { +         if (d->types.surface.uid == uid) { +            if (flags & APPLE_GLX_DRAWABLE_REFERENCE) +               d->reference(d); + +            if (flags & APPLE_GLX_DRAWABLE_LOCK) +               d->lock(d); + +            unlock_drawables_list(); + +            return d; +         } +      } +   } + +   unlock_drawables_list(); + +   return NULL; +} diff --git a/src/glx/apple/apple_glx_drawable.h b/src/glx/apple/apple_glx_drawable.h new file mode 100644 index 0000000000..e49eae355e --- /dev/null +++ b/src/glx/apple/apple_glx_drawable.h @@ -0,0 +1,227 @@ +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ +#ifndef APPLE_GLX_DRAWABLE_H +#define APPLE_GLX_DRAWABLE_H + +/* Must be first for: + * <rdar://problem/6953344> + */ +#include "apple_glx_context.h" + +#include <pthread.h> +#include <stdbool.h> +#include <limits.h> +#include <GL/glx.h> +#define XP_NO_X_HEADERS +#include <Xplugin.h> +#undef XP_NO_X_HEADERS + +enum +{ +   APPLE_GLX_DRAWABLE_SURFACE = 1, +   APPLE_GLX_DRAWABLE_PBUFFER, +   APPLE_GLX_DRAWABLE_PIXMAP +}; + +/* The flag for the find routine. */ +enum +{ +   APPLE_GLX_DRAWABLE_LOCK = 2, +   APPLE_GLX_DRAWABLE_REFERENCE = 4 +}; + +struct apple_glx_context; +struct apple_glx_drawable; + +struct apple_glx_surface +{ +   xp_surface_id surface_id; +   unsigned int uid; +   bool pending_destroy; +}; + +struct apple_glx_pbuffer +{ +   GLXPbuffer xid;              /* our pixmap */ +   int width, height; +   GLint fbconfigID; +   CGLPBufferObj buffer_obj; +   unsigned long event_mask; +}; + +struct apple_glx_pixmap +{ +   GLXPixmap xpixmap; +   void *buffer; +   int width, height, pitch, /*bytes per pixel */ bpp; +   size_t size; +   char path[PATH_MAX]; +   int fd; +   CGLPixelFormatObj pixel_format_obj; +   CGLContextObj context_obj; +   GLint fbconfigID; +}; + +struct apple_glx_drawable_callbacks +{ +   int type; +     bool(*make_current) (struct apple_glx_context * ac, +                          struct apple_glx_drawable * d); +   void (*destroy) (Display * dpy, struct apple_glx_drawable * d); +}; + +struct apple_glx_drawable +{ +   Display *display; +   int reference_count; +   GLXDrawable drawable; +   int type;                    /* APPLE_GLX_DRAWABLE_* */ + +   union +   { +      struct apple_glx_pixmap pixmap; +      struct apple_glx_pbuffer pbuffer; +      struct apple_glx_surface surface; +   } types; + +   struct apple_glx_drawable_callbacks callbacks; + +   /*  +    * This mutex protects the reference count and any other drawable data. +    * It's used to prevent an early release of a drawable. +    */ +   pthread_mutex_t mutex; +   void (*lock) (struct apple_glx_drawable * agd); +   void (*unlock) (struct apple_glx_drawable * agd); + +   void (*reference) (struct apple_glx_drawable * agd); +   void (*release) (struct apple_glx_drawable * agd); + +     bool(*destroy) (struct apple_glx_drawable * agd); + +     bool(*is_pbuffer) (struct apple_glx_drawable * agd); + +     bool(*is_pixmap) (struct apple_glx_drawable * agd); + +/*BEGIN These are used for the mixed mode drawing... */ +   int width, height; +   int row_bytes; +   char path[PATH_MAX]; +   int fd;                      /* The file descriptor for this drawable's shared memory. */ +   void *buffer;                /* The memory for the drawable.  Typically shared memory. */ +   size_t buffer_length; +     /*END*/ struct apple_glx_drawable *previous, *next; +}; + +struct apple_glx_context; + +/* May return NULL if not found */ +struct apple_glx_drawable *apple_glx_find_drawable(Display * dpy, +                                                   GLXDrawable drawable); + +/* Returns true on error and locks the agd result with a reference. */ +bool apple_glx_drawable_create(Display * dpy, +                               int screen, +                               GLXDrawable drawable, +                               struct apple_glx_drawable **agd, +                               struct apple_glx_drawable_callbacks +                               *callbacks); + +/* Returns true on error */ +bool apple_glx_create_drawable(Display * dpy, +                               struct apple_glx_context *ac, +                               GLXDrawable drawable, +                               struct apple_glx_drawable **agd); + +void apple_glx_garbage_collect_drawables(Display * dpy); + +/*  + * This returns the total number of drawables.  + * It's mostly intended for debugging and introspection. + */ +unsigned int apple_glx_get_drawable_count(void); + +struct apple_glx_drawable *apple_glx_drawable_find_by_type(GLXDrawable +                                                           drawable, int type, +                                                           int flags); + +struct apple_glx_drawable *apple_glx_drawable_find(GLXDrawable drawable, +                                                   int flags); + + +bool apple_glx_drawable_destroy_by_type(Display * dpy, GLXDrawable drawable, +                                        int type); + +struct apple_glx_drawable *apple_glx_drawable_find_by_uid(unsigned int uid, +                                                          int flags); + +/* Surfaces */ + +bool apple_glx_surface_create(Display * dpy, int screen, GLXDrawable drawable, +                              struct apple_glx_drawable **resultptr); + +void apple_glx_surface_destroy(unsigned int uid); + +/* Pbuffers */ + +/* Returns true if an error occurred. */ +bool apple_glx_pbuffer_create(Display * dpy, GLXFBConfig config, +                              int width, int height, int *errorcode, +                              GLXPbuffer * pbuf); + +/* Returns true if the pbuffer was invalid. */ +bool apple_glx_pbuffer_destroy(Display * dpy, GLXPbuffer pbuf); + +/* Returns true if the pbuffer was valid and the attribute. */ +bool apple_glx_pbuffer_query(GLXDrawable d, int attribute, +                             unsigned int *value); + +/* Returns true if the GLXDrawable is a valid GLXPbuffer, and the mask is set. */ +bool apple_glx_pbuffer_set_event_mask(GLXDrawable d, unsigned long mask); + +/* Returns true if the GLXDrawable is a valid GLXPbuffer, and the *mask is set. */ +bool apple_glx_pbuffer_get_event_mask(GLXDrawable d, unsigned long *mask); + + +/* Pixmaps */ + +/* mode is a __GLcontextModes * */ +/* Returns true if an error occurred. */ +bool apple_glx_pixmap_create(Display * dpy, int screen, Pixmap pixmap, +                             const void *mode); + +/* Returns true if an error occurred. */ +bool apple_glx_pixmap_destroy(Display * dpy, Pixmap pixmap); + +bool apple_glx_pixmap_query(GLXPixmap pixmap, int attribute, +                            unsigned int *value); + + + +#endif diff --git a/src/glx/apple/apple_glx_pbuffer.c b/src/glx/apple/apple_glx_pbuffer.c new file mode 100644 index 0000000000..1466fea487 --- /dev/null +++ b/src/glx/apple/apple_glx_pbuffer.c @@ -0,0 +1,348 @@ +/* + Copyright (c) 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +/* Must be before OpenGL.framework is included.  Remove once fixed: + * <rdar://problem/7872773> + */ +#include <GL/gl.h> +#include <GL/glext.h> +#define __gltypes_h_ 1 + +/* Must be first for: + * <rdar://problem/6953344> + */ +#include "apple_glx_context.h" +#include "apple_glx_drawable.h" + +#include <stdlib.h> +#include <pthread.h> +#include <assert.h> +#include "apple_glx.h" +#include "glcontextmodes.h" +#include "apple_cgl.h" + +/* mesa defines in glew.h, Apple in glext.h. + * Due to namespace nightmares, just do it here. + */ +#ifndef GL_TEXTURE_RECTANGLE_EXT +#define GL_TEXTURE_RECTANGLE_EXT 0x84F5 +#endif + +static bool pbuffer_make_current(struct apple_glx_context *ac, +                                 struct apple_glx_drawable *d); + +static void pbuffer_destroy(Display * dpy, struct apple_glx_drawable *d); + +static struct apple_glx_drawable_callbacks callbacks = { +   .type = APPLE_GLX_DRAWABLE_PBUFFER, +   .make_current = pbuffer_make_current, +   .destroy = pbuffer_destroy +}; + + +/* Return true if an error occurred. */ +bool +pbuffer_make_current(struct apple_glx_context *ac, +                     struct apple_glx_drawable *d) +{ +   struct apple_glx_pbuffer *pbuf = &d->types.pbuffer; +   CGLError cglerr; + +   assert(APPLE_GLX_DRAWABLE_PBUFFER == d->type); + +   cglerr = apple_cgl.set_pbuffer(ac->context_obj, pbuf->buffer_obj, 0, 0, 0); + +   if (kCGLNoError != cglerr) { +      fprintf(stderr, "set_pbuffer: %s\n", apple_cgl.error_string(cglerr)); +      return true; +   } + +   if (!ac->made_current) { +      glViewport(0, 0, pbuf->width, pbuf->height); +      glScissor(0, 0, pbuf->width, pbuf->height); +      ac->made_current = true; +   } + +   apple_glx_diagnostic("made pbuffer drawable 0x%lx current\n", d->drawable); + +   return false; +} + +void +pbuffer_destroy(Display * dpy, struct apple_glx_drawable *d) +{ +   struct apple_glx_pbuffer *pbuf = &d->types.pbuffer; + +   assert(APPLE_GLX_DRAWABLE_PBUFFER == d->type); + +   apple_glx_diagnostic("destroying pbuffer for drawable 0x%lx\n", +                        d->drawable); + +   apple_cgl.destroy_pbuffer(pbuf->buffer_obj); +   XFreePixmap(dpy, pbuf->xid); +} + +/* Return true if an error occurred. */ +bool +apple_glx_pbuffer_destroy(Display * dpy, GLXPbuffer pbuf) +{ +   return !apple_glx_drawable_destroy_by_type(dpy, pbuf, +                                              APPLE_GLX_DRAWABLE_PBUFFER); +} + +/* Return true if an error occurred. */ +bool +apple_glx_pbuffer_create(Display * dpy, GLXFBConfig config, +                         int width, int height, int *errorcode, +                         GLXPbuffer * result) +{ +   struct apple_glx_drawable *d; +   struct apple_glx_pbuffer *pbuf = NULL; +   CGLError err; +   Window root; +   int screen; +   Pixmap xid; +   __GLcontextModes *modes = (__GLcontextModes *) config; + +   root = DefaultRootWindow(dpy); +   screen = DefaultScreen(dpy); + +   /* +    * This pixmap is only used for a persistent XID. +    * The XC-MISC extension cleans up XIDs and reuses them transparently, +    * so we need to retain a server-side reference. +    */ +   xid = XCreatePixmap(dpy, root, (unsigned int) 1, +                       (unsigned int) 1, DefaultDepth(dpy, screen)); + +   if (None == xid) { +      *errorcode = BadAlloc; +      return true; +   } + +   if (apple_glx_drawable_create(dpy, screen, xid, &d, &callbacks)) { +      *errorcode = BadAlloc; +      return true; +   } + +   /* The lock is held in d from create onward. */ +   pbuf = &d->types.pbuffer; + +   pbuf->xid = xid; +   pbuf->width = width; +   pbuf->height = height; + +   err = apple_cgl.create_pbuffer(width, height, GL_TEXTURE_RECTANGLE_EXT, +                                  (modes->alphaBits > 0) ? GL_RGBA : GL_RGB, +                                  0, &pbuf->buffer_obj); + +   if (kCGLNoError != err) { +      d->unlock(d); +      d->destroy(d); +      *errorcode = BadMatch; +      return true; +   } + +   pbuf->fbconfigID = modes->fbconfigID; + +   pbuf->event_mask = 0; + +   *result = pbuf->xid; + +   d->unlock(d); + +   return false; +} + + + +/* Return true if an error occurred. */ +static bool +get_max_size(int *widthresult, int *heightresult) +{ +   CGLContextObj oldcontext; +   GLint ar[2]; + +   oldcontext = apple_cgl.get_current_context(); + +   if (!oldcontext) { +      /*  +       * There is no current context, so we need to make one in order +       * to call glGetInteger. +       */ +      CGLPixelFormatObj pfobj; +      CGLError err; +      CGLPixelFormatAttribute attr[10]; +      int c = 0; +      GLint vsref = 0; +      CGLContextObj newcontext; + +      attr[c++] = kCGLPFAColorSize; +      attr[c++] = 32; +      attr[c++] = 0; + +      err = apple_cgl.choose_pixel_format(attr, &pfobj, &vsref); +      if (kCGLNoError != err) { +         if (getenv("LIBGL_DIAGNOSTIC")) { +            printf("choose_pixel_format error in %s: %s\n", __func__, +                   apple_cgl.error_string(err)); +         } + +         return true; +      } + + +      err = apple_cgl.create_context(pfobj, NULL, &newcontext); + +      if (kCGLNoError != err) { +         if (getenv("LIBGL_DIAGNOSTIC")) { +            printf("create_context error in %s: %s\n", __func__, +                   apple_cgl.error_string(err)); +         } + +         apple_cgl.destroy_pixel_format(pfobj); + +         return true; +      } + +      err = apple_cgl.set_current_context(newcontext); + +      if (kCGLNoError != err) { +         printf("set_current_context error in %s: %s\n", __func__, +                apple_cgl.error_string(err)); +         return true; +      } + + +      glGetIntegerv(GL_MAX_VIEWPORT_DIMS, ar); + +      apple_cgl.set_current_context(oldcontext); +      apple_cgl.destroy_context(newcontext); +      apple_cgl.destroy_pixel_format(pfobj); +   } +   else { +      /* We have a valid context. */ + +      glGetIntegerv(GL_MAX_VIEWPORT_DIMS, ar); +   } + +   *widthresult = ar[0]; +   *heightresult = ar[1]; + +   return false; +} + +bool +apple_glx_pbuffer_query(GLXPbuffer p, int attr, unsigned int *value) +{ +   bool result = false; +   struct apple_glx_drawable *d; +   struct apple_glx_pbuffer *pbuf; + +   d = apple_glx_drawable_find_by_type(p, APPLE_GLX_DRAWABLE_PBUFFER, +                                       APPLE_GLX_DRAWABLE_LOCK); + +   if (d) { +      pbuf = &d->types.pbuffer; + +      switch (attr) { +      case GLX_WIDTH: +         *value = pbuf->width; +         result = true; +         break; + +      case GLX_HEIGHT: +         *value = pbuf->height; +         result = true; +         break; + +      case GLX_PRESERVED_CONTENTS: +         *value = true; +         result = true; +         break; + +      case GLX_LARGEST_PBUFFER:{ +            int width, height; +            if (get_max_size(&width, &height)) { +               fprintf(stderr, "internal error: " +                       "unable to find the largest pbuffer!\n"); +            } +            else { +               *value = width; +               result = true; +            } +         } +         break; + +      case GLX_FBCONFIG_ID: +         *value = pbuf->fbconfigID; +         result = true; +         break; +      } + +      d->unlock(d); +   } + +   return result; +} + +bool +apple_glx_pbuffer_set_event_mask(GLXDrawable drawable, unsigned long mask) +{ +   struct apple_glx_drawable *d; +   bool result = false; + +   d = apple_glx_drawable_find_by_type(drawable, APPLE_GLX_DRAWABLE_PBUFFER, +                                       APPLE_GLX_DRAWABLE_LOCK); + +   if (d) { +      d->types.pbuffer.event_mask = mask; +      result = true; +      d->unlock(d); +   } + +   return result; +} + +bool +apple_glx_pbuffer_get_event_mask(GLXDrawable drawable, unsigned long *mask) +{ +   struct apple_glx_drawable *d; +   bool result = false; + +   d = apple_glx_drawable_find_by_type(drawable, APPLE_GLX_DRAWABLE_PBUFFER, +                                       APPLE_GLX_DRAWABLE_LOCK); +   if (d) { +      *mask = d->types.pbuffer.event_mask; +      result = true; +      d->unlock(d); +   } + +   return result; +} diff --git a/src/glx/apple/apple_glx_pixmap.c b/src/glx/apple/apple_glx_pixmap.c new file mode 100644 index 0000000000..af1791afb7 --- /dev/null +++ b/src/glx/apple/apple_glx_pixmap.c @@ -0,0 +1,230 @@ +/* + Copyright (c) 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <pthread.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/mman.h> +#include <unistd.h> +#include <assert.h> +#include "apple_glx.h" +#include "apple_cgl.h" +#include "apple_visual.h" +#include "apple_glx_drawable.h" +#include "appledri.h" +#include "glcontextmodes.h" + +static bool pixmap_make_current(struct apple_glx_context *ac, +                                struct apple_glx_drawable *d); + +static void pixmap_destroy(Display * dpy, struct apple_glx_drawable *d); + +static struct apple_glx_drawable_callbacks callbacks = { +   .type = APPLE_GLX_DRAWABLE_PIXMAP, +   .make_current = pixmap_make_current, +   .destroy = pixmap_destroy +}; + +static bool +pixmap_make_current(struct apple_glx_context *ac, +                    struct apple_glx_drawable *d) +{ +   CGLError cglerr; +   struct apple_glx_pixmap *p = &d->types.pixmap; + +   assert(APPLE_GLX_DRAWABLE_PIXMAP == d->type); + +   cglerr = apple_cgl.set_current_context(p->context_obj); + +   if (kCGLNoError != cglerr) { +      fprintf(stderr, "set current context: %s\n", +              apple_cgl.error_string(cglerr)); +      return true; +   } + +   cglerr = apple_cgl.set_off_screen(p->context_obj, p->width, p->height, +                                     p->pitch, p->buffer); + +   if (kCGLNoError != cglerr) { +      fprintf(stderr, "set off screen: %s\n", apple_cgl.error_string(cglerr)); + +      return true; +   } + +   if (!ac->made_current) { +      glViewport(0, 0, p->width, p->height); +      glScissor(0, 0, p->width, p->height); +      ac->made_current = true; +   } + +   return false; +} + +static void +pixmap_destroy(Display * dpy, struct apple_glx_drawable *d) +{ +   struct apple_glx_pixmap *p = &d->types.pixmap; + +   if (p->pixel_format_obj) +      (void) apple_cgl.destroy_pixel_format(p->pixel_format_obj); + +   if (p->context_obj) +      (void) apple_cgl.destroy_context(p->context_obj); + +   XAppleDRIDestroyPixmap(dpy, p->xpixmap); + +   if (p->buffer) { +      if (munmap(p->buffer, p->size)) +         perror("munmap"); + +      if (-1 == close(p->fd)) +         perror("close"); + +      if (shm_unlink(p->path)) +         perror("shm_unlink"); +   } + +   apple_glx_diagnostic("destroyed pixmap buffer for: 0x%lx\n", d->drawable); +} + +/* Return true if an error occurred. */ +bool +apple_glx_pixmap_create(Display * dpy, int screen, Pixmap pixmap, +                        const void *mode) +{ +   struct apple_glx_drawable *d; +   struct apple_glx_pixmap *p; +   bool double_buffered; +   bool uses_stereo; +   CGLError error; +   const __GLcontextModes *cmodes = mode; + +   if (apple_glx_drawable_create(dpy, screen, pixmap, &d, &callbacks)) +      return true; + +   /* d is locked and referenced at this point. */ + +   p = &d->types.pixmap; + +   p->xpixmap = pixmap; +   p->buffer = NULL; + +   if (!XAppleDRICreatePixmap(dpy, screen, pixmap, +                              &p->width, &p->height, &p->pitch, &p->bpp, +                              &p->size, p->path, PATH_MAX)) { +      d->unlock(d); +      d->destroy(d); +      return true; +   } + +   p->fd = shm_open(p->path, O_RDWR, 0); + +   if (p->fd < 0) { +      perror("shm_open"); +      d->unlock(d); +      d->destroy(d); +      return true; +   } + +   p->buffer = mmap(NULL, p->size, PROT_READ | PROT_WRITE, +                    MAP_FILE | MAP_SHARED, p->fd, 0); + +   if (MAP_FAILED == p->buffer) { +      perror("mmap"); +      d->unlock(d); +      d->destroy(d); +      return true; +   } + +   apple_visual_create_pfobj(&p->pixel_format_obj, mode, &double_buffered, +                             &uses_stereo, /*offscreen */ true); + +   error = apple_cgl.create_context(p->pixel_format_obj, NULL, +                                    &p->context_obj); + +   if (kCGLNoError != error) { +      d->unlock(d); +      d->destroy(d); +      return true; +   } + +   p->fbconfigID = cmodes->fbconfigID; + +   d->unlock(d); + +   apple_glx_diagnostic("created: pixmap buffer for 0x%lx\n", d->drawable); + +   return false; +} + +bool +apple_glx_pixmap_query(GLXPixmap pixmap, int attr, unsigned int *value) +{ +   struct apple_glx_drawable *d; +   struct apple_glx_pixmap *p; +   bool result = false; + +   d = apple_glx_drawable_find_by_type(pixmap, APPLE_GLX_DRAWABLE_PIXMAP, +                                       APPLE_GLX_DRAWABLE_LOCK); + +   if (d) { +      p = &d->types.pixmap; + +      switch (attr) { +      case GLX_WIDTH: +         *value = p->width; +         result = true; +         break; + +      case GLX_HEIGHT: +         *value = p->height; +         result = true; +         break; + +      case GLX_FBCONFIG_ID: +         *value = p->fbconfigID; +         result = true; +         break; +      } + +      d->unlock(d); +   } + +   return result; +} + +/* Return true if the type is valid for pixmap. */ +bool +apple_glx_pixmap_destroy(Display * dpy, GLXPixmap pixmap) +{ +   return !apple_glx_drawable_destroy_by_type(dpy, pixmap, +                                              APPLE_GLX_DRAWABLE_PIXMAP); +} diff --git a/src/glx/apple/apple_glx_surface.c b/src/glx/apple/apple_glx_surface.c new file mode 100644 index 0000000000..6db2910a46 --- /dev/null +++ b/src/glx/apple/apple_glx_surface.c @@ -0,0 +1,224 @@ +/* + Copyright (c) 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ +#include <assert.h> +#include "glxclient.h" +#include "apple_glx.h" +#include "appledri.h" +#include "apple_glx_drawable.h" + +static bool surface_make_current(struct apple_glx_context *ac, +                                 struct apple_glx_drawable *d); + +static void surface_destroy(Display * dpy, struct apple_glx_drawable *d); + + +static struct apple_glx_drawable_callbacks callbacks = { +   .type = APPLE_GLX_DRAWABLE_SURFACE, +   .make_current = surface_make_current, +   .destroy = surface_destroy +}; + +static void +update_viewport_and_scissor(Display * dpy, GLXDrawable drawable) +{ +   Window root; +   int x, y; +   unsigned int width = 0, height = 0, bd, depth; + +   XGetGeometry(dpy, drawable, &root, &x, &y, &width, &height, &bd, &depth); + +   glViewport(0, 0, width, height); +   glScissor(0, 0, width, height); +} + +static bool +surface_make_current(struct apple_glx_context *ac, +                     struct apple_glx_drawable *d) +{ +   struct apple_glx_surface *s = &d->types.surface; +   xp_error error; + +   assert(APPLE_GLX_DRAWABLE_SURFACE == d->type); + +   apple_glx_diagnostic("%s: ac->context_obj %p s->surface_id %u\n", +                        __func__, (void *) ac->context_obj, s->surface_id); + +   error = xp_attach_gl_context(ac->context_obj, s->surface_id); + +   if (error) { +      fprintf(stderr, "error: xp_attach_gl_context returned: %d\n", error); +      return true; +   } + + +   if (!ac->made_current) { +      /*  +       * The first time a new context is made current the glViewport +       * and glScissor should be updated. +       */ +      update_viewport_and_scissor(ac->drawable->display, +                                  ac->drawable->drawable); +      ac->made_current = true; +   } + +   apple_glx_diagnostic("%s: drawable 0x%lx\n", __func__, d->drawable); + +   return false; +} + +static void +surface_destroy(Display * dpy, struct apple_glx_drawable *d) +{ +   struct apple_glx_surface *s = &d->types.surface; + +   apple_glx_diagnostic("%s: s->surface_id %u\n", __func__, s->surface_id); + +   xp_error error = xp_destroy_surface(s->surface_id); + +   if (error) { +      fprintf(stderr, "xp_destroy_surface error: %d\n", (int) error); +   } + +   /*  +    * Check if this surface destroy came from the surface being destroyed +    * on the server.  If s->pending_destroy is true, then it did, and  +    * we don't want to try to destroy the surface on the server. +    */ +   if (!s->pending_destroy) { +      /* +       * Warning: this causes other routines to be called (potentially) +       * from surface_notify_handler.  It's probably best to not have +       * any locks at this point locked. +       */ +      XAppleDRIDestroySurface(d->display, DefaultScreen(d->display), +                              d->drawable); + +      apple_glx_diagnostic +         ("%s: destroyed a surface for drawable 0x%lx uid %u\n", __func__, +          d->drawable, s->uid); +   } +} + +/* Return true if an error occured. */ +static bool +create_surface(Display * dpy, int screen, struct apple_glx_drawable *d) +{ +   struct apple_glx_surface *s = &d->types.surface; +   unsigned int key[2]; +   xp_client_id id; + +   id = apple_glx_get_client_id(); +   if (0 == id) +      return true; + +   assert(None != d->drawable); + +   s->pending_destroy = false; + +   if (XAppleDRICreateSurface(dpy, screen, d->drawable, id, key, &s->uid)) { +      xp_error error; + +      error = xp_import_surface(key, &s->surface_id); + +      if (error) { +         fprintf(stderr, "error: xp_import_surface returned: %d\n", error); +         return true; +      } + +      apple_glx_diagnostic("%s: created a surface for drawable 0x%lx" +                           " with uid %u\n", __func__, d->drawable, s->uid); +      return false;             /*success */ +   } + +   return true;                 /* unable to create a surface. */ +} + +/* Return true if an error occured. */ +/* This returns a referenced object via resultptr. */ +bool +apple_glx_surface_create(Display * dpy, int screen, +                         GLXDrawable drawable, +                         struct apple_glx_drawable ** resultptr) +{ +   struct apple_glx_drawable *d; + +   if (apple_glx_drawable_create(dpy, screen, drawable, &d, &callbacks)) +      return true; + +   /* apple_glx_drawable_create creates a locked and referenced object. */ + +   if (create_surface(dpy, screen, d)) { +      d->unlock(d); +      d->destroy(d); +      return true; +   } + +   *resultptr = d; + +   d->unlock(d); + +   return false; +} + +/* + * All surfaces are reference counted, and surfaces are only created + * when the window is made current.  When all contexts no longer reference + * a surface drawable the apple_glx_drawable gets destroyed, and thus + * its surface is destroyed.   + * + * However we can make the destruction occur a bit sooner by setting + * pending_destroy, which is then checked for in glViewport by + * apple_glx_context_update. + */ +void +apple_glx_surface_destroy(unsigned int uid) +{ +   struct apple_glx_drawable *d; + +   d = apple_glx_drawable_find_by_uid(uid, APPLE_GLX_DRAWABLE_REFERENCE +                                      | APPLE_GLX_DRAWABLE_LOCK); + +   if (d) { +      d->types.surface.pending_destroy = true; +      d->release(d); +      /*  +       * We release 2 references to the surface.  One was acquired by +       * the find, and the other was leftover from a context, or  +       * the surface being displayed, so the destroy() will decrease it +       * once more. +       * +       * If the surface is in a context, it will take one d->destroy(d); +       * to actually destroy it when the pending_destroy is processed +       * by a glViewport callback (see apple_glx_context_update()). +       */ +      d->destroy(d); + +      d->unlock(d); +   } +} diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c new file mode 100644 index 0000000000..da5aa05fd5 --- /dev/null +++ b/src/glx/apple/apple_visual.c @@ -0,0 +1,153 @@ +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <GL/gl.h> + +/* <rdar://problem/6953344> */ +#define glTexImage1D glTexImage1D_OSX +#define glTexImage2D glTexImage2D_OSX +#define glTexImage3D glTexImage3D_OSX +#include <OpenGL/OpenGL.h> +#include <OpenGL/CGLContext.h> +#include <OpenGL/CGLRenderers.h> +#undef glTexImage1D +#undef glTexImage2D +#undef glTexImage3D + +#include "apple_cgl.h" +#include "apple_visual.h" +#include "apple_glx.h" +#include "glcontextmodes.h" + +enum +{ +   MAX_ATTR = 60 +}; + +/*mode is a __GlcontextModes*/ +void +apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const void *mode, +                          bool * double_buffered, bool * uses_stereo, +                          bool offscreen) +{ +   CGLPixelFormatAttribute attr[MAX_ATTR]; +   const __GLcontextModes *c = mode; +   int numattr = 0; +   GLint vsref = 0; +   CGLError error = 0; + +   if (offscreen) { +      apple_glx_diagnostic +         ("offscreen rendering enabled.  Using kCGLPFAOffScreen\n"); + +      attr[numattr++] = kCGLPFAOffScreen; +      attr[numattr++] = kCGLPFAColorSize; +      attr[numattr++] = 32; +   } +   else if (getenv("LIBGL_ALWAYS_SOFTWARE") != NULL) { +      apple_glx_diagnostic +         ("Software rendering requested.  Using kCGLRendererGenericFloatID.\n"); +      attr[numattr++] = kCGLPFARendererID; +      attr[numattr++] = kCGLRendererGenericFloatID; +   } +   else if (getenv("LIBGL_ALLOW_SOFTWARE") != NULL) { +      apple_glx_diagnostic +         ("Software rendering is not being excluded.  Not using kCGLPFAAccelerated.\n"); +   } +   else { +      attr[numattr++] = kCGLPFAAccelerated; +   } + +   /*  +    * The program chose a config based on the fbconfigs or visuals. +    * Those are based on the attributes from CGL, so we probably +    * do want the closest match for the color, depth, and accum. +    */ +   attr[numattr++] = kCGLPFAClosestPolicy; + +   if (c->stereoMode) { +      attr[numattr++] = kCGLPFAStereo; +      *uses_stereo = true; +   } +   else { +      *uses_stereo = false; +   } + +   if (c->doubleBufferMode) { +      attr[numattr++] = kCGLPFADoubleBuffer; +      *double_buffered = true; +   } +   else { +      *double_buffered = false; +   } + +   attr[numattr++] = kCGLPFAColorSize; +   attr[numattr++] = c->redBits + c->greenBits + c->blueBits; +   attr[numattr++] = kCGLPFAAlphaSize; +   attr[numattr++] = c->alphaBits; + +   if ((c->accumRedBits + c->accumGreenBits + c->accumBlueBits) > 0) { +      attr[numattr++] = kCGLPFAAccumSize; +      attr[numattr++] = c->accumRedBits + c->accumGreenBits + +         c->accumBlueBits + c->accumAlphaBits; +   } + +   if (c->depthBits > 0) { +      attr[numattr++] = kCGLPFADepthSize; +      attr[numattr++] = c->depthBits; +   } + +   if (c->stencilBits > 0) { +      attr[numattr++] = kCGLPFAStencilSize; +      attr[numattr++] = c->stencilBits; +   } + +   if (c->sampleBuffers > 0) { +      attr[numattr++] = kCGLPFAMultisample; +      attr[numattr++] = kCGLPFASampleBuffers; +      attr[numattr++] = c->sampleBuffers; +      attr[numattr++] = kCGLPFASamples; +      attr[numattr++] = c->samples; +   } + +   attr[numattr++] = 0; + +   assert(numattr < MAX_ATTR); + +   error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); + +   if (error) { +      fprintf(stderr, "error: %s\n", apple_cgl.error_string(error)); +      abort(); +   } +} diff --git a/src/glx/apple/apple_visual.h b/src/glx/apple/apple_visual.h new file mode 100644 index 0000000000..ebfafa340b --- /dev/null +++ b/src/glx/apple/apple_visual.h @@ -0,0 +1,41 @@ +/* + Copyright (c) 2008 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#ifndef APPLE_VISUAL_H +#define APPLE_VISUAL_H + +#include <stdbool.h> +#include <OpenGL/CGLTypes.h> + +/* mode is expected to be of type __GLcontextModes. */ +void apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const void *mode, +                               bool * double_buffered, bool * uses_stereo, +                               bool offscreen); + +#endif diff --git a/src/glx/apple/apple_xgl_api_additional.c b/src/glx/apple/apple_xgl_api_additional.c new file mode 100644 index 0000000000..7d40afe1d7 --- /dev/null +++ b/src/glx/apple/apple_xgl_api_additional.c @@ -0,0 +1,37 @@ +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#define GL_GLEXT_PROTOTYPES +#include <GL/gl.h> + +GLAPI void APIENTRY glTexImage3DEXT(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei + depth, GLint border, GLenum format, GLenum type, const void * pixels) { +         glTexImage3D(target, level, (GLint)internalformat, width, height, depth, border, format, type, pixels); +} + diff --git a/src/glx/apple/apple_xgl_api_read.c b/src/glx/apple/apple_xgl_api_read.c new file mode 100644 index 0000000000..0798f45bbf --- /dev/null +++ b/src/glx/apple/apple_xgl_api_read.c @@ -0,0 +1,133 @@ +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +/* + * This file works with the glXMakeContextCurrent readable drawable.  + * + * The way it works is by swapping the currentDrawable for the currentReadable + * drawable if they are different. + */ +#include <stdbool.h> +#include "glxclient.h" +#include "apple_glx_context.h" +#include "apple_xgl_api.h" + +extern struct apple_xgl_api __gl_api; + +struct apple_xgl_saved_state +{ +   bool swapped; +}; + +static void +SetRead(struct apple_xgl_saved_state *saved) +{ +   GLXContext gc = __glXGetCurrentContext(); + +   /* +    * By default indicate that the state was not swapped, so that UnsetRead +    * functions correctly. +    */ +   saved->swapped = false; + +   /*  +    * If the readable drawable isn't the same as the drawable then  +    * the user has requested a readable drawable with glXMakeContextCurrent(). +    * We emulate this behavior by switching the current drawable. +    */ +   if (None != gc->currentReadable +       && gc->currentReadable != gc->currentDrawable) { +      Display *dpy = glXGetCurrentDisplay(); + +      saved->swapped = true; + +      if (apple_glx_make_current_context(dpy, gc->driContext, gc->driContext, +                                         gc->currentReadable)) { +         /* An error occurred, so try to restore the old context state. */ +         (void) apple_glx_make_current_context(dpy, gc->driContext, gc->driContext, +                                               gc->currentDrawable); +         saved->swapped = false; +      } +   } +} + +static void +UnsetRead(struct apple_xgl_saved_state *saved) +{ +   if (saved->swapped) { +      GLXContext gc = __glXGetCurrentContext(); +      Display *dpy = glXGetCurrentDisplay(); + +      if (apple_glx_make_current_context(dpy, gc->driContext, gc->driContext, +                                         gc->currentDrawable)) { +         /* +          * An error occurred restoring the drawable. +          * It's unclear what to do about that.  +          */ +      } +   } +} + +void +glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, +             GLenum format, GLenum type, void *pixels) +{ +   struct apple_xgl_saved_state saved; + +   SetRead(&saved); + +   __gl_api.ReadPixels(x, y, width, height, format, type, pixels); + +   UnsetRead(&saved); +} + +void +glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) +{ +   struct apple_xgl_saved_state saved; + +   SetRead(&saved); + +   __gl_api.CopyPixels(x, y, width, height, type); + +   UnsetRead(&saved); +} + +void +glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, +                 GLsizei width) +{ +   struct apple_xgl_saved_state saved; + +   SetRead(&saved); + +   __gl_api.CopyColorTable(target, internalformat, x, y, width); + +   UnsetRead(&saved); +} diff --git a/src/glx/apple/apple_xgl_api_stereo.c b/src/glx/apple/apple_xgl_api_stereo.c new file mode 100644 index 0000000000..64a15f7486 --- /dev/null +++ b/src/glx/apple/apple_xgl_api_stereo.c @@ -0,0 +1,128 @@ +/* + Copyright (c) 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +/* This should be removed once stereo hardware bugs are fixed + * <rdar://problem/6729006> + */ + +#include <stdbool.h> + +#define GL_GLEXT_PROTOTYPES +#include <GL/gl.h> +#include <GL/glext.h> + +#include "glxclient.h" +#include "apple_glx_context.h" +#include "apple_xgl_api.h" + +extern struct apple_xgl_api __gl_api; +/*  + * These are special functions for stereoscopic support  + * differences in MacOS X. + */ +void +glDrawBuffer(GLenum mode) +{ +   GLXContext gc = glXGetCurrentContext(); + +   if (gc && apple_glx_context_uses_stereo(gc->driContext)) { +      GLenum buf[2]; +      GLsizei n = 0; + +      switch (mode) { +      case GL_BACK: +         buf[0] = GL_BACK_LEFT; +         buf[1] = GL_BACK_RIGHT; +         n = 2; +         break; +      case GL_FRONT: +         buf[0] = GL_FRONT_LEFT; +         buf[1] = GL_FRONT_RIGHT; +         n = 2; +         break; + +      default: +         buf[0] = mode; +         n = 1; +         break; +      } + +      __gl_api.DrawBuffers(n, buf); +   } +   else { +      __gl_api.DrawBuffer(mode); +   } +} + + +void +glDrawBuffers(GLsizei n, const GLenum * bufs) +{ +   GLXContext gc = glXGetCurrentContext(); + +   if (gc && apple_glx_context_uses_stereo(gc->driContext)) { +      GLenum newbuf[n + 2]; +      GLsizei i, outi = 0; +      bool have_back = false; +      bool have_front = false; + +      for (i = 0; i < n; ++i) { +         if (GL_BACK == bufs[i]) { +            have_back = true; +         } +         else if (GL_FRONT == bufs[i]) { +            have_back = true; +         } +         else { +            newbuf[outi++] = bufs[i]; +         } +      } + +      if (have_back) { +         newbuf[outi++] = GL_BACK_LEFT; +         newbuf[outi++] = GL_BACK_RIGHT; +      } + +      if (have_front) { +         newbuf[outi++] = GL_FRONT_LEFT; +         newbuf[outi++] = GL_FRONT_RIGHT; +      } + +      __gl_api.DrawBuffers(outi, newbuf); +   } +   else { +      __gl_api.DrawBuffers(n, bufs); +   } +} + +void +glDrawBuffersARB(GLsizei n, const GLenum * bufs) +{ +   glDrawBuffers(n, bufs); +} diff --git a/src/glx/apple/apple_xgl_api_viewport.c b/src/glx/apple/apple_xgl_api_viewport.c new file mode 100644 index 0000000000..e39ab15223 --- /dev/null +++ b/src/glx/apple/apple_xgl_api_viewport.c @@ -0,0 +1,46 @@ +/* + Copyright (c) 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ + +#include "glxclient.h" +#include "apple_glx_context.h" +#include "apple_xgl_api.h" + +extern struct apple_xgl_api __gl_api; + +void +glViewport(GLint x, GLint y, GLsizei width, GLsizei height) +{ +   GLXContext gc = __glXGetCurrentContext(); +   Display *dpy = glXGetCurrentDisplay(); + +   if (gc && gc->driContext) +      apple_glx_context_update(dpy, gc->driContext); + +   __gl_api.Viewport(x, y, width, height); +} diff --git a/src/glx/apple/appledri.c b/src/glx/apple/appledri.c new file mode 100644 index 0000000000..4f2e8f9914 --- /dev/null +++ b/src/glx/apple/appledri.c @@ -0,0 +1,452 @@ +/* $XFree86: xc/lib/GL/dri/XF86dri.c,v 1.12 2001/08/27 17:40:57 dawes Exp $ */ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright 2000 VA Linux Systems, Inc. +Copyright (c) 2002, 2008 Apple Computer, Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +/* + * Authors: + *   Kevin E. Martin <martin@valinux.com> + *   Jens Owen <jens@valinux.com> + *   Rickard E. (Rik) Faith <faith@valinux.com> + * + */ + +/* THIS IS NOT AN X CONSORTIUM STANDARD */ + +#define NEED_EVENTS +#define NEED_REPLIES +#include <X11/Xlibint.h> +#include "appledristr.h" +#include <X11/extensions/Xext.h> +#include <X11/extensions/extutil.h> +#include <stdio.h> + +static XExtensionInfo _appledri_info_data; +static XExtensionInfo *appledri_info = &_appledri_info_data; +static char *appledri_extension_name = APPLEDRINAME; + +#define AppleDRICheckExtension(dpy,i,val) \ +  XextCheckExtension (dpy, i, appledri_extension_name, val) + +/***************************************************************************** + *                                                                           * + *			   private utility routines                          * + *                                                                           * + *****************************************************************************/ + +static int close_display(Display * dpy, XExtCodes * extCodes); +static Bool wire_to_event(Display * dpy, XEvent * re, xEvent * event); + +static /* const */ XExtensionHooks appledri_extension_hooks = { +   NULL,                        /* create_gc */ +   NULL,                        /* copy_gc */ +   NULL,                        /* flush_gc */ +   NULL,                        /* free_gc */ +   NULL,                        /* create_font */ +   NULL,                        /* free_font */ +   close_display,               /* close_display */ +   wire_to_event,               /* wire_to_event */ +   NULL,                        /* event_to_wire */ +   NULL,                        /* error */ +   NULL,                        /* error_string */ +}; + +static +XEXT_GENERATE_FIND_DISPLAY(find_display, appledri_info, +                           appledri_extension_name, +                           &appledri_extension_hooks, +                           AppleDRINumberEvents, NULL) + +     static XEXT_GENERATE_CLOSE_DISPLAY(close_display, appledri_info) + +     static void (*surface_notify_handler) (); + +     void *XAppleDRISetSurfaceNotifyHandler(void (*fun) ()) +{ +   void *old = surface_notify_handler; +   surface_notify_handler = fun; +   return old; +} + +static Bool +wire_to_event(Display *dpy, XEvent *re, xEvent *event) +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRINotifyEvent *sevent; + +   AppleDRICheckExtension(dpy, info, False); + +   switch ((event->u.u.type & 0x7f) - info->codes->first_event) { +   case AppleDRISurfaceNotify: +      sevent = (xAppleDRINotifyEvent *) event; +      if (surface_notify_handler != NULL) { +         (*surface_notify_handler) (dpy, (unsigned int) sevent->arg, +                                    (int) sevent->kind); +      } +      return False; +   } +   return False; +} + +/***************************************************************************** + *                                                                           * + *		    public Apple-DRI Extension routines                      * + *                                                                           * + *****************************************************************************/ + +#if 0 +#include <stdio.h> +#define TRACE(msg)  fprintf(stderr, "AppleDRI%s\n", msg); +#else +#define TRACE(msg) +#endif + + +Bool +XAppleDRIQueryExtension(dpy, event_basep, error_basep) +     Display *dpy; +     int *event_basep, *error_basep; +{ +   XExtDisplayInfo *info = find_display(dpy); + +   TRACE("QueryExtension..."); +   if (XextHasExtension(info)) { +      *event_basep = info->codes->first_event; +      *error_basep = info->codes->first_error; +      TRACE("QueryExtension... return True"); +      return True; +   } +   else { +      TRACE("QueryExtension... return False"); +      return False; +   } +} + +Bool +XAppleDRIQueryVersion(dpy, majorVersion, minorVersion, patchVersion) +     Display *dpy; +     int *majorVersion; +     int *minorVersion; +     int *patchVersion; +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRIQueryVersionReply rep; +   xAppleDRIQueryVersionReq *req; + +   TRACE("QueryVersion..."); +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRIQueryVersion, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRIQueryVersion; +   if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) { +      UnlockDisplay(dpy); +      SyncHandle(); +      TRACE("QueryVersion... return False"); +      return False; +   } +   *majorVersion = rep.majorVersion; +   *minorVersion = rep.minorVersion; +   *patchVersion = rep.patchVersion; +   UnlockDisplay(dpy); +   SyncHandle(); +   TRACE("QueryVersion... return True"); +   return True; +} + +Bool +XAppleDRIQueryDirectRenderingCapable(dpy, screen, isCapable) +     Display *dpy; +     int screen; +     Bool *isCapable; +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRIQueryDirectRenderingCapableReply rep; +   xAppleDRIQueryDirectRenderingCapableReq *req; + +   TRACE("QueryDirectRenderingCapable..."); +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRIQueryDirectRenderingCapable, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRIQueryDirectRenderingCapable; +   req->screen = screen; +   if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) { +      UnlockDisplay(dpy); +      SyncHandle(); +      TRACE("QueryDirectRenderingCapable... return False"); +      return False; +   } +   *isCapable = rep.isCapable; +   UnlockDisplay(dpy); +   SyncHandle(); +   TRACE("QueryDirectRenderingCapable... return True"); +   return True; +} + +Bool +XAppleDRIAuthConnection(dpy, screen, magic) +     Display *dpy; +     int screen; +     unsigned int magic; +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRIAuthConnectionReq *req; +   xAppleDRIAuthConnectionReply rep; + +   TRACE("AuthConnection..."); +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRIAuthConnection, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRIAuthConnection; +   req->screen = screen; +   req->magic = magic; +   rep.authenticated = 0; +   if (!_XReply(dpy, (xReply *) & rep, 0, xFalse) || !rep.authenticated) { +      UnlockDisplay(dpy); +      SyncHandle(); +      TRACE("AuthConnection... return False"); +      return False; +   } +   UnlockDisplay(dpy); +   SyncHandle(); +   TRACE("AuthConnection... return True"); +   return True; +} + +Bool +XAppleDRICreateSurface(dpy, screen, drawable, client_id, key, uid) +     Display *dpy; +     int screen; +     Drawable drawable; +     unsigned int client_id; +     unsigned int *key; +     unsigned int *uid; +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRICreateSurfaceReply rep; +   xAppleDRICreateSurfaceReq *req; + +   TRACE("CreateSurface..."); +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRICreateSurface, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRICreateSurface; +   req->screen = screen; +   req->drawable = drawable; +   req->client_id = client_id; +   rep.key_0 = rep.key_1 = rep.uid = 0; +   if (!_XReply(dpy, (xReply *) & rep, 0, xFalse) || !rep.key_0) { +      UnlockDisplay(dpy); +      SyncHandle(); +      TRACE("CreateSurface... return False"); +      return False; +   } +   key[0] = rep.key_0; +   key[1] = rep.key_1; +   *uid = rep.uid; +   UnlockDisplay(dpy); +   SyncHandle(); +   TRACE("CreateSurface... return True"); +   return True; +} + +Bool +XAppleDRIDestroySurface(dpy, screen, drawable) +     Display *dpy; +     int screen; +     Drawable drawable; +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRIDestroySurfaceReq *req; + +   TRACE("DestroySurface..."); +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRIDestroySurface, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRIDestroySurface; +   req->screen = screen; +   req->drawable = drawable; +   UnlockDisplay(dpy); +   SyncHandle(); +   TRACE("DestroySurface... return True"); +   return True; +} + +Bool +XAppleDRICreateSharedBuffer(Display * dpy, int screen, Drawable drawable, +                            Bool doubleSwap, char *path, size_t pathlen, +                            int *width, int *height) +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRICreateSharedBufferReq *req; +   xAppleDRICreateSharedBufferReply rep; + +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRICreateSharedBuffer, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRICreateSharedBuffer; +   req->screen = screen; +   req->drawable = drawable; +   req->doubleSwap = doubleSwap; + + +   if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) { +      puts("REPLY ERROR"); + +      UnlockDisplay(dpy); +      SyncHandle(); +      return False; +   } + +   printf("rep.stringLength %d\n", (int) rep.stringLength); + +   if (rep.stringLength > 0 && rep.stringLength <= pathlen) { +      _XReadPad(dpy, path, rep.stringLength); + +      printf("path: %s\n", path); + +      *width = rep.width; +      *height = rep.height; + +      UnlockDisplay(dpy); +      SyncHandle(); +      return True; +   } + +   UnlockDisplay(dpy); +   SyncHandle(); + +   return False; +} + +Bool +XAppleDRISwapBuffers(Display * dpy, int screen, Drawable drawable) +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRISwapBuffersReq *req; + +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRISwapBuffers, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRISwapBuffers; +   req->screen = screen; +   req->drawable = drawable; +   UnlockDisplay(dpy); +   SyncHandle(); + +   return True; +} + +Bool +XAppleDRICreatePixmap(Display * dpy, int screen, Drawable drawable, +                      int *width, int *height, int *pitch, int *bpp, +                      size_t * size, char *bufname, size_t bufnamesize) +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRICreatePixmapReq *req; +   xAppleDRICreatePixmapReply rep; + +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRICreatePixmap, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRICreatePixmap; +   req->screen = screen; +   req->drawable = drawable; + +   if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) { +      UnlockDisplay(dpy); +      SyncHandle(); +      return False; +   } + +   /* +      printf("rep.stringLength %d\n", (int) rep.stringLength); +    */ + +   if (rep.stringLength > 0 && rep.stringLength <= bufnamesize) { +      _XReadPad(dpy, bufname, rep.stringLength); + +      printf("path: %s\n", bufname); + +      *width = rep.width; +      *height = rep.height; +      *pitch = rep.pitch; +      *bpp = rep.bpp; +      *size = rep.size; + +      UnlockDisplay(dpy); +      SyncHandle(); +      return True; +   } +   else if (rep.stringLength > 0) { +      _XEatData(dpy, rep.stringLength); +   } + +   UnlockDisplay(dpy); +   SyncHandle(); + +   return True; +} + +/*  + * Call it a drawable, because we really don't know what it is + * until it reaches the server, and we should keep that in mind. + */ +Bool +XAppleDRIDestroyPixmap(Display * dpy, Pixmap drawable) +{ +   XExtDisplayInfo *info = find_display(dpy); +   xAppleDRIDestroyPixmapReq *req; + +   AppleDRICheckExtension(dpy, info, False); + +   LockDisplay(dpy); +   GetReq(AppleDRIDestroyPixmap, req); +   req->reqType = info->codes->major_opcode; +   req->driReqType = X_AppleDRIDestroyPixmap; +   req->drawable = drawable; +   UnlockDisplay(dpy); +   SyncHandle(); + +   return True; +} diff --git a/src/glx/apple/appledri.h b/src/glx/apple/appledri.h new file mode 100644 index 0000000000..0108378ca3 --- /dev/null +++ b/src/glx/apple/appledri.h @@ -0,0 +1,124 @@ +/* $XFree86: xc/lib/GL/dri/xf86dri.h,v 1.7 2000/12/07 20:26:02 dawes Exp $ */ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright 2000 VA Linux Systems, Inc. +Copyright (c) 2002, 2008, 2009 Apple Computer, Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +/* + * Authors: + *   Kevin E. Martin <martin@valinux.com> + *   Jens Owen <jens@valinux.com> + *   Rickard E. (Rik) Faith <faith@valinux.com> + * + */ + +#ifndef _APPLEDRI_H_ +#define _APPLEDRI_H_ + +#include <X11/Xlib.h> +#include <X11/Xfuncproto.h> + +#define X_AppleDRIQueryVersion			0 +#define X_AppleDRIQueryDirectRenderingCapable	1 +#define X_AppleDRICreateSurface			2 +#define X_AppleDRIDestroySurface		3 +#define X_AppleDRIAuthConnection                4 +#define X_AppleDRICreateSharedBuffer            5 +#define X_AppleDRISwapBuffers                   6 +#define X_AppleDRICreatePixmap                  7 +#define X_AppleDRIDestroyPixmap                 8 + +/* Requests up to and including 18 were used in a previous version */ + +/* Events */ +#define AppleDRIObsoleteEvent1		0 +#define AppleDRIObsoleteEvent2		1 +#define AppleDRIObsoleteEvent3		2 +#define AppleDRISurfaceNotify		3 +#define AppleDRINumberEvents		4 + +/* Errors */ +#define AppleDRIClientNotLocal		0 +#define AppleDRIOperationNotSupported	1 +#define AppleDRINumberErrors		(AppleDRIOperationNotSupported + 1) + +/* Kinds of SurfaceNotify events: */ +#define AppleDRISurfaceNotifyChanged	0 +#define AppleDRISurfaceNotifyDestroyed	1 + +#ifndef _APPLEDRI_SERVER_ + +typedef struct +{ +   int type;                    /* of event */ +   unsigned long serial;        /* # of last request processed by server */ +   Bool send_event;             /* true if this came frome a SendEvent request */ +   Display *display;            /* Display the event was read from */ +   Window window;               /* window of event */ +   Time time;                   /* server timestamp when event happened */ +   int kind;                    /* subtype of event */ +   int arg; +} XAppleDRINotifyEvent; + +_XFUNCPROTOBEGIN +   Bool XAppleDRIQueryExtension(Display * dpy, int *event_base, +                                int *error_base); + +Bool XAppleDRIQueryVersion(Display * dpy, int *majorVersion, +                           int *minorVersion, int *patchVersion); + +Bool XAppleDRIQueryDirectRenderingCapable(Display * dpy, int screen, +                                          Bool * isCapable); + +void *XAppleDRISetSurfaceNotifyHandler(void (*fun) (Display * dpy, +                                                    unsigned uid, int kind)); + +Bool XAppleDRIAuthConnection(Display * dpy, int screen, unsigned int magic); + +Bool XAppleDRICreateSurface(Display * dpy, int screen, Drawable drawable, +                            unsigned int client_id, unsigned int key[2], +                            unsigned int *uid); + +Bool XAppleDRIDestroySurface(Display * dpy, int screen, Drawable drawable); + +Bool XAppleDRISynchronizeSurfaces(Display * dpy); + +Bool XAppleDRICreateSharedBuffer(Display * dpy, int screen, Drawable drawable, +                                 Bool doubleSwap, char *path, size_t pathlen, +                                 int *width, int *height); + +Bool XAppleDRISwapBuffers(Display * dpy, int screen, Drawable drawable); + +Bool XAppleDRICreatePixmap(Display * dpy, int screen, Drawable drawable, +                           int *width, int *height, int *pitch, int *bpp, +                           size_t * size, char *bufname, size_t bufnamesize); + +Bool XAppleDRIDestroyPixmap(Display * dpy, Pixmap pixmap); + +_XFUNCPROTOEND +#endif /* _APPLEDRI_SERVER_ */ +#endif /* _APPLEDRI_H_ */ diff --git a/src/glx/apple/appledristr.h b/src/glx/apple/appledristr.h new file mode 100644 index 0000000000..b5ffe5b46a --- /dev/null +++ b/src/glx/apple/appledristr.h @@ -0,0 +1,266 @@ +/************************************************************************** + +Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +Copyright 2000 VA Linux Systems, Inc. +Copyright (c) 2002, 2008, 2009 Apple Computer, Inc. +All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sub license, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. +IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +**************************************************************************/ + +/* + * Authors: + *   Kevin E. Martin <martin@valinux.com> + *   Jens Owen <jens@valinux.com> + *   Rickard E. (Rik) Fiath <faith@valinux.com> + * + */ + +#ifndef _APPLEDRISTR_H_ +#define _APPLEDRISTR_H_ + +#include "appledri.h" + +#define APPLEDRINAME "Apple-DRI" + +#define APPLE_DRI_MAJOR_VERSION	1       /* current version numbers */ +#define APPLE_DRI_MINOR_VERSION	0 +#define APPLE_DRI_PATCH_VERSION	0 + +typedef struct _AppleDRIQueryVersion +{ +   CARD8 reqType;               /* always DRIReqCode */ +   CARD8 driReqType;            /* always X_DRIQueryVersion */ +   CARD16 length B16; +} xAppleDRIQueryVersionReq; +#define sz_xAppleDRIQueryVersionReq	4 + +typedef struct +{ +   BYTE type;                   /* X_Reply */ +   BOOL pad1; +   CARD16 sequenceNumber B16; +   CARD32 length B32; +   CARD16 majorVersion B16;     /* major version of DRI protocol */ +   CARD16 minorVersion B16;     /* minor version of DRI protocol */ +   CARD32 patchVersion B32;     /* patch version of DRI protocol */ +   CARD32 pad3 B32; +   CARD32 pad4 B32; +   CARD32 pad5 B32; +   CARD32 pad6 B32; +} xAppleDRIQueryVersionReply; +#define sz_xAppleDRIQueryVersionReply	32 + +typedef struct _AppleDRIQueryDirectRenderingCapable +{ +   CARD8 reqType;               /* always DRIReqCode */ +   CARD8 driReqType;            /* X_DRIQueryDirectRenderingCapable */ +   CARD16 length B16; +   CARD32 screen B32; +} xAppleDRIQueryDirectRenderingCapableReq; +#define sz_xAppleDRIQueryDirectRenderingCapableReq	8 + +typedef struct +{ +   BYTE type;                   /* X_Reply */ +   BOOL pad1; +   CARD16 sequenceNumber B16; +   CARD32 length B32; +   BOOL isCapable; +   BOOL pad2; +   BOOL pad3; +   BOOL pad4; +   CARD32 pad5 B32; +   CARD32 pad6 B32; +   CARD32 pad7 B32; +   CARD32 pad8 B32; +   CARD32 pad9 B32; +} xAppleDRIQueryDirectRenderingCapableReply; +#define sz_xAppleDRIQueryDirectRenderingCapableReply	32 + +typedef struct _AppleDRIAuthConnection +{ +   CARD8 reqType;               /* always DRIReqCode */ +   CARD8 driReqType;            /* always X_DRICloseConnection */ +   CARD16 length B16; +   CARD32 screen B32; +   CARD32 magic B32; +} xAppleDRIAuthConnectionReq; +#define sz_xAppleDRIAuthConnectionReq	12 + +typedef struct +{ +   BYTE type; +   BOOL pad1; +   CARD16 sequenceNumber B16; +   CARD32 length B32; +   CARD32 authenticated B32; +   CARD32 pad2 B32; +   CARD32 pad3 B32; +   CARD32 pad4 B32; +   CARD32 pad5 B32; +   CARD32 pad6 B32; +} xAppleDRIAuthConnectionReply; +#define zx_xAppleDRIAuthConnectionReply  32 + +typedef struct _AppleDRICreateSurface +{ +   CARD8 reqType;               /* always DRIReqCode */ +   CARD8 driReqType;            /* always X_DRICreateSurface */ +   CARD16 length B16; +   CARD32 screen B32; +   CARD32 drawable B32; +   CARD32 client_id B32; +} xAppleDRICreateSurfaceReq; +#define sz_xAppleDRICreateSurfaceReq	16 + +typedef struct +{ +   BYTE type;                   /* X_Reply */ +   BOOL pad1; +   CARD16 sequenceNumber B16; +   CARD32 length B32; +   CARD32 key_0 B32; +   CARD32 key_1 B32; +   CARD32 uid B32; +   CARD32 pad4 B32; +   CARD32 pad5 B32; +   CARD32 pad6 B32; +} xAppleDRICreateSurfaceReply; +#define sz_xAppleDRICreateSurfaceReply	32 + +typedef struct _AppleDRIDestroySurface +{ +   CARD8 reqType;               /* always DRIReqCode */ +   CARD8 driReqType;            /* always X_DRIDestroySurface */ +   CARD16 length B16; +   CARD32 screen B32; +   CARD32 drawable B32; +} xAppleDRIDestroySurfaceReq; +#define sz_xAppleDRIDestroySurfaceReq	12 + +typedef struct _AppleDRINotify +{ +   BYTE type;                   /* always eventBase + event type */ +   BYTE kind; +   CARD16 sequenceNumber B16; +   CARD32 time B32;             /* time of change */ +   CARD32 pad1 B32; +   CARD32 arg B32; +   CARD32 pad3 B32; +   CARD32 pad4 B32; +   CARD32 pad5 B32; +   CARD32 pad6 B32; +} xAppleDRINotifyEvent; +#define sz_xAppleDRINotifyEvent	32 + + +typedef struct +{ +   CARD8 reqType; +   CARD8 driReqType; +   CARD16 length B16; +   CARD32 screen B32; +   CARD32 drawable B32; +   BOOL doubleSwap; +   CARD8 pad1, pad2, pad3; +} xAppleDRICreateSharedBufferReq; + +#define sz_xAppleDRICreateSharedBufferReq 16 + +typedef struct +{ +   BYTE type; +   BYTE data1; +   CARD16 sequenceNumber B16; +   CARD32 length B32; +   CARD32 stringLength B32;     /* 0 on error */ +   CARD32 width B32; +   CARD32 height B32; +   CARD32 pad1 B32; +   CARD32 pad2 B32; +   CARD32 pad3 B32; +} xAppleDRICreateSharedBufferReply; + +#define sz_xAppleDRICreateSharedBufferReply 32 + +typedef struct +{ +   CARD8 reqType; +   CARD8 driReqType; +   CARD16 length B16; +   CARD32 screen B32; +   CARD32 drawable B32; +} xAppleDRISwapBuffersReq; + +#define sz_xAppleDRISwapBuffersReq 12 + +typedef struct +{ +   CARD8 reqType;               /*1 */ +   CARD8 driReqType;            /*2 */ +   CARD16 length B16;           /*4 */ +   CARD32 screen B32;           /*8 */ +   CARD32 drawable B32;         /*12 */ +} xAppleDRICreatePixmapReq; + +#define sz_xAppleDRICreatePixmapReq 12 + +typedef struct +{ +   BYTE type;                   /*1 */ +   BOOL pad1;                   /*2 */ +   CARD16 sequenceNumber B16;   /*4 */ +   CARD32 length B32;           /*8 */ +   CARD32 width B32;            /*12 */ +   CARD32 height B32;           /*16 */ +   CARD32 pitch B32;            /*20 */ +   CARD32 bpp B32;              /*24 */ +   CARD32 size B32;             /*28 */ +   CARD32 stringLength B32;     /*32 */ +} xAppleDRICreatePixmapReply; + +#define sz_xAppleDRICreatePixmapReply 32 + +typedef struct +{ +   CARD8 reqType;               /*1 */ +   CARD8 driReqType;            /*2 */ +   CARD16 length B16;           /*4 */ +   CARD32 drawable B32;         /*8 */ +} xAppleDRIDestroyPixmapReq; + +#define sz_xAppleDRIDestroyPixmapReq 8 + +#ifdef _APPLEDRI_SERVER_ + +void AppleDRISendEvent( +#if NeedFunctionPrototypes +                         int /* type */ , +                         unsigned int /* mask */ , +                         int /* which */ , +                         int    /* arg */ +#endif +   ); + +#endif /* _APPLEDRI_SERVER_ */ +#endif /* _APPLEDRISTR_H_ */ diff --git a/src/glx/apple/gen_api_header.tcl b/src/glx/apple/gen_api_header.tcl new file mode 100644 index 0000000000..9e986de504 --- /dev/null +++ b/src/glx/apple/gen_api_header.tcl @@ -0,0 +1,86 @@ + +package require Tcl 8.5 + +set license { +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ +} + +set this_script [info script] + +proc main {argc argv} { +    if {2 != $argc} { +	puts stderr "syntax is: [set ::this_script] serialized-array-file output.h" +	return 1 +    } + +    set fd [open [lindex $argv 0] r] +    array set api [read $fd] +    close $fd +     +    set fd [open [lindex $argv 1] w] +     +    puts $fd "/* This file was automatically generated by [set ::this_script]. */" +    puts $fd $::license + +    puts $fd " +#ifndef APPLE_XGL_API_H +#define APPLE_XGL_API_H +" +     +    puts $fd "struct apple_xgl_api \{" + +    set sorted [lsort -dictionary [array names api]] + +    foreach f $sorted { +	set attr $api($f) +	set pstr "" + +	if {[dict exists $attr alias_for] || [dict exists $attr noop]} { +	    #Skip this function. +	    continue +	} + +	foreach p [dict get $attr parameters] { +	    append pstr "[lindex $p 0] [lindex $p 1], " +	} + +	set pstr [string trimright $pstr ", "] +	puts $fd "\t[dict get $attr return] (*[set f])([set pstr]);" +    } + +    puts $fd "\};" +    puts $fd "void apple_xgl_init_direct(void); + +#endif /*APPLE_XGL_API_H*/ +" +     +    return 0     +} +exit [main $::argc $::argv]
\ No newline at end of file diff --git a/src/glx/apple/gen_api_library.tcl b/src/glx/apple/gen_api_library.tcl new file mode 100644 index 0000000000..159f9c085f --- /dev/null +++ b/src/glx/apple/gen_api_library.tcl @@ -0,0 +1,212 @@ +package require Tcl 8.5 + +set license { +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ +} + +set gl_license { +/* +** License Applicability. Except to the extent portions of this file are +** made subject to an alternative license as permitted in the SGI Free +** Software License B, Version 1.1 (the "License"), the contents of this +** file are subject only to the provisions of the License. You may not use +** this file except in compliance with the License. You may obtain a copy +** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 +** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: +**  +** http://oss.sgi.com/projects/FreeB +**  +** Note that, as provided in the License, the Software is distributed on an +** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS +** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND +** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A +** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. +**  +** Original Code. The Original Code is: OpenGL Sample Implementation, +** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, +** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. +** Copyright in any portions created by third parties is as indicated +** elsewhere herein. All Rights Reserved. +**  +** Additional Notice Provisions: This software was created using the +** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has +** not been independently verified as being compliant with the OpenGL(R) +** version 1.2.1 Specification. +*/ +} + +set init_code { +static void *glsym(void *handle, const char *name) {  +    void *sym = dlsym(handle, name); + +    if(NULL == sym) { +	fprintf(stderr, "Error: symbol not found: '%s'.  " +		"Error information: %s\n", +		name, dlerror()); +	abort(); +    } + +    return sym; +} + +} + +set dlopen_code { +#ifndef LIBGLNAME +#define LIBGLNAME "/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib" +#endif LIBGLNAME + +    (void)dlerror(); /*drain dlerror()*/ + +    handle = dlopen(LIBGLNAME, RTLD_LAZY); +     +    if(NULL == handle) { +	fprintf(stderr, "error: unable to dlopen " +		LIBGLNAME " :" "%s\n", dlerror()); +	abort(); +    } +} + +set this_script [info script] + +proc main {argc argv} { +    if {2 != $argc} { +	puts stderr "syntax is: [set ::this_script] serialized-array-file output.c" +	return 1 +    } + +     +    set fd [open [lindex $argv 0] r] +    array set api [read $fd] +    close $fd + +    set fd [open [lindex $argv 1] w] +     +    puts $fd "/* This file was automatically generated by [set ::this_script]. */" +    puts $fd $::license + +    puts $fd { +#define GL_GLEXT_PROTOTYPES +#include <GL/gl.h> +#include <dlfcn.h> +#include "glxclient.h" +#include "apple_xgl_api.h" +#include "apple_glx_context.h" +    } + +    puts $fd "struct apple_xgl_api __gl_api;" +     +    set sorted [lsort -dictionary [array names api]] +     +    set exclude [list DrawBuffer DrawBuffers DrawBuffersARB] + +    #These are special to glXMakeContextCurrent. +    #See also: apple_xgl_api_read.c.     +    lappend exclude ReadPixels CopyPixels CopyColorTable  +     +    #This is excluded to work with surface updates. +    lappend exclude Viewport +     +    foreach f $sorted { +	if {$f in $exclude} { +	    continue +	} + +	set attr $api($f) + +        set pstr "" + +        foreach p [dict get $attr parameters] { +            append pstr "[lindex $p 0] [lindex $p 1], " +        } + +	set pstr [string trimright $pstr ", "] + +	if {![string length $pstr]} { +	    set pstr void +	} + +	set callvars "" + +	foreach p [dict get $attr parameters] { +	    append callvars "[lindex $p end], " +	} + +	set callvars [string trimright $callvars ", "] + +	set return "" +	if {"void" ne [dict get $attr return]} { +	    set return "return " +	} + +	if {[dict exists $attr noop]} { +	    if {"void" eq [dict get $attr return]} { +		set body "/*noop*/" +	    } else { +		set body "return 0; /*noop*/" +	    } +	} elseif {[dict exists $attr alias_for]} { +	    set alias [dict get $attr alias_for] +	    set body "[set return] gl[set alias]([set callvars]);" +	} else { +	    set body "[set return]__gl_api.[set f]([set callvars]);" +	} + +        puts $fd "GLAPI [dict get $attr return] APIENTRY gl[set f]([set pstr]) \{\n\t$body\n\}" +    } + +    puts $fd $::init_code +     +    puts $fd "void apple_xgl_init_direct(void) \{" +    puts $fd "\tvoid *handle;" + +    puts $fd $::dlopen_code +     +    foreach f $sorted { +	set attr $api($f) + +	puts $attr +	puts $f + +	if {[dict exists $attr alias_for] || [dict exists $attr noop]} { +	    #Function f is an alias_for another, so we shouldn't try +	    #to load it. +	    continue +	} + +	puts $fd "\t__gl_api.$f = glsym(handle, \"gl$f\");" +    } +     +    puts $fd "\}\n" +    close $fd + +    return 0 +} +exit [main $::argc $::argv] diff --git a/src/glx/apple/gen_code.tcl b/src/glx/apple/gen_code.tcl new file mode 100644 index 0000000000..bb38d9f1c9 --- /dev/null +++ b/src/glx/apple/gen_code.tcl @@ -0,0 +1,50 @@ +if 0 {  + Copyright (c) 2008 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +} + +package require Tcl 8.5 + +proc main {} { +    set tclsh [info nameofexecutable] + +    puts TYPES +    exec $tclsh ./gen_types.tcl stage.1 +    puts DEFS +    exec $tclsh ./gen_defs.tcl specs/enum.spec stage.2 +    puts FUNCS +    exec $tclsh ./gen_funcs.tcl specs/gl.spec stage.3 stage.4 +    puts HEADER +    exec $tclsh ./gen_api_header.tcl stage.4 apple_xgl_api.h +    puts "C API" +    exec $tclsh ./gen_api_library.tcl stage.4 apple_xgl_api.c +    puts "EXPORTS" +    exec $tclsh ./gen_exports.tcl stage.4 exports.list + +    return 0 +} +exit [main] diff --git a/src/glx/apple/gen_defs.tcl b/src/glx/apple/gen_defs.tcl new file mode 100644 index 0000000000..d32694db72 --- /dev/null +++ b/src/glx/apple/gen_defs.tcl @@ -0,0 +1,67 @@ +#This parses and generates #defines from an enum.spec type of file. + +proc main {argc argv} { +    if {2 != $argc} { +	puts stderr "syntax is: [info script] input.spec output.h" +	exit 1 +    } + +    set fd [open [lindex $argv 0] r] +    set data [read $fd] +    close $fd + +    set fd [open [lindex $argv 1] w] +     +    set state "" + +    puts $fd "#define GL_VERSION_1_1 1" +    puts $fd "#define GL_VERSION_1_2 1" +    puts $fd "#define GL_VERSION_1_3 1" +    puts $fd "#define GL_VERSION_1_4 1" +    puts $fd "#define GL_VERSION_1_5 1" +    puts $fd "#define GL_VERSION_2_0 1" +    #puts $fd "#define GL_VERSION_3_0 1" + +    set mask "" +    array set ar {} + +    foreach line [split $data \n] { +	if {[regexp {^\S*#.*} $line] > 0} { +	    #puts COMMENT:$line +	    set state "" +	} elseif {"enum" eq $state} { +	    if {[string match "\t*" $line]} { +		if {[regexp {^\tuse.*} $line] > 0} { +		    lassign [split [string trim $line]] use usemask def +		    set usemask [string trim $usemask] +		    set def [string trim $def] +		    puts $fd "/* GL_$def */"  +		} else { +		    lassign [split [string trim $line] =] def value +		    set def [string trim $def] +		    set value [string trim $value] + +		    #Trim out the data like: 0x0B00 # 4 F +		    set value [lindex [split $value] 0] + +		    puts $fd "#define GL_$def $value" + +		    #Save this association with the value. +		    set d $ar($mask) +		    dict set d $def $value +		    set ar($mask) $d +		} +	    } else { +		set state "" +	    } +	} elseif {[string match "* enum:*" $line]} { +	    lassign [split $line] mask _ +	    puts $fd "\n/*[string trim $mask]*/" +	    set ar($mask) [dict create] +	    set state enum +  	} +    } +     +    close $fd +} +main $::argc $::argv diff --git a/src/glx/apple/gen_exports.tcl b/src/glx/apple/gen_exports.tcl new file mode 100644 index 0000000000..acfe6e6a9e --- /dev/null +++ b/src/glx/apple/gen_exports.tcl @@ -0,0 +1,132 @@ +if 0 {  + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +} + +package require Tcl 8.5 + +proc main {argc argv} { +    if {2 != $argc} { +	puts stderr "syntax is: [info script] serialized-array-file export.list" +	return 1 +    } + +    set fd [open [lindex $argv 0] r] +    array set api [read $fd] +    close $fd + +    #Start with 1.0 +    set glxlist [list \ +                     glXChooseVisual glXCreateContext glXDestroyContext \ +                     glXMakeCurrent glXCopyContext glXSwapBuffers \ +                     glXCreateGLXPixmap glXDestroyGLXPixmap \ +                     glXQueryExtension glXQueryVersion \ +                     glXIsDirect glXGetConfig \ +                     glXGetCurrentContext glXGetCurrentDrawable \ +                     glXWaitGL glXWaitX glXUseXFont] + +    #GLX 1.1 and later +    lappend glxlist glXQueryExtensionsString glXQueryServerString \ +                     glXGetClientString + +    #GLX 1.2 and later +    lappend glxlist glXGetCurrentDisplay + +    #GLX 1.3 and later +    lappend glxlist glXChooseFBConfig glXGetFBConfigAttrib \ +        glXGetFBConfigs glXGetVisualFromFBConfig \ +        glXCreateWindow glXDestroyWindow \ +        glXCreatePixmap glXDestroyPixmap \ +        glXCreatePbuffer glXDestroyPbuffer \ +        glXQueryDrawable glXCreateNewContext \ +        glXMakeContextCurrent glXGetCurrentReadDrawable \ +        glXQueryContext glXSelectEvent glXGetSelectedEvent + +    #GLX 1.4 and later +    lappend glxlist glXGetProcAddress + +    #Extensions +    lappend glxlist glXGetProcAddressARB + +    #Old extensions we don't support and never really have, but need for +    #symbol compatibility.  See also: glx_empty.c +    lappend glxlist glXSwapIntervalSGI glXSwapIntervalMESA \ +	glXGetSwapIntervalMESA glXBeginFrameTrackingMESA \ +	glXEndFrameTrackingMESA glXGetFrameUsageMESA \ +	glXQueryFrameTrackingMESA glXGetVideoSyncSGI \ +	glXWaitVideoSyncSGI glXJoinSwapGroupSGIX \ +	glXBindSwapBarrierSGIX glXQueryMaxSwapBarriersSGIX \ +	glXGetSyncValuesOML glXSwapBuffersMscOML \ +	glXWaitForMscOML glXWaitForSbcOML \ +	glXAllocateMemoryMESA glXFreeMemoryMESA \ +	glXGetMemoryOffsetMESA glXReleaseBuffersMESA \ +	glXCreateGLXPixmapMESA glXCopySubBufferMESA \ +	glXQueryGLXPbufferSGIX glXCreateGLXPbufferSGIX \ +	glXDestroyGLXPbufferSGIX glXSelectEventSGIX \ +	glXGetSelectedEventSGIX  +     +    #These are for GLX_SGIX_fbconfig, which isn't implemented, because +    #we have the GLX 1.3 GLXFBConfig functions which are in the standard spec. +    #It should be possible to support these to some extent. +    #The old libGL somewhat supported the GLXFBConfigSGIX code, but lacked +    #pbuffer, and pixmap support. +    #We mainly just need these stubs for linking with apps, because for  +    #some reason the OpenGL site suggests using the latest glxext.h,  +    #and glxext.h defines all GLX extensions, which doesn't seem right for +    #compile-time capability detection. +    #See also: http://www.mesa3d.org/brianp/sig97/exten.htm#Compile +    #which conflicts with: the ABI registry from what I saw on opengl.org.  +    #By disabling some of the #defines in glxext.h we break some software, +    #and by enabling them without the symbols we break others (in Mesa). +    #I think a lot of OpenGL-based programs have issues one way or another. +    #It seems that even Mesa developers are confused on this issue, because +    #Mesa-7.3/progs/xdemos/glxgears_fbconfig.c has comments about breakage  +    #in some comments. +    lappend glxlist glXGetFBConfigAttribSGIX \ +	glXChooseFBConfigSGIX \ +	glXGetVisualFromFBConfigSGIX \ +	glXCreateGLXPixmapWithConfigSGIX \ +	glXCreateContextWithConfigSGIX \ +	glXGetFBConfigFromVisualSGIX +     + +    set fd [open [lindex $argv 1] w] +     +    foreach f [lsort -dictionary [array names api]] { +	puts $fd _gl$f +    } + +    foreach f [lsort -dictionary $glxlist] { +	puts $fd _$f +    } +     +    close $fd + +    return 0 +} + +exit [main $::argc $::argv]
\ No newline at end of file diff --git a/src/glx/apple/gen_funcs.tcl b/src/glx/apple/gen_funcs.tcl new file mode 100644 index 0000000000..1392c155a8 --- /dev/null +++ b/src/glx/apple/gen_funcs.tcl @@ -0,0 +1,735 @@ +package require Tcl 8.5 + +#input is specs/gl.spec + +set license { +/* + Copyright (c) 2008, 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ +} + + +proc extension name { +    global extensions + +    set extensions($name) 1 +} + +proc alias {from to} { +    global aliases +     +    set aliases($from) $to +} + +proc promoted name { +    global promoted + +    set promoted($name) 1 +} + +proc noop name { +    global noop +     +    set noop($name) 1 +} + +set dir [file dirname [info script]] + +source [file join $dir GL_extensions] +source [file join $dir GL_aliases] +source [file join $dir GL_promoted] +source [file join $dir GL_noop] + +proc is-extension-supported? name { +    global extensions + +    return [info exists extensions($name)] +} + +# This is going to need to be updated for future OpenGL versions: +#    cat specs/gl.tm  | grep -v '^#' | awk -F, '{sub(/[ \t]+/, ""); print "    "$1 " \"" $4 "\""}' +#    then change void from "*" to "void" +# +# TextureComponentCount is GLenum in SL for everything +# It is GLint in mesa, but is GLenum for glTexImage3DEXT +array set typemap { +    AccumOp "GLenum" +    AlphaFunction "GLenum" +    AttribMask "GLbitfield" +    BeginMode "GLenum" +    BinormalPointerTypeEXT "GLenum" +    BlendEquationMode "GLenum" +    BlendEquationModeEXT "GLenum" +    BlendFuncSeparateParameterEXT "GLenum" +    BlendingFactorDest "GLenum" +    BlendingFactorSrc "GLenum" +    Boolean "GLboolean" +    BooleanPointer "GLboolean*" +    Char "GLchar" +    CharPointer "GLchar*" +    CheckedFloat32 "GLfloat" +    CheckedInt32 "GLint" +    ClampColorTargetARB "GLenum" +    ClampColorModeARB "GLenum" +    ClampedColorF "GLclampf" +    ClampedFloat32 "GLclampf" +    ClampedFloat64 "GLclampd" +    ClampedStencilValue "GLint" +    ClearBufferMask "GLbitfield" +    ClientAttribMask "GLbitfield" +    ClipPlaneName "GLenum" +    ColorB "GLbyte" +    ColorD "GLdouble" +    ColorF "GLfloat" +    ColorI "GLint" +    ColorIndexValueD "GLdouble" +    ColorIndexValueF "GLfloat" +    ColorIndexValueI "GLint" +    ColorIndexValueS "GLshort" +    ColorIndexValueUB "GLubyte" +    ColorMaterialParameter "GLenum" +    ColorPointerType "GLenum" +    ColorS "GLshort" +    ColorTableParameterPName "GLenum" +    ColorTableParameterPNameSGI "GLenum" +    ColorTableTarget "GLenum" +    ColorTableTargetSGI "GLenum" +    ColorUB "GLubyte" +    ColorUI "GLuint" +    ColorUS "GLushort" +    CombinerBiasNV "GLenum" +    CombinerComponentUsageNV "GLenum" +    CombinerMappingNV "GLenum" +    CombinerParameterNV "GLenum" +    CombinerPortionNV "GLenum" +    CombinerRegisterNV "GLenum" +    CombinerScaleNV "GLenum" +    CombinerStageNV "GLenum" +    CombinerVariableNV "GLenum" +    CompressedTextureARB "GLvoid" +    ControlPointNV "GLvoid" +    ControlPointTypeNV "GLenum" +    ConvolutionParameter "GLenum" +    ConvolutionParameterEXT "GLenum" +    ConvolutionTarget "GLenum" +    ConvolutionTargetEXT "GLenum" +    CoordD "GLdouble" +    CoordF "GLfloat" +    CoordI "GLint" +    CoordS "GLshort" +    CullFaceMode "GLenum" +    CullParameterEXT "GLenum" +    DepthFunction "GLenum" +    DrawBufferMode "GLenum" +    DrawBufferName "GLint" +    DrawElementsType "GLenum" +    ElementPointerTypeATI "GLenum" +    EnableCap "GLenum" +    ErrorCode "GLenum" +    EvalMapsModeNV "GLenum" +    EvalTargetNV "GLenum" +    FeedbackElement "GLfloat" +    FeedbackType "GLenum" +    FenceNV "GLuint" +    FenceConditionNV "GLenum" +    FenceParameterNameNV "GLenum" +    FfdMaskSGIX "GLbitfield" +    FfdTargetSGIX "GLenum" +    Float32 "GLfloat" +    Float32Pointer "GLfloat*" +    Float64 "GLdouble" +    Float64Pointer "GLdouble*" +    FogParameter "GLenum" +    FogPointerTypeEXT "GLenum" +    FogPointerTypeIBM "GLenum" +    FragmentLightModelParameterSGIX "GLenum" +    FragmentLightNameSGIX "GLenum" +    FragmentLightParameterSGIX "GLenum" +    FramebufferAttachment "GLenum" +    FramebufferTarget "GLenum" +    FrontFaceDirection "GLenum" +    FunctionPointer "_GLfuncptr" +    GetColorTableParameterPName "GLenum" +    GetColorTableParameterPNameSGI "GLenum" +    GetConvolutionParameterPName "GLenum" +    GetHistogramParameterPName "GLenum" +    GetHistogramParameterPNameEXT "GLenum" +    GetMapQuery "GLenum" +    GetMinmaxParameterPName "GLenum" +    GetMinmaxParameterPNameEXT "GLenum" +    GetPName "GLenum" +    GetPointervPName "GLenum" +    GetTextureParameter "GLenum" +    HintMode "GLenum" +    HintTarget "GLenum" +    HintTargetPGI "GLenum" +    HistogramTarget "GLenum" +    HistogramTargetEXT "GLenum" +    IglooFunctionSelectSGIX "GLenum" +    IglooParameterSGIX "GLvoid" +    ImageTransformPNameHP "GLenum" +    ImageTransformTargetHP "GLenum" +    IndexFunctionEXT "GLenum" +    IndexMaterialParameterEXT "GLenum" +    IndexPointerType "GLenum" +    Int16 "GLshort" +    Int32 "GLint" +    Int8 "GLbyte" +    InterleavedArrayFormat "GLenum" +    LightEnvParameterSGIX "GLenum" +    LightModelParameter "GLenum" +    LightName "GLenum" +    LightParameter "GLenum" +    LightTextureModeEXT "GLenum" +    LightTexturePNameEXT "GLenum" +    LineStipple "GLushort" +    List "GLuint" +    ListMode "GLenum" +    ListNameType "GLenum" +    ListParameterName "GLenum" +    LogicOp "GLenum" +    MapAttribParameterNV "GLenum" +    MapParameterNV "GLenum" +    MapTarget "GLenum" +    MapTargetNV "GLenum" +    MapTypeNV "GLenum" +    MaskedColorIndexValueF "GLfloat" +    MaskedColorIndexValueI "GLuint" +    MaskedStencilValue "GLuint" +    MaterialFace "GLenum" +    MaterialParameter "GLenum" +    MatrixIndexPointerTypeARB "GLenum" +    MatrixMode "GLenum" +    MatrixTransformNV "GLenum" +    MeshMode1 "GLenum" +    MeshMode2 "GLenum" +    MinmaxTarget "GLenum" +    MinmaxTargetEXT "GLenum" +    NormalPointerType "GLenum" +    NurbsCallback "GLenum" +    NurbsObj "GLUnurbs*" +    NurbsProperty "GLenum" +    NurbsTrim "GLenum" +    OcclusionQueryParameterNameNV "GLenum" +    PixelCopyType "GLenum" +    PixelFormat "GLenum" +    PixelInternalFormat "GLenum" +    PixelMap "GLenum" +    PixelStoreParameter "GLenum" +    PixelTexGenModeSGIX "GLenum" +    PixelTexGenParameterNameSGIS "GLenum" +    PixelTransferParameter "GLenum" +    PixelTransformPNameEXT "GLenum" +    PixelTransformTargetEXT "GLenum" +    PixelType "GLenum" +    PointParameterNameARB "GLenum" +    PolygonMode "GLenum" +    ProgramNV "GLuint" +    ProgramCharacterNV "GLubyte" +    ProgramParameterNV "GLenum" +    ProgramParameterPName "GLenum" +    QuadricCallback "GLenum" +    QuadricDrawStyle "GLenum" +    QuadricNormal "GLenum" +    QuadricObj "GLUquadric*" +    QuadricOrientation "GLenum" +    ReadBufferMode "GLenum" +    RenderbufferTarget "GLenum" +    RenderingMode "GLenum" +    ReplacementCodeSUN "GLuint" +    ReplacementCodeTypeSUN "GLenum" +    SamplePassARB "GLenum" +    SamplePatternEXT "GLenum" +    SamplePatternSGIS "GLenum" +    SecondaryColorPointerTypeIBM "GLenum" +    SelectName "GLuint" +    SeparableTarget "GLenum" +    SeparableTargetEXT "GLenum" +    ShadingModel "GLenum" +    SizeI "GLsizei" +    SpriteParameterNameSGIX "GLenum" +    StencilFunction "GLenum" +    StencilFaceDirection "GLenum" +    StencilOp "GLenum" +    StencilValue "GLint" +    String "const GLubyte *" +    StringName "GLenum" +    TangentPointerTypeEXT "GLenum" +    TessCallback "GLenum" +    TessContour "GLenum" +    TessProperty "GLenum" +    TesselatorObj "GLUtesselator*" +    TexCoordPointerType "GLenum" +    Texture "GLuint" +    TextureComponentCount "GLint" +    TextureCoordName "GLenum" +    TextureEnvParameter "GLenum" +    TextureEnvTarget "GLenum" +    TextureFilterSGIS "GLenum" +    TextureGenParameter "GLenum" +    TextureNormalModeEXT "GLenum" +    TextureParameterName "GLenum" +    TextureTarget "GLenum" +    TextureUnit "GLenum" +    UInt16 "GLushort" +    UInt32 "GLuint" +    UInt8 "GLubyte" +    VertexAttribEnum "GLenum" +    VertexAttribEnumNV "GLenum" +    VertexAttribPointerTypeNV "GLenum" +    VertexPointerType "GLenum" +    VertexWeightPointerTypeEXT "GLenum" +    Void "GLvoid" +    VoidPointer "GLvoid*" +    ConstVoidPointer "GLvoid* const" +    WeightPointerTypeARB "GLenum" +    WinCoord "GLint" +    void "void" +    ArrayObjectPNameATI "GLenum" +    ArrayObjectUsageATI "GLenum" +    ConstFloat32 "GLfloat" +    ConstInt32 "GLint" +    ConstUInt32 "GLuint" +    ConstVoid "GLvoid" +    DataTypeEXT "GLenum" +    FragmentOpATI "GLenum" +    GetTexBumpParameterATI "GLenum" +    GetVariantValueEXT "GLenum" +    ParameterRangeEXT "GLenum" +    PreserveModeATI "GLenum" +    ProgramFormatARB "GLenum" +    ProgramTargetARB "GLenum" +    ProgramTarget "GLenum" +    ProgramPropertyARB "GLenum" +    ProgramStringPropertyARB "GLenum" +    ScalarType "GLenum" +    SwizzleOpATI "GLenum" +    TexBumpParameterATI "GLenum" +    VariantCapEXT "GLenum" +    VertexAttribPointerPropertyARB "GLenum" +    VertexAttribPointerTypeARB "GLenum" +    VertexAttribPropertyARB "GLenum" +    VertexShaderCoordOutEXT "GLenum" +    VertexShaderOpEXT "GLenum" +    VertexShaderParameterEXT "GLenum" +    VertexShaderStorageTypeEXT "GLenum" +    VertexShaderTextureUnitParameter "GLenum" +    VertexShaderWriteMaskEXT "GLenum" +    VertexStreamATI "GLenum" +    PNTrianglesPNameATI "GLenum" +    BufferOffset "GLintptr" +    BufferSize "GLsizeiptr" +    BufferAccessARB "GLenum" +    BufferOffsetARB "GLintptrARB" +    BufferPNameARB "GLenum" +    BufferPointerNameARB "GLenum" +    BufferSizeARB "GLsizeiptrARB" +    BufferTargetARB "GLenum" +    BufferUsageARB "GLenum" +    ObjectTypeAPPLE "GLenum" +    VertexArrayPNameAPPLE "GLenum" +    DrawBufferModeATI "GLenum" +    Half16NV "GLhalfNV" +    PixelDataRangeTargetNV "GLenum" +    TypeEnum "GLenum" +    GLbitfield "GLbitfield" +    GLenum "GLenum" +    Int64 "GLint64" +    UInt64 "GLuint64" +    handleARB "GLhandleARB" +    charARB "GLcharARB" +    charPointerARB "GLcharARB*" +    sync "GLsync" +    Int64EXT "GLint64EXT" +    UInt64EXT "GLuint64EXT" +    FramebufferAttachment "GLenum" +    FramebufferAttachmentParameterName "GLenum" +    Framebuffer "GLuint" +    FramebufferStatus "GLenum" +    FramebufferTarget "GLenum" +    GetFramebufferParameter "GLenum" +    Intptr "GLintptr" +    ProgramFormat "GLenum" +    ProgramProperty "GLenum" +    ProgramStringProperty "GLenum" +    ProgramTarget "GLenum" +    Renderbuffer "GLuint" +    RenderbufferParameterName "GLenum" +    Sizeiptr "GLsizeiptr" +    TextureInternalFormat "GLenum" +    VertexBufferObjectAccess "GLenum" +    VertexBufferObjectParameter "GLenum" +    VertexBufferObjectUsage "GLenum" +    BufferAccessMask "GLbitfield" +    GetMultisamplePNameNV "GLenum" +    SampleMaskNV "GLbitfield" +} + +proc psplit s { +    set r [list] +    set token "" + +    foreach c [split $s ""] { +	if {[string is space -strict $c]} { +	    if {[string length $token]} { +		lappend r $token +	    } +	    set token "" +	} else { +	    append token $c +	} +    } + +    if {[string length $token]} { +	lappend r $token +    } + +    return $r +} + +proc is-extension? str { +    #Check if the trailing name of the function is NV, or EXT, and so on. +     +    if {[string is upper [string index $str end]] +	&& [string is upper [string index $str end-1]]} { +	return 1 +    }  + +    return 0 +} + + +proc parse {data arvar} { +    upvar 1 $arvar ar + +    set state "" +    set name "" + +    foreach line [split $data \n] { +	if {"attr" eq $state} { +	    if {[string match "\t*" $line]} { +		set plist [psplit [lindex [split $line "#"] 0]] +		#puts PLIST:$plist +		set master $ar($name) +		set param [dict get $master parameters] + +		switch -- [llength $plist] { +		    1 { +			dict set master [lindex $plist 0] "" +		    } + +		    2 { +			#standard key, value pair +			set key [lindex $plist 0] +			set value [lindex $plist 1] + +			dict set master $key $value +		    } + +		    default { +			set key [lindex $plist 0] + +			#puts PLIST:$plist + +			if {"param" eq $key} { +			    lappend param [list [lindex $plist 1] [lindex $plist 2] [lindex $plist 3] [lindex $plist 4]] +			} else { +			    dict set master $key [lrange $plist 1 end] +			} +		    }		     +		} +		 +		dict set master parameters $param + +		set ar($name) $master +	    } else { +		set state "" +	    } +	} elseif {[regexp {^([A-Z_a-z0-9]+)\((.*)\)\S*} $line all name argv] > 0} { +	    #puts "MATCH:$name ARGV:$argv" +	     +	    #Trim the spaces in the elements. +	    set newargv [list] +	    foreach a [split $argv ,] { +		lappend newargv [string trim $a] +	    } +	     + +	    set d [dict create name $name arguments $newargv \ +		       parameters [dict create]] +	    set ar($name) $d +	    set state attr +	}  +    } +} + +#This returns true if the category is valid for an extension. +proc is-valid-category? c { +    set clist [list display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform VERSION_1_0 VERSION_1_0_DEPRECATED VERSION_1_1 VERSION_1_1_DEPRECATED VERSION_1_2 VERSION_1_2_DEPRECATED VERSION_1_3 VERSION_1_3_DEPRECATED VERSION_1_4 VERSION_1_4_DEPRECATED VERSION_1_5 VERSION_2_0 VERSION_2_1 VERSION_3_0 VERSION_3_0_DEPRECATED VERSION_3_1 VERSION_3_2] + +    set result [expr {$c in $clist}] + + +    if {!$result} { +	set result [is-extension-supported? $c] +    } + +    return $result +} + +proc translate-parameters {func parameters} { +    global typemap + +    set newparams [list] + +    foreach p $parameters { +	set var [lindex $p 0] +	 +	set ptype [lindex $p 1] +	 +	if {![info exists typemap($ptype)]} { +	    set ::missingTypes($ptype) $func +	    continue +	} +	 +	set type $typemap($ptype) +	 +	if {"array" eq [lindex $p 3]} { +	    if {"in" eq [lindex $p 2]} { +		set final_type "const $type *" +	    } else { +		set final_type "$type *" +	    } +	} else { +	    set final_type $type +	} +	     +	lappend newparams [list $final_type $var] +    } +  +    return $newparams +} + +proc api-new-entry {info func} { +    global typemap + +    set master [dict create] +    set rettype [dict get $info return] +     +    if {![info exists typemap($rettype)]} { +	set ::missingTypes($rettype) $func +    } else { +	dict set master return $typemap($rettype) +    } +     +    dict set master parameters [translate-parameters $func \ +				    [dict get $info parameters]] + +    return $master +} + +proc main {argc argv} { +    global extensions typemap aliases promoted noop + +    set fd [open [lindex $argv 0] r] +    set data [read $fd] +    close $fd +   +    array set ar {} +     +    parse $data ar +     +    array set newapi {} +    array set missingTypes {} + +    foreach {key value} [array get ar] { +	puts "KEY:$key VALUE:$value" + +	set category [dict get $value category] +	 +	#Invalidate any of the extensions and things not in the spec we support. +	set valid [is-valid-category? $category] +	puts VALID:$valid +	 +	if {!$valid} { +	   continue +	} + +	puts "VALID:$key" + +	if {"BlitFramebuffer" eq $key} { +	    #This was promoted to an ARB extension after Leopard it seems. +	    set key BlitFramebufferEXT +	} + +	if {"ARB_framebuffer_object" eq $category} { +	    #This wasn't an ARB extension in Leopard either. +	    if {![string match *EXT $key]} { +		append key EXT +	    } +	} + +	set newapi($key) [api-new-entry $value $key] +    } + +    #Now iterate and support as many aliases as we can for promoted functions +    #based on if the newapi contains the function. +    foreach {func value} [array get ar] { +	if {![info exists promoted([dict get $value category])]} { +	    continue +	} + +	if {[dict exists $value alias]} { +	    #We have an alias.  Let's see if we have the implementation. +	    set alias [dict get $value alias] + +	    if {[info exists newapi($alias)] && ![info exists newapi($func)]} { +		#We have an implementing function available. +		puts "HAVE:$key ALIAS:$alias" + +		set master [api-new-entry $value $func] +		dict set master alias_for $alias +		set newapi($func) $master		 +	    } +	} +    }  + +    parray noop + +    #Now handle the no-op compatibility categories. +    foreach {func value} [array get ar] { +	if {[info exists noop([dict get $value category])]} { +	    if {[info exists newapi($func)]} { +		puts stderr "$func shouldn't be a noop" +		exit 1 +	    } +	     +	    set master [api-new-entry $value $func] +	    dict set master noop 1 +	    set newapi($func) $master +	} +    } + +     + +    parray newapi + +    if {[array size ::missingTypes]} { +	parray ::missingTypes +	return 1 +    } + +    foreach {from to} [array get aliases] { +	set d $newapi($to) +	dict set d alias_for $to +	set newapi($from) $d +    } + +    #Iterate the nm output and set each symbol in an associative array. +    array set validapi {} + +    foreach line [split [exec nm -j -g /System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib] \n] { +	set fn [string trim $line] + +	#Only match the _gl functions. +	if {[string match _gl* $fn]} { +	    set finalfn [string range $fn 3 end] +	    puts FINALFN:$finalfn +	    set validapi($finalfn) $finalfn +	} +    } + +    puts "Correcting the API functions to match the OpenGL framework." +    #parray validapi +     +    #Iterate the newapi and unset any members that the +    #libGL.dylib doesn't support, assuming they aren't no-ops. +    foreach fn [array names newapi] { +	if {![info exists validapi($fn)]} { +	    puts "WARNING: libGL.dylib lacks support for: $fn" + +	    if {[dict exists $newapi($fn) noop]  +		&& [dict get $newapi($fn) noop]} { +		#This is no-op, so we should skip it. +		continue +	    } + +	    #Is the function an alias for another in libGL? +	    if {[dict exists $newapi($fn) alias_for]} { +		set alias [dict get $newapi($fn) alias_for] + +		if {![info exists validapi($alias)]} { +		    puts "WARNING: alias function doesn't exist for $fn." +		    puts "The alias is $alias." +		    puts "unsetting $fn"		     +		    unset newapi($fn) +		}  +	    } else { +		puts "unsetting $fn" +		unset newapi($fn) +	    } +	} +    } + +     +    #Now print a warning about any symbols that libGL supports that we don't. +    foreach fn [array names validapi] { +	if {![info exists newapi($fn)]} { +	    puts "AppleSGLX is missing $fn" +	} +    } + +    puts "NOW GENERATING:[lindex $::argv 1]" +    set fd [open [lindex $::argv 1] w] + +    set sorted [lsort -dictionary [array names newapi]] + +    foreach f $sorted { +	set attr $newapi($f) +	set pstr "" +	foreach p [dict get $attr parameters] { +	    append pstr "[lindex $p 0] [lindex $p 1], " +	} +	set pstr [string trimright $pstr ", "] +	puts $fd "[dict get $attr return] gl[set f]($pstr); " +    } + +    close $fd + +    if {$::argc == 3} { +	puts "NOW GENERATING:[lindex $::argv 2]" +	#Dump the array as a serialized list. +	set fd [open [lindex $::argv 2] w] +	puts $fd [array get newapi] +	close $fd +    } + +    return 0 +} +exit [main $::argc $::argv] + diff --git a/src/glx/apple/gen_types.tcl b/src/glx/apple/gen_types.tcl new file mode 100644 index 0000000000..ed20bdaec0 --- /dev/null +++ b/src/glx/apple/gen_types.tcl @@ -0,0 +1,32 @@ + +proc main {argc argv} { +    if {1 != $argc} { +	puts stderr "syntax is: [info script] output.h" +	exit 1 +    }  + +    set fd [open [lindex $argv 0] w] +    puts $fd " +/*OpenGL primitive typedefs*/ +typedef unsigned int GLenum; +typedef unsigned char GLboolean; +typedef unsigned int GLbitfield; +typedef signed char GLbyte; +typedef short GLshort; +typedef int GLint; +typedef int GLsizei; +typedef unsigned char GLubyte; +typedef unsigned short GLushort; +typedef unsigned int GLuint; +typedef float GLfloat; +typedef float GLclampf; +typedef double GLdouble; +typedef double GLclampd; +typedef void GLvoid; + +typedef long GLintptr; +typedef long GLsizeiptr; +" + +} +main $::argc $::argv diff --git a/src/glx/apple/glx_empty.c b/src/glx/apple/glx_empty.c new file mode 100644 index 0000000000..44c5a256f2 --- /dev/null +++ b/src/glx/apple/glx_empty.c @@ -0,0 +1,375 @@ +#include "glxclient.h" +#include "glxextensions.h" +#include "glcontextmodes.h" + +/* +** GLX_SGI_swap_control +*/ +int +glXSwapIntervalSGI(int interval) +{ +   (void) interval; +   return 0; +} + + +/* +** GLX_MESA_swap_control +*/ +int +glXSwapIntervalMESA(unsigned int interval) +{ +   (void) interval; +   return GLX_BAD_CONTEXT; +} + + +int +glXGetSwapIntervalMESA(void) +{ +   return 0; +} + + +/* +** GLX_MESA_swap_frame_usage +*/ + +int +glXBeginFrameTrackingMESA(Display * dpy, GLXDrawable drawable) +{ +   int status = GLX_BAD_CONTEXT; +   (void) dpy; +   (void) drawable; +   return status; +} + + +int +glXEndFrameTrackingMESA(Display * dpy, GLXDrawable drawable) +{ +   int status = GLX_BAD_CONTEXT; +   (void) dpy; +   (void) drawable; +   return status; +} + + +int +glXGetFrameUsageMESA(Display * dpy, GLXDrawable drawable, GLfloat * usage) +{ +   int status = GLX_BAD_CONTEXT; +   (void) dpy; +   (void) drawable; +   (void) usage; +   return status; +} + +int +glXQueryFrameTrackingMESA(Display * dpy, GLXDrawable drawable, +                          int64_t * sbc, int64_t * missedFrames, +                          GLfloat * lastMissedUsage) +{ +   int status = GLX_BAD_CONTEXT; +   (void) dpy; +   (void) drawable; +   (void) sbc; +   (void) missedFrames; +   (void) lastMissedUsage; +   return status; +} + +/* +** GLX_SGI_video_sync +*/ +int +glXGetVideoSyncSGI(unsigned int *count) +{ +   (void) count; +   return GLX_BAD_CONTEXT; +} + +int +glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count) +{ +   (void) count; +   return GLX_BAD_CONTEXT; +} + + +/* +** GLX_SGIX_swap_group +*/ +void +glXJoinSwapGroupSGIX(Display * dpy, GLXDrawable drawable, GLXDrawable member) +{ +   (void) dpy; +   (void) drawable; +   (void) member; +} + + +/* +** GLX_SGIX_swap_barrier +*/ +void +glXBindSwapBarrierSGIX(Display * dpy, GLXDrawable drawable, int barrier) +{ +   (void) dpy; +   (void) drawable; +   (void) barrier; +} + +Bool +glXQueryMaxSwapBarriersSGIX(Display * dpy, int screen, int *max) +{ +   (void) dpy; +   (void) screen; +   (void) max; +   return False; +} + + +/* +** GLX_OML_sync_control +*/ +Bool +glXGetSyncValuesOML(Display * dpy, GLXDrawable drawable, +                    int64_t * ust, int64_t * msc, int64_t * sbc) +{ +   (void) dpy; +   (void) drawable; +   (void) ust; +   (void) msc; +   (void) sbc; +   return False; +} + +int64_t +glXSwapBuffersMscOML(Display * dpy, GLXDrawable drawable, +                     int64_t target_msc, int64_t divisor, int64_t remainder) +{ +   (void) dpy; +   (void) drawable; +   (void) target_msc; +   (void) divisor; +   (void) remainder; +   return 0; +} + + +Bool +glXWaitForMscOML(Display * dpy, GLXDrawable drawable, +                 int64_t target_msc, int64_t divisor, +                 int64_t remainder, int64_t * ust, +                 int64_t * msc, int64_t * sbc) +{ +   (void) dpy; +   (void) drawable; +   (void) target_msc; +   (void) divisor; +   (void) remainder; +   (void) ust; +   (void) msc; +   (void) sbc; +   return False; +} + + +Bool +glXWaitForSbcOML(Display * dpy, GLXDrawable drawable, +                 int64_t target_sbc, int64_t * ust, +                 int64_t * msc, int64_t * sbc) +{ +   (void) dpy; +   (void) drawable; +   (void) target_sbc; +   (void) ust; +   (void) msc; +   (void) sbc; +   return False; +} + + +/** + * GLX_MESA_allocate_memory + */ +/*@{*/ + +PUBLIC void * +glXAllocateMemoryMESA(Display * dpy, int scrn, +                      size_t size, float readFreq, +                      float writeFreq, float priority) +{ +   (void) dpy; +   (void) scrn; +   (void) size; +   (void) readFreq; +   (void) writeFreq; +   (void) priority; +   return NULL; +} + + +PUBLIC void +glXFreeMemoryMESA(Display * dpy, int scrn, void *pointer) +{ +#ifdef __DRI_ALLOCATE +   __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, scrn); + +   if (psc && psc->allocate) +      (*psc->allocate->freeMemory) (psc->__driScreen, pointer); + +#else +   (void) dpy; +   (void) scrn; +   (void) pointer; +#endif /* __DRI_ALLOCATE */ +} + + +PUBLIC GLuint +glXGetMemoryOffsetMESA(Display * dpy, int scrn, const void *pointer) +{ +   (void) dpy; +   (void) scrn; +   (void) pointer; +   return ~0L; +} + +Bool +glXReleaseBuffersMESA(Display * dpy, GLXDrawable d) +{ +   (void) dpy; +   (void) d; +   return False; +} + + +PUBLIC GLXPixmap +glXCreateGLXPixmapMESA(Display * dpy, XVisualInfo * visual, +                       Pixmap pixmap, Colormap cmap) +{ +   (void) dpy; +   (void) visual; +   (void) pixmap; +   (void) cmap; +   return 0; +} + + +/** + * GLX_MESA_copy_sub_buffer + */ +void +glXCopySubBufferMESA(Display * dpy, GLXDrawable drawable, +                     int x, int y, int width, int height) +{ +   (void) dpy; +   (void) drawable; +   (void) x; +   (void) y; +   (void) width; +   (void) height; +} + + +PUBLIC int +glXQueryGLXPbufferSGIX(Display * dpy, GLXDrawable drawable, +                       int attribute, unsigned int *value) +{ +   (void) dpy; +   (void) drawable; +   (void) attribute; +   (void) value; +   return 0; +} + +PUBLIC GLXDrawable +glXCreateGLXPbufferSGIX(Display * dpy, GLXFBConfig config, +                        unsigned int width, unsigned int height, +                        int *attrib_list) +{ +   (void) dpy; +   (void) config; +   (void) width; +   (void) height; +   (void) attrib_list; +   return None; +} + +#if 0 +/* GLX_SGIX_fbconfig */ +PUBLIC int +glXGetFBConfigAttribSGIX(Display * dpy, void *config, int a, int *b) +{ +   (void) dpy; +   (void) config; +   (void) a; +   (void) b; +   return 0; +} + +PUBLIC void * +glXChooseFBConfigSGIX(Display * dpy, int a, int *b, int *c) +{ +   (void) dpy; +   (void) a; +   (void) b; +   (void) c; +   return NULL; +} + +PUBLIC GLXPixmap +glXCreateGLXPixmapWithConfigSGIX(Display * dpy, void *config, Pixmap p) +{ +   (void) dpy; +   (void) config; +   (void) p; +   return None; +} + +PUBLIC GLXContext +glXCreateContextWithConfigSGIX(Display * dpy, void *config, int a, +                               GLXContext b, Bool c) +{ +   (void) dpy; +   (void) config; +   (void) a; +   (void) b; +   (void) c; +   return NULL; +} + +PUBLIC XVisualInfo * +glXGetVisualFromFBConfigSGIX(Display * dpy, void *config) +{ +   (void) dpy; +   (void) config; +   return NULL; +} + +PUBLIC void * +glXGetFBConfigFromVisualSGIX(Display * dpy, XVisualInfo * visinfo) +{ +   (void) dpy; +   (void) visinfo; +   return NULL; +} +#endif + + +PUBLIC +GLX_ALIAS_VOID(glXDestroyGLXPbufferSGIX, +               (Display * dpy, GLXDrawable pbuf), +               (dpy, pbuf), glXDestroyPbuffer) + +     PUBLIC GLX_ALIAS_VOID(glXSelectEventSGIX, +                           (Display * dpy, GLXDrawable drawable, +                            unsigned long mask), (dpy, drawable, mask), +                           glXSelectEvent) + +     PUBLIC GLX_ALIAS_VOID(glXGetSelectedEventSGIX, +                           (Display * dpy, GLXDrawable drawable, +                            unsigned long *mask), (dpy, drawable, mask), +                           glXGetSelectedEvent) diff --git a/src/glx/apple/glx_error.c b/src/glx/apple/glx_error.c new file mode 100644 index 0000000000..282f7ae40b --- /dev/null +++ b/src/glx/apple/glx_error.c @@ -0,0 +1,65 @@ +/* + Copyright (c) 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ +#include <stdbool.h> +#include <X11/Xlibint.h> +#include <X11/extensions/extutil.h> +#include <X11/extensions/Xext.h> +#include "glxclient.h" +#include "glx_error.h" + +extern XExtDisplayInfo *__glXFindDisplay(Display * dpy); + +void +__glXSendError(Display * dpy, int errorCode, unsigned long resourceID, +               unsigned long minorCode, bool coreX11error) +{ +   XExtDisplayInfo *info = __glXFindDisplay(dpy); +   GLXContext gc = __glXGetCurrentContext(); +   xError error; + +   LockDisplay(dpy); + +   error.type = X_Error; + +   if (coreX11error) { +      error.errorCode = errorCode; +   } +   else { +      error.errorCode = info->codes->first_error + errorCode; +   } + +   error.sequenceNumber = dpy->request; +   error.resourceID = resourceID; +   error.minorCode = minorCode; +   error.majorCode = gc ? gc->majorOpcode : 0; + +   _XError(dpy, &error); + +   UnlockDisplay(dpy); +} diff --git a/src/glx/apple/glx_error.h b/src/glx/apple/glx_error.h new file mode 100644 index 0000000000..6ba2f854db --- /dev/null +++ b/src/glx/apple/glx_error.h @@ -0,0 +1,33 @@ +/* + Copyright (c) 2009 Apple Inc. +  + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: +  + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. +  + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT.  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT + HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +  + Except as contained in this notice, the name(s) of the above + copyright holders shall not be used in advertising or otherwise to + promote the sale, use or other dealings in this Software without + prior written authorization. +*/ +#include <stdbool.h> +#include <X11/Xlib.h> + +void __glXSendError(Display * dpy, int errorCode, unsigned long resourceID, +                    unsigned long minorCode, bool coreX11error); diff --git a/src/glx/apple/glxreply.c b/src/glx/apple/glxreply.c new file mode 100644 index 0000000000..7280bc9715 --- /dev/null +++ b/src/glx/apple/glxreply.c @@ -0,0 +1,134 @@ +/* + * (C) Copyright Apple Inc. 2008 + * (C) Copyright IBM Corporation 2004, 2005 + * All Rights Reserved. + *  + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sub license, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + *  + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + *  + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL + * IBM, + * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include <GL/gl.h> +#include "glxclient.h" +#include <GL/glxproto.h> + +CARD32 +__glXReadReply(Display * dpy, size_t size, void *dest, +               GLboolean reply_is_always_array) +{ +   xGLXSingleReply reply; + +   (void) _XReply(dpy, (xReply *) & reply, 0, False); +   if (size != 0) { +      if ((reply.length > 0) || reply_is_always_array) { +         const GLint bytes = (reply_is_always_array) +            ? (4 * reply.length) : (reply.size * size); +         const GLint extra = 4 - (bytes & 3); + +         _XRead(dpy, dest, bytes); +         if (extra < 4) { +            _XEatData(dpy, extra); +         } +      } +      else { +         (void) memcpy(dest, &(reply.pad3), size); +      } +   } + +   return reply.retval; +} + +void +__glXReadPixelReply(Display * dpy, __GLXcontext * gc, unsigned max_dim, +                    GLint width, GLint height, GLint depth, GLenum format, +                    GLenum type, void *dest, GLboolean dimensions_in_reply) +{ +   xGLXSingleReply reply; +   GLint size; + +   (void) _XReply(dpy, (xReply *) & reply, 0, False); + +   if (dimensions_in_reply) { +      width = reply.pad3; +      height = reply.pad4; +      depth = reply.pad5; + +      if ((height == 0) || (max_dim < 2)) { +         height = 1; +      } +      if ((depth == 0) || (max_dim < 3)) { +         depth = 1; +      } +   } + +   size = reply.length * 4; +   if (size != 0) { +      void *buf = Xmalloc(size); + +      if (buf == NULL) { +         _XEatData(dpy, size); +         __glXSetError(gc, GL_OUT_OF_MEMORY); +      } +      else { +         const GLint extra = 4 - (size & 3); + +         _XRead(dpy, buf, size); +         if (extra < 4) { +            _XEatData(dpy, extra); +         } + +         __glEmptyImage(gc, 3, width, height, depth, format, type, buf, dest); +         Xfree(buf); +      } +   } +} + +#if 0 +GLubyte * +__glXSetupSingleRequest(__GLXcontext * gc, GLint sop, GLint cmdlen) +{ +   xGLXSingleReq *req; +   Display *const dpy = gc->currentDpy; + +   (void) __glXFlushRenderBuffer(gc, gc->pc); +   LockDisplay(dpy); +   GetReqExtra(GLXSingle, cmdlen, req); +   req->reqType = gc->majorOpcode; +   req->contextTag = gc->currentContextTag; +   req->glxCode = sop; +   return (GLubyte *) (req) + sz_xGLXSingleReq; +} +#endif + +GLubyte * +__glXSetupVendorRequest(__GLXcontext * gc, GLint code, GLint vop, +                        GLint cmdlen) +{ +   xGLXVendorPrivateReq *req; +   Display *const dpy = gc->currentDpy; + +   (void) __glXFlushRenderBuffer(gc, gc->pc); +   LockDisplay(dpy); +   GetReqExtra(GLXVendorPrivate, cmdlen, req); +   req->reqType = gc->majorOpcode; +   req->glxCode = code; +   req->vendorCode = vop; +   req->contextTag = gc->currentContextTag; +   return (GLubyte *) (req) + sz_xGLXVendorPrivateReq; +} diff --git a/src/glx/apple/specs/enum.spec b/src/glx/apple/specs/enum.spec new file mode 100644 index 0000000000..20f96f2418 --- /dev/null +++ b/src/glx/apple/specs/enum.spec @@ -0,0 +1,7522 @@ +# This is the OpenGL and OpenGL ES enumerant registry. +# +# It is an extremely important file. Do not mess with it unless +# you know what you're doing and have permission to do so. +# +# $Revision: 10971 $ on $Date: 2010-04-09 02:45:33 -0700 (Fri, 09 Apr 2010) $ + +############################################################################### +# +# Before modifying this file, read the following: +# +#   ONLY the Khronos API Registrar (Jon Leech, jon 'at' alumni.caltech.edu) +#   may allocate new enumerants outside the 'experimental' range described +#   below. Any modifications to this file not performed by the Registrar +#   are incompatible with the OpenGL API. The master copy of the registry, +#   showing up-to-date enumerant allocations, is maintained in the +#   OpenGL registry at +# +#	http://www.opengl.org/registry/ +# +#   The following guidelines are thus only for reference purposes +#   (unless you're the Registrar) +# +#   Enumerant values for extensions CANNOT be chosen arbitrarily, since +#   the enumerant value space is shared by all GL implementations. It is +#   therefore imperative that the procedures described in this file be +#   followed carefully when allocating extension enum values. +# +# - Use tabs, not spaces. +# +# - When adding enum values for a new extension, use existing extensions +#   as a guide. +# +# - When a vendor has committed to releasing a new extension and needs to +#   allocate enum values for that extension, the vendor may request that the +#   ARB allocate a previously unallocated block of 16 enum values, in the +#   range 0x8000-0xFFFF, for the vendor's exclusive use. +# +# - The vendor that introduces an extension will allocate enum values for +#   it as if it is a single-vendor extension, even if it is a multi-vendor +#   (EXT) extension. +# +# - The file enum.spec is primarily a reference. The file enumext.spec +#   contains enumerants for all OpenGL 1.2 and OpenGL extensions in a form +#   used to generate <GL/glext.h>. +# +# - If a vendor hasn't yet released an extension, just add a comment to +#   enum.spec that contains the name of the extension and the range of enum +#   values used by the extension. When the vendor releases the extension, +#   put the actual enum assignments in enum.spec and enumext.spec. +# +# - Allocate all of the enum values for an extension in a single contiguous +#   block. +# +# - If an extension is experimental, allocate temporary enum values in the +#   range 0x6000-0x8000 during development work.  When the vendor commits to +#   releasing the extension, allocate permanent enum values (see below). +#   There are two reasons for this policy: +# +#   1.	It is desirable to keep extension enum values tightly packed and to +#	make all of the enum values for an extension be contiguous.  This is +#	possible only if permanent enum values for a new extension are not +#	allocated until the extension spec is stable and the number of new +#	enum values needed by the extension has therefore stopped changing. +# +#   2.	OpenGL ARB policy is that a vendor may allocate a new block of 16 +#	extension enum values only if it has committed to releasing an +#	extension that will use values in that block. +# +# - To allocate a new block of permanent enum values for an extension, do the +#   following: +# +#   1.	Start at the top of enum.spec and choose the first future_use +#	range that is not allocated to another vendor and is large enough +#	to contain the new block. This will almost certainly be the +#	'Any_vendor_future_use' range near the end of enum.spec. This +#	process helps keep allocated enum values tightly packed into +#	the start of the 0x8000-0xFFFF range. +# +#   2.	Allocate a block of enum values at the start of this range.  If +#	the enum definitions are going into enumfuture.spec, add a comment +#	to enum.spec that contains the name of the extension and the range +#	of values in the new block. Use existing extensions as a guide. +# +#   3.	Add the size of the block you just allocated to the start of the +#	chosen future_use range.  If you have allocated the entire range, +#	eliminate its future_use entry. +# +#   4.	Note that there are historical enum allocations above 0xFFFF, but +#	no new allocations will be made there in the forseeable future. +# +############################################################################### + +Extensions define: +	VERSION_1_1					= 1 +	VERSION_1_2					= 1 +	VERSION_1_3					= 1 +	VERSION_1_4					= 1 +	VERSION_1_5					= 1 +	VERSION_2_0					= 1 +	VERSION_2_1					= 1 +	VERSION_3_0					= 1 +	VERSION_3_1					= 1 +	VERSION_3_2					= 1 +	ARB_imaging					= 1 +	EXT_abgr					= 1 +	EXT_blend_color					= 1 +	EXT_blend_logic_op				= 1 +	EXT_blend_minmax				= 1 +	EXT_blend_subtract				= 1 +	EXT_cmyka					= 1 +	EXT_convolution					= 1 +	EXT_copy_texture				= 1 +	EXT_histogram					= 1 +	EXT_packed_pixels				= 1 +	EXT_point_parameters				= 1 +	EXT_polygon_offset				= 1 +	EXT_rescale_normal				= 1 +	EXT_shared_texture_palette			= 1 +	EXT_subtexture					= 1 +	EXT_texture					= 1 +	EXT_texture3D					= 1 +	EXT_texture_object				= 1 +	EXT_vertex_array				= 1 +	SGIS_detail_texture				= 1 +	SGIS_fog_function				= 1 +	SGIS_generate_mipmap				= 1 +	SGIS_multisample				= 1 +	SGIS_pixel_texture				= 1 +	SGIS_point_line_texgen				= 1 +	SGIS_point_parameters				= 1 +	SGIS_sharpen_texture				= 1 +	SGIS_texture4D					= 1 +	SGIS_texture_border_clamp			= 1 +	SGIS_texture_edge_clamp				= 1 +	SGIS_texture_filter4				= 1 +	SGIS_texture_lod				= 1 +	SGIS_texture_select				= 1 +	SGIX_async					= 1 +	SGIX_async_histogram				= 1 +	SGIX_async_pixel				= 1 +	SGIX_blend_alpha_minmax				= 1 +	SGIX_calligraphic_fragment			= 1 +	SGIX_clipmap					= 1 +	SGIX_convolution_accuracy			= 1 +	SGIX_depth_texture				= 1 +	SGIX_flush_raster				= 1 +	SGIX_fog_offset					= 1 +	SGIX_fragment_lighting				= 1 +	SGIX_framezoom					= 1 +	SGIX_icc_texture				= 1 +	SGIX_impact_pixel_texture			= 1 +	SGIX_instruments				= 1 +	SGIX_interlace					= 1 +	SGIX_ir_instrument1				= 1 +	SGIX_list_priority				= 1 +	SGIX_pixel_texture				= 1 +	SGIX_pixel_tiles				= 1 +	SGIX_polynomial_ffd				= 1 +	SGIX_reference_plane				= 1 +	SGIX_resample					= 1 +	SGIX_scalebias_hint				= 1 +	SGIX_shadow					= 1 +	SGIX_shadow_ambient				= 1 +	SGIX_sprite					= 1 +	SGIX_subsample					= 1 +	SGIX_tag_sample_buffer				= 1 +	SGIX_texture_add_env				= 1 +	SGIX_texture_coordinate_clamp			= 1 +	SGIX_texture_lod_bias				= 1 +	SGIX_texture_multi_buffer			= 1 +	SGIX_texture_scale_bias				= 1 +	SGIX_vertex_preclip				= 1 +	SGIX_ycrcb					= 1 +	SGI_color_matrix				= 1 +	SGI_color_table					= 1 +	SGI_texture_color_table				= 1 + +############################################################################### + +AttribMask enum: +	CURRENT_BIT					= 0x00000001 +	POINT_BIT					= 0x00000002 +	LINE_BIT					= 0x00000004 +	POLYGON_BIT					= 0x00000008 +	POLYGON_STIPPLE_BIT				= 0x00000010 +	PIXEL_MODE_BIT					= 0x00000020 +	LIGHTING_BIT					= 0x00000040 +	FOG_BIT						= 0x00000080 +	DEPTH_BUFFER_BIT				= 0x00000100 +	ACCUM_BUFFER_BIT				= 0x00000200 +	STENCIL_BUFFER_BIT				= 0x00000400 +	VIEWPORT_BIT					= 0x00000800 +	TRANSFORM_BIT					= 0x00001000 +	ENABLE_BIT					= 0x00002000 +	COLOR_BUFFER_BIT				= 0x00004000 +	HINT_BIT					= 0x00008000 +	EVAL_BIT					= 0x00010000 +	LIST_BIT					= 0x00020000 +	TEXTURE_BIT					= 0x00040000 +	SCISSOR_BIT					= 0x00080000 +	ALL_ATTRIB_BITS					= 0xFFFFFFFF +#??? ALL_ATTRIB_BITS mask value changed to all-1s in OpenGL 1.3 - this affects covgl. +#	use ARB_multisample MULTISAMPLE_BIT_ARB +#	use EXT_multisample MULTISAMPLE_BIT_EXT +#	use 3DFX_multisample MULTISAMPLE_BIT_3DFX + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	MULTISAMPLE_BIT					= 0x20000000 + +ARB_multisample enum: +	MULTISAMPLE_BIT_ARB				= 0x20000000 + +EXT_multisample enum: +	MULTISAMPLE_BIT_EXT				= 0x20000000 + +3DFX_multisample enum: +	MULTISAMPLE_BIT_3DFX				= 0x20000000 + +############################################################################### + +# Note that COVERAGE_BUFFER_BIT_NV collides with AttribMask bit +# HINT_BIT. This is OK since the extension is for OpenGL ES 2, which +# doesn't have attribute groups. +ClearBufferMask enum: +	use AttribMask DEPTH_BUFFER_BIT			# = 0x00000100 +	use AttribMask ACCUM_BUFFER_BIT			# = 0x00000200 +	use AttribMask STENCIL_BUFFER_BIT		# = 0x00000400 +	use AttribMask COLOR_BUFFER_BIT			# = 0x00004000 +	use NV_coverage_sample COVERAGE_BUFFER_BIT_NV	# = 0x00008000 + +############################################################################### + +ClientAttribMask enum: +	CLIENT_PIXEL_STORE_BIT				= 0x00000001 +	CLIENT_VERTEX_ARRAY_BIT				= 0x00000002 +	CLIENT_ALL_ATTRIB_BITS				= 0xFFFFFFFF + +############################################################################### + +# There's no obvious better place to put non-attribute-group mask bits +VERSION_3_0 enum: +	use ARB_map_buffer_range	    MAP_READ_BIT +	use ARB_map_buffer_range	    MAP_WRITE_BIT +	use ARB_map_buffer_range	    MAP_INVALIDATE_RANGE_BIT +	use ARB_map_buffer_range	    MAP_INVALIDATE_BUFFER_BIT +	use ARB_map_buffer_range	    MAP_FLUSH_EXPLICIT_BIT +	use ARB_map_buffer_range	    MAP_UNSYNCHRONIZED_BIT + +ARB_map_buffer_range enum: +	MAP_READ_BIT					= 0x0001    # VERSION_3_0 / ARB_mbr +	MAP_WRITE_BIT					= 0x0002    # VERSION_3_0 / ARB_mbr +	MAP_INVALIDATE_RANGE_BIT			= 0x0004    # VERSION_3_0 / ARB_mbr +	MAP_INVALIDATE_BUFFER_BIT			= 0x0008    # VERSION_3_0 / ARB_mbr +	MAP_FLUSH_EXPLICIT_BIT				= 0x0010    # VERSION_3_0 / ARB_mbr +	MAP_UNSYNCHRONIZED_BIT				= 0x0020    # VERSION_3_0 / ARB_mbr + +############################################################################### + +VERSION_3_0 enum: +	CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT		= 0x0001    # VERSION_3_0 + +############################################################################### + +Boolean enum: +	FALSE						= 0 +	TRUE						= 1 + +############################################################################### + +BeginMode enum: +	POINTS						= 0x0000 +	LINES						= 0x0001 +	LINE_LOOP					= 0x0002 +	LINE_STRIP					= 0x0003 +	TRIANGLES					= 0x0004 +	TRIANGLE_STRIP					= 0x0005 +	TRIANGLE_FAN					= 0x0006 +	QUADS						= 0x0007 +	QUAD_STRIP					= 0x0008 +	POLYGON						= 0x0009 + +VERSION_3_2 enum: +	LINES_ADJACENCY					= 0x000A +	LINE_STRIP_ADJACENCY				= 0x000B +	TRIANGLES_ADJACENCY				= 0x000C +	TRIANGLE_STRIP_ADJACENCY			= 0x000D + +ARB_geometry_shader4 enum: (additional; see below) +	LINES_ADJACENCY_ARB				= 0x000A +	LINE_STRIP_ADJACENCY_ARB			= 0x000B +	TRIANGLES_ADJACENCY_ARB				= 0x000C +	TRIANGLE_STRIP_ADJACENCY_ARB			= 0x000D + +NV_geometry_program4 enum: (additional; see below) +	LINES_ADJACENCY_EXT				= 0x000A +	LINE_STRIP_ADJACENCY_EXT			= 0x000B +	TRIANGLES_ADJACENCY_EXT				= 0x000C +	TRIANGLE_STRIP_ADJACENCY_EXT			= 0x000D + +# BeginMode_future_use: 0x000E + +############################################################################### + +AccumOp enum: +	ACCUM						= 0x0100 +	LOAD						= 0x0101 +	RETURN						= 0x0102 +	MULT						= 0x0103 +	ADD						= 0x0104 + +############################################################################### + +AlphaFunction enum: +	NEVER						= 0x0200 +	LESS						= 0x0201 +	EQUAL						= 0x0202 +	LEQUAL						= 0x0203 +	GREATER						= 0x0204 +	NOTEQUAL					= 0x0205 +	GEQUAL						= 0x0206 +	ALWAYS						= 0x0207 + +############################################################################### + +BlendingFactorDest enum: +	ZERO						= 0 +	ONE						= 1 +	SRC_COLOR					= 0x0300 +	ONE_MINUS_SRC_COLOR				= 0x0301 +	SRC_ALPHA					= 0x0302 +	ONE_MINUS_SRC_ALPHA				= 0x0303 +	DST_ALPHA					= 0x0304 +	ONE_MINUS_DST_ALPHA				= 0x0305 +	use EXT_blend_color CONSTANT_COLOR_EXT +	use EXT_blend_color ONE_MINUS_CONSTANT_COLOR_EXT +	use EXT_blend_color CONSTANT_ALPHA_EXT +	use EXT_blend_color ONE_MINUS_CONSTANT_ALPHA_EXT + +############################################################################### + +BlendingFactorSrc enum: +	use BlendingFactorDest ZERO +	use BlendingFactorDest ONE +	DST_COLOR					= 0x0306 +	ONE_MINUS_DST_COLOR				= 0x0307 +	SRC_ALPHA_SATURATE				= 0x0308 +	use BlendingFactorDest SRC_ALPHA +	use BlendingFactorDest ONE_MINUS_SRC_ALPHA +	use BlendingFactorDest DST_ALPHA +	use BlendingFactorDest ONE_MINUS_DST_ALPHA +	use EXT_blend_color CONSTANT_COLOR_EXT +	use EXT_blend_color ONE_MINUS_CONSTANT_COLOR_EXT +	use EXT_blend_color CONSTANT_ALPHA_EXT +	use EXT_blend_color ONE_MINUS_CONSTANT_ALPHA_EXT + +############################################################################### + +BlendEquationModeEXT enum: +	use GetPName LOGIC_OP +	use EXT_blend_minmax FUNC_ADD_EXT +	use EXT_blend_minmax MIN_EXT +	use EXT_blend_minmax MAX_EXT +	use EXT_blend_subtract FUNC_SUBTRACT_EXT +	use EXT_blend_subtract FUNC_REVERSE_SUBTRACT_EXT +	use SGIX_blend_alpha_minmax ALPHA_MIN_SGIX +	use SGIX_blend_alpha_minmax ALPHA_MAX_SGIX + +############################################################################### + +ColorMaterialFace enum: +	use DrawBufferMode FRONT +	use DrawBufferMode BACK +	use DrawBufferMode FRONT_AND_BACK + +############################################################################### + +ColorMaterialParameter enum: +	use LightParameter AMBIENT +	use LightParameter DIFFUSE +	use LightParameter SPECULAR +	use MaterialParameter EMISSION +	use MaterialParameter AMBIENT_AND_DIFFUSE + +############################################################################### + +ColorPointerType enum: +	use DataType BYTE +	use DataType UNSIGNED_BYTE +	use DataType SHORT +	use DataType UNSIGNED_SHORT +	use DataType INT +	use DataType UNSIGNED_INT +	use DataType FLOAT +	use DataType DOUBLE + +############################################################################### + +ColorTableParameterPNameSGI enum: +	use SGI_color_table COLOR_TABLE_SCALE_SGI +	use SGI_color_table COLOR_TABLE_BIAS_SGI + +############################################################################### + +ColorTableTargetSGI enum: +	use SGI_color_table COLOR_TABLE_SGI +	use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI +	use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI +	use SGI_color_table PROXY_COLOR_TABLE_SGI +	use SGI_color_table PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI +	use SGI_color_table PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI +	use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI +	use SGI_texture_color_table PROXY_TEXTURE_COLOR_TABLE_SGI + +############################################################################### + +ConvolutionBorderModeEXT enum: +	use EXT_convolution REDUCE_EXT + +############################################################################### + +ConvolutionParameterEXT enum: +	use EXT_convolution CONVOLUTION_BORDER_MODE_EXT +	use EXT_convolution CONVOLUTION_FILTER_SCALE_EXT +	use EXT_convolution CONVOLUTION_FILTER_BIAS_EXT + +############################################################################### + +ConvolutionTargetEXT enum: +	use EXT_convolution CONVOLUTION_1D_EXT +	use EXT_convolution CONVOLUTION_2D_EXT + +############################################################################### + +CullFaceMode enum: +	use DrawBufferMode FRONT +	use DrawBufferMode BACK +	use DrawBufferMode FRONT_AND_BACK + +############################################################################### + +DepthFunction enum: +	use AlphaFunction NEVER +	use AlphaFunction LESS +	use AlphaFunction EQUAL +	use AlphaFunction LEQUAL +	use AlphaFunction GREATER +	use AlphaFunction NOTEQUAL +	use AlphaFunction GEQUAL +	use AlphaFunction ALWAYS + +############################################################################### + +DrawBufferMode enum: +	NONE						= 0 +	FRONT_LEFT					= 0x0400 +	FRONT_RIGHT					= 0x0401 +	BACK_LEFT					= 0x0402 +	BACK_RIGHT					= 0x0403 +	FRONT						= 0x0404 +	BACK						= 0x0405 +	LEFT						= 0x0406 +	RIGHT						= 0x0407 +	FRONT_AND_BACK					= 0x0408 +	AUX0						= 0x0409 +	AUX1						= 0x040A +	AUX2						= 0x040B +	AUX3						= 0x040C + +# Aliases DrawBufferMode enum above +OES_framebuffer_object enum: (OpenGL ES only; additional; see below) +#	NONE_OES					= 0 + +############################################################################### + +EnableCap enum: +	use GetPName FOG +	use GetPName LIGHTING +	use GetPName TEXTURE_1D +	use GetPName TEXTURE_2D +	use GetPName LINE_STIPPLE +	use GetPName POLYGON_STIPPLE +	use GetPName CULL_FACE +	use GetPName ALPHA_TEST +	use GetPName BLEND +	use GetPName INDEX_LOGIC_OP +	use GetPName COLOR_LOGIC_OP +	use GetPName DITHER +	use GetPName STENCIL_TEST +	use GetPName DEPTH_TEST +	use GetPName CLIP_PLANE0 +	use GetPName CLIP_PLANE1 +	use GetPName CLIP_PLANE2 +	use GetPName CLIP_PLANE3 +	use GetPName CLIP_PLANE4 +	use GetPName CLIP_PLANE5 +	use GetPName LIGHT0 +	use GetPName LIGHT1 +	use GetPName LIGHT2 +	use GetPName LIGHT3 +	use GetPName LIGHT4 +	use GetPName LIGHT5 +	use GetPName LIGHT6 +	use GetPName LIGHT7 +	use GetPName TEXTURE_GEN_S +	use GetPName TEXTURE_GEN_T +	use GetPName TEXTURE_GEN_R +	use GetPName TEXTURE_GEN_Q +	use GetPName MAP1_VERTEX_3 +	use GetPName MAP1_VERTEX_4 +	use GetPName MAP1_COLOR_4 +	use GetPName MAP1_INDEX +	use GetPName MAP1_NORMAL +	use GetPName MAP1_TEXTURE_COORD_1 +	use GetPName MAP1_TEXTURE_COORD_2 +	use GetPName MAP1_TEXTURE_COORD_3 +	use GetPName MAP1_TEXTURE_COORD_4 +	use GetPName MAP2_VERTEX_3 +	use GetPName MAP2_VERTEX_4 +	use GetPName MAP2_COLOR_4 +	use GetPName MAP2_INDEX +	use GetPName MAP2_NORMAL +	use GetPName MAP2_TEXTURE_COORD_1 +	use GetPName MAP2_TEXTURE_COORD_2 +	use GetPName MAP2_TEXTURE_COORD_3 +	use GetPName MAP2_TEXTURE_COORD_4 +	use GetPName POINT_SMOOTH +	use GetPName LINE_SMOOTH +	use GetPName POLYGON_SMOOTH +	use GetPName SCISSOR_TEST +	use GetPName COLOR_MATERIAL +	use GetPName NORMALIZE +	use GetPName AUTO_NORMAL +	use GetPName POLYGON_OFFSET_POINT +	use GetPName POLYGON_OFFSET_LINE +	use GetPName POLYGON_OFFSET_FILL +	use GetPName VERTEX_ARRAY +	use GetPName NORMAL_ARRAY +	use GetPName COLOR_ARRAY +	use GetPName INDEX_ARRAY +	use GetPName TEXTURE_COORD_ARRAY +	use GetPName EDGE_FLAG_ARRAY +	use EXT_convolution CONVOLUTION_1D_EXT +	use EXT_convolution CONVOLUTION_2D_EXT +	use EXT_convolution SEPARABLE_2D_EXT +	use EXT_histogram HISTOGRAM_EXT +	use EXT_histogram MINMAX_EXT +	use EXT_rescale_normal RESCALE_NORMAL_EXT +	use EXT_shared_texture_palette SHARED_TEXTURE_PALETTE_EXT +	use EXT_texture3D TEXTURE_3D_EXT +	use SGIS_multisample MULTISAMPLE_SGIS +	use SGIS_multisample SAMPLE_ALPHA_TO_MASK_SGIS +	use SGIS_multisample SAMPLE_ALPHA_TO_ONE_SGIS +	use SGIS_multisample SAMPLE_MASK_SGIS +	use SGIS_texture4D TEXTURE_4D_SGIS +	use SGIX_async_histogram ASYNC_HISTOGRAM_SGIX +	use SGIX_async_pixel ASYNC_TEX_IMAGE_SGIX +	use SGIX_async_pixel ASYNC_DRAW_PIXELS_SGIX +	use SGIX_async_pixel ASYNC_READ_PIXELS_SGIX +	use SGIX_calligraphic_fragment CALLIGRAPHIC_FRAGMENT_SGIX +	use SGIX_fog_offset FOG_OFFSET_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHTING_SGIX +	use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT1_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT2_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT3_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT4_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT5_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT6_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT7_SGIX +	use SGIX_framezoom FRAMEZOOM_SGIX +	use SGIX_interlace INTERLACE_SGIX +	use SGIX_ir_instrument1 IR_INSTRUMENT1_SGIX +	use SGIX_pixel_texture PIXEL_TEX_GEN_SGIX +	use SGIS_pixel_texture PIXEL_TEXTURE_SGIS +	use SGIX_reference_plane REFERENCE_PLANE_SGIX +	use SGIX_sprite SPRITE_SGIX +	use SGI_color_table COLOR_TABLE_SGI +	use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI +	use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI +	use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI + +############################################################################### + +ErrorCode enum: +	NO_ERROR					= 0 +	INVALID_ENUM					= 0x0500 +	INVALID_VALUE					= 0x0501 +	INVALID_OPERATION				= 0x0502 +	STACK_OVERFLOW					= 0x0503 +	STACK_UNDERFLOW					= 0x0504 +	OUT_OF_MEMORY					= 0x0505 +	use EXT_histogram TABLE_TOO_LARGE_EXT +	use EXT_texture TEXTURE_TOO_LARGE_EXT + +# Additional error codes + +VERSION_3_0 enum: +#	use ARB_framebuffer_object	    INVALID_FRAMEBUFFER_OPERATION + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	INVALID_FRAMEBUFFER_OPERATION			= 0x0506    # VERSION_3_0 / ARB_fbo + +EXT_framebuffer_object enum: +	INVALID_FRAMEBUFFER_OPERATION_EXT		= 0x0506 + +# Aliases EXT_fbo enum above +OES_framebuffer_object enum: (OpenGL ES only; additional; see below) +	INVALID_FRAMEBUFFER_OPERATION_OES		= 0x0506 + +############################################################################### + +FeedbackType enum: +	2D						= 0x0600 +	3D						= 0x0601 +	3D_COLOR					= 0x0602 +	3D_COLOR_TEXTURE				= 0x0603 +	4D_COLOR_TEXTURE				= 0x0604 + +############################################################################### + +FeedBackToken enum: +	PASS_THROUGH_TOKEN				= 0x0700 +	POINT_TOKEN					= 0x0701 +	LINE_TOKEN					= 0x0702 +	POLYGON_TOKEN					= 0x0703 +	BITMAP_TOKEN					= 0x0704 +	DRAW_PIXEL_TOKEN				= 0x0705 +	COPY_PIXEL_TOKEN				= 0x0706 +	LINE_RESET_TOKEN				= 0x0707 + +############################################################################### + +FfdMaskSGIX enum: +	TEXTURE_DEFORMATION_BIT_SGIX			= 0x00000001 +	GEOMETRY_DEFORMATION_BIT_SGIX			= 0x00000002 + +############################################################################### + +FfdTargetSGIX enum: +	use SGIX_polynomial_ffd GEOMETRY_DEFORMATION_SGIX +	use SGIX_polynomial_ffd TEXTURE_DEFORMATION_SGIX + +############################################################################### + +FogMode enum: +	use TextureMagFilter LINEAR +	EXP						= 0x0800 +	EXP2						= 0x0801 +	use SGIS_fog_function FOG_FUNC_SGIS + +############################################################################### + +FogParameter enum: +	use GetPName FOG_COLOR +	use GetPName FOG_DENSITY +	use GetPName FOG_END +	use GetPName FOG_INDEX +	use GetPName FOG_MODE +	use GetPName FOG_START +	use SGIX_fog_offset FOG_OFFSET_VALUE_SGIX + +############################################################################### + +FragmentLightModelParameterSGIX enum: +	use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX + +############################################################################### + +FrontFaceDirection enum: +	CW						= 0x0900 +	CCW						= 0x0901 + +############################################################################### + +GetColorTableParameterPNameSGI enum: +	use SGI_color_table COLOR_TABLE_SCALE_SGI +	use SGI_color_table COLOR_TABLE_BIAS_SGI +	use SGI_color_table COLOR_TABLE_FORMAT_SGI +	use SGI_color_table COLOR_TABLE_WIDTH_SGI +	use SGI_color_table COLOR_TABLE_RED_SIZE_SGI +	use SGI_color_table COLOR_TABLE_GREEN_SIZE_SGI +	use SGI_color_table COLOR_TABLE_BLUE_SIZE_SGI +	use SGI_color_table COLOR_TABLE_ALPHA_SIZE_SGI +	use SGI_color_table COLOR_TABLE_LUMINANCE_SIZE_SGI +	use SGI_color_table COLOR_TABLE_INTENSITY_SIZE_SGI + +############################################################################### + +GetConvolutionParameter enum: +	use EXT_convolution CONVOLUTION_BORDER_MODE_EXT +	use EXT_convolution CONVOLUTION_FILTER_SCALE_EXT +	use EXT_convolution CONVOLUTION_FILTER_BIAS_EXT +	use EXT_convolution CONVOLUTION_FORMAT_EXT +	use EXT_convolution CONVOLUTION_WIDTH_EXT +	use EXT_convolution CONVOLUTION_HEIGHT_EXT +	use EXT_convolution MAX_CONVOLUTION_WIDTH_EXT +	use EXT_convolution MAX_CONVOLUTION_HEIGHT_EXT + +############################################################################### + +GetHistogramParameterPNameEXT enum: +	use EXT_histogram HISTOGRAM_WIDTH_EXT +	use EXT_histogram HISTOGRAM_FORMAT_EXT +	use EXT_histogram HISTOGRAM_RED_SIZE_EXT +	use EXT_histogram HISTOGRAM_GREEN_SIZE_EXT +	use EXT_histogram HISTOGRAM_BLUE_SIZE_EXT +	use EXT_histogram HISTOGRAM_ALPHA_SIZE_EXT +	use EXT_histogram HISTOGRAM_LUMINANCE_SIZE_EXT +	use EXT_histogram HISTOGRAM_SINK_EXT + +############################################################################### + +GetMapQuery enum: +	COEFF						= 0x0A00 +	ORDER						= 0x0A01 +	DOMAIN						= 0x0A02 + +############################################################################### + +GetMinmaxParameterPNameEXT enum: +	use EXT_histogram MINMAX_FORMAT_EXT +	use EXT_histogram MINMAX_SINK_EXT + +############################################################################### + +GetPixelMap enum: +	PIXEL_MAP_I_TO_I				= 0x0C70 +	PIXEL_MAP_S_TO_S				= 0x0C71 +	PIXEL_MAP_I_TO_R				= 0x0C72 +	PIXEL_MAP_I_TO_G				= 0x0C73 +	PIXEL_MAP_I_TO_B				= 0x0C74 +	PIXEL_MAP_I_TO_A				= 0x0C75 +	PIXEL_MAP_R_TO_R				= 0x0C76 +	PIXEL_MAP_G_TO_G				= 0x0C77 +	PIXEL_MAP_B_TO_B				= 0x0C78 +	PIXEL_MAP_A_TO_A				= 0x0C79 + +############################################################################### + +GetPointervPName enum: +	VERTEX_ARRAY_POINTER				= 0x808E +	NORMAL_ARRAY_POINTER				= 0x808F +	COLOR_ARRAY_POINTER				= 0x8090 +	INDEX_ARRAY_POINTER				= 0x8091 +	TEXTURE_COORD_ARRAY_POINTER			= 0x8092 +	EDGE_FLAG_ARRAY_POINTER				= 0x8093 +	FEEDBACK_BUFFER_POINTER				= 0x0DF0 +	SELECTION_BUFFER_POINTER			= 0x0DF3 +	use SGIX_instruments INSTRUMENT_BUFFER_POINTER_SGIX + +############################################################################### + +# the columns after the comment symbol (#) indicate: number of params, type +# (F - float, D - double, I - integer) for the returned values +GetPName enum: +	CURRENT_COLOR					= 0x0B00 # 4 F +	CURRENT_INDEX					= 0x0B01 # 1 F +	CURRENT_NORMAL					= 0x0B02 # 3 F +	CURRENT_TEXTURE_COORDS				= 0x0B03 # 4 F +	CURRENT_RASTER_COLOR				= 0x0B04 # 4 F +	CURRENT_RASTER_INDEX				= 0x0B05 # 1 F +	CURRENT_RASTER_TEXTURE_COORDS			= 0x0B06 # 4 F +	CURRENT_RASTER_POSITION				= 0x0B07 # 4 F +	CURRENT_RASTER_POSITION_VALID			= 0x0B08 # 1 I +	CURRENT_RASTER_DISTANCE				= 0x0B09 # 1 F + +	POINT_SMOOTH					= 0x0B10 # 1 I +	POINT_SIZE					= 0x0B11 # 1 F +	POINT_SIZE_RANGE				= 0x0B12 # 2 F +	POINT_SIZE_GRANULARITY				= 0x0B13 # 1 F + +	LINE_SMOOTH					= 0x0B20 # 1 I +	LINE_WIDTH					= 0x0B21 # 1 F +	LINE_WIDTH_RANGE				= 0x0B22 # 2 F +	LINE_WIDTH_GRANULARITY				= 0x0B23 # 1 F +	LINE_STIPPLE					= 0x0B24 # 1 I +	LINE_STIPPLE_PATTERN				= 0x0B25 # 1 I +	LINE_STIPPLE_REPEAT				= 0x0B26 # 1 I +	use VERSION_1_2 SMOOTH_POINT_SIZE_RANGE +	use VERSION_1_2 SMOOTH_POINT_SIZE_GRANULARITY +	use VERSION_1_2 SMOOTH_LINE_WIDTH_RANGE +	use VERSION_1_2 SMOOTH_LINE_WIDTH_GRANULARITY +	use VERSION_1_2 ALIASED_POINT_SIZE_RANGE +	use VERSION_1_2 ALIASED_LINE_WIDTH_RANGE + +	LIST_MODE					= 0x0B30 # 1 I +	MAX_LIST_NESTING				= 0x0B31 # 1 I +	LIST_BASE					= 0x0B32 # 1 I +	LIST_INDEX					= 0x0B33 # 1 I + +	POLYGON_MODE					= 0x0B40 # 2 I +	POLYGON_SMOOTH					= 0x0B41 # 1 I +	POLYGON_STIPPLE					= 0x0B42 # 1 I +	EDGE_FLAG					= 0x0B43 # 1 I +	CULL_FACE					= 0x0B44 # 1 I +	CULL_FACE_MODE					= 0x0B45 # 1 I +	FRONT_FACE					= 0x0B46 # 1 I + +	LIGHTING					= 0x0B50 # 1 I +	LIGHT_MODEL_LOCAL_VIEWER			= 0x0B51 # 1 I +	LIGHT_MODEL_TWO_SIDE				= 0x0B52 # 1 I +	LIGHT_MODEL_AMBIENT				= 0x0B53 # 4 F +	SHADE_MODEL					= 0x0B54 # 1 I +	COLOR_MATERIAL_FACE				= 0x0B55 # 1 I +	COLOR_MATERIAL_PARAMETER			= 0x0B56 # 1 I +	COLOR_MATERIAL					= 0x0B57 # 1 I + +	FOG						= 0x0B60 # 1 I +	FOG_INDEX					= 0x0B61 # 1 I +	FOG_DENSITY					= 0x0B62 # 1 F +	FOG_START					= 0x0B63 # 1 F +	FOG_END						= 0x0B64 # 1 F +	FOG_MODE					= 0x0B65 # 1 I +	FOG_COLOR					= 0x0B66 # 4 F + +	DEPTH_RANGE					= 0x0B70 # 2 F +	DEPTH_TEST					= 0x0B71 # 1 I +	DEPTH_WRITEMASK					= 0x0B72 # 1 I +	DEPTH_CLEAR_VALUE				= 0x0B73 # 1 F +	DEPTH_FUNC					= 0x0B74 # 1 I + +	ACCUM_CLEAR_VALUE				= 0x0B80 # 4 F + +	STENCIL_TEST					= 0x0B90 # 1 I +	STENCIL_CLEAR_VALUE				= 0x0B91 # 1 I +	STENCIL_FUNC					= 0x0B92 # 1 I +	STENCIL_VALUE_MASK				= 0x0B93 # 1 I +	STENCIL_FAIL					= 0x0B94 # 1 I +	STENCIL_PASS_DEPTH_FAIL				= 0x0B95 # 1 I +	STENCIL_PASS_DEPTH_PASS				= 0x0B96 # 1 I +	STENCIL_REF					= 0x0B97 # 1 I +	STENCIL_WRITEMASK				= 0x0B98 # 1 I + +	MATRIX_MODE					= 0x0BA0 # 1 I +	NORMALIZE					= 0x0BA1 # 1 I +	VIEWPORT					= 0x0BA2 # 4 I +	MODELVIEW_STACK_DEPTH				= 0x0BA3 # 1 I +	PROJECTION_STACK_DEPTH				= 0x0BA4 # 1 I +	TEXTURE_STACK_DEPTH				= 0x0BA5 # 1 I +	MODELVIEW_MATRIX				= 0x0BA6 # 16 F +	PROJECTION_MATRIX				= 0x0BA7 # 16 F +	TEXTURE_MATRIX					= 0x0BA8 # 16 F + +	ATTRIB_STACK_DEPTH				= 0x0BB0 # 1 I +	CLIENT_ATTRIB_STACK_DEPTH			= 0x0BB1 # 1 I + +	ALPHA_TEST					= 0x0BC0 # 1 I +	ALPHA_TEST_FUNC					= 0x0BC1 # 1 I +	ALPHA_TEST_REF					= 0x0BC2 # 1 F + +	DITHER						= 0x0BD0 # 1 I + +	BLEND_DST					= 0x0BE0 # 1 I +	BLEND_SRC					= 0x0BE1 # 1 I +	BLEND						= 0x0BE2 # 1 I + +	LOGIC_OP_MODE					= 0x0BF0 # 1 I +	INDEX_LOGIC_OP					= 0x0BF1 # 1 I +	LOGIC_OP					= 0x0BF1 # 1 I +	COLOR_LOGIC_OP					= 0x0BF2 # 1 I + +	AUX_BUFFERS					= 0x0C00 # 1 I +	DRAW_BUFFER					= 0x0C01 # 1 I +	READ_BUFFER					= 0x0C02 # 1 I + +	SCISSOR_BOX					= 0x0C10 # 4 I +	SCISSOR_TEST					= 0x0C11 # 1 I + +	INDEX_CLEAR_VALUE				= 0x0C20 # 1 I +	INDEX_WRITEMASK					= 0x0C21 # 1 I +	COLOR_CLEAR_VALUE				= 0x0C22 # 4 F +	COLOR_WRITEMASK					= 0x0C23 # 4 I + +	INDEX_MODE					= 0x0C30 # 1 I +	RGBA_MODE					= 0x0C31 # 1 I +	DOUBLEBUFFER					= 0x0C32 # 1 I +	STEREO						= 0x0C33 # 1 I + +	RENDER_MODE					= 0x0C40 # 1 I + +	PERSPECTIVE_CORRECTION_HINT			= 0x0C50 # 1 I +	POINT_SMOOTH_HINT				= 0x0C51 # 1 I +	LINE_SMOOTH_HINT				= 0x0C52 # 1 I +	POLYGON_SMOOTH_HINT				= 0x0C53 # 1 I +	FOG_HINT					= 0x0C54 # 1 I + +	TEXTURE_GEN_S					= 0x0C60 # 1 I +	TEXTURE_GEN_T					= 0x0C61 # 1 I +	TEXTURE_GEN_R					= 0x0C62 # 1 I +	TEXTURE_GEN_Q					= 0x0C63 # 1 I + +	PIXEL_MAP_I_TO_I_SIZE				= 0x0CB0 # 1 I +	PIXEL_MAP_S_TO_S_SIZE				= 0x0CB1 # 1 I +	PIXEL_MAP_I_TO_R_SIZE				= 0x0CB2 # 1 I +	PIXEL_MAP_I_TO_G_SIZE				= 0x0CB3 # 1 I +	PIXEL_MAP_I_TO_B_SIZE				= 0x0CB4 # 1 I +	PIXEL_MAP_I_TO_A_SIZE				= 0x0CB5 # 1 I +	PIXEL_MAP_R_TO_R_SIZE				= 0x0CB6 # 1 I +	PIXEL_MAP_G_TO_G_SIZE				= 0x0CB7 # 1 I +	PIXEL_MAP_B_TO_B_SIZE				= 0x0CB8 # 1 I +	PIXEL_MAP_A_TO_A_SIZE				= 0x0CB9 # 1 I + +	UNPACK_SWAP_BYTES				= 0x0CF0 # 1 I +	UNPACK_LSB_FIRST				= 0x0CF1 # 1 I +	UNPACK_ROW_LENGTH				= 0x0CF2 # 1 I +	UNPACK_SKIP_ROWS				= 0x0CF3 # 1 I +	UNPACK_SKIP_PIXELS				= 0x0CF4 # 1 I +	UNPACK_ALIGNMENT				= 0x0CF5 # 1 I + +	PACK_SWAP_BYTES					= 0x0D00 # 1 I +	PACK_LSB_FIRST					= 0x0D01 # 1 I +	PACK_ROW_LENGTH					= 0x0D02 # 1 I +	PACK_SKIP_ROWS					= 0x0D03 # 1 I +	PACK_SKIP_PIXELS				= 0x0D04 # 1 I +	PACK_ALIGNMENT					= 0x0D05 # 1 I + +	MAP_COLOR					= 0x0D10 # 1 I +	MAP_STENCIL					= 0x0D11 # 1 I +	INDEX_SHIFT					= 0x0D12 # 1 I +	INDEX_OFFSET					= 0x0D13 # 1 I +	RED_SCALE					= 0x0D14 # 1 F +	RED_BIAS					= 0x0D15 # 1 F +	ZOOM_X						= 0x0D16 # 1 F +	ZOOM_Y						= 0x0D17 # 1 F +	GREEN_SCALE					= 0x0D18 # 1 F +	GREEN_BIAS					= 0x0D19 # 1 F +	BLUE_SCALE					= 0x0D1A # 1 F +	BLUE_BIAS					= 0x0D1B # 1 F +	ALPHA_SCALE					= 0x0D1C # 1 F +	ALPHA_BIAS					= 0x0D1D # 1 F +	DEPTH_SCALE					= 0x0D1E # 1 F +	DEPTH_BIAS					= 0x0D1F # 1 F + +	MAX_EVAL_ORDER					= 0x0D30 # 1 I +	MAX_LIGHTS					= 0x0D31 # 1 I + +# VERSION_3_0 enum: (aliases) +	MAX_CLIP_DISTANCES				= 0x0D32    # VERSION_3_0   # alias GL_MAX_CLIP_PLANES + +	MAX_CLIP_PLANES					= 0x0D32 # 1 I +	MAX_TEXTURE_SIZE				= 0x0D33 # 1 I +	MAX_PIXEL_MAP_TABLE				= 0x0D34 # 1 I +	MAX_ATTRIB_STACK_DEPTH				= 0x0D35 # 1 I +	MAX_MODELVIEW_STACK_DEPTH			= 0x0D36 # 1 I +	MAX_NAME_STACK_DEPTH				= 0x0D37 # 1 I +	MAX_PROJECTION_STACK_DEPTH			= 0x0D38 # 1 I +	MAX_TEXTURE_STACK_DEPTH				= 0x0D39 # 1 I +	MAX_VIEWPORT_DIMS				= 0x0D3A # 2 F +	MAX_CLIENT_ATTRIB_STACK_DEPTH			= 0x0D3B # 1 I + +	SUBPIXEL_BITS					= 0x0D50 # 1 I +	INDEX_BITS					= 0x0D51 # 1 I +	RED_BITS					= 0x0D52 # 1 I +	GREEN_BITS					= 0x0D53 # 1 I +	BLUE_BITS					= 0x0D54 # 1 I +	ALPHA_BITS					= 0x0D55 # 1 I +	DEPTH_BITS					= 0x0D56 # 1 I +	STENCIL_BITS					= 0x0D57 # 1 I +	ACCUM_RED_BITS					= 0x0D58 # 1 I +	ACCUM_GREEN_BITS				= 0x0D59 # 1 I +	ACCUM_BLUE_BITS					= 0x0D5A # 1 I +	ACCUM_ALPHA_BITS				= 0x0D5B # 1 I + +	NAME_STACK_DEPTH				= 0x0D70 # 1 I + +	AUTO_NORMAL					= 0x0D80 # 1 I + +	MAP1_COLOR_4					= 0x0D90 # 1 I +	MAP1_INDEX					= 0x0D91 # 1 I +	MAP1_NORMAL					= 0x0D92 # 1 I +	MAP1_TEXTURE_COORD_1				= 0x0D93 # 1 I +	MAP1_TEXTURE_COORD_2				= 0x0D94 # 1 I +	MAP1_TEXTURE_COORD_3				= 0x0D95 # 1 I +	MAP1_TEXTURE_COORD_4				= 0x0D96 # 1 I +	MAP1_VERTEX_3					= 0x0D97 # 1 I +	MAP1_VERTEX_4					= 0x0D98 # 1 I + +	MAP2_COLOR_4					= 0x0DB0 # 1 I +	MAP2_INDEX					= 0x0DB1 # 1 I +	MAP2_NORMAL					= 0x0DB2 # 1 I +	MAP2_TEXTURE_COORD_1				= 0x0DB3 # 1 I +	MAP2_TEXTURE_COORD_2				= 0x0DB4 # 1 I +	MAP2_TEXTURE_COORD_3				= 0x0DB5 # 1 I +	MAP2_TEXTURE_COORD_4				= 0x0DB6 # 1 I +	MAP2_VERTEX_3					= 0x0DB7 # 1 I +	MAP2_VERTEX_4					= 0x0DB8 # 1 I + +	MAP1_GRID_DOMAIN				= 0x0DD0 # 2 F +	MAP1_GRID_SEGMENTS				= 0x0DD1 # 1 I +	MAP2_GRID_DOMAIN				= 0x0DD2 # 4 F +	MAP2_GRID_SEGMENTS				= 0x0DD3 # 2 I + +	TEXTURE_1D					= 0x0DE0 # 1 I +	TEXTURE_2D					= 0x0DE1 # 1 I + +	FEEDBACK_BUFFER_SIZE				= 0x0DF1 # 1 I +	FEEDBACK_BUFFER_TYPE				= 0x0DF2 # 1 I + +	SELECTION_BUFFER_SIZE				= 0x0DF4 # 1 I + +	POLYGON_OFFSET_UNITS				= 0x2A00 # 1 F +	POLYGON_OFFSET_POINT				= 0x2A01 # 1 I +	POLYGON_OFFSET_LINE				= 0x2A02 # 1 I +	POLYGON_OFFSET_FILL				= 0x8037 # 1 I +	POLYGON_OFFSET_FACTOR				= 0x8038 # 1 F + +	TEXTURE_BINDING_1D				= 0x8068 # 1 I +	TEXTURE_BINDING_2D				= 0x8069 # 1 I +	TEXTURE_BINDING_3D				= 0x806A # 1 I + +	VERTEX_ARRAY					= 0x8074 # 1 I +	NORMAL_ARRAY					= 0x8075 # 1 I +	COLOR_ARRAY					= 0x8076 # 1 I +	INDEX_ARRAY					= 0x8077 # 1 I +	TEXTURE_COORD_ARRAY				= 0x8078 # 1 I +	EDGE_FLAG_ARRAY					= 0x8079 # 1 I + +	VERTEX_ARRAY_SIZE				= 0x807A # 1 I +	VERTEX_ARRAY_TYPE				= 0x807B # 1 I +	VERTEX_ARRAY_STRIDE				= 0x807C # 1 I + +	NORMAL_ARRAY_TYPE				= 0x807E # 1 I +	NORMAL_ARRAY_STRIDE				= 0x807F # 1 I + +	COLOR_ARRAY_SIZE				= 0x8081 # 1 I +	COLOR_ARRAY_TYPE				= 0x8082 # 1 I +	COLOR_ARRAY_STRIDE				= 0x8083 # 1 I + +	INDEX_ARRAY_TYPE				= 0x8085 # 1 I +	INDEX_ARRAY_STRIDE				= 0x8086 # 1 I + +	TEXTURE_COORD_ARRAY_SIZE			= 0x8088 # 1 I +	TEXTURE_COORD_ARRAY_TYPE			= 0x8089 # 1 I +	TEXTURE_COORD_ARRAY_STRIDE			= 0x808A # 1 I + +	EDGE_FLAG_ARRAY_STRIDE				= 0x808C # 1 I + +	use ClipPlaneName CLIP_PLANE0 +	use ClipPlaneName CLIP_PLANE1 +	use ClipPlaneName CLIP_PLANE2 +	use ClipPlaneName CLIP_PLANE3 +	use ClipPlaneName CLIP_PLANE4 +	use ClipPlaneName CLIP_PLANE5 + +	use LightName LIGHT0 +	use LightName LIGHT1 +	use LightName LIGHT2 +	use LightName LIGHT3 +	use LightName LIGHT4 +	use LightName LIGHT5 +	use LightName LIGHT6 +	use LightName LIGHT7 + +#	use ARB_transpose_matrix	    TRANSPOSE_MODELVIEW_MATRIX_ARB +#	use ARB_transpose_matrix	    TRANSPOSE_PROJECTION_MATRIX_ARB +#	use ARB_transpose_matrix	    TRANSPOSE_TEXTURE_MATRIX_ARB +#	use ARB_transpose_matrix	    TRANSPOSE_COLOR_MATRIX_ARB + +	use VERSION_1_2 LIGHT_MODEL_COLOR_CONTROL + +	use EXT_blend_color BLEND_COLOR_EXT + +	use EXT_blend_minmax BLEND_EQUATION_EXT + +	use EXT_cmyka PACK_CMYK_HINT_EXT +	use EXT_cmyka UNPACK_CMYK_HINT_EXT + +	use EXT_convolution CONVOLUTION_1D_EXT +	use EXT_convolution CONVOLUTION_2D_EXT +	use EXT_convolution SEPARABLE_2D_EXT +	use EXT_convolution POST_CONVOLUTION_RED_SCALE_EXT +	use EXT_convolution POST_CONVOLUTION_GREEN_SCALE_EXT +	use EXT_convolution POST_CONVOLUTION_BLUE_SCALE_EXT +	use EXT_convolution POST_CONVOLUTION_ALPHA_SCALE_EXT +	use EXT_convolution POST_CONVOLUTION_RED_BIAS_EXT +	use EXT_convolution POST_CONVOLUTION_GREEN_BIAS_EXT +	use EXT_convolution POST_CONVOLUTION_BLUE_BIAS_EXT +	use EXT_convolution POST_CONVOLUTION_ALPHA_BIAS_EXT + +	use EXT_histogram HISTOGRAM_EXT +	use EXT_histogram MINMAX_EXT + +	use EXT_polygon_offset POLYGON_OFFSET_BIAS_EXT + +	use EXT_rescale_normal RESCALE_NORMAL_EXT + +	use EXT_shared_texture_palette SHARED_TEXTURE_PALETTE_EXT + +	use EXT_texture_object TEXTURE_3D_BINDING_EXT + +	use EXT_texture3D PACK_SKIP_IMAGES_EXT +	use EXT_texture3D PACK_IMAGE_HEIGHT_EXT +	use EXT_texture3D UNPACK_SKIP_IMAGES_EXT +	use EXT_texture3D UNPACK_IMAGE_HEIGHT_EXT +	use EXT_texture3D TEXTURE_3D_EXT +	use EXT_texture3D MAX_3D_TEXTURE_SIZE_EXT + +	use EXT_vertex_array VERTEX_ARRAY_COUNT_EXT +	use EXT_vertex_array NORMAL_ARRAY_COUNT_EXT +	use EXT_vertex_array COLOR_ARRAY_COUNT_EXT +	use EXT_vertex_array INDEX_ARRAY_COUNT_EXT +	use EXT_vertex_array TEXTURE_COORD_ARRAY_COUNT_EXT +	use EXT_vertex_array EDGE_FLAG_ARRAY_COUNT_EXT + +	use SGIS_detail_texture DETAIL_TEXTURE_2D_BINDING_SGIS + +	use SGIS_fog_function FOG_FUNC_POINTS_SGIS +	use SGIS_fog_function MAX_FOG_FUNC_POINTS_SGIS + +	use SGIS_generate_mipmap GENERATE_MIPMAP_HINT_SGIS + +	use SGIS_multisample MULTISAMPLE_SGIS +	use SGIS_multisample SAMPLE_ALPHA_TO_MASK_SGIS +	use SGIS_multisample SAMPLE_ALPHA_TO_ONE_SGIS +	use SGIS_multisample SAMPLE_MASK_SGIS +	use SGIS_multisample SAMPLE_BUFFERS_SGIS +	use SGIS_multisample SAMPLES_SGIS +	use SGIS_multisample SAMPLE_MASK_VALUE_SGIS +	use SGIS_multisample SAMPLE_MASK_INVERT_SGIS +	use SGIS_multisample SAMPLE_PATTERN_SGIS + +	use SGIS_pixel_texture PIXEL_TEXTURE_SGIS + +	use SGIS_point_parameters POINT_SIZE_MIN_SGIS +	use SGIS_point_parameters POINT_SIZE_MAX_SGIS +	use SGIS_point_parameters POINT_FADE_THRESHOLD_SIZE_SGIS +	use SGIS_point_parameters DISTANCE_ATTENUATION_SGIS + +	use SGIS_texture4D PACK_SKIP_VOLUMES_SGIS +	use SGIS_texture4D PACK_IMAGE_DEPTH_SGIS +	use SGIS_texture4D UNPACK_SKIP_VOLUMES_SGIS +	use SGIS_texture4D UNPACK_IMAGE_DEPTH_SGIS +	use SGIS_texture4D TEXTURE_4D_SGIS +	use SGIS_texture4D MAX_4D_TEXTURE_SIZE_SGIS +	use SGIS_texture4D TEXTURE_4D_BINDING_SGIS + +	use SGIX_async ASYNC_MARKER_SGIX + +	use SGIX_async_histogram ASYNC_HISTOGRAM_SGIX +	use SGIX_async_histogram MAX_ASYNC_HISTOGRAM_SGIX + +	use SGIX_async_pixel ASYNC_TEX_IMAGE_SGIX +	use SGIX_async_pixel ASYNC_DRAW_PIXELS_SGIX +	use SGIX_async_pixel ASYNC_READ_PIXELS_SGIX +	use SGIX_async_pixel MAX_ASYNC_TEX_IMAGE_SGIX +	use SGIX_async_pixel MAX_ASYNC_DRAW_PIXELS_SGIX +	use SGIX_async_pixel MAX_ASYNC_READ_PIXELS_SGIX + +	use SGIX_calligraphic_fragment CALLIGRAPHIC_FRAGMENT_SGIX + +	use SGIX_clipmap MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX +	use SGIX_clipmap MAX_CLIPMAP_DEPTH_SGIX + +	use SGIX_convolution_accuracy CONVOLUTION_HINT_SGIX + +	use SGIX_fog_offset FOG_OFFSET_SGIX +	use SGIX_fog_offset FOG_OFFSET_VALUE_SGIX + +	use SGIX_fragment_lighting FRAGMENT_LIGHTING_SGIX +	use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_SGIX +	use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_FACE_SGIX +	use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX +	use SGIX_fragment_lighting MAX_FRAGMENT_LIGHTS_SGIX +	use SGIX_fragment_lighting MAX_ACTIVE_LIGHTS_SGIX +	use SGIX_fragment_lighting LIGHT_ENV_MODE_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX + +	use SGIX_framezoom FRAMEZOOM_SGIX +	use SGIX_framezoom FRAMEZOOM_FACTOR_SGIX +	use SGIX_framezoom MAX_FRAMEZOOM_FACTOR_SGIX + +	use SGIX_instruments INSTRUMENT_MEASUREMENTS_SGIX + +	use SGIX_interlace INTERLACE_SGIX + +	use SGIX_ir_instrument1 IR_INSTRUMENT1_SGIX + +	use SGIX_pixel_texture PIXEL_TEX_GEN_SGIX +	use SGIX_pixel_texture PIXEL_TEX_GEN_MODE_SGIX + +	use SGIX_pixel_tiles PIXEL_TILE_BEST_ALIGNMENT_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_CACHE_INCREMENT_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_WIDTH_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_HEIGHT_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_GRID_WIDTH_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_GRID_HEIGHT_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_GRID_DEPTH_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_CACHE_SIZE_SGIX + +	use SGIX_polynomial_ffd DEFORMATIONS_MASK_SGIX + +	use SGIX_reference_plane REFERENCE_PLANE_EQUATION_SGIX +	use SGIX_reference_plane REFERENCE_PLANE_SGIX + +	use SGIX_sprite SPRITE_SGIX +	use SGIX_sprite SPRITE_MODE_SGIX +	use SGIX_sprite SPRITE_AXIS_SGIX +	use SGIX_sprite SPRITE_TRANSLATION_SGIX + +	use SGIX_subsample PACK_SUBSAMPLE_RATE_SGIX +	use SGIX_subsample UNPACK_SUBSAMPLE_RATE_SGIX +	use SGIX_resample PACK_RESAMPLE_SGIX +	use SGIX_resample UNPACK_RESAMPLE_SGIX + +	use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_RANGE_SGIX +	use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_RANGE_SGIX + +	use SGIX_vertex_preclip VERTEX_PRECLIP_SGIX +	use SGIX_vertex_preclip VERTEX_PRECLIP_HINT_SGIX + +	use SGI_color_matrix COLOR_MATRIX_SGI +	use SGI_color_matrix COLOR_MATRIX_STACK_DEPTH_SGI +	use SGI_color_matrix MAX_COLOR_MATRIX_STACK_DEPTH_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_RED_SCALE_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_GREEN_SCALE_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_BLUE_SCALE_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_SCALE_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_RED_BIAS_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_GREEN_BIAS_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_BLUE_BIAS_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_BIAS_SGI + +	use SGI_color_table COLOR_TABLE_SGI +	use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI +	use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI + +	use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI + +############################################################################### + +GetTextureParameter enum: +	use TextureParameterName TEXTURE_MAG_FILTER +	use TextureParameterName TEXTURE_MIN_FILTER +	use TextureParameterName TEXTURE_WRAP_S +	use TextureParameterName TEXTURE_WRAP_T +	TEXTURE_WIDTH					= 0x1000 +	TEXTURE_HEIGHT					= 0x1001 +	TEXTURE_INTERNAL_FORMAT				= 0x1003 +	TEXTURE_COMPONENTS				= 0x1003 +	TEXTURE_BORDER_COLOR				= 0x1004 +	TEXTURE_BORDER					= 0x1005 +	TEXTURE_RED_SIZE				= 0x805C +	TEXTURE_GREEN_SIZE				= 0x805D +	TEXTURE_BLUE_SIZE				= 0x805E +	TEXTURE_ALPHA_SIZE				= 0x805F +	TEXTURE_LUMINANCE_SIZE				= 0x8060 +	TEXTURE_INTENSITY_SIZE				= 0x8061 +	TEXTURE_PRIORITY				= 0x8066 +	TEXTURE_RESIDENT				= 0x8067 +	use EXT_texture3D TEXTURE_DEPTH_EXT +	use EXT_texture3D TEXTURE_WRAP_R_EXT +	use SGIS_detail_texture DETAIL_TEXTURE_LEVEL_SGIS +	use SGIS_detail_texture DETAIL_TEXTURE_MODE_SGIS +	use SGIS_detail_texture DETAIL_TEXTURE_FUNC_POINTS_SGIS +	use SGIS_generate_mipmap GENERATE_MIPMAP_SGIS +	use SGIS_sharpen_texture SHARPEN_TEXTURE_FUNC_POINTS_SGIS +	use SGIS_texture_filter4 TEXTURE_FILTER4_SIZE_SGIS +	use SGIS_texture_lod TEXTURE_MIN_LOD_SGIS +	use SGIS_texture_lod TEXTURE_MAX_LOD_SGIS +	use SGIS_texture_lod TEXTURE_BASE_LEVEL_SGIS +	use SGIS_texture_lod TEXTURE_MAX_LEVEL_SGIS +	use SGIS_texture_select DUAL_TEXTURE_SELECT_SGIS +	use SGIS_texture_select QUAD_TEXTURE_SELECT_SGIS +	use SGIS_texture4D TEXTURE_4DSIZE_SGIS +	use SGIS_texture4D TEXTURE_WRAP_Q_SGIS +	use SGIX_clipmap TEXTURE_CLIPMAP_CENTER_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_FRAME_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_OFFSET_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_LOD_OFFSET_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_DEPTH_SGIX +	use SGIX_shadow TEXTURE_COMPARE_SGIX +	use SGIX_shadow TEXTURE_COMPARE_OPERATOR_SGIX +	use SGIX_shadow TEXTURE_LEQUAL_R_SGIX +	use SGIX_shadow TEXTURE_GEQUAL_R_SGIX +	use SGIX_shadow_ambient SHADOW_AMBIENT_SGIX +	use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_S_SGIX +	use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_T_SGIX +	use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_R_SGIX +	use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_S_SGIX +	use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_T_SGIX +	use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_R_SGIX +	use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_SGIX +	use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_SGIX + +############################################################################### + +HintMode enum: +	DONT_CARE					= 0x1100 +	FASTEST						= 0x1101 +	NICEST						= 0x1102 + +############################################################################### + +HintTarget enum: +	use GetPName PERSPECTIVE_CORRECTION_HINT +	use GetPName POINT_SMOOTH_HINT +	use GetPName LINE_SMOOTH_HINT +	use GetPName POLYGON_SMOOTH_HINT +	use GetPName FOG_HINT +	use EXT_cmyka PACK_CMYK_HINT_EXT +	use EXT_cmyka UNPACK_CMYK_HINT_EXT +	use SGIS_generate_mipmap GENERATE_MIPMAP_HINT_SGIS +	use SGIX_convolution_accuracy CONVOLUTION_HINT_SGIX +	use SGIX_texture_multi_buffer TEXTURE_MULTI_BUFFER_HINT_SGIX +	use SGIX_vertex_preclip VERTEX_PRECLIP_HINT_SGIX + +############################################################################### + +HistogramTargetEXT enum: +	use EXT_histogram HISTOGRAM_EXT +	use EXT_histogram PROXY_HISTOGRAM_EXT + +############################################################################### + +IndexPointerType enum: +	use DataType SHORT +	use DataType INT +	use DataType FLOAT +	use DataType DOUBLE + +############################################################################### + +LightEnvModeSGIX enum: +	use StencilOp REPLACE +	use TextureEnvMode MODULATE +	use AccumOp ADD + +############################################################################### + +LightEnvParameterSGIX enum: +	use SGIX_fragment_lighting LIGHT_ENV_MODE_SGIX + +############################################################################### + +LightModelColorControl enum: +	use VERSION_1_2 SINGLE_COLOR +	use VERSION_1_2 SEPARATE_SPECULAR_COLOR + +############################################################################### + +LightModelParameter enum: +	use GetPName LIGHT_MODEL_AMBIENT +	use GetPName LIGHT_MODEL_LOCAL_VIEWER +	use GetPName LIGHT_MODEL_TWO_SIDE +	use VERSION_1_2 LIGHT_MODEL_COLOR_CONTROL + +############################################################################### + +LightParameter enum: +	AMBIENT						= 0x1200 +	DIFFUSE						= 0x1201 +	SPECULAR					= 0x1202 +	POSITION					= 0x1203 +	SPOT_DIRECTION					= 0x1204 +	SPOT_EXPONENT					= 0x1205 +	SPOT_CUTOFF					= 0x1206 +	CONSTANT_ATTENUATION				= 0x1207 +	LINEAR_ATTENUATION				= 0x1208 +	QUADRATIC_ATTENUATION				= 0x1209 + +############################################################################### + +ListMode enum: +	COMPILE						= 0x1300 +	COMPILE_AND_EXECUTE				= 0x1301 + +############################################################################### + +DataType enum: +	BYTE						= 0x1400 +	UNSIGNED_BYTE					= 0x1401 +	SHORT						= 0x1402 +	UNSIGNED_SHORT					= 0x1403 +	INT						= 0x1404 +	UNSIGNED_INT					= 0x1405 +	FLOAT						= 0x1406 +	2_BYTES						= 0x1407 +	3_BYTES						= 0x1408 +	4_BYTES						= 0x1409 +	DOUBLE						= 0x140A +	DOUBLE_EXT					= 0x140A + +# OES_byte_coordinates: (OpenGL ES only) +#	use DataType BYTE + +OES_element_index_uint enum: (OpenGL ES only) +#	use DataType UNSIGNED_INT + +OES_texture_float enum: (OpenGL ES only; additional; see below) +#	use DataType FLOAT + +VERSION_3_0 enum: +#	use ARB_half_float_vertex	    HALF_FLOAT + +ARB_half_float_vertex enum: (note: no ARB suffixes) +	HALF_FLOAT					= 0x140B    # VERSION_3_0 / ARB_half_float_vertex + +ARB_half_float_pixel enum: +	HALF_FLOAT_ARB					= 0x140B + +NV_half_float enum: +	HALF_FLOAT_NV					= 0x140B + +APPLE_float_pixels enum: (additional; see below) +	HALF_APPLE					= 0x140B + +OES_fixed_point enum: (OpenGL ES only) +	FIXED_OES					= 0x140C + +# Leave a gap to preserve even/odd int/uint token values +# ARB_future_use: 0x140D + +# Future NV extension (Khronos bug 5172) +	INT64_NV					= 0x140E +	UNSIGNED_INT64_NV				= 0x140F + +############################################################################### + +ListNameType enum: +	use DataType BYTE +	use DataType UNSIGNED_BYTE +	use DataType SHORT +	use DataType UNSIGNED_SHORT +	use DataType INT +	use DataType UNSIGNED_INT +	use DataType FLOAT +	use DataType 2_BYTES +	use DataType 3_BYTES +	use DataType 4_BYTES + +############################################################################### + +ListParameterName enum: +	use SGIX_list_priority LIST_PRIORITY_SGIX + +############################################################################### + +LogicOp enum: +	CLEAR						= 0x1500 +	AND						= 0x1501 +	AND_REVERSE					= 0x1502 +	COPY						= 0x1503 +	AND_INVERTED					= 0x1504 +	NOOP						= 0x1505 +	XOR						= 0x1506 +	OR						= 0x1507 +	NOR						= 0x1508 +	EQUIV						= 0x1509 +	INVERT						= 0x150A +	OR_REVERSE					= 0x150B +	COPY_INVERTED					= 0x150C +	OR_INVERTED					= 0x150D +	NAND						= 0x150E +	SET						= 0x150F + +############################################################################### + +MapTarget enum: +	use GetPName MAP1_COLOR_4 +	use GetPName MAP1_INDEX +	use GetPName MAP1_NORMAL +	use GetPName MAP1_TEXTURE_COORD_1 +	use GetPName MAP1_TEXTURE_COORD_2 +	use GetPName MAP1_TEXTURE_COORD_3 +	use GetPName MAP1_TEXTURE_COORD_4 +	use GetPName MAP1_VERTEX_3 +	use GetPName MAP1_VERTEX_4 +	use GetPName MAP2_COLOR_4 +	use GetPName MAP2_INDEX +	use GetPName MAP2_NORMAL +	use GetPName MAP2_TEXTURE_COORD_1 +	use GetPName MAP2_TEXTURE_COORD_2 +	use GetPName MAP2_TEXTURE_COORD_3 +	use GetPName MAP2_TEXTURE_COORD_4 +	use GetPName MAP2_VERTEX_3 +	use GetPName MAP2_VERTEX_4 +	use SGIX_polynomial_ffd GEOMETRY_DEFORMATION_SGIX +	use SGIX_polynomial_ffd TEXTURE_DEFORMATION_SGIX + +############################################################################### + +MaterialFace enum: +	use DrawBufferMode FRONT +	use DrawBufferMode BACK +	use DrawBufferMode FRONT_AND_BACK + + +############################################################################### + +MaterialParameter enum: +	EMISSION					= 0x1600 +	SHININESS					= 0x1601 +	AMBIENT_AND_DIFFUSE				= 0x1602 +	COLOR_INDEXES					= 0x1603 +	use LightParameter AMBIENT +	use LightParameter DIFFUSE +	use LightParameter SPECULAR + +############################################################################### + +MatrixMode enum: +	MODELVIEW					= 0x1700 +	PROJECTION					= 0x1701 +	TEXTURE						= 0x1702 + +############################################################################### + +MeshMode1 enum: +	use PolygonMode POINT +	use PolygonMode LINE + +############################################################################### + +MeshMode2 enum: +	use PolygonMode POINT +	use PolygonMode LINE +	use PolygonMode FILL + +############################################################################### + +MinmaxTargetEXT enum: +	use EXT_histogram MINMAX_EXT + +############################################################################### + +NormalPointerType enum: +	use DataType BYTE +	use DataType SHORT +	use DataType INT +	use DataType FLOAT +	use DataType DOUBLE + +############################################################################### + +PixelCopyType enum: +	COLOR						= 0x1800 +	DEPTH						= 0x1801 +	STENCIL						= 0x1802 + +EXT_discard_framebuffer enum: (OpenGL ES only) +	COLOR_EXT					= 0x1800 +	DEPTH_EXT					= 0x1801 +	STENCIL_EXT					= 0x1802 + +############################################################################### + +PixelFormat enum: +	COLOR_INDEX					= 0x1900 +	STENCIL_INDEX					= 0x1901 +	DEPTH_COMPONENT					= 0x1902 +	RED						= 0x1903 +	GREEN						= 0x1904 +	BLUE						= 0x1905 +	ALPHA						= 0x1906 +	RGB						= 0x1907 +	RGBA						= 0x1908 +	LUMINANCE					= 0x1909 +	LUMINANCE_ALPHA					= 0x190A +	use EXT_abgr ABGR_EXT +	use EXT_cmyka CMYK_EXT +	use EXT_cmyka CMYKA_EXT +	use SGIX_icc_texture R5_G6_B5_ICC_SGIX +	use SGIX_icc_texture R5_G6_B5_A8_ICC_SGIX +	use SGIX_icc_texture ALPHA16_ICC_SGIX +	use SGIX_icc_texture LUMINANCE16_ICC_SGIX +	use SGIX_icc_texture LUMINANCE16_ALPHA8_ICC_SGIX +	use SGIX_ycrcb YCRCB_422_SGIX +	use SGIX_ycrcb YCRCB_444_SGIX + +OES_depth_texture enum: (OpenGL ES only) +#	use DataType UNSIGNED_SHORT +#	use DataType UNSIGNED_INT +#	use PixelFormat DEPTH_COMPONENT + +############################################################################### + +PixelMap enum: +	use GetPixelMap PIXEL_MAP_I_TO_I +	use GetPixelMap PIXEL_MAP_S_TO_S +	use GetPixelMap PIXEL_MAP_I_TO_R +	use GetPixelMap PIXEL_MAP_I_TO_G +	use GetPixelMap PIXEL_MAP_I_TO_B +	use GetPixelMap PIXEL_MAP_I_TO_A +	use GetPixelMap PIXEL_MAP_R_TO_R +	use GetPixelMap PIXEL_MAP_G_TO_G +	use GetPixelMap PIXEL_MAP_B_TO_B +	use GetPixelMap PIXEL_MAP_A_TO_A + +############################################################################### + +PixelStoreParameter enum: +	use GetPName UNPACK_SWAP_BYTES +	use GetPName UNPACK_LSB_FIRST +	use GetPName UNPACK_ROW_LENGTH +	use GetPName UNPACK_SKIP_ROWS +	use GetPName UNPACK_SKIP_PIXELS +	use GetPName UNPACK_ALIGNMENT +	use GetPName PACK_SWAP_BYTES +	use GetPName PACK_LSB_FIRST +	use GetPName PACK_ROW_LENGTH +	use GetPName PACK_SKIP_ROWS +	use GetPName PACK_SKIP_PIXELS +	use GetPName PACK_ALIGNMENT +	use EXT_texture3D PACK_SKIP_IMAGES_EXT +	use EXT_texture3D PACK_IMAGE_HEIGHT_EXT +	use EXT_texture3D UNPACK_SKIP_IMAGES_EXT +	use EXT_texture3D UNPACK_IMAGE_HEIGHT_EXT +	use SGIS_texture4D PACK_SKIP_VOLUMES_SGIS +	use SGIS_texture4D PACK_IMAGE_DEPTH_SGIS +	use SGIS_texture4D UNPACK_SKIP_VOLUMES_SGIS +	use SGIS_texture4D UNPACK_IMAGE_DEPTH_SGIS +	use SGIX_pixel_tiles PIXEL_TILE_WIDTH_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_HEIGHT_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_GRID_WIDTH_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_GRID_HEIGHT_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_GRID_DEPTH_SGIX +	use SGIX_pixel_tiles PIXEL_TILE_CACHE_SIZE_SGIX +	use SGIX_subsample PACK_SUBSAMPLE_RATE_SGIX +	use SGIX_subsample UNPACK_SUBSAMPLE_RATE_SGIX +	use SGIX_resample PACK_RESAMPLE_SGIX +	use SGIX_resample UNPACK_RESAMPLE_SGIX + +############################################################################### + +PixelStoreResampleMode enum: +	use SGIX_resample RESAMPLE_REPLICATE_SGIX +	use SGIX_resample RESAMPLE_ZERO_FILL_SGIX +	use SGIX_resample RESAMPLE_DECIMATE_SGIX + +############################################################################### + +PixelStoreSubsampleRate enum: +	use SGIX_subsample PIXEL_SUBSAMPLE_4444_SGIX +	use SGIX_subsample PIXEL_SUBSAMPLE_2424_SGIX +	use SGIX_subsample PIXEL_SUBSAMPLE_4242_SGIX + +############################################################################### + +PixelTexGenMode enum: +	use DrawBufferMode NONE +	use PixelFormat RGB +	use PixelFormat RGBA +	use PixelFormat LUMINANCE +	use PixelFormat LUMINANCE_ALPHA +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_MS_SGIX +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_LS_SGIX + +############################################################################### + +PixelTexGenParameterNameSGIS enum: +	use SGIS_pixel_texture PIXEL_FRAGMENT_RGB_SOURCE_SGIS +	use SGIS_pixel_texture PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS + +############################################################################### + +PixelTransferParameter enum: +	use GetPName MAP_COLOR +	use GetPName MAP_STENCIL +	use GetPName INDEX_SHIFT +	use GetPName INDEX_OFFSET +	use GetPName RED_SCALE +	use GetPName RED_BIAS +	use GetPName GREEN_SCALE +	use GetPName GREEN_BIAS +	use GetPName BLUE_SCALE +	use GetPName BLUE_BIAS +	use GetPName ALPHA_SCALE +	use GetPName ALPHA_BIAS +	use GetPName DEPTH_SCALE +	use GetPName DEPTH_BIAS +	use EXT_convolution POST_CONVOLUTION_RED_SCALE_EXT +	use EXT_convolution POST_CONVOLUTION_GREEN_SCALE_EXT +	use EXT_convolution POST_CONVOLUTION_BLUE_SCALE_EXT +	use EXT_convolution POST_CONVOLUTION_ALPHA_SCALE_EXT +	use EXT_convolution POST_CONVOLUTION_RED_BIAS_EXT +	use EXT_convolution POST_CONVOLUTION_GREEN_BIAS_EXT +	use EXT_convolution POST_CONVOLUTION_BLUE_BIAS_EXT +	use EXT_convolution POST_CONVOLUTION_ALPHA_BIAS_EXT +	use SGI_color_matrix POST_COLOR_MATRIX_RED_SCALE_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_GREEN_SCALE_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_BLUE_SCALE_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_SCALE_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_RED_BIAS_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_GREEN_BIAS_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_BLUE_BIAS_SGI +	use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_BIAS_SGI + +############################################################################### + +PixelType enum: +	BITMAP						= 0x1A00 +	use DataType BYTE +	use DataType UNSIGNED_BYTE +	use DataType SHORT +	use DataType UNSIGNED_SHORT +	use DataType INT +	use DataType UNSIGNED_INT +	use DataType FLOAT +	use EXT_packed_pixels UNSIGNED_BYTE_3_3_2_EXT +	use EXT_packed_pixels UNSIGNED_SHORT_4_4_4_4_EXT +	use EXT_packed_pixels UNSIGNED_SHORT_5_5_5_1_EXT +	use EXT_packed_pixels UNSIGNED_INT_8_8_8_8_EXT +	use EXT_packed_pixels UNSIGNED_INT_10_10_10_2_EXT + +############################################################################### + +PointParameterNameSGIS enum: +	use SGIS_point_parameters POINT_SIZE_MIN_SGIS +	use SGIS_point_parameters POINT_SIZE_MAX_SGIS +	use SGIS_point_parameters POINT_FADE_THRESHOLD_SIZE_SGIS +	use SGIS_point_parameters DISTANCE_ATTENUATION_SGIS + +############################################################################### + +PolygonMode enum: +	POINT						= 0x1B00 +	LINE						= 0x1B01 +	FILL						= 0x1B02 + +############################################################################### + +ReadBufferMode enum: +	use DrawBufferMode FRONT_LEFT +	use DrawBufferMode FRONT_RIGHT +	use DrawBufferMode BACK_LEFT +	use DrawBufferMode BACK_RIGHT +	use DrawBufferMode FRONT +	use DrawBufferMode BACK +	use DrawBufferMode LEFT +	use DrawBufferMode RIGHT +	use DrawBufferMode AUX0 +	use DrawBufferMode AUX1 +	use DrawBufferMode AUX2 +	use DrawBufferMode AUX3 + +############################################################################### + +RenderingMode enum: +	RENDER						= 0x1C00 +	FEEDBACK					= 0x1C01 +	SELECT						= 0x1C02 + +############################################################################### + +SamplePatternSGIS enum: +	use SGIS_multisample 1PASS_SGIS +	use SGIS_multisample 2PASS_0_SGIS +	use SGIS_multisample 2PASS_1_SGIS +	use SGIS_multisample 4PASS_0_SGIS +	use SGIS_multisample 4PASS_1_SGIS +	use SGIS_multisample 4PASS_2_SGIS +	use SGIS_multisample 4PASS_3_SGIS + +############################################################################### + +SeparableTargetEXT enum: +	use EXT_convolution SEPARABLE_2D_EXT + +############################################################################### + +ShadingModel enum: +	FLAT						= 0x1D00 +	SMOOTH						= 0x1D01 + +############################################################################### + +StencilFunction enum: +	use AlphaFunction NEVER +	use AlphaFunction LESS +	use AlphaFunction EQUAL +	use AlphaFunction LEQUAL +	use AlphaFunction GREATER +	use AlphaFunction NOTEQUAL +	use AlphaFunction GEQUAL +	use AlphaFunction ALWAYS + +############################################################################### + +StencilOp enum: +	use BlendingFactorDest ZERO +	KEEP						= 0x1E00 +	REPLACE						= 0x1E01 +	INCR						= 0x1E02 +	DECR						= 0x1E03 +	use LogicOp INVERT + +############################################################################### + +StringName enum: +	VENDOR						= 0x1F00 +	RENDERER					= 0x1F01 +	VERSION						= 0x1F02 +	EXTENSIONS					= 0x1F03 + +############################################################################### + +TexCoordPointerType enum: +	use DataType SHORT +	use DataType INT +	use DataType FLOAT +	use DataType DOUBLE + +############################################################################### + +TextureCoordName enum: +	S						= 0x2000 +	T						= 0x2001 +	R						= 0x2002 +	Q						= 0x2003 + +############################################################################### + +TextureEnvMode enum: +	MODULATE					= 0x2100 +	DECAL						= 0x2101 +	use GetPName BLEND +	use EXT_texture REPLACE_EXT +	use AccumOp ADD +	use SGIX_texture_add_env TEXTURE_ENV_BIAS_SGIX + +############################################################################### + +TextureEnvParameter enum: +	TEXTURE_ENV_MODE				= 0x2200 +	TEXTURE_ENV_COLOR				= 0x2201 + +############################################################################### + +TextureEnvTarget enum: +	TEXTURE_ENV					= 0x2300 + +############################################################################### + +TextureFilterFuncSGIS enum: +	use SGIS_texture_filter4 FILTER4_SGIS + +############################################################################### + +TextureGenMode enum: +	EYE_LINEAR					= 0x2400 +	OBJECT_LINEAR					= 0x2401 +	SPHERE_MAP					= 0x2402 +	use SGIS_point_line_texgen EYE_DISTANCE_TO_POINT_SGIS +	use SGIS_point_line_texgen OBJECT_DISTANCE_TO_POINT_SGIS +	use SGIS_point_line_texgen EYE_DISTANCE_TO_LINE_SGIS +	use SGIS_point_line_texgen OBJECT_DISTANCE_TO_LINE_SGIS + +############################################################################### + +TextureGenParameter enum: +	TEXTURE_GEN_MODE				= 0x2500 +	OBJECT_PLANE					= 0x2501 +	EYE_PLANE					= 0x2502 +	use SGIS_point_line_texgen EYE_POINT_SGIS +	use SGIS_point_line_texgen OBJECT_POINT_SGIS +	use SGIS_point_line_texgen EYE_LINE_SGIS +	use SGIS_point_line_texgen OBJECT_LINE_SGIS + +# Aliases TextureGenParameter enum above +OES_texture_cube_map enum: (OpenGL ES only; additional; see below) +	TEXTURE_GEN_MODE				= 0x2500 + +############################################################################### + +TextureMagFilter enum: +	NEAREST						= 0x2600 +	LINEAR						= 0x2601 +	use SGIS_detail_texture LINEAR_DETAIL_SGIS +	use SGIS_detail_texture LINEAR_DETAIL_ALPHA_SGIS +	use SGIS_detail_texture LINEAR_DETAIL_COLOR_SGIS +	use SGIS_sharpen_texture LINEAR_SHARPEN_SGIS +	use SGIS_sharpen_texture LINEAR_SHARPEN_ALPHA_SGIS +	use SGIS_sharpen_texture LINEAR_SHARPEN_COLOR_SGIS +	use SGIS_texture_filter4 FILTER4_SGIS +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_CEILING_SGIX +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_ROUND_SGIX +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_FLOOR_SGIX + +############################################################################### + +TextureMinFilter enum: +	use TextureMagFilter NEAREST +	use TextureMagFilter LINEAR +	NEAREST_MIPMAP_NEAREST				= 0x2700 +	LINEAR_MIPMAP_NEAREST				= 0x2701 +	NEAREST_MIPMAP_LINEAR				= 0x2702 +	LINEAR_MIPMAP_LINEAR				= 0x2703 +	use SGIS_texture_filter4 FILTER4_SGIS +	use SGIX_clipmap LINEAR_CLIPMAP_LINEAR_SGIX +	use SGIX_clipmap NEAREST_CLIPMAP_NEAREST_SGIX +	use SGIX_clipmap NEAREST_CLIPMAP_LINEAR_SGIX +	use SGIX_clipmap LINEAR_CLIPMAP_NEAREST_SGIX +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_CEILING_SGIX +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_ROUND_SGIX +	use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_FLOOR_SGIX + +############################################################################### + +TextureParameterName enum: +	TEXTURE_MAG_FILTER				= 0x2800 +	TEXTURE_MIN_FILTER				= 0x2801 +	TEXTURE_WRAP_S					= 0x2802 +	TEXTURE_WRAP_T					= 0x2803 +	use GetTextureParameter TEXTURE_BORDER_COLOR +	use GetTextureParameter TEXTURE_PRIORITY +	use EXT_texture3D TEXTURE_WRAP_R_EXT +	use SGIS_detail_texture DETAIL_TEXTURE_LEVEL_SGIS +	use SGIS_detail_texture DETAIL_TEXTURE_MODE_SGIS +	use SGIS_generate_mipmap GENERATE_MIPMAP_SGIS +	use SGIS_texture_select DUAL_TEXTURE_SELECT_SGIS +	use SGIS_texture_select QUAD_TEXTURE_SELECT_SGIS +	use SGIS_texture4D TEXTURE_WRAP_Q_SGIS +	use SGIX_clipmap TEXTURE_CLIPMAP_CENTER_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_FRAME_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_OFFSET_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_LOD_OFFSET_SGIX +	use SGIX_clipmap TEXTURE_CLIPMAP_DEPTH_SGIX +	use SGIX_shadow TEXTURE_COMPARE_SGIX +	use SGIX_shadow TEXTURE_COMPARE_OPERATOR_SGIX +	use SGIX_shadow_ambient SHADOW_AMBIENT_SGIX +	use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_S_SGIX +	use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_T_SGIX +	use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_R_SGIX +	use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_S_SGIX +	use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_T_SGIX +	use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_R_SGIX +	use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_SGIX +	use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_SGIX + +############################################################################### + +TextureTarget enum: +	use GetPName TEXTURE_1D +	use GetPName TEXTURE_2D +	PROXY_TEXTURE_1D				= 0x8063 +	PROXY_TEXTURE_2D				= 0x8064 +	use EXT_texture3D TEXTURE_3D_EXT +	use EXT_texture3D PROXY_TEXTURE_3D_EXT +	use SGIS_detail_texture DETAIL_TEXTURE_2D_SGIS +	use SGIS_texture4D TEXTURE_4D_SGIS +	use SGIS_texture4D PROXY_TEXTURE_4D_SGIS +	use SGIS_texture_lod TEXTURE_MIN_LOD_SGIS +	use SGIS_texture_lod TEXTURE_MAX_LOD_SGIS +	use SGIS_texture_lod TEXTURE_BASE_LEVEL_SGIS +	use SGIS_texture_lod TEXTURE_MAX_LEVEL_SGIS + +############################################################################### + +TextureWrapMode enum: +	CLAMP						= 0x2900 +	REPEAT						= 0x2901 +	use SGIS_texture_border_clamp CLAMP_TO_BORDER_SGIS +	use SGIS_texture_edge_clamp CLAMP_TO_EDGE_SGIS + +############################################################################### + +PixelInternalFormat enum: +	R3_G3_B2					= 0x2A10 +	ALPHA4						= 0x803B +	ALPHA8						= 0x803C +	ALPHA12						= 0x803D +	ALPHA16						= 0x803E +	LUMINANCE4					= 0x803F +	LUMINANCE8					= 0x8040 +	LUMINANCE12					= 0x8041 +	LUMINANCE16					= 0x8042 +	LUMINANCE4_ALPHA4				= 0x8043 +	LUMINANCE6_ALPHA2				= 0x8044 +	LUMINANCE8_ALPHA8				= 0x8045 +	LUMINANCE12_ALPHA4				= 0x8046 +	LUMINANCE12_ALPHA12				= 0x8047 +	LUMINANCE16_ALPHA16				= 0x8048 +	INTENSITY					= 0x8049 +	INTENSITY4					= 0x804A +	INTENSITY8					= 0x804B +	INTENSITY12					= 0x804C +	INTENSITY16					= 0x804D +	RGB4						= 0x804F +	RGB5						= 0x8050 +	RGB8						= 0x8051 +	RGB10						= 0x8052 +	RGB12						= 0x8053 +	RGB16						= 0x8054 +	RGBA2						= 0x8055 +	RGBA4						= 0x8056 +	RGB5_A1						= 0x8057 +	RGBA8						= 0x8058 +	RGB10_A2					= 0x8059 +	RGBA12						= 0x805A +	RGBA16						= 0x805B +	use EXT_texture RGB2_EXT +	use SGIS_texture_select DUAL_ALPHA4_SGIS +	use SGIS_texture_select DUAL_ALPHA8_SGIS +	use SGIS_texture_select DUAL_ALPHA12_SGIS +	use SGIS_texture_select DUAL_ALPHA16_SGIS +	use SGIS_texture_select DUAL_LUMINANCE4_SGIS +	use SGIS_texture_select DUAL_LUMINANCE8_SGIS +	use SGIS_texture_select DUAL_LUMINANCE12_SGIS +	use SGIS_texture_select DUAL_LUMINANCE16_SGIS +	use SGIS_texture_select DUAL_INTENSITY4_SGIS +	use SGIS_texture_select DUAL_INTENSITY8_SGIS +	use SGIS_texture_select DUAL_INTENSITY12_SGIS +	use SGIS_texture_select DUAL_INTENSITY16_SGIS +	use SGIS_texture_select DUAL_LUMINANCE_ALPHA4_SGIS +	use SGIS_texture_select DUAL_LUMINANCE_ALPHA8_SGIS +	use SGIS_texture_select QUAD_ALPHA4_SGIS +	use SGIS_texture_select QUAD_ALPHA8_SGIS +	use SGIS_texture_select QUAD_LUMINANCE4_SGIS +	use SGIS_texture_select QUAD_LUMINANCE8_SGIS +	use SGIS_texture_select QUAD_INTENSITY4_SGIS +	use SGIS_texture_select QUAD_INTENSITY8_SGIS +	use SGIX_depth_texture DEPTH_COMPONENT16_SGIX +	use SGIX_depth_texture DEPTH_COMPONENT24_SGIX +	use SGIX_depth_texture DEPTH_COMPONENT32_SGIX +	use SGIX_icc_texture RGB_ICC_SGIX +	use SGIX_icc_texture RGBA_ICC_SGIX +	use SGIX_icc_texture ALPHA_ICC_SGIX +	use SGIX_icc_texture LUMINANCE_ICC_SGIX +	use SGIX_icc_texture INTENSITY_ICC_SGIX +	use SGIX_icc_texture LUMINANCE_ALPHA_ICC_SGIX +	use SGIX_icc_texture R5_G6_B5_ICC_SGIX +	use SGIX_icc_texture R5_G6_B5_A8_ICC_SGIX +	use SGIX_icc_texture ALPHA16_ICC_SGIX +	use SGIX_icc_texture LUMINANCE16_ICC_SGIX +	use SGIX_icc_texture INTENSITY16_ICC_SGIX +	use SGIX_icc_texture LUMINANCE16_ALPHA8_ICC_SGIX + +# Aliases PixelInternalFormat enums above +OES_rgb8_rgba8 enum: (OpenGL ES only) +	RGB8						= 0x8051 +	RGBA8						= 0x8058 + +############################################################################### + +InterleavedArrayFormat enum: +	V2F						= 0x2A20 +	V3F						= 0x2A21 +	C4UB_V2F					= 0x2A22 +	C4UB_V3F					= 0x2A23 +	C3F_V3F						= 0x2A24 +	N3F_V3F						= 0x2A25 +	C4F_N3F_V3F					= 0x2A26 +	T2F_V3F						= 0x2A27 +	T4F_V4F						= 0x2A28 +	T2F_C4UB_V3F					= 0x2A29 +	T2F_C3F_V3F					= 0x2A2A +	T2F_N3F_V3F					= 0x2A2B +	T2F_C4F_N3F_V3F					= 0x2A2C +	T4F_C4F_N3F_V4F					= 0x2A2D + +############################################################################### + +VertexPointerType enum: +	use DataType SHORT +	use DataType INT +	use DataType FLOAT +	use DataType DOUBLE + +############################################################################### + +# 0x3000 through 0x3FFF are reserved for clip planes +ClipPlaneName enum: +	CLIP_PLANE0					= 0x3000 # 1 I +	CLIP_PLANE1					= 0x3001 # 1 I +	CLIP_PLANE2					= 0x3002 # 1 I +	CLIP_PLANE3					= 0x3003 # 1 I +	CLIP_PLANE4					= 0x3004 # 1 I +	CLIP_PLANE5					= 0x3005 # 1 I + +VERSION_3_0 enum: (aliases) +	CLIP_DISTANCE0					= 0x3000    # VERSION_3_0   # alias GL_CLIP_PLANE0 +	CLIP_DISTANCE1					= 0x3001    # VERSION_3_0   # alias GL_CLIP_PLANE1 +	CLIP_DISTANCE2					= 0x3002    # VERSION_3_0   # alias GL_CLIP_PLANE2 +	CLIP_DISTANCE3					= 0x3003    # VERSION_3_0   # alias GL_CLIP_PLANE3 +	CLIP_DISTANCE4					= 0x3004    # VERSION_3_0   # alias GL_CLIP_PLANE4 +	CLIP_DISTANCE5					= 0x3005    # VERSION_3_0   # alias GL_CLIP_PLANE5 +	CLIP_DISTANCE6					= 0x3006    # VERSION_3_0   # alias GL_CLIP_PLANE5 +	CLIP_DISTANCE7					= 0x3007    # VERSION_3_0   # alias GL_CLIP_PLANE5 + +############################################################################### + +# 0x4000-0x4FFF are reserved for light numbers +LightName enum: +	LIGHT0						= 0x4000 # 1 I +	LIGHT1						= 0x4001 # 1 I +	LIGHT2						= 0x4002 # 1 I +	LIGHT3						= 0x4003 # 1 I +	LIGHT4						= 0x4004 # 1 I +	LIGHT5						= 0x4005 # 1 I +	LIGHT6						= 0x4006 # 1 I +	LIGHT7						= 0x4007 # 1 I +	use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT1_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT2_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT3_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT4_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT5_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT6_SGIX +	use SGIX_fragment_lighting FRAGMENT_LIGHT7_SGIX + +############################################################################### + +EXT_abgr enum: +	ABGR_EXT					= 0x8000 + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	CONSTANT_COLOR					= 0x8001 +	ONE_MINUS_CONSTANT_COLOR			= 0x8002 +	CONSTANT_ALPHA					= 0x8003 +	ONE_MINUS_CONSTANT_ALPHA			= 0x8004 +	BLEND_COLOR					= 0x8005 # 4 F + +EXT_blend_color enum: +	CONSTANT_COLOR_EXT				= 0x8001 +	ONE_MINUS_CONSTANT_COLOR_EXT			= 0x8002 +	CONSTANT_ALPHA_EXT				= 0x8003 +	ONE_MINUS_CONSTANT_ALPHA_EXT			= 0x8004 +	BLEND_COLOR_EXT					= 0x8005 # 4 F + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +EXT_blend_minmax enum: +	FUNC_ADD					= 0x8006 +	FUNC_ADD_EXT					= 0x8006 +	MIN						= 0x8007 +	MIN_EXT						= 0x8007 +	MAX						= 0x8008 +	MAX_EXT						= 0x8008 +	BLEND_EQUATION					= 0x8009 # 1 I +	BLEND_EQUATION_EXT				= 0x8009 # 1 I + +VERSION_2_0 enum: (Promoted for OpenGL 2.0) +	BLEND_EQUATION_RGB				= 0x8009    # VERSION_2_0   # alias GL_BLEND_EQUATION + +EXT_blend_equation_separate enum: (separate; see below) +	BLEND_EQUATION_RGB_EXT				= 0x8009    # alias GL_BLEND_EQUATION + +# Aliases EXT_blend_equation_separate enum above +OES_blend_equation_separate enum: (OpenGL ES only; additional; see below) +	BLEND_EQUATION_RGB_OES				= 0x8009 # 1 I + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +EXT_blend_subtract enum: +	FUNC_SUBTRACT					= 0x800A +	FUNC_SUBTRACT_EXT				= 0x800A +	FUNC_REVERSE_SUBTRACT				= 0x800B +	FUNC_REVERSE_SUBTRACT_EXT			= 0x800B + +# Aliases EXT_blend_minmax and EXT_blend_subtract enums above +OES_blend_subtract enum: (OpenGL ES only) +	FUNC_ADD_OES					= 0x8006 +	BLEND_EQUATION_OES				= 0x8009 # 1 I +	FUNC_SUBTRACT_OES				= 0x800A +	FUNC_REVERSE_SUBTRACT_OES			= 0x800B + +############################################################################### + +EXT_cmyka enum: +	CMYK_EXT					= 0x800C +	CMYKA_EXT					= 0x800D +	PACK_CMYK_HINT_EXT				= 0x800E # 1 I +	UNPACK_CMYK_HINT_EXT				= 0x800F # 1 I + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	CONVOLUTION_1D					= 0x8010 # 1 I +	CONVOLUTION_2D					= 0x8011 # 1 I +	SEPARABLE_2D					= 0x8012 # 1 I +	CONVOLUTION_BORDER_MODE				= 0x8013 +	CONVOLUTION_FILTER_SCALE			= 0x8014 +	CONVOLUTION_FILTER_BIAS				= 0x8015 +	REDUCE						= 0x8016 +	CONVOLUTION_FORMAT				= 0x8017 +	CONVOLUTION_WIDTH				= 0x8018 +	CONVOLUTION_HEIGHT				= 0x8019 +	MAX_CONVOLUTION_WIDTH				= 0x801A +	MAX_CONVOLUTION_HEIGHT				= 0x801B +	POST_CONVOLUTION_RED_SCALE			= 0x801C # 1 F +	POST_CONVOLUTION_GREEN_SCALE			= 0x801D # 1 F +	POST_CONVOLUTION_BLUE_SCALE			= 0x801E # 1 F +	POST_CONVOLUTION_ALPHA_SCALE			= 0x801F # 1 F +	POST_CONVOLUTION_RED_BIAS			= 0x8020 # 1 F +	POST_CONVOLUTION_GREEN_BIAS			= 0x8021 # 1 F +	POST_CONVOLUTION_BLUE_BIAS			= 0x8022 # 1 F +	POST_CONVOLUTION_ALPHA_BIAS			= 0x8023 # 1 F + +EXT_convolution enum: +	CONVOLUTION_1D_EXT				= 0x8010 # 1 I +	CONVOLUTION_2D_EXT				= 0x8011 # 1 I +	SEPARABLE_2D_EXT				= 0x8012 # 1 I +	CONVOLUTION_BORDER_MODE_EXT			= 0x8013 +	CONVOLUTION_FILTER_SCALE_EXT			= 0x8014 +	CONVOLUTION_FILTER_BIAS_EXT			= 0x8015 +	REDUCE_EXT					= 0x8016 +	CONVOLUTION_FORMAT_EXT				= 0x8017 +	CONVOLUTION_WIDTH_EXT				= 0x8018 +	CONVOLUTION_HEIGHT_EXT				= 0x8019 +	MAX_CONVOLUTION_WIDTH_EXT			= 0x801A +	MAX_CONVOLUTION_HEIGHT_EXT			= 0x801B +	POST_CONVOLUTION_RED_SCALE_EXT			= 0x801C # 1 F +	POST_CONVOLUTION_GREEN_SCALE_EXT		= 0x801D # 1 F +	POST_CONVOLUTION_BLUE_SCALE_EXT			= 0x801E # 1 F +	POST_CONVOLUTION_ALPHA_SCALE_EXT		= 0x801F # 1 F +	POST_CONVOLUTION_RED_BIAS_EXT			= 0x8020 # 1 F +	POST_CONVOLUTION_GREEN_BIAS_EXT			= 0x8021 # 1 F +	POST_CONVOLUTION_BLUE_BIAS_EXT			= 0x8022 # 1 F +	POST_CONVOLUTION_ALPHA_BIAS_EXT			= 0x8023 # 1 F + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	HISTOGRAM					= 0x8024 # 1 I +	PROXY_HISTOGRAM					= 0x8025 +	HISTOGRAM_WIDTH					= 0x8026 +	HISTOGRAM_FORMAT				= 0x8027 +	HISTOGRAM_RED_SIZE				= 0x8028 +	HISTOGRAM_GREEN_SIZE				= 0x8029 +	HISTOGRAM_BLUE_SIZE				= 0x802A +	HISTOGRAM_ALPHA_SIZE				= 0x802B +	HISTOGRAM_SINK					= 0x802D +	MINMAX						= 0x802E # 1 I +	MINMAX_FORMAT					= 0x802F +	MINMAX_SINK					= 0x8030 +	TABLE_TOO_LARGE					= 0x8031 + +EXT_histogram enum: +	HISTOGRAM_EXT					= 0x8024 # 1 I +	PROXY_HISTOGRAM_EXT				= 0x8025 +	HISTOGRAM_WIDTH_EXT				= 0x8026 +	HISTOGRAM_FORMAT_EXT				= 0x8027 +	HISTOGRAM_RED_SIZE_EXT				= 0x8028 +	HISTOGRAM_GREEN_SIZE_EXT			= 0x8029 +	HISTOGRAM_BLUE_SIZE_EXT				= 0x802A +	HISTOGRAM_ALPHA_SIZE_EXT			= 0x802B +	HISTOGRAM_LUMINANCE_SIZE			= 0x802C +	HISTOGRAM_LUMINANCE_SIZE_EXT			= 0x802C +	HISTOGRAM_SINK_EXT				= 0x802D +	MINMAX_EXT					= 0x802E # 1 I +	MINMAX_FORMAT_EXT				= 0x802F +	MINMAX_SINK_EXT					= 0x8030 +	TABLE_TOO_LARGE_EXT				= 0x8031 + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	UNSIGNED_BYTE_3_3_2				= 0x8032 +	UNSIGNED_SHORT_4_4_4_4				= 0x8033 +	UNSIGNED_SHORT_5_5_5_1				= 0x8034 +	UNSIGNED_INT_8_8_8_8				= 0x8035 +	UNSIGNED_INT_10_10_10_2				= 0x8036 +	UNSIGNED_BYTE_2_3_3_REV				= 0x8362 +	UNSIGNED_SHORT_5_6_5				= 0x8363 +	UNSIGNED_SHORT_5_6_5_REV			= 0x8364 +	UNSIGNED_SHORT_4_4_4_4_REV			= 0x8365 +	UNSIGNED_SHORT_1_5_5_5_REV			= 0x8366 +	UNSIGNED_INT_8_8_8_8_REV			= 0x8367 +	UNSIGNED_INT_2_10_10_10_REV			= 0x8368 + +EXT_packed_pixels enum: +	UNSIGNED_BYTE_3_3_2_EXT				= 0x8032 +	UNSIGNED_SHORT_4_4_4_4_EXT			= 0x8033 +	UNSIGNED_SHORT_5_5_5_1_EXT			= 0x8034 +	UNSIGNED_INT_8_8_8_8_EXT			= 0x8035 +	UNSIGNED_INT_10_10_10_2_EXT			= 0x8036 +	UNSIGNED_BYTE_2_3_3_REV_EXT			= 0x8362 +	UNSIGNED_SHORT_5_6_5_EXT			= 0x8363 +	UNSIGNED_SHORT_5_6_5_REV_EXT			= 0x8364 +	UNSIGNED_SHORT_4_4_4_4_REV_EXT			= 0x8365 +	UNSIGNED_SHORT_1_5_5_5_REV_EXT			= 0x8366 +	UNSIGNED_INT_8_8_8_8_REV_EXT			= 0x8367 +	UNSIGNED_INT_2_10_10_10_REV_EXT			= 0x8368 + +EXT_texture_type_2_10_10_10_REV enum: (OpenGL ES only) +#	use EXT_packed_pixels UNSIGNED_INT_2_10_10_10_REV_EXT + +############################################################################### + +EXT_polygon_offset enum: +	POLYGON_OFFSET_EXT				= 0x8037 +	POLYGON_OFFSET_FACTOR_EXT			= 0x8038 +	POLYGON_OFFSET_BIAS_EXT				= 0x8039 # 1 F + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	RESCALE_NORMAL					= 0x803A # 1 I + +EXT_rescale_normal enum: +	RESCALE_NORMAL_EXT				= 0x803A # 1 I + +############################################################################### + +EXT_texture enum: +	ALPHA4_EXT					= 0x803B +	ALPHA8_EXT					= 0x803C +	ALPHA12_EXT					= 0x803D +	ALPHA16_EXT					= 0x803E +	LUMINANCE4_EXT					= 0x803F +	LUMINANCE8_EXT					= 0x8040 +	LUMINANCE12_EXT					= 0x8041 +	LUMINANCE16_EXT					= 0x8042 +	LUMINANCE4_ALPHA4_EXT				= 0x8043 +	LUMINANCE6_ALPHA2_EXT				= 0x8044 +	LUMINANCE8_ALPHA8_EXT				= 0x8045 +	LUMINANCE12_ALPHA4_EXT				= 0x8046 +	LUMINANCE12_ALPHA12_EXT				= 0x8047 +	LUMINANCE16_ALPHA16_EXT				= 0x8048 +	INTENSITY_EXT					= 0x8049 +	INTENSITY4_EXT					= 0x804A +	INTENSITY8_EXT					= 0x804B +	INTENSITY12_EXT					= 0x804C +	INTENSITY16_EXT					= 0x804D +	RGB2_EXT					= 0x804E +	RGB4_EXT					= 0x804F +	RGB5_EXT					= 0x8050 +	RGB8_EXT					= 0x8051 +	RGB10_EXT					= 0x8052 +	RGB12_EXT					= 0x8053 +	RGB16_EXT					= 0x8054 +	RGBA2_EXT					= 0x8055 +	RGBA4_EXT					= 0x8056 +	RGB5_A1_EXT					= 0x8057 +	RGBA8_EXT					= 0x8058 +	RGB10_A2_EXT					= 0x8059 +	RGBA12_EXT					= 0x805A +	RGBA16_EXT					= 0x805B +	TEXTURE_RED_SIZE_EXT				= 0x805C +	TEXTURE_GREEN_SIZE_EXT				= 0x805D +	TEXTURE_BLUE_SIZE_EXT				= 0x805E +	TEXTURE_ALPHA_SIZE_EXT				= 0x805F +	TEXTURE_LUMINANCE_SIZE_EXT			= 0x8060 +	TEXTURE_INTENSITY_SIZE_EXT			= 0x8061 +	REPLACE_EXT					= 0x8062 +	PROXY_TEXTURE_1D_EXT				= 0x8063 +	PROXY_TEXTURE_2D_EXT				= 0x8064 +	TEXTURE_TOO_LARGE_EXT				= 0x8065 + +# Aliases EXT_texture enums above +OES_framebuffer_object enum: (OpenGL ES only; additional; see below) +	RGBA4_OES					= 0x8056 +	RGB5_A1_OES					= 0x8057 + +############################################################################### + +EXT_texture_object enum: +	TEXTURE_PRIORITY_EXT				= 0x8066 +	TEXTURE_RESIDENT_EXT				= 0x8067 +	TEXTURE_1D_BINDING_EXT				= 0x8068 +	TEXTURE_2D_BINDING_EXT				= 0x8069 +	TEXTURE_3D_BINDING_EXT				= 0x806A # 1 I + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	PACK_SKIP_IMAGES				= 0x806B # 1 I +	PACK_IMAGE_HEIGHT				= 0x806C # 1 F +	UNPACK_SKIP_IMAGES				= 0x806D # 1 I +	UNPACK_IMAGE_HEIGHT				= 0x806E # 1 F +	TEXTURE_3D					= 0x806F # 1 I +	PROXY_TEXTURE_3D				= 0x8070 +	TEXTURE_DEPTH					= 0x8071 +	TEXTURE_WRAP_R					= 0x8072 +	MAX_3D_TEXTURE_SIZE				= 0x8073 # 1 I + +EXT_texture3D enum: +	PACK_SKIP_IMAGES_EXT				= 0x806B # 1 I +	PACK_IMAGE_HEIGHT_EXT				= 0x806C # 1 F +	UNPACK_SKIP_IMAGES_EXT				= 0x806D # 1 I +	UNPACK_IMAGE_HEIGHT_EXT				= 0x806E # 1 F +	TEXTURE_3D_EXT					= 0x806F # 1 I +	PROXY_TEXTURE_3D_EXT				= 0x8070 +	TEXTURE_DEPTH_EXT				= 0x8071 +	TEXTURE_WRAP_R_EXT				= 0x8072 +	MAX_3D_TEXTURE_SIZE_EXT				= 0x8073 # 1 I + +# Aliases EXT_texture_object, EXT_texture3D enums above +OES_texture3D enum: (OpenGL ES only) +	TEXTURE_3D_BINDING_OES				= 0x806A # 1 I +	TEXTURE_3D_OES					= 0x806F # 1 I +	TEXTURE_WRAP_R_OES				= 0x8072 +	MAX_3D_TEXTURE_SIZE_OES				= 0x8073 # 1 I + +############################################################################### + +EXT_vertex_array enum: +	VERTEX_ARRAY_EXT				= 0x8074 +	NORMAL_ARRAY_EXT				= 0x8075 +	COLOR_ARRAY_EXT					= 0x8076 +	INDEX_ARRAY_EXT					= 0x8077 +	TEXTURE_COORD_ARRAY_EXT				= 0x8078 +	EDGE_FLAG_ARRAY_EXT				= 0x8079 +	VERTEX_ARRAY_SIZE_EXT				= 0x807A +	VERTEX_ARRAY_TYPE_EXT				= 0x807B +	VERTEX_ARRAY_STRIDE_EXT				= 0x807C +	VERTEX_ARRAY_COUNT_EXT				= 0x807D # 1 I +	NORMAL_ARRAY_TYPE_EXT				= 0x807E +	NORMAL_ARRAY_STRIDE_EXT				= 0x807F +	NORMAL_ARRAY_COUNT_EXT				= 0x8080 # 1 I +	COLOR_ARRAY_SIZE_EXT				= 0x8081 +	COLOR_ARRAY_TYPE_EXT				= 0x8082 +	COLOR_ARRAY_STRIDE_EXT				= 0x8083 +	COLOR_ARRAY_COUNT_EXT				= 0x8084 # 1 I +	INDEX_ARRAY_TYPE_EXT				= 0x8085 +	INDEX_ARRAY_STRIDE_EXT				= 0x8086 +	INDEX_ARRAY_COUNT_EXT				= 0x8087 # 1 I +	TEXTURE_COORD_ARRAY_SIZE_EXT			= 0x8088 +	TEXTURE_COORD_ARRAY_TYPE_EXT			= 0x8089 +	TEXTURE_COORD_ARRAY_STRIDE_EXT			= 0x808A +	TEXTURE_COORD_ARRAY_COUNT_EXT			= 0x808B # 1 I +	EDGE_FLAG_ARRAY_STRIDE_EXT			= 0x808C +	EDGE_FLAG_ARRAY_COUNT_EXT			= 0x808D # 1 I +	VERTEX_ARRAY_POINTER_EXT			= 0x808E +	NORMAL_ARRAY_POINTER_EXT			= 0x808F +	COLOR_ARRAY_POINTER_EXT				= 0x8090 +	INDEX_ARRAY_POINTER_EXT				= 0x8091 +	TEXTURE_COORD_ARRAY_POINTER_EXT			= 0x8092 +	EDGE_FLAG_ARRAY_POINTER_EXT			= 0x8093 + +############################################################################### + +SGIX_interlace enum: +	INTERLACE_SGIX					= 0x8094 # 1 I + +############################################################################### + +SGIS_detail_texture enum: +	DETAIL_TEXTURE_2D_SGIS				= 0x8095 +	DETAIL_TEXTURE_2D_BINDING_SGIS			= 0x8096 # 1 I +	LINEAR_DETAIL_SGIS				= 0x8097 +	LINEAR_DETAIL_ALPHA_SGIS			= 0x8098 +	LINEAR_DETAIL_COLOR_SGIS			= 0x8099 +	DETAIL_TEXTURE_LEVEL_SGIS			= 0x809A +	DETAIL_TEXTURE_MODE_SGIS			= 0x809B +	DETAIL_TEXTURE_FUNC_POINTS_SGIS			= 0x809C + +############################################################################### + +# Reuses some SGIS_multisample values +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	MULTISAMPLE					= 0x809D +	SAMPLE_ALPHA_TO_COVERAGE			= 0x809E +	SAMPLE_ALPHA_TO_ONE				= 0x809F +	SAMPLE_COVERAGE					= 0x80A0 +	SAMPLE_BUFFERS					= 0x80A8 # 1 I +	SAMPLES						= 0x80A9 # 1 I +	SAMPLE_COVERAGE_VALUE				= 0x80AA # 1 F +	SAMPLE_COVERAGE_INVERT				= 0x80AB # 1 I + +ARB_multisample enum: +	MULTISAMPLE_ARB					= 0x809D +	SAMPLE_ALPHA_TO_COVERAGE_ARB			= 0x809E +	SAMPLE_ALPHA_TO_ONE_ARB				= 0x809F +	SAMPLE_COVERAGE_ARB				= 0x80A0 +	SAMPLE_BUFFERS_ARB				= 0x80A8 # 1 I +	SAMPLES_ARB					= 0x80A9 # 1 I +	SAMPLE_COVERAGE_VALUE_ARB			= 0x80AA # 1 F +	SAMPLE_COVERAGE_INVERT_ARB			= 0x80AB # 1 I + +SGIS_multisample enum: +	MULTISAMPLE_SGIS				= 0x809D # 1 I +	SAMPLE_ALPHA_TO_MASK_SGIS			= 0x809E # 1 I +	SAMPLE_ALPHA_TO_ONE_SGIS			= 0x809F # 1 I +	SAMPLE_MASK_SGIS				= 0x80A0 # 1 I +	1PASS_SGIS					= 0x80A1 +	2PASS_0_SGIS					= 0x80A2 +	2PASS_1_SGIS					= 0x80A3 +	4PASS_0_SGIS					= 0x80A4 +	4PASS_1_SGIS					= 0x80A5 +	4PASS_2_SGIS					= 0x80A6 +	4PASS_3_SGIS					= 0x80A7 +	SAMPLE_BUFFERS_SGIS				= 0x80A8 # 1 I +	SAMPLES_SGIS					= 0x80A9 # 1 I +	SAMPLE_MASK_VALUE_SGIS				= 0x80AA # 1 F +	SAMPLE_MASK_INVERT_SGIS				= 0x80AB # 1 I +	SAMPLE_PATTERN_SGIS				= 0x80AC # 1 I + +# Reuses SGIS_multisample values. +EXT_multisample enum: +	MULTISAMPLE_EXT					= 0x809D +	SAMPLE_ALPHA_TO_MASK_EXT			= 0x809E +	SAMPLE_ALPHA_TO_ONE_EXT				= 0x809F +	SAMPLE_MASK_EXT					= 0x80A0 +	1PASS_EXT					= 0x80A1 +	2PASS_0_EXT					= 0x80A2 +	2PASS_1_EXT					= 0x80A3 +	4PASS_0_EXT					= 0x80A4 +	4PASS_1_EXT					= 0x80A5 +	4PASS_2_EXT					= 0x80A6 +	4PASS_3_EXT					= 0x80A7 +	SAMPLE_BUFFERS_EXT				= 0x80A8 # 1 I +	SAMPLES_EXT					= 0x80A9 # 1 I +	SAMPLE_MASK_VALUE_EXT				= 0x80AA # 1 F +	SAMPLE_MASK_INVERT_EXT				= 0x80AB # 1 I +	SAMPLE_PATTERN_EXT				= 0x80AC # 1 I +	MULTISAMPLE_BIT_EXT				= 0x20000000 + +############################################################################### + +SGIS_sharpen_texture enum: +	LINEAR_SHARPEN_SGIS				= 0x80AD +	LINEAR_SHARPEN_ALPHA_SGIS			= 0x80AE +	LINEAR_SHARPEN_COLOR_SGIS			= 0x80AF +	SHARPEN_TEXTURE_FUNC_POINTS_SGIS		= 0x80B0 + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	COLOR_MATRIX					= 0x80B1 # 16 F +	COLOR_MATRIX_STACK_DEPTH			= 0x80B2 # 1 I +	MAX_COLOR_MATRIX_STACK_DEPTH			= 0x80B3 # 1 I +	POST_COLOR_MATRIX_RED_SCALE			= 0x80B4 # 1 F +	POST_COLOR_MATRIX_GREEN_SCALE			= 0x80B5 # 1 F +	POST_COLOR_MATRIX_BLUE_SCALE			= 0x80B6 # 1 F +	POST_COLOR_MATRIX_ALPHA_SCALE			= 0x80B7 # 1 F +	POST_COLOR_MATRIX_RED_BIAS			= 0x80B8 # 1 F +	POST_COLOR_MATRIX_GREEN_BIAS			= 0x80B9 # 1 F +	POST_COLOR_MATRIX_BLUE_BIAS			= 0x80BA # 1 F +	POST_COLOR_MATRIX_ALPHA_BIAS			= 0x80BB # 1 F + +SGI_color_matrix enum: +	COLOR_MATRIX_SGI				= 0x80B1 # 16 F +	COLOR_MATRIX_STACK_DEPTH_SGI			= 0x80B2 # 1 I +	MAX_COLOR_MATRIX_STACK_DEPTH_SGI		= 0x80B3 # 1 I +	POST_COLOR_MATRIX_RED_SCALE_SGI			= 0x80B4 # 1 F +	POST_COLOR_MATRIX_GREEN_SCALE_SGI		= 0x80B5 # 1 F +	POST_COLOR_MATRIX_BLUE_SCALE_SGI		= 0x80B6 # 1 F +	POST_COLOR_MATRIX_ALPHA_SCALE_SGI		= 0x80B7 # 1 F +	POST_COLOR_MATRIX_RED_BIAS_SGI			= 0x80B8 # 1 F +	POST_COLOR_MATRIX_GREEN_BIAS_SGI		= 0x80B9 # 1 F +	POST_COLOR_MATRIX_BLUE_BIAS_SGI			= 0x80BA # 1 F +	POST_COLOR_MATRIX_ALPHA_BIAS_SGI		= 0x80BB # 1 F + +############################################################################### + +SGI_texture_color_table enum: +	TEXTURE_COLOR_TABLE_SGI				= 0x80BC # 1 I +	PROXY_TEXTURE_COLOR_TABLE_SGI			= 0x80BD + +############################################################################### + +SGIX_texture_add_env enum: +	TEXTURE_ENV_BIAS_SGIX				= 0x80BE + +############################################################################### + +SGIX_shadow_ambient enum: +	SHADOW_AMBIENT_SGIX				= 0x80BF + +############################################################################### + +# Intergraph/Intense3D/3Dlabs: 0x80C0-0x80CF + +# 3Dlabs_future_use: 0x80C0-0x80C7 + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	BLEND_DST_RGB					= 0x80C8 +	BLEND_SRC_RGB					= 0x80C9 +	BLEND_DST_ALPHA					= 0x80CA +	BLEND_SRC_ALPHA					= 0x80CB + +EXT_blend_func_separate enum: +	BLEND_DST_RGB_EXT				= 0x80C8 +	BLEND_SRC_RGB_EXT				= 0x80C9 +	BLEND_DST_ALPHA_EXT				= 0x80CA +	BLEND_SRC_ALPHA_EXT				= 0x80CB + +# Aliases EXT_blend_func_separate enums above +OES_blend_func_separate enum: (OpenGL ES only) +	BLEND_DST_RGB_OES				= 0x80C8 +	BLEND_SRC_RGB_OES				= 0x80C9 +	BLEND_DST_ALPHA_OES				= 0x80CA +	BLEND_SRC_ALPHA_OES				= 0x80CB + +EXT_422_pixels enum: +	422_EXT						= 0x80CC +	422_REV_EXT					= 0x80CD +	422_AVERAGE_EXT					= 0x80CE +	422_REV_AVERAGE_EXT				= 0x80CF + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	COLOR_TABLE					= 0x80D0 # 1 I +	POST_CONVOLUTION_COLOR_TABLE			= 0x80D1 # 1 I +	POST_COLOR_MATRIX_COLOR_TABLE			= 0x80D2 # 1 I +	PROXY_COLOR_TABLE				= 0x80D3 +	PROXY_POST_CONVOLUTION_COLOR_TABLE		= 0x80D4 +	PROXY_POST_COLOR_MATRIX_COLOR_TABLE		= 0x80D5 +	COLOR_TABLE_SCALE				= 0x80D6 +	COLOR_TABLE_BIAS				= 0x80D7 +	COLOR_TABLE_FORMAT				= 0x80D8 +	COLOR_TABLE_WIDTH				= 0x80D9 +	COLOR_TABLE_RED_SIZE				= 0x80DA +	COLOR_TABLE_GREEN_SIZE				= 0x80DB +	COLOR_TABLE_BLUE_SIZE				= 0x80DC +	COLOR_TABLE_ALPHA_SIZE				= 0x80DD +	COLOR_TABLE_LUMINANCE_SIZE			= 0x80DE +	COLOR_TABLE_INTENSITY_SIZE			= 0x80DF + +SGI_color_table enum: +	COLOR_TABLE_SGI					= 0x80D0 # 1 I +	POST_CONVOLUTION_COLOR_TABLE_SGI		= 0x80D1 # 1 I +	POST_COLOR_MATRIX_COLOR_TABLE_SGI		= 0x80D2 # 1 I +	PROXY_COLOR_TABLE_SGI				= 0x80D3 +	PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI		= 0x80D4 +	PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI		= 0x80D5 +	COLOR_TABLE_SCALE_SGI				= 0x80D6 +	COLOR_TABLE_BIAS_SGI				= 0x80D7 +	COLOR_TABLE_FORMAT_SGI				= 0x80D8 +	COLOR_TABLE_WIDTH_SGI				= 0x80D9 +	COLOR_TABLE_RED_SIZE_SGI			= 0x80DA +	COLOR_TABLE_GREEN_SIZE_SGI			= 0x80DB +	COLOR_TABLE_BLUE_SIZE_SGI			= 0x80DC +	COLOR_TABLE_ALPHA_SIZE_SGI			= 0x80DD +	COLOR_TABLE_LUMINANCE_SIZE_SGI			= 0x80DE +	COLOR_TABLE_INTENSITY_SIZE_SGI			= 0x80DF + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	BGR						= 0x80E0 +	BGRA						= 0x80E1 + +ARB_vertex_array_bgra enum: +#	use VERSION_1_2			    BGRA + +EXT_bgra enum: +	BGR_EXT						= 0x80E0 +	BGRA_EXT					= 0x80E1 + +############################################################################### + +# Microsoft: 0x80E2-0x80E7 + +############################################################################### + +VERSION_1_2 enum: +	MAX_ELEMENTS_VERTICES				= 0x80E8 +	MAX_ELEMENTS_INDICES				= 0x80E9 + +############################################################################### + +# Microsoft: 0x80EA-0x810F + +############################################################################### + +SGIS_texture_select enum: +	DUAL_ALPHA4_SGIS				= 0x8110 +	DUAL_ALPHA8_SGIS				= 0x8111 +	DUAL_ALPHA12_SGIS				= 0x8112 +	DUAL_ALPHA16_SGIS				= 0x8113 +	DUAL_LUMINANCE4_SGIS				= 0x8114 +	DUAL_LUMINANCE8_SGIS				= 0x8115 +	DUAL_LUMINANCE12_SGIS				= 0x8116 +	DUAL_LUMINANCE16_SGIS				= 0x8117 +	DUAL_INTENSITY4_SGIS				= 0x8118 +	DUAL_INTENSITY8_SGIS				= 0x8119 +	DUAL_INTENSITY12_SGIS				= 0x811A +	DUAL_INTENSITY16_SGIS				= 0x811B +	DUAL_LUMINANCE_ALPHA4_SGIS			= 0x811C +	DUAL_LUMINANCE_ALPHA8_SGIS			= 0x811D +	QUAD_ALPHA4_SGIS				= 0x811E +	QUAD_ALPHA8_SGIS				= 0x811F +	QUAD_LUMINANCE4_SGIS				= 0x8120 +	QUAD_LUMINANCE8_SGIS				= 0x8121 +	QUAD_INTENSITY4_SGIS				= 0x8122 +	QUAD_INTENSITY8_SGIS				= 0x8123 +	DUAL_TEXTURE_SELECT_SGIS			= 0x8124 +	QUAD_TEXTURE_SELECT_SGIS			= 0x8125 + +############################################################################### + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	POINT_SIZE_MIN					= 0x8126 # 1 F +	POINT_SIZE_MAX					= 0x8127 # 1 F +	POINT_FADE_THRESHOLD_SIZE			= 0x8128 # 1 F +	POINT_DISTANCE_ATTENUATION			= 0x8129 # 3 F + +ARB_point_parameters enum: +	POINT_SIZE_MIN_ARB				= 0x8126 # 1 F +	POINT_SIZE_MAX_ARB				= 0x8127 # 1 F +	POINT_FADE_THRESHOLD_SIZE_ARB			= 0x8128 # 1 F +	POINT_DISTANCE_ATTENUATION_ARB			= 0x8129 # 3 F + +EXT_point_parameters enum: +	POINT_SIZE_MIN_EXT				= 0x8126 # 1 F +	POINT_SIZE_MAX_EXT				= 0x8127 # 1 F +	POINT_FADE_THRESHOLD_SIZE_EXT			= 0x8128 # 1 F +	DISTANCE_ATTENUATION_EXT			= 0x8129 # 3 F + +SGIS_point_parameters enum: +	POINT_SIZE_MIN_SGIS				= 0x8126 # 1 F +	POINT_SIZE_MAX_SGIS				= 0x8127 # 1 F +	POINT_FADE_THRESHOLD_SIZE_SGIS			= 0x8128 # 1 F +	DISTANCE_ATTENUATION_SGIS			= 0x8129 # 3 F + +############################################################################### + +SGIS_fog_function enum: +	FOG_FUNC_SGIS					= 0x812A +	FOG_FUNC_POINTS_SGIS				= 0x812B # 1 I +	MAX_FOG_FUNC_POINTS_SGIS			= 0x812C # 1 I + +############################################################################### + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	CLAMP_TO_BORDER					= 0x812D + +ARB_texture_border_clamp enum: +	CLAMP_TO_BORDER_ARB				= 0x812D + +SGIS_texture_border_clamp enum: +	CLAMP_TO_BORDER_SGIS				= 0x812D + +############################################################################### + +SGIX_texture_multi_buffer enum: +	TEXTURE_MULTI_BUFFER_HINT_SGIX			= 0x812E + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	CLAMP_TO_EDGE					= 0x812F + +SGIS_texture_edge_clamp enum: +	CLAMP_TO_EDGE_SGIS				= 0x812F + +############################################################################### + +SGIS_texture4D enum: +	PACK_SKIP_VOLUMES_SGIS				= 0x8130 # 1 I +	PACK_IMAGE_DEPTH_SGIS				= 0x8131 # 1 I +	UNPACK_SKIP_VOLUMES_SGIS			= 0x8132 # 1 I +	UNPACK_IMAGE_DEPTH_SGIS				= 0x8133 # 1 I +	TEXTURE_4D_SGIS					= 0x8134 # 1 I +	PROXY_TEXTURE_4D_SGIS				= 0x8135 +	TEXTURE_4DSIZE_SGIS				= 0x8136 +	TEXTURE_WRAP_Q_SGIS				= 0x8137 +	MAX_4D_TEXTURE_SIZE_SGIS			= 0x8138 # 1 I +	TEXTURE_4D_BINDING_SGIS				= 0x814F # 1 I + +############################################################################### + +SGIX_pixel_texture enum: +	PIXEL_TEX_GEN_SGIX				= 0x8139 # 1 I +	PIXEL_TEX_GEN_MODE_SGIX				= 0x832B # 1 I + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	TEXTURE_MIN_LOD					= 0x813A +	TEXTURE_MAX_LOD					= 0x813B +	TEXTURE_BASE_LEVEL				= 0x813C +	TEXTURE_MAX_LEVEL				= 0x813D + +SGIS_texture_lod enum: +	TEXTURE_MIN_LOD_SGIS				= 0x813A +	TEXTURE_MAX_LOD_SGIS				= 0x813B +	TEXTURE_BASE_LEVEL_SGIS				= 0x813C +	TEXTURE_MAX_LEVEL_SGIS				= 0x813D + +############################################################################### + +SGIX_pixel_tiles enum: +	PIXEL_TILE_BEST_ALIGNMENT_SGIX			= 0x813E # 1 I +	PIXEL_TILE_CACHE_INCREMENT_SGIX			= 0x813F # 1 I +	PIXEL_TILE_WIDTH_SGIX				= 0x8140 # 1 I +	PIXEL_TILE_HEIGHT_SGIX				= 0x8141 # 1 I +	PIXEL_TILE_GRID_WIDTH_SGIX			= 0x8142 # 1 I +	PIXEL_TILE_GRID_HEIGHT_SGIX			= 0x8143 # 1 I +	PIXEL_TILE_GRID_DEPTH_SGIX			= 0x8144 # 1 I +	PIXEL_TILE_CACHE_SIZE_SGIX			= 0x8145 # 1 I + +############################################################################### + +SGIS_texture_filter4 enum: +	FILTER4_SGIS					= 0x8146 +	TEXTURE_FILTER4_SIZE_SGIS			= 0x8147 + +############################################################################### + +SGIX_sprite enum: +	SPRITE_SGIX					= 0x8148 # 1 I +	SPRITE_MODE_SGIX				= 0x8149 # 1 I +	SPRITE_AXIS_SGIX				= 0x814A # 3 F +	SPRITE_TRANSLATION_SGIX				= 0x814B # 3 F +	SPRITE_AXIAL_SGIX				= 0x814C +	SPRITE_OBJECT_ALIGNED_SGIX			= 0x814D +	SPRITE_EYE_ALIGNED_SGIX				= 0x814E + +############################################################################### + +# SGIS_texture4D (additional; see above): 0x814F + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	CONSTANT_BORDER					= 0x8151 +#	WRAP_BORDER					= 0x8152   # Not actually used +	REPLICATE_BORDER				= 0x8153 +	CONVOLUTION_BORDER_COLOR			= 0x8154 + +HP_convolution_border_modes enum: +	IGNORE_BORDER_HP				= 0x8150    # Not promoted +	CONSTANT_BORDER_HP				= 0x8151 +	REPLICATE_BORDER_HP				= 0x8153 +	CONVOLUTION_BORDER_COLOR_HP			= 0x8154 + +############################################################################### + +# HP: 0x8155-0x816F + +############################################################################### + +SGIX_clipmap enum: +	LINEAR_CLIPMAP_LINEAR_SGIX			= 0x8170 +	TEXTURE_CLIPMAP_CENTER_SGIX			= 0x8171 +	TEXTURE_CLIPMAP_FRAME_SGIX			= 0x8172 +	TEXTURE_CLIPMAP_OFFSET_SGIX			= 0x8173 +	TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX		= 0x8174 +	TEXTURE_CLIPMAP_LOD_OFFSET_SGIX			= 0x8175 +	TEXTURE_CLIPMAP_DEPTH_SGIX			= 0x8176 +	MAX_CLIPMAP_DEPTH_SGIX				= 0x8177 # 1 I +	MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX			= 0x8178 # 1 I +	NEAREST_CLIPMAP_NEAREST_SGIX			= 0x844D +	NEAREST_CLIPMAP_LINEAR_SGIX			= 0x844E +	LINEAR_CLIPMAP_NEAREST_SGIX			= 0x844F + +############################################################################### + +SGIX_texture_scale_bias enum: +	POST_TEXTURE_FILTER_BIAS_SGIX			= 0x8179 +	POST_TEXTURE_FILTER_SCALE_SGIX			= 0x817A +	POST_TEXTURE_FILTER_BIAS_RANGE_SGIX		= 0x817B # 2 F +	POST_TEXTURE_FILTER_SCALE_RANGE_SGIX		= 0x817C # 2 F + +############################################################################### + +SGIX_reference_plane enum: +	REFERENCE_PLANE_SGIX				= 0x817D # 1 I +	REFERENCE_PLANE_EQUATION_SGIX			= 0x817E # 4 F + +############################################################################### + +SGIX_ir_instrument1 enum: +	IR_INSTRUMENT1_SGIX				= 0x817F # 1 I + +############################################################################### + +SGIX_instruments enum: +	INSTRUMENT_BUFFER_POINTER_SGIX			= 0x8180 +	INSTRUMENT_MEASUREMENTS_SGIX			= 0x8181 # 1 I + +############################################################################### + +SGIX_list_priority enum: +	LIST_PRIORITY_SGIX				= 0x8182 + +############################################################################### + +SGIX_calligraphic_fragment enum: +	CALLIGRAPHIC_FRAGMENT_SGIX			= 0x8183 # 1 I + +############################################################################### + +SGIX_impact_pixel_texture enum: +	PIXEL_TEX_GEN_Q_CEILING_SGIX			= 0x8184 +	PIXEL_TEX_GEN_Q_ROUND_SGIX			= 0x8185 +	PIXEL_TEX_GEN_Q_FLOOR_SGIX			= 0x8186 +	PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX		= 0x8187 +	PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX		= 0x8188 +	PIXEL_TEX_GEN_ALPHA_LS_SGIX			= 0x8189 +	PIXEL_TEX_GEN_ALPHA_MS_SGIX			= 0x818A + +############################################################################### + +SGIX_framezoom enum: +	FRAMEZOOM_SGIX					= 0x818B # 1 I +	FRAMEZOOM_FACTOR_SGIX				= 0x818C # 1 I +	MAX_FRAMEZOOM_FACTOR_SGIX			= 0x818D # 1 I + +############################################################################### + +SGIX_texture_lod_bias enum: +	TEXTURE_LOD_BIAS_S_SGIX				= 0x818E +	TEXTURE_LOD_BIAS_T_SGIX				= 0x818F +	TEXTURE_LOD_BIAS_R_SGIX				= 0x8190 + +############################################################################### + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	GENERATE_MIPMAP					= 0x8191 +	GENERATE_MIPMAP_HINT				= 0x8192 # 1 I + +SGIS_generate_mipmap enum: +	GENERATE_MIPMAP_SGIS				= 0x8191 +	GENERATE_MIPMAP_HINT_SGIS			= 0x8192 # 1 I + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_spotlight_cutoff: 0x8193 +#	SPOT_CUTOFF_DELTA_SGIX				= 0x8193 + +############################################################################### + +SGIX_polynomial_ffd enum: +	GEOMETRY_DEFORMATION_SGIX			= 0x8194 +	TEXTURE_DEFORMATION_SGIX			= 0x8195 +	DEFORMATIONS_MASK_SGIX				= 0x8196 # 1 I +	MAX_DEFORMATION_ORDER_SGIX			= 0x8197 + +############################################################################### + +SGIX_fog_offset enum: +	FOG_OFFSET_SGIX					= 0x8198 # 1 I +	FOG_OFFSET_VALUE_SGIX				= 0x8199 # 4 F + +############################################################################### + +SGIX_shadow enum: +	TEXTURE_COMPARE_SGIX				= 0x819A +	TEXTURE_COMPARE_OPERATOR_SGIX			= 0x819B +	TEXTURE_LEQUAL_R_SGIX				= 0x819C +	TEXTURE_GEQUAL_R_SGIX				= 0x819D + +############################################################################### + +# SGI private extension, not in enumext.spec +# SGIX_igloo_interface: 0x819E-0x81A4 +#	IGLOO_FULLSCREEN_SGIX				= 0x819E +#	IGLOO_VIEWPORT_OFFSET_SGIX			= 0x819F +#	IGLOO_SWAPTMESH_SGIX				= 0x81A0 +#	IGLOO_COLORNORMAL_SGIX				= 0x81A1 +#	IGLOO_IRISGL_MODE_SGIX				= 0x81A2 +#	IGLOO_LMC_COLOR_SGIX				= 0x81A3 +#	IGLOO_TMESHMODE_SGIX				= 0x81A4 + +############################################################################### + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	DEPTH_COMPONENT16				= 0x81A5 +	DEPTH_COMPONENT24				= 0x81A6 +	DEPTH_COMPONENT32				= 0x81A7 + +ARB_depth_texture enum: +	DEPTH_COMPONENT16_ARB				= 0x81A5 +	DEPTH_COMPONENT24_ARB				= 0x81A6 +	DEPTH_COMPONENT32_ARB				= 0x81A7 + +SGIX_depth_texture enum: +	DEPTH_COMPONENT16_SGIX				= 0x81A5 +	DEPTH_COMPONENT24_SGIX				= 0x81A6 +	DEPTH_COMPONENT32_SGIX				= 0x81A7 + +# Aliases ARB_depth_texture enum above +OES_framebuffer_object enum: (OpenGL ES only; additional; see below) +	DEPTH_COMPONENT16_OES				= 0x81A5 + +# Aliases ARB_depth_texture enum above +OES_depth24 enum: (OpenGL ES only) +	DEPTH_COMPONENT24_OES				= 0x81A6 + +# Aliases ARB_depth_texture enum above +OES_depth32 enum: (OpenGL ES only) +	DEPTH_COMPONENT32_OES				= 0x81A7 + +############################################################################### + +EXT_compiled_vertex_array enum: +	ARRAY_ELEMENT_LOCK_FIRST_EXT			= 0x81A8 +	ARRAY_ELEMENT_LOCK_COUNT_EXT			= 0x81A9 + +############################################################################### + +EXT_cull_vertex enum: +	CULL_VERTEX_EXT					= 0x81AA +	CULL_VERTEX_EYE_POSITION_EXT			= 0x81AB +	CULL_VERTEX_OBJECT_POSITION_EXT			= 0x81AC + +############################################################################### + +# Promoted from SGI? +EXT_index_array_formats enum: +	IUI_V2F_EXT					= 0x81AD +	IUI_V3F_EXT					= 0x81AE +	IUI_N3F_V2F_EXT					= 0x81AF +	IUI_N3F_V3F_EXT					= 0x81B0 +	T2F_IUI_V2F_EXT					= 0x81B1 +	T2F_IUI_V3F_EXT					= 0x81B2 +	T2F_IUI_N3F_V2F_EXT				= 0x81B3 +	T2F_IUI_N3F_V3F_EXT				= 0x81B4 + +############################################################################### + +# Promoted from SGI? +EXT_index_func enum: +	INDEX_TEST_EXT					= 0x81B5 +	INDEX_TEST_FUNC_EXT				= 0x81B6 +	INDEX_TEST_REF_EXT				= 0x81B7 + +############################################################################### + +# Promoted from SGI? +EXT_index_material enum: +	INDEX_MATERIAL_EXT				= 0x81B8 +	INDEX_MATERIAL_PARAMETER_EXT			= 0x81B9 +	INDEX_MATERIAL_FACE_EXT				= 0x81BA + +############################################################################### + +SGIX_ycrcb enum: +	YCRCB_422_SGIX					= 0x81BB +	YCRCB_444_SGIX					= 0x81BC + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGI_complex_type: 0x81BD-0x81C3 +#	COMPLEX_UNSIGNED_BYTE_SGI			= 0x81BD +#	COMPLEX_BYTE_SGI				= 0x81BE +#	COMPLEX_UNSIGNED_SHORT_SGI			= 0x81BF +#	COMPLEX_SHORT_SGI				= 0x81C0 +#	COMPLEX_UNSIGNED_INT_SGI			= 0x81C1 +#	COMPLEX_INT_SGI					= 0x81C2 +#	COMPLEX_FLOAT_SGI				= 0x81C3 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGI_fft: 0x81C4-0x81CA +#	POST_TRANSFORM_RED_SCALE_SGI			= ????	 # 1 F +#	POST_TRANSFORM_GREEN_SCALE_SGI			= ????	 # 1 F +#	POST_TRANSFORM_BLUE_SCALE_SGI			= ????	 # 1 F +#	POST_TRANSFORM_ALPHA_SCALE_SGI			= ????	 # 1 F +#	POST_TRANSFORM_RED_BIAS_SGI			= ????	 # 1 F +#	POST_TRANSFORM_GREEN_BIAS_SGI			= ????	 # 1 F +#	POST_TRANSFORM_BLUE_BIAS_SGI			= ????	 # 1 F +#	POST_TRANSFORM_ALPHA_BIAS_SGI			= ????	 # 1 F +#	PIXEL_TRANSFORM_OPERATOR_SGI			= 0x81C4 # 1 I +#	CONVOLUTION_SGI					= 0x81C5 +#	FFT_1D_SGI					= 0x81C6 +#	PIXEL_TRANSFORM_SGI				= 0x81C7 +#	MAX_FFT_WIDTH_SGI				= 0x81C8 +#	SORT_SGI					= 0x81C9 +#	TRANSPOSE_SGI					= 0x81CA + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_nurbs_eval: 0x81CB-0x81CF +#	MAP1_VERTEX_3_NURBS_SGIX			= 0x81CB # 1 I +#	MAP1_VERTEX_4_NURBS_SGIX			= 0x81CC # 1 I +#	MAP1_INDEX_NURBS_SGIX				= 0x81CD # 1 I +#	MAP1_COLOR_4_NURBS_SGIX				= 0x81CE # 1 I +#	MAP1_NORMAL_NURBS_SGIX				= 0x81CF # 1 I +#	MAP1_TEXTURE_COORD_1_NURBS_SGIX			= 0x81E0 # 1 I +#	MAP1_TEXTURE_COORD_2_NURBS_SGIX			= 0x81E1 # 1 I +#	MAP1_TEXTURE_COORD_3_NURBS_SGIX			= 0x81E2 # 1 I +#	MAP1_TEXTURE_COORD_4_NURBS_SGIX			= 0x81E3 # 1 I +#	MAP2_VERTEX_3_NURBS_SGIX			= 0x81E4 # 1 I +#	MAP2_VERTEX_4_NURBS_SGIX			= 0x81E5 # 1 I +#	MAP2_INDEX_NURBS_SGIX				= 0x81E6 # 1 I +#	MAP2_COLOR_4_NURBS_SGIX				= 0x81E7 # 1 I +#	MAP2_NORMAL_NURBS_SGIX				= 0x81E8 # 1 I +#	MAP2_TEXTURE_COORD_1_NURBS_SGIX			= 0x81E9 # 1 I +#	MAP2_TEXTURE_COORD_2_NURBS_SGIX			= 0x81EA # 1 I +#	MAP2_TEXTURE_COORD_3_NURBS_SGIX			= 0x81EB # 1 I +#	MAP2_TEXTURE_COORD_4_NURBS_SGIX			= 0x81EC # 1 I +#	NURBS_KNOT_COUNT_SGIX				= 0x81ED +#	NURBS_KNOT_VECTOR_SGIX				= 0x81EE + +############################################################################### + +# Sun: 0x81D0-0x81DF + +# No extension spec, not in enumext.spec +# SUNX_surface_hint enum: +#	 SURFACE_SIZE_HINT_SUNX				= 0x81D2 +#	 LARGE_SUNX					= 0x81D3 + +SUNX_general_triangle_list enum: +	 RESTART_SUN					= 0x0001 +	 REPLACE_MIDDLE_SUN				= 0x0002 +	 REPLACE_OLDEST_SUN				= 0x0003 +	 WRAP_BORDER_SUN				= 0x81D4 +	 TRIANGLE_LIST_SUN				= 0x81D7 +	 REPLACEMENT_CODE_SUN				= 0x81D8 + +SUNX_constant_data enum: +	 UNPACK_CONSTANT_DATA_SUNX			= 0x81D5 +	 TEXTURE_CONSTANT_DATA_SUNX			= 0x81D6 + +SUN_global_alpha enum: +	 GLOBAL_ALPHA_SUN				= 0x81D9 +	 GLOBAL_ALPHA_FACTOR_SUN			= 0x81DA + +############################################################################### + +# SGIX_nurbs_eval (additional; see above): 0x81E0-0x81EE + +############################################################################### + +SGIS_texture_color_mask enum: +	TEXTURE_COLOR_WRITEMASK_SGIS			= 0x81EF + +############################################################################### + +SGIS_point_line_texgen enum: +	EYE_DISTANCE_TO_POINT_SGIS			= 0x81F0 +	OBJECT_DISTANCE_TO_POINT_SGIS			= 0x81F1 +	EYE_DISTANCE_TO_LINE_SGIS			= 0x81F2 +	OBJECT_DISTANCE_TO_LINE_SGIS			= 0x81F3 +	EYE_POINT_SGIS					= 0x81F4 +	OBJECT_POINT_SGIS				= 0x81F5 +	EYE_LINE_SGIS					= 0x81F6 +	OBJECT_LINE_SGIS				= 0x81F7 + +############################################################################### + +VERSION_1_2 enum: (Promoted for OpenGL 1.2) +	LIGHT_MODEL_COLOR_CONTROL			= 0x81F8 # 1 I +	SINGLE_COLOR					= 0x81F9 +	SEPARATE_SPECULAR_COLOR				= 0x81FA + +EXT_separate_specular_color enum: +	LIGHT_MODEL_COLOR_CONTROL_EXT			= 0x81F8 +	SINGLE_COLOR_EXT				= 0x81F9 +	SEPARATE_SPECULAR_COLOR_EXT			= 0x81FA + +############################################################################### + +EXT_shared_texture_palette enum: +	SHARED_TEXTURE_PALETTE_EXT			= 0x81FB # 1 I + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_fog_scale: 0x81FC-0x81FD +#	FOG_SCALE_SGIX					= 0x81FC # 1 I +#	FOG_SCALE_VALUE_SGIX				= 0x81FD # 1 F + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_fog_blend: 0x81FE-0x81FF +#	FOG_BLEND_ALPHA_SGIX				= 0x81FE # 1 I +#	FOG_BLEND_COLOR_SGIX				= 0x81FF # 1 I + +############################################################################### + +# ATI: 0x8200-0x820F (released by Microsoft 2002/9/16) +ATI_text_fragment_shader enum: +	TEXT_FRAGMENT_SHADER_ATI			= 0x8200 + +############################################################################### + +# OpenGL ARB: 0x8210-0x823F + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_RED_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_GREEN_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_BLUE_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_DEFAULT +	use ARB_framebuffer_object	    FRAMEBUFFER_UNDEFINED +	use ARB_framebuffer_object	    DEPTH_STENCIL_ATTACHMENT + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING		= 0x8210    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE		= 0x8211    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_RED_SIZE			= 0x8212    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_GREEN_SIZE		= 0x8213    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_BLUE_SIZE		= 0x8214    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE		= 0x8215    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE		= 0x8216    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE		= 0x8217    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_DEFAULT				= 0x8218    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_UNDEFINED				= 0x8219    # VERSION_3_0 / ARB_fbo +	DEPTH_STENCIL_ATTACHMENT			= 0x821A    # VERSION_3_0 / ARB_fbo + +VERSION_3_0 enum: +	MAJOR_VERSION					= 0x821B    # VERSION_3_0 +	MINOR_VERSION					= 0x821C    # VERSION_3_0 +	NUM_EXTENSIONS					= 0x821D    # VERSION_3_0 +	CONTEXT_FLAGS					= 0x821E    # VERSION_3_0 + +# ARB_future_use: 0x821F-0x8221 + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    INDEX + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	INDEX						= 0x8222    # VERSION_3_0 / ARB_fbo + +VERSION_3_0 enum: +	DEPTH_BUFFER					= 0x8223    # VERSION_3_0 +	STENCIL_BUFFER					= 0x8224    # VERSION_3_0 +	COMPRESSED_RED					= 0x8225    # VERSION_3_0 +	COMPRESSED_RG					= 0x8226    # VERSION_3_0 + +VERSION_3_0 enum: +	use ARB_texture_rg		    RG +	use ARB_texture_rg		    RG_INTEGER +	use ARB_texture_rg		    R8 +	use ARB_texture_rg		    R16 +	use ARB_texture_rg		    RG8 +	use ARB_texture_rg		    RG16 +	use ARB_texture_rg		    R16F +	use ARB_texture_rg		    R32F +	use ARB_texture_rg		    RG16F +	use ARB_texture_rg		    RG32F +	use ARB_texture_rg		    R8I +	use ARB_texture_rg		    R8UI +	use ARB_texture_rg		    R16I +	use ARB_texture_rg		    R16UI +	use ARB_texture_rg		    R32I +	use ARB_texture_rg		    R32UI +	use ARB_texture_rg		    RG8I +	use ARB_texture_rg		    RG8UI +	use ARB_texture_rg		    RG16I +	use ARB_texture_rg		    RG16UI +	use ARB_texture_rg		    RG32I +	use ARB_texture_rg		    RG32UI + +ARB_texture_rg enum: (note: no ARB suffixes) +	RG						= 0x8227    # VERSION_3_0 / ARB_trg +	RG_INTEGER					= 0x8228    # VERSION_3_0 / ARB_trg +	R8						= 0x8229    # VERSION_3_0 / ARB_trg +	R16						= 0x822A    # VERSION_3_0 / ARB_trg +	RG8						= 0x822B    # VERSION_3_0 / ARB_trg +	RG16						= 0x822C    # VERSION_3_0 / ARB_trg +	R16F						= 0x822D    # VERSION_3_0 / ARB_trg +	R32F						= 0x822E    # VERSION_3_0 / ARB_trg +	RG16F						= 0x822F    # VERSION_3_0 / ARB_trg +	RG32F						= 0x8230    # VERSION_3_0 / ARB_trg +	R8I						= 0x8231    # VERSION_3_0 / ARB_trg +	R8UI						= 0x8232    # VERSION_3_0 / ARB_trg +	R16I						= 0x8233    # VERSION_3_0 / ARB_trg +	R16UI						= 0x8234    # VERSION_3_0 / ARB_trg +	R32I						= 0x8235    # VERSION_3_0 / ARB_trg +	R32UI						= 0x8236    # VERSION_3_0 / ARB_trg +	RG8I						= 0x8237    # VERSION_3_0 / ARB_trg +	RG8UI						= 0x8238    # VERSION_3_0 / ARB_trg +	RG16I						= 0x8239    # VERSION_3_0 / ARB_trg +	RG16UI						= 0x823A    # VERSION_3_0 / ARB_trg +	RG32I						= 0x823B    # VERSION_3_0 / ARB_trg +	RG32UI						= 0x823C    # VERSION_3_0 / ARB_trg + +# ARB_future_use: 0x823D-0x823F + +############################################################################### + +# @@@ Any_vendor_future_use: 0x8240-0x82AF (released by Microsoft 2002/9/16) + +############################################################################### + +# ADD: 0x82B0-0x830F + +############################################################################### + +SGIX_depth_pass_instrument enum: 0x8310-0x8312 +	DEPTH_PASS_INSTRUMENT_SGIX			= 0x8310 +	DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX		= 0x8311 +	DEPTH_PASS_INSTRUMENT_MAX_SGIX			= 0x8312 + +############################################################################### + +SGIX_fragments_instrument enum: 0x8313-0x8315 +	FRAGMENTS_INSTRUMENT_SGIX			= 0x8313 # 1 I +	FRAGMENTS_INSTRUMENT_COUNTERS_SGIX		= 0x8314 # 1 I +	FRAGMENTS_INSTRUMENT_MAX_SGIX			= 0x8315 # 1 I + +############################################################################### + +SGIX_convolution_accuracy enum: +	CONVOLUTION_HINT_SGIX				= 0x8316 # 1 I + +############################################################################### + +# SGIX_color_matrix_accuracy: 0x8317 + +############################################################################### + +# 0x8318-0x8319 +SGIX_ycrcba enum: +	YCRCB_SGIX					= 0x8318 +	YCRCBA_SGIX					= 0x8319 + +############################################################################### + +# 0x831A-0x831F +SGIX_slim enum: +	UNPACK_COMPRESSED_SIZE_SGIX			= 0x831A +	PACK_MAX_COMPRESSED_SIZE_SGIX			= 0x831B +	PACK_COMPRESSED_SIZE_SGIX			= 0x831C +	SLIM8U_SGIX					= 0x831D +	SLIM10U_SGIX					= 0x831E +	SLIM12S_SGIX					= 0x831F + +############################################################################### + +SGIX_blend_alpha_minmax enum: +	ALPHA_MIN_SGIX					= 0x8320 +	ALPHA_MAX_SGIX					= 0x8321 + +############################################################################### + +SGIX_scalebias_hint enum: +	SCALEBIAS_HINT_SGIX				= 0x8322 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_fog_layers: 0x8323-0x8328 +#	FOG_TYPE_SGIX					= 0x8323 # 1 I +#	UNIFORM_SGIX					= 0x8324 +#	LAYERED_SGIX					= 0x8325 +#	FOG_GROUND_PLANE_SGIX				= 0x8326 # 4 F +#	FOG_LAYERS_POINTS_SGIX				= 0x8327 # 1 I +#	MAX_FOG_LAYERS_POINTS_SGIX			= 0x8328 # 1 I + +############################################################################### + +SGIX_async enum: +	ASYNC_MARKER_SGIX				= 0x8329 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_texture_phase: 0x832A +#	PHASE_SGIX					= 0x832A + +############################################################################### + +# SGIX_pixel_texture (additional; see above): 0x832B + +############################################################################### + +SGIX_async_histogram enum: +	ASYNC_HISTOGRAM_SGIX				= 0x832C +	MAX_ASYNC_HISTOGRAM_SGIX			= 0x832D + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_texture_mipmap_anisotropic: 0x832E-0x832F +#	TEXTURE_MIPMAP_ANISOTROPY_SGIX			= 0x832E +#	MAX_MIPMAP_ANISOTROPY_SGIX			= 0x832F # 1 I + +############################################################################### + +EXT_pixel_transform enum: +	PIXEL_TRANSFORM_2D_EXT				= 0x8330 +	PIXEL_MAG_FILTER_EXT				= 0x8331 +	PIXEL_MIN_FILTER_EXT				= 0x8332 +	PIXEL_CUBIC_WEIGHT_EXT				= 0x8333 +	CUBIC_EXT					= 0x8334 +	AVERAGE_EXT					= 0x8335 +	PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT		= 0x8336 +	MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT		= 0x8337 +	PIXEL_TRANSFORM_2D_MATRIX_EXT			= 0x8338 + +# SUN_future_use: 0x8339-0x833F + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_cube_map: 0x8340-0x8348 +#	ENV_MAP_SGIX					= 0x8340 +#	CUBE_MAP_SGIX					= 0x8341 +#	CUBE_MAP_ZP_SGIX				= 0x8342 +#	CUBE_MAP_ZN_SGIX				= 0x8343 +#	CUBE_MAP_XN_SGIX				= 0x8344 +#	CUBE_MAP_XP_SGIX				= 0x8345 +#	CUBE_MAP_YN_SGIX				= 0x8346 +#	CUBE_MAP_YP_SGIX				= 0x8347 +#	CUBE_MAP_BINDING_SGIX				= 0x8348 # 1 I + +############################################################################### + +# Unfortunately, there was a collision promoting to EXT from SGIX. +# Use fog_coord's value of 0x8452 instead of the previously +#   assigned FRAGMENT_DEPTH_EXT -> 0x834B. +# EXT_light_texture: 0x8349-0x8352 +EXT_light_texture enum: 0x8349-0x8352 +	FRAGMENT_MATERIAL_EXT				= 0x8349 +	FRAGMENT_NORMAL_EXT				= 0x834A +	FRAGMENT_COLOR_EXT				= 0x834C +	ATTENUATION_EXT					= 0x834D +	SHADOW_ATTENUATION_EXT				= 0x834E +	TEXTURE_APPLICATION_MODE_EXT			= 0x834F # 1 I +	TEXTURE_LIGHT_EXT				= 0x8350 # 1 I +	TEXTURE_MATERIAL_FACE_EXT			= 0x8351 # 1 I +	TEXTURE_MATERIAL_PARAMETER_EXT			= 0x8352 # 1 I +	use EXT_fog_coord FRAGMENT_DEPTH_EXT + +############################################################################### + +SGIS_pixel_texture enum: +	PIXEL_TEXTURE_SGIS				= 0x8353 # 1 I +	PIXEL_FRAGMENT_RGB_SOURCE_SGIS			= 0x8354 # 1 I +	PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS		= 0x8355 # 1 I +	PIXEL_GROUP_COLOR_SGIS				= 0x8356 # 1 I + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_pixel_texture_bits: 0x8357-0x8359 +#	COLOR_TO_TEXTURE_COORD_SGIX			= 0x8357 +#	COLOR_BIT_PATTERN_SGIX				= 0x8358 +#	COLOR_VALUE_SGIX				= 0x8359 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_pixel_texture_lod: 0x835A +#	PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX		= 0x835A + +############################################################################### + +SGIX_line_quality_hint enum: +	LINE_QUALITY_HINT_SGIX				= 0x835B + +############################################################################### + +SGIX_async_pixel enum: +	ASYNC_TEX_IMAGE_SGIX				= 0x835C +	ASYNC_DRAW_PIXELS_SGIX				= 0x835D +	ASYNC_READ_PIXELS_SGIX				= 0x835E +	MAX_ASYNC_TEX_IMAGE_SGIX			= 0x835F +	MAX_ASYNC_DRAW_PIXELS_SGIX			= 0x8360 +	MAX_ASYNC_READ_PIXELS_SGIX			= 0x8361 + +############################################################################### + +# EXT_packed_pixels (additional; see above): 0x8362-0x8368 + +############################################################################### + +SGIX_texture_coordinate_clamp enum: +	TEXTURE_MAX_CLAMP_S_SGIX			= 0x8369 +	TEXTURE_MAX_CLAMP_T_SGIX			= 0x836A +	TEXTURE_MAX_CLAMP_R_SGIX			= 0x836B + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_fog_texture: 0x836C-0x836E +#	FRAGMENT_FOG_SGIX				= 0x836C +#	TEXTURE_FOG_SGIX				= 0x836D # 1 I +#	FOG_PATCHY_FACTOR_SGIX				= 0x836E + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_fog_factor_to_alpha: 0x836F +	FOG_FACTOR_TO_ALPHA_SGIX			= 0x836F + +############################################################################### + +# HP: 0x8370-0x837F +# NOTE: IBM is using values in this range, because of a bobble +# when Pat Brown left at the same time as I assigned them the +# next range and their registry became inconsistent. Unknown +# whether HP has any conflicts as they have never reported using +# any values in this range. + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	MIRRORED_REPEAT					= 0x8370 + +ARB_texture_mirrored_repeat enum: +	MIRRORED_REPEAT_ARB				= 0x8370 + +IBM_texture_mirrored_repeat enum: +	MIRRORED_REPEAT_IBM				= 0x8370 + +# Aliases ARB_texture_mirrored_repeat enum above +OES_texture_mirrored_repeat enum: (OpenGL ES only) +	MIRRORED_REPEAT_OES				= 0x8370 + +############################################################################### + +# IBM: 0x8380-0x839F + +############################################################################### + +# S3: 0x83A0-0x83BF + +S3_s3tc enum: +	RGB_S3TC					= 0x83A0 +	RGB4_S3TC					= 0x83A1 +	RGBA_S3TC					= 0x83A2 +	RGBA4_S3TC					= 0x83A3 + +# S3_future_use: 0x83A4-0x83BF + +############################################################################### + +# Obsolete extension, never to be put in enumext.spec +# SGIS_multitexture: 0x83C0-0x83E5 +#	SELECTED_TEXTURE_SGIS				= 0x83C0 # 1 I +#	SELECTED_TEXTURE_COORD_SET_SGIS			= 0x83C1 # 1 I +#	SELECTED_TEXTURE_TRANSFORM_SGIS			= 0x83C2 # 1 I +#	MAX_TEXTURES_SGIS				= 0x83C3 # 1 I +#	MAX_TEXTURE_COORD_SETS_SGIS			= 0x83C4 # 1 I +#	TEXTURE_COORD_SET_INTERLEAVE_FACTOR_SGIS	= 0x83C5 # 1 I +#	TEXTURE_ENV_COORD_SET_SGIS			= 0x83C6 +#	TEXTURE0_SGIS					= 0x83C7 +#	TEXTURE1_SGIS					= 0x83C8 +#	TEXTURE2_SGIS					= 0x83C9 +#	TEXTURE3_SGIS					= 0x83CA +# +# SGIS_multitexture_future_use: 0x83CB-0x83E5 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_bali_g_instruments: 0x83E6-0x83E9 +#	BALI_NUM_TRIS_CULLED_INSTRUMENT_SGIX		= 0x83E6 # 1 I +#	BALI_NUM_PRIMS_CLIPPED_INSTRUMENT_SGIX		= 0x83E7 # 1 I +#	BALI_NUM_PRIMS_REJECT_INSTRUMENT_SGIX		= 0x83E8 # 1 I +#	BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT_SGIX	= 0x83E9 # 1 I + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_bali_r_instruments: 0x83EA-0x83EC +#	BALI_FRAGMENTS_GENERATED_INSTRUMENT_SGIX	= 0x83EA # 1 I +#	BALI_DEPTH_PASS_INSTRUMENT_SGIX			= 0x83EB # 1 I +#	BALI_R_CHIP_COUNT_SGIX				= 0x83EC # 1 I + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_occlusion_instrument: 0x83ED +#	OCCLUSION_INSTRUMENT_SGIX			= 0x83ED # 1 I + +############################################################################### + +SGIX_vertex_preclip enum: +	VERTEX_PRECLIP_SGIX				= 0x83EE +	VERTEX_PRECLIP_HINT_SGIX			= 0x83EF + +############################################################################### + +# INTEL: 0x83F0-0x83FF +# Note that this block was reclaimed from NTP, who never shipped it, +#   and reassigned to Intel. + +EXT_texture_compression_s3tc enum: +	COMPRESSED_RGB_S3TC_DXT1_EXT			= 0x83F0 +	COMPRESSED_RGBA_S3TC_DXT1_EXT			= 0x83F1 +	COMPRESSED_RGBA_S3TC_DXT3_EXT			= 0x83F2 +	COMPRESSED_RGBA_S3TC_DXT5_EXT			= 0x83F3 + +INTEL_parallel_arrays enum: +	PARALLEL_ARRAYS_INTEL				= 0x83F4 +	VERTEX_ARRAY_PARALLEL_POINTERS_INTEL		= 0x83F5 +	NORMAL_ARRAY_PARALLEL_POINTERS_INTEL		= 0x83F6 +	COLOR_ARRAY_PARALLEL_POINTERS_INTEL		= 0x83F7 +	TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL	= 0x83F8 + +# INTEL_future_use: 0x83F9-0x83FF + +############################################################################### + +SGIX_fragment_lighting enum: +	FRAGMENT_LIGHTING_SGIX				= 0x8400 # 1 I +	FRAGMENT_COLOR_MATERIAL_SGIX			= 0x8401 # 1 I +	FRAGMENT_COLOR_MATERIAL_FACE_SGIX		= 0x8402 # 1 I +	FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX		= 0x8403 # 1 I +	MAX_FRAGMENT_LIGHTS_SGIX			= 0x8404 # 1 I +	MAX_ACTIVE_LIGHTS_SGIX				= 0x8405 # 1 I +	CURRENT_RASTER_NORMAL_SGIX			= 0x8406 # 1 I +	LIGHT_ENV_MODE_SGIX				= 0x8407 # 1 I +	FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX		= 0x8408 # 1 I +	FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX		= 0x8409 # 1 I +	FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX		= 0x840A # 4 F +	FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX	= 0x840B # 1 I +	FRAGMENT_LIGHT0_SGIX				= 0x840C # 1 I +	FRAGMENT_LIGHT1_SGIX				= 0x840D +	FRAGMENT_LIGHT2_SGIX				= 0x840E +	FRAGMENT_LIGHT3_SGIX				= 0x840F +	FRAGMENT_LIGHT4_SGIX				= 0x8410 +	FRAGMENT_LIGHT5_SGIX				= 0x8411 +	FRAGMENT_LIGHT6_SGIX				= 0x8412 +	FRAGMENT_LIGHT7_SGIX				= 0x8413 + +# SGIX_fragment_lighting_future_use: 0x8414-0x842B + +############################################################################### + +SGIX_resample enum: +	PACK_RESAMPLE_SGIX				= 0x842C +	UNPACK_RESAMPLE_SGIX				= 0x842D +	RESAMPLE_REPLICATE_SGIX				= 0x842E +	RESAMPLE_ZERO_FILL_SGIX				= 0x842F +	RESAMPLE_DECIMATE_SGIX				= 0x8430 + +# SGIX_resample_future_use: 0x8431-0x8435 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_fragment_lighting_space: 0x8436-0x8449 +#	EYE_SPACE_SGIX					= 0x8436 +#	TANGENT_SPACE_SGIX				= 0x8437 +#	OBJECT_SPACE_SGIX				= 0x8438 +#	TANGENT_ARRAY_SGIX				= 0x8439 +#	BINORMAL_ARRAY_SGIX				= 0x843A +#	CURRENT_TANGENT_SGIX				= 0x843B # 3 F +#	CURRENT_BINORMAL_SGIX				= 0x843C # 3 F +#	FRAGMENT_LIGHT_SPACE_SGIX			= 0x843D # 1 I +#	TANGENT_ARRAY_TYPE_SGIX				= 0x843E +#	TANGENT_ARRAY_STRIDE_SGIX			= 0x843F +#	TANGENT_ARRAY_COUNT_SGIX			= 0x8440 +#	BINORMAL_ARRAY_TYPE_SGIX			= 0x8441 +#	BINORMAL_ARRAY_STRIDE_SGIX			= 0x8442 +#	BINORMAL_ARRAY_COUNT_SGIX			= 0x8443 +#	TANGENT_ARRAY_POINTER_SGIX			= 0x8444 +#	BINORMAL_ARRAY_POINTER_SGIX			= 0x8445 +#	MAP1_TANGENT_SGIX				= 0x8446 +#	MAP2_TANGENT_SGIX				= 0x8447 +#	MAP1_BINORMAL_SGIX				= 0x8448 +#	MAP2_BINORMAL_SGIX				= 0x8449 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_bali_timer_instruments: 0x844A-0x844C +#	BALI_GEOM_TIMER_INSTRUMENT_SGIX			= 0x844A # 1 I +#	BALI_RASTER_TIMER_INSTRUMENT_SGIX		= 0x844B # 1 I +#	BALI_INSTRUMENT_TIME_UNIT_SGIX			= 0x844C # 1 I + +############################################################################### + +# SGIX_clipmap (additional; see above): 0x844D-0x844F + +############################################################################### + +# SGI (actually brokered for Id Software): 0x8450-0x845F + +VERSION_1_5 enum: (Consistent naming scheme for OpenGL 1.5) +	FOG_COORD_SRC					= 0x8450    # alias GL_FOG_COORDINATE_SOURCE +	FOG_COORD					= 0x8451    # alias GL_FOG_COORDINATE +	CURRENT_FOG_COORD				= 0x8453    # alias GL_CURRENT_FOG_COORDINATE +	FOG_COORD_ARRAY_TYPE				= 0x8454    # alias GL_FOG_COORDINATE_ARRAY_TYPE +	FOG_COORD_ARRAY_STRIDE				= 0x8455    # alias GL_FOG_COORDINATE_ARRAY_STRIDE +	FOG_COORD_ARRAY_POINTER				= 0x8456    # alias GL_FOG_COORDINATE_ARRAY_POINTER +	FOG_COORD_ARRAY					= 0x8457    # alias GL_FOG_COORDINATE_ARRAY + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	FOG_COORDINATE_SOURCE				= 0x8450 # 1 I +	FOG_COORDINATE					= 0x8451 +	FRAGMENT_DEPTH					= 0x8452 +	CURRENT_FOG_COORDINATE				= 0x8453 # 1 F +	FOG_COORDINATE_ARRAY_TYPE			= 0x8454 # 1 I +	FOG_COORDINATE_ARRAY_STRIDE			= 0x8455 # 1 I +	FOG_COORDINATE_ARRAY_POINTER			= 0x8456 +	FOG_COORDINATE_ARRAY				= 0x8457 # 1 I + +EXT_fog_coord enum: +	FOG_COORDINATE_SOURCE_EXT			= 0x8450 # 1 I +	FOG_COORDINATE_EXT				= 0x8451 +	FRAGMENT_DEPTH_EXT				= 0x8452 +	CURRENT_FOG_COORDINATE_EXT			= 0x8453 # 1 F +	FOG_COORDINATE_ARRAY_TYPE_EXT			= 0x8454 # 1 I +	FOG_COORDINATE_ARRAY_STRIDE_EXT			= 0x8455 # 1 I +	FOG_COORDINATE_ARRAY_POINTER_EXT		= 0x8456 +	FOG_COORDINATE_ARRAY_EXT			= 0x8457 # 1 I + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	COLOR_SUM					= 0x8458 # 1 I +	CURRENT_SECONDARY_COLOR				= 0x8459 # 3 F +	SECONDARY_COLOR_ARRAY_SIZE			= 0x845A # 1 I +	SECONDARY_COLOR_ARRAY_TYPE			= 0x845B # 1 I +	SECONDARY_COLOR_ARRAY_STRIDE			= 0x845C # 1 I +	SECONDARY_COLOR_ARRAY_POINTER			= 0x845D +	SECONDARY_COLOR_ARRAY				= 0x845E # 1 I + +EXT_secondary_color enum: +	COLOR_SUM_EXT					= 0x8458 # 1 I +	CURRENT_SECONDARY_COLOR_EXT			= 0x8459 # 3 F +	SECONDARY_COLOR_ARRAY_SIZE_EXT			= 0x845A # 1 I +	SECONDARY_COLOR_ARRAY_TYPE_EXT			= 0x845B # 1 I +	SECONDARY_COLOR_ARRAY_STRIDE_EXT		= 0x845C # 1 I +	SECONDARY_COLOR_ARRAY_POINTER_EXT		= 0x845D +	SECONDARY_COLOR_ARRAY_EXT			= 0x845E # 1 I + +ARB_vertex_program enum: +	COLOR_SUM_ARB					= 0x8458 # 1 I	# ARB_vertex_program + +VERSION_2_1 enum: +	CURRENT_RASTER_SECONDARY_COLOR			= 0x845F + +############################################################################### + +# Incomplete extension, not in enumext.spec +SGIX_icc_texture enum: +#	RGB_ICC_SGIX					= 0x8460 +#	RGBA_ICC_SGIX					= 0x8461 +#	ALPHA_ICC_SGIX					= 0x8462 +#	LUMINANCE_ICC_SGIX				= 0x8463 +#	INTENSITY_ICC_SGIX				= 0x8464 +#	LUMINANCE_ALPHA_ICC_SGIX			= 0x8465 +#	R5_G6_B5_ICC_SGIX				= 0x8466 +#	R5_G6_B5_A8_ICC_SGIX				= 0x8467 +#	ALPHA16_ICC_SGIX				= 0x8468 +#	LUMINANCE16_ICC_SGIX				= 0x8469 +#	INTENSITY16_ICC_SGIX				= 0x846A +#	LUMINANCE16_ALPHA8_ICC_SGIX			= 0x846B + +############################################################################### + +# SGI_future_use: 0x846C + +############################################################################### + +# SMOOTH_* enums are new names for pre-1.2 enums. +VERSION_1_2 enum: +	SMOOTH_POINT_SIZE_RANGE				= 0x0B12 # 2 F +	SMOOTH_POINT_SIZE_GRANULARITY			= 0x0B13 # 1 F +	SMOOTH_LINE_WIDTH_RANGE				= 0x0B22 # 2 F +	SMOOTH_LINE_WIDTH_GRANULARITY			= 0x0B23 # 1 F +	ALIASED_POINT_SIZE_RANGE			= 0x846D # 2 F +	ALIASED_LINE_WIDTH_RANGE			= 0x846E # 2 F + +############################################################################### + +# SGI_future_use: 0x846F + +############################################################################### + +# ATI Technologies (vendor multitexture, spec not yet released): 0x8470-0x848F + +############################################################################### + +# REND (Rendition): 0x8490-0x849F + +REND_screen_coordinates enum: +	SCREEN_COORDINATES_REND				= 0x8490 +	INVERTED_SCREEN_W_REND				= 0x8491 + +############################################################################### + +# ATI Technologies (vendor multitexture, spec not yet released): 0x84A0-84BF + +############################################################################### + +# OpenGL ARB: 0x84C0-0x84EF + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	TEXTURE0					= 0x84C0 +	TEXTURE1					= 0x84C1 +	TEXTURE2					= 0x84C2 +	TEXTURE3					= 0x84C3 +	TEXTURE4					= 0x84C4 +	TEXTURE5					= 0x84C5 +	TEXTURE6					= 0x84C6 +	TEXTURE7					= 0x84C7 +	TEXTURE8					= 0x84C8 +	TEXTURE9					= 0x84C9 +	TEXTURE10					= 0x84CA +	TEXTURE11					= 0x84CB +	TEXTURE12					= 0x84CC +	TEXTURE13					= 0x84CD +	TEXTURE14					= 0x84CE +	TEXTURE15					= 0x84CF +	TEXTURE16					= 0x84D0 +	TEXTURE17					= 0x84D1 +	TEXTURE18					= 0x84D2 +	TEXTURE19					= 0x84D3 +	TEXTURE20					= 0x84D4 +	TEXTURE21					= 0x84D5 +	TEXTURE22					= 0x84D6 +	TEXTURE23					= 0x84D7 +	TEXTURE24					= 0x84D8 +	TEXTURE25					= 0x84D9 +	TEXTURE26					= 0x84DA +	TEXTURE27					= 0x84DB +	TEXTURE28					= 0x84DC +	TEXTURE29					= 0x84DD +	TEXTURE30					= 0x84DE +	TEXTURE31					= 0x84DF +	ACTIVE_TEXTURE					= 0x84E0 # 1 I +	CLIENT_ACTIVE_TEXTURE				= 0x84E1 # 1 I +	MAX_TEXTURE_UNITS				= 0x84E2 # 1 I + +ARB_multitexture enum: +	TEXTURE0_ARB					= 0x84C0 +	TEXTURE1_ARB					= 0x84C1 +	TEXTURE2_ARB					= 0x84C2 +	TEXTURE3_ARB					= 0x84C3 +	TEXTURE4_ARB					= 0x84C4 +	TEXTURE5_ARB					= 0x84C5 +	TEXTURE6_ARB					= 0x84C6 +	TEXTURE7_ARB					= 0x84C7 +	TEXTURE8_ARB					= 0x84C8 +	TEXTURE9_ARB					= 0x84C9 +	TEXTURE10_ARB					= 0x84CA +	TEXTURE11_ARB					= 0x84CB +	TEXTURE12_ARB					= 0x84CC +	TEXTURE13_ARB					= 0x84CD +	TEXTURE14_ARB					= 0x84CE +	TEXTURE15_ARB					= 0x84CF +	TEXTURE16_ARB					= 0x84D0 +	TEXTURE17_ARB					= 0x84D1 +	TEXTURE18_ARB					= 0x84D2 +	TEXTURE19_ARB					= 0x84D3 +	TEXTURE20_ARB					= 0x84D4 +	TEXTURE21_ARB					= 0x84D5 +	TEXTURE22_ARB					= 0x84D6 +	TEXTURE23_ARB					= 0x84D7 +	TEXTURE24_ARB					= 0x84D8 +	TEXTURE25_ARB					= 0x84D9 +	TEXTURE26_ARB					= 0x84DA +	TEXTURE27_ARB					= 0x84DB +	TEXTURE28_ARB					= 0x84DC +	TEXTURE29_ARB					= 0x84DD +	TEXTURE30_ARB					= 0x84DE +	TEXTURE31_ARB					= 0x84DF +	ACTIVE_TEXTURE_ARB				= 0x84E0 # 1 I +	CLIENT_ACTIVE_TEXTURE_ARB			= 0x84E1 # 1 I +	MAX_TEXTURE_UNITS_ARB				= 0x84E2 # 1 I + +# These are really core ES 1.1 enums, but haven't included +# ES core enums in enum.spec yet +OES_texture_env_crossbar enum: (OpenGL ES only) +	use VERSION_1_3 TEXTURE0 +	use VERSION_1_3 TEXTURE1 +	use VERSION_1_3 TEXTURE2 +	use VERSION_1_3 TEXTURE3 +	use VERSION_1_3 TEXTURE4 +	use VERSION_1_3 TEXTURE5 +	use VERSION_1_3 TEXTURE6 +	use VERSION_1_3 TEXTURE7 +	use VERSION_1_3 TEXTURE8 +	use VERSION_1_3 TEXTURE9 +	use VERSION_1_3 TEXTURE10 +	use VERSION_1_3 TEXTURE11 +	use VERSION_1_3 TEXTURE12 +	use VERSION_1_3 TEXTURE13 +	use VERSION_1_3 TEXTURE14 +	use VERSION_1_3 TEXTURE15 +	use VERSION_1_3 TEXTURE16 +	use VERSION_1_3 TEXTURE17 +	use VERSION_1_3 TEXTURE18 +	use VERSION_1_3 TEXTURE19 +	use VERSION_1_3 TEXTURE20 +	use VERSION_1_3 TEXTURE21 +	use VERSION_1_3 TEXTURE22 +	use VERSION_1_3 TEXTURE23 +	use VERSION_1_3 TEXTURE24 +	use VERSION_1_3 TEXTURE25 +	use VERSION_1_3 TEXTURE26 +	use VERSION_1_3 TEXTURE27 +	use VERSION_1_3 TEXTURE28 +	use VERSION_1_3 TEXTURE29 +	use VERSION_1_3 TEXTURE30 +	use VERSION_1_3 TEXTURE31 + +############################################################################### + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	TRANSPOSE_MODELVIEW_MATRIX			= 0x84E3 # 16 F +	TRANSPOSE_PROJECTION_MATRIX			= 0x84E4 # 16 F +	TRANSPOSE_TEXTURE_MATRIX			= 0x84E5 # 16 F +	TRANSPOSE_COLOR_MATRIX				= 0x84E6 # 16 F + +ARB_transpose_matrix enum: +	TRANSPOSE_MODELVIEW_MATRIX_ARB			= 0x84E3 # 16 F +	TRANSPOSE_PROJECTION_MATRIX_ARB			= 0x84E4 # 16 F +	TRANSPOSE_TEXTURE_MATRIX_ARB			= 0x84E5 # 16 F +	TRANSPOSE_COLOR_MATRIX_ARB			= 0x84E6 # 16 F + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	SUBTRACT					= 0x84E7 + +ARB_texture_env_combine enum: +	SUBTRACT_ARB					= 0x84E7 + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    MAX_RENDERBUFFER_SIZE + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	MAX_RENDERBUFFER_SIZE				= 0x84E8    # VERSION_3_0 / ARB_fbo + +EXT_framebuffer_object enum: (additional; see below): +	MAX_RENDERBUFFER_SIZE_EXT			= 0x84E8 + +# Aliases EXT_framebuffer_object enum above +OES_framebuffer_object enum: (OpenGL ES only; additional; see below) +	MAX_RENDERBUFFER_SIZE_OES			= 0x84E8 + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	COMPRESSED_ALPHA				= 0x84E9 +	COMPRESSED_LUMINANCE				= 0x84EA +	COMPRESSED_LUMINANCE_ALPHA			= 0x84EB +	COMPRESSED_INTENSITY				= 0x84EC +	COMPRESSED_RGB					= 0x84ED +	COMPRESSED_RGBA					= 0x84EE +	TEXTURE_COMPRESSION_HINT			= 0x84EF +	TEXTURE_COMPRESSED_IMAGE_SIZE			= 0x86A0 +	TEXTURE_COMPRESSED				= 0x86A1 +	NUM_COMPRESSED_TEXTURE_FORMATS			= 0x86A2 +	COMPRESSED_TEXTURE_FORMATS			= 0x86A3 + +ARB_texture_compression enum: +	COMPRESSED_ALPHA_ARB				= 0x84E9 +	COMPRESSED_LUMINANCE_ARB			= 0x84EA +	COMPRESSED_LUMINANCE_ALPHA_ARB			= 0x84EB +	COMPRESSED_INTENSITY_ARB			= 0x84EC +	COMPRESSED_RGB_ARB				= 0x84ED +	COMPRESSED_RGBA_ARB				= 0x84EE +	TEXTURE_COMPRESSION_HINT_ARB			= 0x84EF +	TEXTURE_COMPRESSED_IMAGE_SIZE_ARB		= 0x86A0 +	TEXTURE_COMPRESSED_ARB				= 0x86A1 +	NUM_COMPRESSED_TEXTURE_FORMATS_ARB		= 0x86A2 +	COMPRESSED_TEXTURE_FORMATS_ARB			= 0x86A3 + +############################################################################### + +# NVIDIA: 0x84F0-0x855F + +# NV_future_use: 0x84F0-0x84F1 + +NV_fence enum: +	ALL_COMPLETED_NV				= 0x84F2 +	FENCE_STATUS_NV					= 0x84F3 +	FENCE_CONDITION_NV				= 0x84F4 + +VERSION_3_1 enum: +	TEXTURE_RECTANGLE				= 0x84F5 +	TEXTURE_BINDING_RECTANGLE			= 0x84F6 +	PROXY_TEXTURE_RECTANGLE				= 0x84F7 +	MAX_RECTANGLE_TEXTURE_SIZE			= 0x84F8 + +ARB_texture_rectangle enum: +	TEXTURE_RECTANGLE_ARB				= 0x84F5 +	TEXTURE_BINDING_RECTANGLE_ARB			= 0x84F6 +	PROXY_TEXTURE_RECTANGLE_ARB			= 0x84F7 +	MAX_RECTANGLE_TEXTURE_SIZE_ARB			= 0x84F8 + +NV_texture_rectangle enum: +	TEXTURE_RECTANGLE_NV				= 0x84F5 +	TEXTURE_BINDING_RECTANGLE_NV			= 0x84F6 +	PROXY_TEXTURE_RECTANGLE_NV			= 0x84F7 +	MAX_RECTANGLE_TEXTURE_SIZE_NV			= 0x84F8 + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    DEPTH_STENCIL +	use ARB_framebuffer_object	    UNSIGNED_INT_24_8 + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	DEPTH_STENCIL					= 0x84F9    # VERSION_3_0 / ARB_fbo +	UNSIGNED_INT_24_8				= 0x84FA    # VERSION_3_0 / ARB_fbo + +EXT_packed_depth_stencil enum: +	DEPTH_STENCIL_EXT				= 0x84F9 +	UNSIGNED_INT_24_8_EXT				= 0x84FA + +NV_packed_depth_stencil enum: +	DEPTH_STENCIL_NV				= 0x84F9 +	UNSIGNED_INT_24_8_NV				= 0x84FA + +# Aliases EXT_packed_depth_stencil enums above +OES_packed_depth_stencil enum: (OpenGL ES only) +	DEPTH_STENCIL_OES				= 0x84F9 +	UNSIGNED_INT_24_8_OES				= 0x84FA + +# NV_future_use: 0x84FB-0x84FC + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	MAX_TEXTURE_LOD_BIAS				= 0x84FD + +EXT_texture_lod_bias enum: +	MAX_TEXTURE_LOD_BIAS_EXT			= 0x84FD + +EXT_texture_filter_anisotropic enum: +	TEXTURE_MAX_ANISOTROPY_EXT			= 0x84FE +	MAX_TEXTURE_MAX_ANISOTROPY_EXT			= 0x84FF + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	TEXTURE_FILTER_CONTROL				= 0x8500 +	TEXTURE_LOD_BIAS				= 0x8501 + +EXT_texture_lod_bias enum: +	TEXTURE_FILTER_CONTROL_EXT			= 0x8500 +	TEXTURE_LOD_BIAS_EXT				= 0x8501 + +EXT_vertex_weighting enum: +	MODELVIEW1_STACK_DEPTH_EXT			= 0x8502 + +# NV_texture_env_combine4 (additional; see below): 0x8503 + +NV_light_max_exponent enum: +	MAX_SHININESS_NV				= 0x8504 +	MAX_SPOT_EXPONENT_NV				= 0x8505 + +EXT_vertex_weighting enum: +	MODELVIEW_MATRIX1_EXT				= 0x8506 + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	INCR_WRAP					= 0x8507 +	DECR_WRAP					= 0x8508 + +EXT_stencil_wrap enum: +	INCR_WRAP_EXT					= 0x8507 +	DECR_WRAP_EXT					= 0x8508 + +# Aliases EXT_stencil_wrap enums above +OES_stencil_wrap enum: (OpenGL ES only) +	INCR_WRAP_OES					= 0x8507 +	DECR_WRAP_OES					= 0x8508 + +EXT_vertex_weighting enum: +	VERTEX_WEIGHTING_EXT				= 0x8509 +	MODELVIEW1_EXT					= 0x850A +	CURRENT_VERTEX_WEIGHT_EXT			= 0x850B +	VERTEX_WEIGHT_ARRAY_EXT				= 0x850C +	VERTEX_WEIGHT_ARRAY_SIZE_EXT			= 0x850D +	VERTEX_WEIGHT_ARRAY_TYPE_EXT			= 0x850E +	VERTEX_WEIGHT_ARRAY_STRIDE_EXT			= 0x850F +	VERTEX_WEIGHT_ARRAY_POINTER_EXT			= 0x8510 + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	NORMAL_MAP					= 0x8511 +	REFLECTION_MAP					= 0x8512 +	TEXTURE_CUBE_MAP				= 0x8513 +	TEXTURE_BINDING_CUBE_MAP			= 0x8514 +	TEXTURE_CUBE_MAP_POSITIVE_X			= 0x8515 +	TEXTURE_CUBE_MAP_NEGATIVE_X			= 0x8516 +	TEXTURE_CUBE_MAP_POSITIVE_Y			= 0x8517 +	TEXTURE_CUBE_MAP_NEGATIVE_Y			= 0x8518 +	TEXTURE_CUBE_MAP_POSITIVE_Z			= 0x8519 +	TEXTURE_CUBE_MAP_NEGATIVE_Z			= 0x851A +	PROXY_TEXTURE_CUBE_MAP				= 0x851B +	MAX_CUBE_MAP_TEXTURE_SIZE			= 0x851C + +EXT_texture_cube_map enum: +	NORMAL_MAP_EXT					= 0x8511 +	REFLECTION_MAP_EXT				= 0x8512 +	TEXTURE_CUBE_MAP_EXT				= 0x8513 +	TEXTURE_BINDING_CUBE_MAP_EXT			= 0x8514 +	TEXTURE_CUBE_MAP_POSITIVE_X_EXT			= 0x8515 +	TEXTURE_CUBE_MAP_NEGATIVE_X_EXT			= 0x8516 +	TEXTURE_CUBE_MAP_POSITIVE_Y_EXT			= 0x8517 +	TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT			= 0x8518 +	TEXTURE_CUBE_MAP_POSITIVE_Z_EXT			= 0x8519 +	TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT			= 0x851A +	PROXY_TEXTURE_CUBE_MAP_EXT			= 0x851B +	MAX_CUBE_MAP_TEXTURE_SIZE_EXT			= 0x851C + +NV_texgen_reflection enum: +	NORMAL_MAP					= 0x8511 +	REFLECTION_MAP					= 0x8512 + +ARB_texture_cube_map enum: +	NORMAL_MAP_ARB					= 0x8511 +	REFLECTION_MAP_ARB				= 0x8512 +	TEXTURE_CUBE_MAP_ARB				= 0x8513 +	TEXTURE_BINDING_CUBE_MAP_ARB			= 0x8514 +	TEXTURE_CUBE_MAP_POSITIVE_X_ARB			= 0x8515 +	TEXTURE_CUBE_MAP_NEGATIVE_X_ARB			= 0x8516 +	TEXTURE_CUBE_MAP_POSITIVE_Y_ARB			= 0x8517 +	TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB			= 0x8518 +	TEXTURE_CUBE_MAP_POSITIVE_Z_ARB			= 0x8519 +	TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB			= 0x851A +	PROXY_TEXTURE_CUBE_MAP_ARB			= 0x851B +	MAX_CUBE_MAP_TEXTURE_SIZE_ARB			= 0x851C + +# Aliases ARB_texture_cube_map enums above +OES_texture_cube_map enum: (OpenGL ES only; additional; see below) +	NORMAL_MAP_OES					= 0x8511 +	REFLECTION_MAP_OES				= 0x8512 +	TEXTURE_CUBE_MAP_OES				= 0x8513 +	TEXTURE_BINDING_CUBE_MAP_OES			= 0x8514 +	TEXTURE_CUBE_MAP_POSITIVE_X_OES			= 0x8515 +	TEXTURE_CUBE_MAP_NEGATIVE_X_OES			= 0x8516 +	TEXTURE_CUBE_MAP_POSITIVE_Y_OES			= 0x8517 +	TEXTURE_CUBE_MAP_NEGATIVE_Y_OES			= 0x8518 +	TEXTURE_CUBE_MAP_POSITIVE_Z_OES			= 0x8519 +	TEXTURE_CUBE_MAP_NEGATIVE_Z_OES			= 0x851A +	MAX_CUBE_MAP_TEXTURE_SIZE_OES			= 0x851C + +NV_vertex_array_range enum: +	VERTEX_ARRAY_RANGE_NV				= 0x851D +	VERTEX_ARRAY_RANGE_LENGTH_NV			= 0x851E +	VERTEX_ARRAY_RANGE_VALID_NV			= 0x851F +	MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV		= 0x8520 +	VERTEX_ARRAY_RANGE_POINTER_NV			= 0x8521 + +# @@@ How does this interact with NV_vertex_array_range? +APPLE_vertex_array_range enum: +	VERTEX_ARRAY_RANGE_APPLE			= 0x851D +	VERTEX_ARRAY_RANGE_LENGTH_APPLE			= 0x851E +	VERTEX_ARRAY_STORAGE_HINT_APPLE			= 0x851F +	VERTEX_ARRAY_RANGE_POINTER_APPLE		= 0x8521 +	STORAGE_CACHED_APPLE				= 0x85BE +	STORAGE_SHARED_APPLE				= 0x85BF + +NV_register_combiners enum: +	REGISTER_COMBINERS_NV				= 0x8522 +	VARIABLE_A_NV					= 0x8523 +	VARIABLE_B_NV					= 0x8524 +	VARIABLE_C_NV					= 0x8525 +	VARIABLE_D_NV					= 0x8526 +	VARIABLE_E_NV					= 0x8527 +	VARIABLE_F_NV					= 0x8528 +	VARIABLE_G_NV					= 0x8529 +	CONSTANT_COLOR0_NV				= 0x852A +	CONSTANT_COLOR1_NV				= 0x852B +	PRIMARY_COLOR_NV				= 0x852C +	SECONDARY_COLOR_NV				= 0x852D +	SPARE0_NV					= 0x852E +	SPARE1_NV					= 0x852F +	DISCARD_NV					= 0x8530 +	E_TIMES_F_NV					= 0x8531 +	SPARE0_PLUS_SECONDARY_COLOR_NV			= 0x8532 + +# NV_vertex_array_range2: +	VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV		= 0x8533 + +# NV_multisample_filter_hint: +	MULTISAMPLE_FILTER_HINT_NV			= 0x8534 + +NV_register_combiners2 enum: +	PER_STAGE_CONSTANTS_NV				= 0x8535 + +NV_register_combiners enum: (additional; see above): +	UNSIGNED_IDENTITY_NV				= 0x8536 +	UNSIGNED_INVERT_NV				= 0x8537 +	EXPAND_NORMAL_NV				= 0x8538 +	EXPAND_NEGATE_NV				= 0x8539 +	HALF_BIAS_NORMAL_NV				= 0x853A +	HALF_BIAS_NEGATE_NV				= 0x853B +	SIGNED_IDENTITY_NV				= 0x853C +	UNSIGNED_NEGATE_NV				= 0x853D +	SCALE_BY_TWO_NV					= 0x853E +	SCALE_BY_FOUR_NV				= 0x853F +	SCALE_BY_ONE_HALF_NV				= 0x8540 +	BIAS_BY_NEGATIVE_ONE_HALF_NV			= 0x8541 +	COMBINER_INPUT_NV				= 0x8542 +	COMBINER_MAPPING_NV				= 0x8543 +	COMBINER_COMPONENT_USAGE_NV			= 0x8544 +	COMBINER_AB_DOT_PRODUCT_NV			= 0x8545 +	COMBINER_CD_DOT_PRODUCT_NV			= 0x8546 +	COMBINER_MUX_SUM_NV				= 0x8547 +	COMBINER_SCALE_NV				= 0x8548 +	COMBINER_BIAS_NV				= 0x8549 +	COMBINER_AB_OUTPUT_NV				= 0x854A +	COMBINER_CD_OUTPUT_NV				= 0x854B +	COMBINER_SUM_OUTPUT_NV				= 0x854C +	MAX_GENERAL_COMBINERS_NV			= 0x854D +	NUM_GENERAL_COMBINERS_NV			= 0x854E +	COLOR_SUM_CLAMP_NV				= 0x854F +	COMBINER0_NV					= 0x8550 +	COMBINER1_NV					= 0x8551 +	COMBINER2_NV					= 0x8552 +	COMBINER3_NV					= 0x8553 +	COMBINER4_NV					= 0x8554 +	COMBINER5_NV					= 0x8555 +	COMBINER6_NV					= 0x8556 +	COMBINER7_NV					= 0x8557 + + +NV_primitive_restart enum: +	PRIMITIVE_RESTART_NV				= 0x8558 +	PRIMITIVE_RESTART_INDEX_NV			= 0x8559 + +NV_fog_distance enum: +	FOG_GEN_MODE_NV					= 0x855A +	EYE_RADIAL_NV					= 0x855B +	EYE_PLANE_ABSOLUTE_NV				= 0x855C + +NV_texgen_emboss enum: +	EMBOSS_LIGHT_NV					= 0x855D +	EMBOSS_CONSTANT_NV				= 0x855E +	EMBOSS_MAP_NV					= 0x855F + +############################################################################### + +# Intergraph/Intense3D/3Dlabs: 0x8560-0x856F + +INGR_color_clamp enum: +	RED_MIN_CLAMP_INGR				= 0x8560 +	GREEN_MIN_CLAMP_INGR				= 0x8561 +	BLUE_MIN_CLAMP_INGR				= 0x8562 +	ALPHA_MIN_CLAMP_INGR				= 0x8563 +	RED_MAX_CLAMP_INGR				= 0x8564 +	GREEN_MAX_CLAMP_INGR				= 0x8565 +	BLUE_MAX_CLAMP_INGR				= 0x8566 +	ALPHA_MAX_CLAMP_INGR				= 0x8567 + +INGR_interlace_read enum: +	INTERLACE_READ_INGR				= 0x8568 + +# 3Dlabs_future_use: 0x8569-0x856F + +############################################################################### + +# ATI/NVIDIA: 0x8570-0x859F + +VERSION_1_5 enum: (Consistent naming scheme for OpenGL 1.5) +	SRC0_RGB					= 0x8580    # alias GL_SOURCE0_RGB +	SRC1_RGB					= 0x8581    # alias GL_SOURCE1_RGB +	SRC2_RGB					= 0x8582    # alias GL_SOURCE2_RGB +	SRC0_ALPHA					= 0x8588    # alias GL_SOURCE0_ALPHA +	SRC1_ALPHA					= 0x8589    # alias GL_SOURCE1_ALPHA +	SRC2_ALPHA					= 0x858A    # alias GL_SOURCE2_ALPHA + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	COMBINE						= 0x8570 +	COMBINE_RGB					= 0x8571 +	COMBINE_ALPHA					= 0x8572 +	RGB_SCALE					= 0x8573 +	ADD_SIGNED					= 0x8574 +	INTERPOLATE					= 0x8575 +	CONSTANT					= 0x8576 +	PRIMARY_COLOR					= 0x8577 +	PREVIOUS					= 0x8578 +	SOURCE0_RGB					= 0x8580 +	SOURCE1_RGB					= 0x8581 +	SOURCE2_RGB					= 0x8582 +	SOURCE0_ALPHA					= 0x8588 +	SOURCE1_ALPHA					= 0x8589 +	SOURCE2_ALPHA					= 0x858A +	OPERAND0_RGB					= 0x8590 +	OPERAND1_RGB					= 0x8591 +	OPERAND2_RGB					= 0x8592 +	OPERAND0_ALPHA					= 0x8598 +	OPERAND1_ALPHA					= 0x8599 +	OPERAND2_ALPHA					= 0x859A + +EXT_texture_env_combine enum: +	COMBINE_EXT					= 0x8570 +	COMBINE_RGB_EXT					= 0x8571 +	COMBINE_ALPHA_EXT				= 0x8572 +	RGB_SCALE_EXT					= 0x8573 +	ADD_SIGNED_EXT					= 0x8574 +	INTERPOLATE_EXT					= 0x8575 +	CONSTANT_EXT					= 0x8576 +	PRIMARY_COLOR_EXT				= 0x8577 +	PREVIOUS_EXT					= 0x8578 +	SOURCE0_RGB_EXT					= 0x8580 +	SOURCE1_RGB_EXT					= 0x8581 +	SOURCE2_RGB_EXT					= 0x8582 +	SOURCE0_ALPHA_EXT				= 0x8588 +	SOURCE1_ALPHA_EXT				= 0x8589 +	SOURCE2_ALPHA_EXT				= 0x858A +	OPERAND0_RGB_EXT				= 0x8590 +	OPERAND1_RGB_EXT				= 0x8591 +	OPERAND2_RGB_EXT				= 0x8592 +	OPERAND0_ALPHA_EXT				= 0x8598 +	OPERAND1_ALPHA_EXT				= 0x8599 +	OPERAND2_ALPHA_EXT				= 0x859A + +NV_texture_env_combine4 enum: +	COMBINE4_NV					= 0x8503 +	SOURCE3_RGB_NV					= 0x8583 +	SOURCE3_ALPHA_NV				= 0x858B +	OPERAND3_RGB_NV					= 0x8593 +	OPERAND3_ALPHA_NV				= 0x859B + +# "Future use" => "additional combiner input/output enums" only +# ATI/NVIDIA_future_use: 0x8584-0x8587 +# ATI/NVIDIA_future_use: 0x858C-0x858F +# ATI/NVIDIA_future_use: 0x8594-0x8597 +# ATI/NVIDIA_future_use: 0x859C-0x859F + +############################################################################### + +SGIX_subsample enum: +	PACK_SUBSAMPLE_RATE_SGIX			= 0x85A0 +	UNPACK_SUBSAMPLE_RATE_SGIX			= 0x85A1 +	PIXEL_SUBSAMPLE_4444_SGIX			= 0x85A2 +	PIXEL_SUBSAMPLE_2424_SGIX			= 0x85A3 +	PIXEL_SUBSAMPLE_4242_SGIX			= 0x85A4 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIS_color_range: 0x85A5-0x85AD +#	EXTENDED_RANGE_SGIS				= 0x85A5 +#	MIN_RED_SGIS					= 0x85A6 +#	MAX_RED_SGIS					= 0x85A7 +#	MIN_GREEN_SGIS					= 0x85A8 +#	MAX_GREEN_SGIS					= 0x85A9 +#	MIN_BLUE_SGIS					= 0x85AA +#	MAX_BLUE_SGIS					= 0x85AB +#	MIN_ALPHA_SGIS					= 0x85AC +#	MAX_ALPHA_SGIS					= 0x85AD + +############################################################################### + +EXT_texture_perturb_normal enum: +	PERTURB_EXT					= 0x85AE +	TEXTURE_NORMAL_EXT				= 0x85AF + +############################################################################### + +# Apple: 0x85B0-0x85BF + +APPLE_specular_vector enum: +	LIGHT_MODEL_SPECULAR_VECTOR_APPLE		= 0x85B0 + +APPLE_transform_hint enum: +	TRANSFORM_HINT_APPLE				= 0x85B1 + +APPLE_client_storage enum: +	UNPACK_CLIENT_STORAGE_APPLE			= 0x85B2 + +# May also be part of APPLE_fence +APPLE_object_purgeable enum: (additional; see below) +	BUFFER_OBJECT_APPLE				= 0x85B3 + +# APPLE_future_use: 0x85B4 + +## From Jeremy 2006/10/18 (Khronos bug 632) - unknown extension name +#	STORAGE_CLIENT_APPLE				= 0x85B4 + +VERSION_3_0 enum: +	use ARB_vertex_array_object	    VERTEX_ARRAY_BINDING + +ARB_vertex_array_object enum: (note: no ARB suffixes) +	VERTEX_ARRAY_BINDING				= 0x85B5    # VERSION_3_0 / ARB_vao + +APPLE_vertex_array_object enum: +	VERTEX_ARRAY_BINDING_APPLE			= 0x85B5 + +# APPLE_future_use: 0x85B6 +## From Jeremy 2006/10/18 (Khronos bug 632) - unknown extension name +#	TEXTURE_MINIMIZE_STORAGE_APPLE			= 0x85B6 + +APPLE_texture_range enum:  (additional; see below) +	TEXTURE_RANGE_LENGTH_APPLE			= 0x85B7 +	TEXTURE_RANGE_POINTER_APPLE			= 0x85B8 + +APPLE_ycbcr_422 enum: +	YCBCR_422_APPLE					= 0x85B9 +	UNSIGNED_SHORT_8_8_APPLE			= 0x85BA +	UNSIGNED_SHORT_8_8_REV_APPLE			= 0x85BB + +MESA_ycbcr_texture enum: (additional; see below) +	UNSIGNED_SHORT_8_8_MESA				= 0x85BA +	UNSIGNED_SHORT_8_8_REV_MESA			= 0x85BB + +APPLE_texture_range enum: +	TEXTURE_STORAGE_HINT_APPLE			= 0x85BC +	STORAGE_PRIVATE_APPLE				= 0x85BD + +APPLE_vertex_array_range enum: (additional; see above): +	STORAGE_CACHED_APPLE				= 0x85BE +	STORAGE_SHARED_APPLE				= 0x85BF + +APPLE_texture_range enum: +	use APPLE_vertex_array_range	    STORAGE_CACHED_APPLE +	use APPLE_vertex_array_range	    STORAGE_SHARED_APPLE + +############################################################################### + +# Sun: 0x85C0-0x85CF + +SUNX_general_triangle_list enum: (additional; see above) +	 REPLACEMENT_CODE_ARRAY_SUN			= 0x85C0 +	 REPLACEMENT_CODE_ARRAY_TYPE_SUN		= 0x85C1 +	 REPLACEMENT_CODE_ARRAY_STRIDE_SUN		= 0x85C2 +	 REPLACEMENT_CODE_ARRAY_POINTER_SUN		= 0x85C3 +	 R1UI_V3F_SUN					= 0x85C4 +	 R1UI_C4UB_V3F_SUN				= 0x85C5 +	 R1UI_C3F_V3F_SUN				= 0x85C6 +	 R1UI_N3F_V3F_SUN				= 0x85C7 +	 R1UI_C4F_N3F_V3F_SUN				= 0x85C8 +	 R1UI_T2F_V3F_SUN				= 0x85C9 +	 R1UI_T2F_N3F_V3F_SUN				= 0x85CA +	 R1UI_T2F_C4F_N3F_V3F_SUN			= 0x85CB + +SUN_slice_accum enum: +	SLICE_ACCUM_SUN					= 0x85CC + +# SUN_future_use: 0x85CD-0x85CF + +############################################################################### + +# Unknown extension name, not in enumext.spec +# 3Dlabs/Autodesk: 0x85D0-0x85DF +#	FACET_NORMAL_AUTODESK				= 0x85D0 +#	FACET_NORMAL_ARRAY_AUTODESK			= 0x85D1 + +############################################################################### + +# Incomplete extension, not in enumext.spec +# SGIX_texture_range: 0x85E0-0x85FB +#	RGB_SIGNED_SGIX					= 0x85E0 +#	RGBA_SIGNED_SGIX				= 0x85E1 +#	ALPHA_SIGNED_SGIX				= 0x85E2 +#	LUMINANCE_SIGNED_SGIX				= 0x85E3 +#	INTENSITY_SIGNED_SGIX				= 0x85E4 +#	LUMINANCE_ALPHA_SIGNED_SGIX			= 0x85E5 +#	RGB16_SIGNED_SGIX				= 0x85E6 +#	RGBA16_SIGNED_SGIX				= 0x85E7 +#	ALPHA16_SIGNED_SGIX				= 0x85E8 +#	LUMINANCE16_SIGNED_SGIX				= 0x85E9 +#	INTENSITY16_SIGNED_SGIX				= 0x85EA +#	LUMINANCE16_ALPHA16_SIGNED_SGIX			= 0x85EB +#	RGB_EXTENDED_RANGE_SGIX				= 0x85EC +#	RGBA_EXTENDED_RANGE_SGIX			= 0x85ED +#	ALPHA_EXTENDED_RANGE_SGIX			= 0x85EE +#	LUMINANCE_EXTENDED_RANGE_SGIX			= 0x85EF +#	INTENSITY_EXTENDED_RANGE_SGIX			= 0x85F0 +#	LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX		= 0x85F1 +#	RGB16_EXTENDED_RANGE_SGIX			= 0x85F2 +#	RGBA16_EXTENDED_RANGE_SGIX			= 0x85F3 +#	ALPHA16_EXTENDED_RANGE_SGIX			= 0x85F4 +#	LUMINANCE16_EXTENDED_RANGE_SGIX			= 0x85F5 +#	INTENSITY16_EXTENDED_RANGE_SGIX			= 0x85F6 +#	LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX		= 0x85F7 +#	MIN_LUMINANCE_SGIS				= 0x85F8 +#	MAX_LUMINANCE_SGIS				= 0x85F9 +#	MIN_INTENSITY_SGIS				= 0x85FA +#	MAX_INTENSITY_SGIS				= 0x85FB + +############################################################################### + +# SGI_future_use: 0x85FC-0x85FF + +############################################################################### + +# Sun: 0x8600-0x861F + +# SUN_future_use: 0x8600-0x8613 + +SUN_mesh_array enum: 0x8614-0x8615 +	QUAD_MESH_SUN					= 0x8614 +	TRIANGLE_MESH_SUN				= 0x8615 + +# SUN_future_use: 0x8614-0x861F + +############################################################################### + +# NVIDIA: 0x8620-0x867F + +NV_vertex_program enum: +	VERTEX_PROGRAM_NV				= 0x8620 +	VERTEX_STATE_PROGRAM_NV				= 0x8621 +	ATTRIB_ARRAY_SIZE_NV				= 0x8623 +	ATTRIB_ARRAY_STRIDE_NV				= 0x8624 +	ATTRIB_ARRAY_TYPE_NV				= 0x8625 +	CURRENT_ATTRIB_NV				= 0x8626 +	PROGRAM_LENGTH_NV				= 0x8627 +	PROGRAM_STRING_NV				= 0x8628 +	MODELVIEW_PROJECTION_NV				= 0x8629 +	IDENTITY_NV					= 0x862A +	INVERSE_NV					= 0x862B +	TRANSPOSE_NV					= 0x862C +	INVERSE_TRANSPOSE_NV				= 0x862D +	MAX_TRACK_MATRIX_STACK_DEPTH_NV			= 0x862E +	MAX_TRACK_MATRICES_NV				= 0x862F +	MATRIX0_NV					= 0x8630 +	MATRIX1_NV					= 0x8631 +	MATRIX2_NV					= 0x8632 +	MATRIX3_NV					= 0x8633 +	MATRIX4_NV					= 0x8634 +	MATRIX5_NV					= 0x8635 +	MATRIX6_NV					= 0x8636 +	MATRIX7_NV					= 0x8637 +################## +# +#     Reserved: +# +#     MATRIX8_NV				      = 0x8638 +#     MATRIX9_NV				      = 0x8639 +#     MATRIX10_NV				      = 0x863A +#     MATRIX11_NV				      = 0x863B +#     MATRIX12_NV				      = 0x863C +#     MATRIX13_NV				      = 0x863D +#     MATRIX14_NV				      = 0x863E +#     MATRIX15_NV				      = 0x863F +# +################### +	CURRENT_MATRIX_STACK_DEPTH_NV			= 0x8640 +	CURRENT_MATRIX_NV				= 0x8641 +	VERTEX_PROGRAM_POINT_SIZE_NV			= 0x8642 +	VERTEX_PROGRAM_TWO_SIDE_NV			= 0x8643 +	PROGRAM_PARAMETER_NV				= 0x8644 +	ATTRIB_ARRAY_POINTER_NV				= 0x8645 +	PROGRAM_TARGET_NV				= 0x8646 +	PROGRAM_RESIDENT_NV				= 0x8647 +	TRACK_MATRIX_NV					= 0x8648 +	TRACK_MATRIX_TRANSFORM_NV			= 0x8649 +	VERTEX_PROGRAM_BINDING_NV			= 0x864A +	PROGRAM_ERROR_POSITION_NV			= 0x864B +	VERTEX_ATTRIB_ARRAY0_NV				= 0x8650 +	VERTEX_ATTRIB_ARRAY1_NV				= 0x8651 +	VERTEX_ATTRIB_ARRAY2_NV				= 0x8652 +	VERTEX_ATTRIB_ARRAY3_NV				= 0x8653 +	VERTEX_ATTRIB_ARRAY4_NV				= 0x8654 +	VERTEX_ATTRIB_ARRAY5_NV				= 0x8655 +	VERTEX_ATTRIB_ARRAY6_NV				= 0x8656 +	VERTEX_ATTRIB_ARRAY7_NV				= 0x8657 +	VERTEX_ATTRIB_ARRAY8_NV				= 0x8658 +	VERTEX_ATTRIB_ARRAY9_NV				= 0x8659 +	VERTEX_ATTRIB_ARRAY10_NV			= 0x865A +	VERTEX_ATTRIB_ARRAY11_NV			= 0x865B +	VERTEX_ATTRIB_ARRAY12_NV			= 0x865C +	VERTEX_ATTRIB_ARRAY13_NV			= 0x865D +	VERTEX_ATTRIB_ARRAY14_NV			= 0x865E +	VERTEX_ATTRIB_ARRAY15_NV			= 0x865F +	MAP1_VERTEX_ATTRIB0_4_NV			= 0x8660 +	MAP1_VERTEX_ATTRIB1_4_NV			= 0x8661 +	MAP1_VERTEX_ATTRIB2_4_NV			= 0x8662 +	MAP1_VERTEX_ATTRIB3_4_NV			= 0x8663 +	MAP1_VERTEX_ATTRIB4_4_NV			= 0x8664 +	MAP1_VERTEX_ATTRIB5_4_NV			= 0x8665 +	MAP1_VERTEX_ATTRIB6_4_NV			= 0x8666 +	MAP1_VERTEX_ATTRIB7_4_NV			= 0x8667 +	MAP1_VERTEX_ATTRIB8_4_NV			= 0x8668 +	MAP1_VERTEX_ATTRIB9_4_NV			= 0x8669 +	MAP1_VERTEX_ATTRIB10_4_NV			= 0x866A +	MAP1_VERTEX_ATTRIB11_4_NV			= 0x866B +	MAP1_VERTEX_ATTRIB12_4_NV			= 0x866C +	MAP1_VERTEX_ATTRIB13_4_NV			= 0x866D +	MAP1_VERTEX_ATTRIB14_4_NV			= 0x866E +	MAP1_VERTEX_ATTRIB15_4_NV			= 0x866F +	MAP2_VERTEX_ATTRIB0_4_NV			= 0x8670 +	MAP2_VERTEX_ATTRIB1_4_NV			= 0x8671 +	MAP2_VERTEX_ATTRIB2_4_NV			= 0x8672 +	MAP2_VERTEX_ATTRIB3_4_NV			= 0x8673 +	MAP2_VERTEX_ATTRIB4_4_NV			= 0x8674 +	MAP2_VERTEX_ATTRIB5_4_NV			= 0x8675 +	MAP2_VERTEX_ATTRIB6_4_NV			= 0x8676 +	MAP2_VERTEX_ATTRIB7_4_NV			= 0x8677 +	MAP2_VERTEX_ATTRIB8_4_NV			= 0x8678 +	MAP2_VERTEX_ATTRIB9_4_NV			= 0x8679 +	MAP2_VERTEX_ATTRIB10_4_NV			= 0x867A +	MAP2_VERTEX_ATTRIB11_4_NV			= 0x867B +	MAP2_VERTEX_ATTRIB12_4_NV			= 0x867C +	MAP2_VERTEX_ATTRIB13_4_NV			= 0x867D +	MAP2_VERTEX_ATTRIB14_4_NV			= 0x867E +	MAP2_VERTEX_ATTRIB15_4_NV			= 0x867F + +# NV_texture_shader (additional; see below): 0x864C-0x864E + +VERSION_3_2 enum: +	PROGRAM_POINT_SIZE				= 0x8642 + +ARB_geometry_shader4 enum: (additional; see below) +	PROGRAM_POINT_SIZE_ARB				= 0x8642 + +NV_geometry_program4 enum: (additional; see below) +	PROGRAM_POINT_SIZE_EXT				= 0x8642 + +VERSION_3_2 enum: +	use ARB_depth_clamp		    DEPTH_CLAMP + +ARB_depth_clamp enum: +	DEPTH_CLAMP					= 0x864F + +NV_depth_clamp enum: +	DEPTH_CLAMP_NV					= 0x864F + +VERSION_2_0 enum: (Promoted from ARB_vertex_shader; only some values) +	VERTEX_ATTRIB_ARRAY_ENABLED			= 0x8622    # VERSION_2_0 +	VERTEX_ATTRIB_ARRAY_SIZE			= 0x8623    # VERSION_2_0 +	VERTEX_ATTRIB_ARRAY_STRIDE			= 0x8624    # VERSION_2_0 +	VERTEX_ATTRIB_ARRAY_TYPE			= 0x8625    # VERSION_2_0 +	CURRENT_VERTEX_ATTRIB				= 0x8626    # VERSION_2_0 +	VERTEX_PROGRAM_POINT_SIZE			= 0x8642    # VERSION_2_0 +	VERTEX_PROGRAM_TWO_SIDE				= 0x8643    # VERSION_2_0 +	VERTEX_ATTRIB_ARRAY_POINTER			= 0x8645    # VERSION_2_0 + +ARB_vertex_program enum: (additional; see above; reuses NV_vertex_program values) +ARB_fragment_program enum: (additional; only some values; see below) +# (Unfortunately, PROGRAM_BINDING_ARB does accidentally reuse 0x8677) +	VERTEX_PROGRAM_ARB				= 0x8620 +	VERTEX_ATTRIB_ARRAY_ENABLED_ARB			= 0x8622 +	VERTEX_ATTRIB_ARRAY_SIZE_ARB			= 0x8623 +	VERTEX_ATTRIB_ARRAY_STRIDE_ARB			= 0x8624 +	VERTEX_ATTRIB_ARRAY_TYPE_ARB			= 0x8625 +	CURRENT_VERTEX_ATTRIB_ARB			= 0x8626 +	PROGRAM_LENGTH_ARB				= 0x8627    # ARB_fragment_program +	PROGRAM_STRING_ARB				= 0x8628    # ARB_fragment_program +	MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB		= 0x862E    # ARB_fragment_program +	MAX_PROGRAM_MATRICES_ARB			= 0x862F    # ARB_fragment_program +	CURRENT_MATRIX_STACK_DEPTH_ARB			= 0x8640    # ARB_fragment_program +	CURRENT_MATRIX_ARB				= 0x8641    # ARB_fragment_program +	VERTEX_PROGRAM_POINT_SIZE_ARB			= 0x8642 +	VERTEX_PROGRAM_TWO_SIDE_ARB			= 0x8643 +	VERTEX_ATTRIB_ARRAY_POINTER_ARB			= 0x8645 +	PROGRAM_ERROR_POSITION_ARB			= 0x864B    # ARB_fragment_program +	PROGRAM_BINDING_ARB				= 0x8677    # ARB_fragment_program + +############################################################################### + +# Pixelfusion: 0x8680-0x869F + +############################################################################### + +# OpenGL ARB: 0x86A0-0x86AF + +# ARB_texture_compression/1.3 (additional; see above): 0x86A0-0x86A3 + +ARB_vertex_blend enum: +	MAX_VERTEX_UNITS_ARB				= 0x86A4 +	ACTIVE_VERTEX_UNITS_ARB				= 0x86A5 +	WEIGHT_SUM_UNITY_ARB				= 0x86A6 +	VERTEX_BLEND_ARB				= 0x86A7 +	CURRENT_WEIGHT_ARB				= 0x86A8 +	WEIGHT_ARRAY_TYPE_ARB				= 0x86A9 +	WEIGHT_ARRAY_STRIDE_ARB				= 0x86AA +	WEIGHT_ARRAY_SIZE_ARB				= 0x86AB +	WEIGHT_ARRAY_POINTER_ARB			= 0x86AC +	WEIGHT_ARRAY_ARB				= 0x86AD +# Note: MODELVIEW0/1 are defined in other extensions, but not as ARB) +	MODELVIEW0_ARB					= 0x1700 +	MODELVIEW1_ARB					= 0x850A +	MODELVIEW2_ARB					= 0x8722 +	MODELVIEW3_ARB					= 0x8723 +	MODELVIEW4_ARB					= 0x8724 +	MODELVIEW5_ARB					= 0x8725 +	MODELVIEW6_ARB					= 0x8726 +	MODELVIEW7_ARB					= 0x8727 +	MODELVIEW8_ARB					= 0x8728 +	MODELVIEW9_ARB					= 0x8729 +	MODELVIEW10_ARB					= 0x872A +	MODELVIEW11_ARB					= 0x872B +	MODELVIEW12_ARB					= 0x872C +	MODELVIEW13_ARB					= 0x872D +	MODELVIEW14_ARB					= 0x872E +	MODELVIEW15_ARB					= 0x872F +	MODELVIEW16_ARB					= 0x8730 +	MODELVIEW17_ARB					= 0x8731 +	MODELVIEW18_ARB					= 0x8732 +	MODELVIEW19_ARB					= 0x8733 +	MODELVIEW20_ARB					= 0x8734 +	MODELVIEW21_ARB					= 0x8735 +	MODELVIEW22_ARB					= 0x8736 +	MODELVIEW23_ARB					= 0x8737 +	MODELVIEW24_ARB					= 0x8738 +	MODELVIEW25_ARB					= 0x8739 +	MODELVIEW26_ARB					= 0x873A +	MODELVIEW27_ARB					= 0x873B +	MODELVIEW28_ARB					= 0x873C +	MODELVIEW29_ARB					= 0x873D +	MODELVIEW30_ARB					= 0x873E +	MODELVIEW31_ARB					= 0x873F + +# Aliases ARB_vertex_blend enums above +OES_matrix_palette enum: (OpenGL ES only; additional; see below) +	MAX_VERTEX_UNITS_OES				= 0x86A4 +	WEIGHT_ARRAY_OES				= 0x86AD +	WEIGHT_ARRAY_TYPE_OES				= 0x86A9 +	WEIGHT_ARRAY_STRIDE_OES				= 0x86AA +	WEIGHT_ARRAY_SIZE_OES				= 0x86AB +	WEIGHT_ARRAY_POINTER_OES			= 0x86AC + +VERSION_1_3 enum: (Promoted for OpenGL 1.3) +	DOT3_RGB					= 0x86AE +	DOT3_RGBA					= 0x86AF + +ARB_texture_env_dot3 enum: +	DOT3_RGB_ARB					= 0x86AE +	DOT3_RGBA_ARB					= 0x86AF + +IMG_texture_env_enhanced_fixed_function enum: (OpenGL ES only; additional; see below) +	DOT3_RGBA_IMG					= 0x86AF + +############################################################################### + +# 3Dfx: 0x86B0-0x86BF + +3DFX_texture_compression_FXT1 enum: +	COMPRESSED_RGB_FXT1_3DFX			= 0x86B0 +	COMPRESSED_RGBA_FXT1_3DFX			= 0x86B1 + +3DFX_multisample enum: +	MULTISAMPLE_3DFX				= 0x86B2 +	SAMPLE_BUFFERS_3DFX				= 0x86B3 +	SAMPLES_3DFX					= 0x86B4 +	MULTISAMPLE_BIT_3DFX				= 0x20000000 + +# 3DFX_future_use: 0x86B5-0x86BF + +############################################################################### + +# NVIDIA: 0x86C0-0x871F + +NV_evaluators enum: +	EVAL_2D_NV					= 0x86C0 +	EVAL_TRIANGULAR_2D_NV				= 0x86C1 +	MAP_TESSELLATION_NV				= 0x86C2 +	MAP_ATTRIB_U_ORDER_NV				= 0x86C3 +	MAP_ATTRIB_V_ORDER_NV				= 0x86C4 +	EVAL_FRACTIONAL_TESSELLATION_NV			= 0x86C5 +	EVAL_VERTEX_ATRRIB0_NV				= 0x86C6 +	EVAL_VERTEX_ATRRIB1_NV				= 0x86C7 +	EVAL_VERTEX_ATRRIB2_NV				= 0x86C8 +	EVAL_VERTEX_ATRRIB3_NV				= 0x86C9 +	EVAL_VERTEX_ATRRIB4_NV				= 0x86CA +	EVAL_VERTEX_ATRRIB5_NV				= 0x86CB +	EVAL_VERTEX_ATRRIB6_NV				= 0x86CC +	EVAL_VERTEX_ATRRIB7_NV				= 0x86CD +	EVAL_VERTEX_ATRRIB8_NV				= 0x86CE +	EVAL_VERTEX_ATRRIB9_NV				= 0x86CF +	EVAL_VERTEX_ATRRIB10_NV				= 0x86D0 +	EVAL_VERTEX_ATRRIB11_NV				= 0x86D1 +	EVAL_VERTEX_ATRRIB12_NV				= 0x86D2 +	EVAL_VERTEX_ATRRIB13_NV				= 0x86D3 +	EVAL_VERTEX_ATRRIB14_NV				= 0x86D4 +	EVAL_VERTEX_ATRRIB15_NV				= 0x86D5 +	MAX_MAP_TESSELLATION_NV				= 0x86D6 +	MAX_RATIONAL_EVAL_ORDER_NV			= 0x86D7 + +# NV_future_use: 0x86D8 + +NV_texture_shader enum: +	OFFSET_TEXTURE_RECTANGLE_NV			= 0x864C +	OFFSET_TEXTURE_RECTANGLE_SCALE_NV		= 0x864D +	DOT_PRODUCT_TEXTURE_RECTANGLE_NV		= 0x864E +	RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV		= 0x86D9 +	UNSIGNED_INT_S8_S8_8_8_NV			= 0x86DA +	UNSIGNED_INT_8_8_S8_S8_REV_NV			= 0x86DB +	DSDT_MAG_INTENSITY_NV				= 0x86DC +	SHADER_CONSISTENT_NV				= 0x86DD +	TEXTURE_SHADER_NV				= 0x86DE +	SHADER_OPERATION_NV				= 0x86DF +	CULL_MODES_NV					= 0x86E0 +	OFFSET_TEXTURE_MATRIX_NV			= 0x86E1 +	OFFSET_TEXTURE_SCALE_NV				= 0x86E2 +	OFFSET_TEXTURE_BIAS_NV				= 0x86E3 +	OFFSET_TEXTURE_2D_MATRIX_NV			= GL_OFFSET_TEXTURE_MATRIX_NV +	OFFSET_TEXTURE_2D_SCALE_NV			= GL_OFFSET_TEXTURE_SCALE_NV +	OFFSET_TEXTURE_2D_BIAS_NV			= GL_OFFSET_TEXTURE_BIAS_NV +	PREVIOUS_TEXTURE_INPUT_NV			= 0x86E4 +	CONST_EYE_NV					= 0x86E5 +	PASS_THROUGH_NV					= 0x86E6 +	CULL_FRAGMENT_NV				= 0x86E7 +	OFFSET_TEXTURE_2D_NV				= 0x86E8 +	DEPENDENT_AR_TEXTURE_2D_NV			= 0x86E9 +	DEPENDENT_GB_TEXTURE_2D_NV			= 0x86EA +	DOT_PRODUCT_NV					= 0x86EC +	DOT_PRODUCT_DEPTH_REPLACE_NV			= 0x86ED +	DOT_PRODUCT_TEXTURE_2D_NV			= 0x86EE +	DOT_PRODUCT_TEXTURE_CUBE_MAP_NV			= 0x86F0 +	DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV			= 0x86F1 +	DOT_PRODUCT_REFLECT_CUBE_MAP_NV			= 0x86F2 +	DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV	= 0x86F3 +	HILO_NV						= 0x86F4 +	DSDT_NV						= 0x86F5 +	DSDT_MAG_NV					= 0x86F6 +	DSDT_MAG_VIB_NV					= 0x86F7 +	HILO16_NV					= 0x86F8 +	SIGNED_HILO_NV					= 0x86F9 +	SIGNED_HILO16_NV				= 0x86FA +	SIGNED_RGBA_NV					= 0x86FB +	SIGNED_RGBA8_NV					= 0x86FC +	SIGNED_RGB_NV					= 0x86FE +	SIGNED_RGB8_NV					= 0x86FF +	SIGNED_LUMINANCE_NV				= 0x8701 +	SIGNED_LUMINANCE8_NV				= 0x8702 +	SIGNED_LUMINANCE_ALPHA_NV			= 0x8703 +	SIGNED_LUMINANCE8_ALPHA8_NV			= 0x8704 +	SIGNED_ALPHA_NV					= 0x8705 +	SIGNED_ALPHA8_NV				= 0x8706 +	SIGNED_INTENSITY_NV				= 0x8707 +	SIGNED_INTENSITY8_NV				= 0x8708 +	DSDT8_NV					= 0x8709 +	DSDT8_MAG8_NV					= 0x870A +	DSDT8_MAG8_INTENSITY8_NV			= 0x870B +	SIGNED_RGB_UNSIGNED_ALPHA_NV			= 0x870C +	SIGNED_RGB8_UNSIGNED_ALPHA8_NV			= 0x870D +	HI_SCALE_NV					= 0x870E +	LO_SCALE_NV					= 0x870F +	DS_SCALE_NV					= 0x8710 +	DT_SCALE_NV					= 0x8711 +	MAGNITUDE_SCALE_NV				= 0x8712 +	VIBRANCE_SCALE_NV				= 0x8713 +	HI_BIAS_NV					= 0x8714 +	LO_BIAS_NV					= 0x8715 +	DS_BIAS_NV					= 0x8716 +	DT_BIAS_NV					= 0x8717 +	MAGNITUDE_BIAS_NV				= 0x8718 +	VIBRANCE_BIAS_NV				= 0x8719 +	TEXTURE_BORDER_VALUES_NV			= 0x871A +	TEXTURE_HI_SIZE_NV				= 0x871B +	TEXTURE_LO_SIZE_NV				= 0x871C +	TEXTURE_DS_SIZE_NV				= 0x871D +	TEXTURE_DT_SIZE_NV				= 0x871E +	TEXTURE_MAG_SIZE_NV				= 0x871F + +NV_texture_shader2 enum: +	DOT_PRODUCT_TEXTURE_3D_NV			= 0x86EF + +# NV_future_use: 0x86EB +# NV_future_use: 0x86FD +# NV_future_use: 0x8700 + +############################################################################### + +# OpenGL ARB: 0x8720-0x873F + +# ARB_vertex_blend (additional; see above): 0x8720-0x873F + +############################################################################### + +# ATI: 0x8740-0x874F + +EXT_texture_env_dot3 enum: +	DOT3_RGB_EXT					= 0x8740 +	DOT3_RGBA_EXT					= 0x8741 + +# There's a collision between AMD_program_binary_Z400 and EXT_texture_env_dot3! +AMD_program_binary_Z400 enum: (OpenGL ES only) +	Z400_BINARY_AMD					= 0x8740 + +# There's a collision between OES_get_program_binary and EXT_texture_env_dot3! +OES_get_program_binary enum: (OpenGL ES only; additional; see below) +	PROGRAM_BINARY_LENGTH_OES			= 0x8741 + +ATI_texture_mirror_once enum: +	MIRROR_CLAMP_ATI				= 0x8742 +	MIRROR_CLAMP_TO_EDGE_ATI			= 0x8743 + +EXT_texture_mirror_clamp enum: +	MIRROR_CLAMP_EXT				= 0x8742 +	MIRROR_CLAMP_TO_EDGE_EXT			= 0x8743 + +ATI_texture_env_combine3 enum: +	MODULATE_ADD_ATI				= 0x8744 +	MODULATE_SIGNED_ADD_ATI				= 0x8745 +	MODULATE_SUBTRACT_ATI				= 0x8746 + +# ATI_future_use: 0x8747-0x874F + +############################################################################### + +# MESA: 0x8750-0x875F + +MESA_packed_depth_stencil enum: +	DEPTH_STENCIL_MESA				= 0x8750 +	UNSIGNED_INT_24_8_MESA				= 0x8751 +	UNSIGNED_INT_8_24_REV_MESA			= 0x8752 +	UNSIGNED_SHORT_15_1_MESA			= 0x8753 +	UNSIGNED_SHORT_1_15_REV_MESA			= 0x8754 + +MESA_trace enum: +	TRACE_ALL_BITS_MESA				= 0xFFFF +	TRACE_OPERATIONS_BIT_MESA			= 0x0001 +	TRACE_PRIMITIVES_BIT_MESA			= 0x0002 +	TRACE_ARRAYS_BIT_MESA				= 0x0004 +	TRACE_TEXTURES_BIT_MESA				= 0x0008 +	TRACE_PIXELS_BIT_MESA				= 0x0010 +	TRACE_ERRORS_BIT_MESA				= 0x0020 +	TRACE_MASK_MESA					= 0x8755 +	TRACE_NAME_MESA					= 0x8756 + +MESA_ycbcr_texture enum: +	YCBCR_MESA					= 0x8757 + +MESA_pack_invert enum: +	PACK_INVERT_MESA				= 0x8758 + +MESAX_texture_stack enum: +	TEXTURE_1D_STACK_MESAX				= 0x8759 +	TEXTURE_2D_STACK_MESAX				= 0x875A +	PROXY_TEXTURE_1D_STACK_MESAX			= 0x875B +	PROXY_TEXTURE_2D_STACK_MESAX			= 0x875C +	TEXTURE_1D_STACK_BINDING_MESAX			= 0x875D +	TEXTURE_2D_STACK_BINDING_MESAX			= 0x875E + +MESA_shader_debug enum: +	DEBUG_OBJECT_MESA				= 0x8759 +	DEBUG_PRINT_MESA				= 0x875A +	DEBUG_ASSERT_MESA				= 0x875B + +# MESA_future_use: 0x875F + +############################################################################### + +# ATI: 0x8760-0x883F + +ATI_vertex_array_object enum: +	STATIC_ATI					= 0x8760 +	DYNAMIC_ATI					= 0x8761 +	PRESERVE_ATI					= 0x8762 +	DISCARD_ATI					= 0x8763 +	OBJECT_BUFFER_SIZE_ATI				= 0x8764 +	OBJECT_BUFFER_USAGE_ATI				= 0x8765 +	ARRAY_OBJECT_BUFFER_ATI				= 0x8766 +	ARRAY_OBJECT_OFFSET_ATI				= 0x8767 + +VERSION_1_5 enum: (Promoted for OpenGL 1.5) +	BUFFER_SIZE					= 0x8764 +	BUFFER_USAGE					= 0x8765 + +ARB_vertex_buffer_object enum: (additional; aliases some ATI enums; see below) +	BUFFER_SIZE_ARB					= 0x8764 +	BUFFER_USAGE_ARB				= 0x8765 + +ATI_element_array enum: +	ELEMENT_ARRAY_ATI				= 0x8768 +	ELEMENT_ARRAY_TYPE_ATI				= 0x8769 +	ELEMENT_ARRAY_POINTER_ATI			= 0x876A + +# @@@ (extends ATI_element_array, I think???) +APPLE_element_array enum: +	ELEMENT_ARRAY_APPLE				= 0x8768 +	ELEMENT_ARRAY_TYPE_APPLE			= 0x8769 +	ELEMENT_ARRAY_POINTER_APPLE			= 0x876A + +ATI_vertex_streams enum: +	MAX_VERTEX_STREAMS_ATI				= 0x876B +	VERTEX_STREAM0_ATI				= 0x876C +	VERTEX_STREAM1_ATI				= 0x876D +	VERTEX_STREAM2_ATI				= 0x876E +	VERTEX_STREAM3_ATI				= 0x876F +	VERTEX_STREAM4_ATI				= 0x8770 +	VERTEX_STREAM5_ATI				= 0x8771 +	VERTEX_STREAM6_ATI				= 0x8772 +	VERTEX_STREAM7_ATI				= 0x8773 +	VERTEX_SOURCE_ATI				= 0x8774 + +ATI_envmap_bumpmap enum: +	BUMP_ROT_MATRIX_ATI				= 0x8775 +	BUMP_ROT_MATRIX_SIZE_ATI			= 0x8776 +	BUMP_NUM_TEX_UNITS_ATI				= 0x8777 +	BUMP_TEX_UNITS_ATI				= 0x8778 +	DUDV_ATI					= 0x8779 +	DU8DV8_ATI					= 0x877A +	BUMP_ENVMAP_ATI					= 0x877B +	BUMP_TARGET_ATI					= 0x877C + +# ATI_future_use: 0x877D-0x877F + +EXT_vertex_shader enum: +	VERTEX_SHADER_EXT				= 0x8780 +	VERTEX_SHADER_BINDING_EXT			= 0x8781 +	OP_INDEX_EXT					= 0x8782 +	OP_NEGATE_EXT					= 0x8783 +	OP_DOT3_EXT					= 0x8784 +	OP_DOT4_EXT					= 0x8785 +	OP_MUL_EXT					= 0x8786 +	OP_ADD_EXT					= 0x8787 +	OP_MADD_EXT					= 0x8788 +	OP_FRAC_EXT					= 0x8789 +	OP_MAX_EXT					= 0x878A +	OP_MIN_EXT					= 0x878B +	OP_SET_GE_EXT					= 0x878C +	OP_SET_LT_EXT					= 0x878D +	OP_CLAMP_EXT					= 0x878E +	OP_FLOOR_EXT					= 0x878F +	OP_ROUND_EXT					= 0x8790 +	OP_EXP_BASE_2_EXT				= 0x8791 +	OP_LOG_BASE_2_EXT				= 0x8792 +	OP_POWER_EXT					= 0x8793 +	OP_RECIP_EXT					= 0x8794 +	OP_RECIP_SQRT_EXT				= 0x8795 +	OP_SUB_EXT					= 0x8796 +	OP_CROSS_PRODUCT_EXT				= 0x8797 +	OP_MULTIPLY_MATRIX_EXT				= 0x8798 +	OP_MOV_EXT					= 0x8799 +	OUTPUT_VERTEX_EXT				= 0x879A +	OUTPUT_COLOR0_EXT				= 0x879B +	OUTPUT_COLOR1_EXT				= 0x879C +	OUTPUT_TEXTURE_COORD0_EXT			= 0x879D +	OUTPUT_TEXTURE_COORD1_EXT			= 0x879E +	OUTPUT_TEXTURE_COORD2_EXT			= 0x879F +	OUTPUT_TEXTURE_COORD3_EXT			= 0x87A0 +	OUTPUT_TEXTURE_COORD4_EXT			= 0x87A1 +	OUTPUT_TEXTURE_COORD5_EXT			= 0x87A2 +	OUTPUT_TEXTURE_COORD6_EXT			= 0x87A3 +	OUTPUT_TEXTURE_COORD7_EXT			= 0x87A4 +	OUTPUT_TEXTURE_COORD8_EXT			= 0x87A5 +	OUTPUT_TEXTURE_COORD9_EXT			= 0x87A6 +	OUTPUT_TEXTURE_COORD10_EXT			= 0x87A7 +	OUTPUT_TEXTURE_COORD11_EXT			= 0x87A8 +	OUTPUT_TEXTURE_COORD12_EXT			= 0x87A9 +	OUTPUT_TEXTURE_COORD13_EXT			= 0x87AA +	OUTPUT_TEXTURE_COORD14_EXT			= 0x87AB +	OUTPUT_TEXTURE_COORD15_EXT			= 0x87AC +	OUTPUT_TEXTURE_COORD16_EXT			= 0x87AD +	OUTPUT_TEXTURE_COORD17_EXT			= 0x87AE +	OUTPUT_TEXTURE_COORD18_EXT			= 0x87AF +	OUTPUT_TEXTURE_COORD19_EXT			= 0x87B0 +	OUTPUT_TEXTURE_COORD20_EXT			= 0x87B1 +	OUTPUT_TEXTURE_COORD21_EXT			= 0x87B2 +	OUTPUT_TEXTURE_COORD22_EXT			= 0x87B3 +	OUTPUT_TEXTURE_COORD23_EXT			= 0x87B4 +	OUTPUT_TEXTURE_COORD24_EXT			= 0x87B5 +	OUTPUT_TEXTURE_COORD25_EXT			= 0x87B6 +	OUTPUT_TEXTURE_COORD26_EXT			= 0x87B7 +	OUTPUT_TEXTURE_COORD27_EXT			= 0x87B8 +	OUTPUT_TEXTURE_COORD28_EXT			= 0x87B9 +	OUTPUT_TEXTURE_COORD29_EXT			= 0x87BA +	OUTPUT_TEXTURE_COORD30_EXT			= 0x87BB +	OUTPUT_TEXTURE_COORD31_EXT			= 0x87BC +	OUTPUT_FOG_EXT					= 0x87BD +	SCALAR_EXT					= 0x87BE +	VECTOR_EXT					= 0x87BF +	MATRIX_EXT					= 0x87C0 +	VARIANT_EXT					= 0x87C1 +	INVARIANT_EXT					= 0x87C2 +	LOCAL_CONSTANT_EXT				= 0x87C3 +	LOCAL_EXT					= 0x87C4 +	MAX_VERTEX_SHADER_INSTRUCTIONS_EXT		= 0x87C5 +	MAX_VERTEX_SHADER_VARIANTS_EXT			= 0x87C6 +	MAX_VERTEX_SHADER_INVARIANTS_EXT		= 0x87C7 +	MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT		= 0x87C8 +	MAX_VERTEX_SHADER_LOCALS_EXT			= 0x87C9 +	MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT	= 0x87CA +	MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT	= 0x87CB +	MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC +	MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT	= 0x87CD +	MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT		= 0x87CE +	VERTEX_SHADER_INSTRUCTIONS_EXT			= 0x87CF +	VERTEX_SHADER_VARIANTS_EXT			= 0x87D0 +	VERTEX_SHADER_INVARIANTS_EXT			= 0x87D1 +	VERTEX_SHADER_LOCAL_CONSTANTS_EXT		= 0x87D2 +	VERTEX_SHADER_LOCALS_EXT			= 0x87D3 +	VERTEX_SHADER_OPTIMIZED_EXT			= 0x87D4 +	X_EXT						= 0x87D5 +	Y_EXT						= 0x87D6 +	Z_EXT						= 0x87D7 +	W_EXT						= 0x87D8 +	NEGATIVE_X_EXT					= 0x87D9 +	NEGATIVE_Y_EXT					= 0x87DA +	NEGATIVE_Z_EXT					= 0x87DB +	NEGATIVE_W_EXT					= 0x87DC +	ZERO_EXT					= 0x87DD +	ONE_EXT						= 0x87DE +	NEGATIVE_ONE_EXT				= 0x87DF +	NORMALIZED_RANGE_EXT				= 0x87E0 +	FULL_RANGE_EXT					= 0x87E1 +	CURRENT_VERTEX_EXT				= 0x87E2 +	MVP_MATRIX_EXT					= 0x87E3 +	VARIANT_VALUE_EXT				= 0x87E4 +	VARIANT_DATATYPE_EXT				= 0x87E5 +	VARIANT_ARRAY_STRIDE_EXT			= 0x87E6 +	VARIANT_ARRAY_TYPE_EXT				= 0x87E7 +	VARIANT_ARRAY_EXT				= 0x87E8 +	VARIANT_ARRAY_POINTER_EXT			= 0x87E9 +	INVARIANT_VALUE_EXT				= 0x87EA +	INVARIANT_DATATYPE_EXT				= 0x87EB +	LOCAL_CONSTANT_VALUE_EXT			= 0x87EC +	LOCAL_CONSTANT_DATATYPE_EXT			= 0x87ED + +AMD_compressed_ATC_texture enum: (OpenGL ES only) (additional; see below) +	ATC_RGBA_INTERPOLATED_ALPHA_AMD			= 0x87EE + +ATI_pn_triangles enum: +	PN_TRIANGLES_ATI				= 0x87F0 +	MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI		= 0x87F1 +	PN_TRIANGLES_POINT_MODE_ATI			= 0x87F2 +	PN_TRIANGLES_NORMAL_MODE_ATI			= 0x87F3 +	PN_TRIANGLES_TESSELATION_LEVEL_ATI		= 0x87F4 +	PN_TRIANGLES_POINT_MODE_LINEAR_ATI		= 0x87F5 +	PN_TRIANGLES_POINT_MODE_CUBIC_ATI		= 0x87F6 +	PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI		= 0x87F7 +	PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI		= 0x87F8 + +AMD_compressed_3DC_texture enum: (OpenGL ES only) +	3DC_X_AMD					= 0x87F9 +	3DC_XY_AMD					= 0x87FA + +ATI_meminfo enum: +	VBO_FREE_MEMORY_ATI				= 0x87FB +	TEXTURE_FREE_MEMORY_ATI				= 0x87FC +	RENDERBUFFER_FREE_MEMORY_ATI			= 0x87FD + +OES_get_program_binary enum: (OpenGL ES only; +	NUM_PROGRAM_BINARY_FORMATS_OES			= 0x87FE +	PROGRAM_BINARY_FORMATS_OES			= 0x87FF + +VERSION_2_0 enum: (Promoted for OpenGL 2.0) +	STENCIL_BACK_FUNC				= 0x8800    # VERSION_2_0 +	STENCIL_BACK_FAIL				= 0x8801    # VERSION_2_0 +	STENCIL_BACK_PASS_DEPTH_FAIL			= 0x8802    # VERSION_2_0 +	STENCIL_BACK_PASS_DEPTH_PASS			= 0x8803    # VERSION_2_0 +	STENCIL_BACK_FAIL_ATI				= 0x8801 + +ATI_separate_stencil enum: +	STENCIL_BACK_FUNC_ATI				= 0x8800 +	STENCIL_BACK_PASS_DEPTH_FAIL_ATI		= 0x8802 +	STENCIL_BACK_PASS_DEPTH_PASS_ATI		= 0x8803 + +ARB_fragment_program enum: +	FRAGMENT_PROGRAM_ARB				= 0x8804 +	PROGRAM_ALU_INSTRUCTIONS_ARB			= 0x8805 +	PROGRAM_TEX_INSTRUCTIONS_ARB			= 0x8806 +	PROGRAM_TEX_INDIRECTIONS_ARB			= 0x8807 +	PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB		= 0x8808 +	PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB		= 0x8809 +	PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB		= 0x880A +	MAX_PROGRAM_ALU_INSTRUCTIONS_ARB		= 0x880B +	MAX_PROGRAM_TEX_INSTRUCTIONS_ARB		= 0x880C +	MAX_PROGRAM_TEX_INDIRECTIONS_ARB		= 0x880D +	MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB		= 0x880E +	MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB		= 0x880F +	MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB		= 0x8810 + +# ATI_future_use: 0x8811-0x8813 + +VERSION_3_0 enum: +	RGBA32F						= 0x8814    # VERSION_3_0 +	RGB32F						= 0x8815    # VERSION_3_0 +	RGBA16F						= 0x881A    # VERSION_3_0 +	RGB16F						= 0x881B    # VERSION_3_0 + +ARB_texture_float enum: +	RGBA32F_ARB					= 0x8814 +	RGB32F_ARB					= 0x8815 +	ALPHA32F_ARB					= 0x8816 +	INTENSITY32F_ARB				= 0x8817 +	LUMINANCE32F_ARB				= 0x8818 +	LUMINANCE_ALPHA32F_ARB				= 0x8819 +	RGBA16F_ARB					= 0x881A +	RGB16F_ARB					= 0x881B +	ALPHA16F_ARB					= 0x881C +	INTENSITY16F_ARB				= 0x881D +	LUMINANCE16F_ARB				= 0x881E +	LUMINANCE_ALPHA16F_ARB				= 0x881F + +ATI_texture_float enum: +	RGBA_FLOAT32_ATI				= 0x8814 +	RGB_FLOAT32_ATI					= 0x8815 +	ALPHA_FLOAT32_ATI				= 0x8816 +	INTENSITY_FLOAT32_ATI				= 0x8817 +	LUMINANCE_FLOAT32_ATI				= 0x8818 +	LUMINANCE_ALPHA_FLOAT32_ATI			= 0x8819 +	RGBA_FLOAT16_ATI				= 0x881A +	RGB_FLOAT16_ATI					= 0x881B +	ALPHA_FLOAT16_ATI				= 0x881C +	INTENSITY_FLOAT16_ATI				= 0x881D +	LUMINANCE_FLOAT16_ATI				= 0x881E +	LUMINANCE_ALPHA_FLOAT16_ATI			= 0x881F + +APPLE_float_pixels enum: (additional; see below) +	RGBA_FLOAT32_APPLE				= 0x8814 +	RGB_FLOAT32_APPLE				= 0x8815 +	ALPHA_FLOAT32_APPLE				= 0x8816 +	INTENSITY_FLOAT32_APPLE				= 0x8817 +	LUMINANCE_FLOAT32_APPLE				= 0x8818 +	LUMINANCE_ALPHA_FLOAT32_APPLE			= 0x8819 +	RGBA_FLOAT16_APPLE				= 0x881A +	RGB_FLOAT16_APPLE				= 0x881B +	ALPHA_FLOAT16_APPLE				= 0x881C +	INTENSITY_FLOAT16_APPLE				= 0x881D +	LUMINANCE_FLOAT16_APPLE				= 0x881E +	LUMINANCE_ALPHA_FLOAT16_APPLE			= 0x881F + +ARB_color_buffer_float enum: +	RGBA_FLOAT_MODE_ARB				= 0x8820    # Equivalent to TYPE_RGBA_FLOAT_ATI + +ATI_pixel_format_float enum: (really WGL_ATI_pixel_format_float) +	TYPE_RGBA_FLOAT_ATI				= 0x8820 + +# ATI_future_use: 0x8821-0x8822 + +QCOM_writeonly_rendering enum: (OpenGL ES only) +	WRITEONLY_RENDERING_QCOM			= 0x8823 + +VERSION_2_0 enum: (Promoted for OpenGL 2.0) +	MAX_DRAW_BUFFERS				= 0x8824    # VERSION_2_0 +	DRAW_BUFFER0					= 0x8825    # VERSION_2_0 +	DRAW_BUFFER1					= 0x8826    # VERSION_2_0 +	DRAW_BUFFER2					= 0x8827    # VERSION_2_0 +	DRAW_BUFFER3					= 0x8828    # VERSION_2_0 +	DRAW_BUFFER4					= 0x8829    # VERSION_2_0 +	DRAW_BUFFER5					= 0x882A    # VERSION_2_0 +	DRAW_BUFFER6					= 0x882B    # VERSION_2_0 +	DRAW_BUFFER7					= 0x882C    # VERSION_2_0 +	DRAW_BUFFER8					= 0x882D    # VERSION_2_0 +	DRAW_BUFFER9					= 0x882E    # VERSION_2_0 +	DRAW_BUFFER10					= 0x882F    # VERSION_2_0 +	DRAW_BUFFER11					= 0x8830    # VERSION_2_0 +	DRAW_BUFFER12					= 0x8831    # VERSION_2_0 +	DRAW_BUFFER13					= 0x8832    # VERSION_2_0 +	DRAW_BUFFER14					= 0x8833    # VERSION_2_0 +	DRAW_BUFFER15					= 0x8834    # VERSION_2_0 + +ARB_draw_buffers enum: +	MAX_DRAW_BUFFERS_ARB				= 0x8824 +	DRAW_BUFFER0_ARB				= 0x8825 +	DRAW_BUFFER1_ARB				= 0x8826 +	DRAW_BUFFER2_ARB				= 0x8827 +	DRAW_BUFFER3_ARB				= 0x8828 +	DRAW_BUFFER4_ARB				= 0x8829 +	DRAW_BUFFER5_ARB				= 0x882A +	DRAW_BUFFER6_ARB				= 0x882B +	DRAW_BUFFER7_ARB				= 0x882C +	DRAW_BUFFER8_ARB				= 0x882D +	DRAW_BUFFER9_ARB				= 0x882E +	DRAW_BUFFER10_ARB				= 0x882F +	DRAW_BUFFER11_ARB				= 0x8830 +	DRAW_BUFFER12_ARB				= 0x8831 +	DRAW_BUFFER13_ARB				= 0x8832 +	DRAW_BUFFER14_ARB				= 0x8833 +	DRAW_BUFFER15_ARB				= 0x8834 + +ATI_draw_buffers enum: +	MAX_DRAW_BUFFERS_ATI				= 0x8824 +	DRAW_BUFFER0_ATI				= 0x8825 +	DRAW_BUFFER1_ATI				= 0x8826 +	DRAW_BUFFER2_ATI				= 0x8827 +	DRAW_BUFFER3_ATI				= 0x8828 +	DRAW_BUFFER4_ATI				= 0x8829 +	DRAW_BUFFER5_ATI				= 0x882A +	DRAW_BUFFER6_ATI				= 0x882B +	DRAW_BUFFER7_ATI				= 0x882C +	DRAW_BUFFER8_ATI				= 0x882D +	DRAW_BUFFER9_ATI				= 0x882E +	DRAW_BUFFER10_ATI				= 0x882F +	DRAW_BUFFER11_ATI				= 0x8830 +	DRAW_BUFFER12_ATI				= 0x8831 +	DRAW_BUFFER13_ATI				= 0x8832 +	DRAW_BUFFER14_ATI				= 0x8833 +	DRAW_BUFFER15_ATI				= 0x8834 + +ATI_pixel_format_float enum: (really WGL_ATI_pixel_format_float) (additional; see above) +	COLOR_CLEAR_UNCLAMPED_VALUE_ATI			= 0x8835 + +# ATI_future_use: 0x8836-0x883F + +VERSION_2_0 enum: (Promoted for OpenGL 2.0) +	BLEND_EQUATION_ALPHA				= 0x883D    # VERSION_2_0 + +EXT_blend_equation_separate enum: +	BLEND_EQUATION_ALPHA_EXT			= 0x883D + +# Aliases EXT_blend_equation_separate enum above +OES_blend_equation_separate enum: (OpenGL ES only) +	BLEND_EQUATION_ALPHA_OES			= 0x883D + +############################################################################### + +# OpenGL ARB: 0x8840-0x884F + +ARB_matrix_palette enum: +	MATRIX_PALETTE_ARB				= 0x8840 +	MAX_MATRIX_PALETTE_STACK_DEPTH_ARB		= 0x8841 +	MAX_PALETTE_MATRICES_ARB			= 0x8842 +	CURRENT_PALETTE_MATRIX_ARB			= 0x8843 +	MATRIX_INDEX_ARRAY_ARB				= 0x8844 +	CURRENT_MATRIX_INDEX_ARB			= 0x8845 +	MATRIX_INDEX_ARRAY_SIZE_ARB			= 0x8846 +	MATRIX_INDEX_ARRAY_TYPE_ARB			= 0x8847 +	MATRIX_INDEX_ARRAY_STRIDE_ARB			= 0x8848 +	MATRIX_INDEX_ARRAY_POINTER_ARB			= 0x8849 + +# Aliases ARB_matrix_palette enums above +OES_matrix_palette enum: (OpenGL ES only; additional; see below) +	MATRIX_PALETTE_OES				= 0x8840 +	MAX_PALETTE_MATRICES_OES			= 0x8842 +	CURRENT_PALETTE_MATRIX_OES			= 0x8843 +	MATRIX_INDEX_ARRAY_OES				= 0x8844 +	MATRIX_INDEX_ARRAY_SIZE_OES			= 0x8846 +	MATRIX_INDEX_ARRAY_TYPE_OES			= 0x8847 +	MATRIX_INDEX_ARRAY_STRIDE_OES			= 0x8848 +	MATRIX_INDEX_ARRAY_POINTER_OES			= 0x8849 + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	TEXTURE_DEPTH_SIZE				= 0x884A +	DEPTH_TEXTURE_MODE				= 0x884B + +ARB_depth_texture enum: +	TEXTURE_DEPTH_SIZE_ARB				= 0x884A +	DEPTH_TEXTURE_MODE_ARB				= 0x884B + +VERSION_3_0 enum: (aliases) +	COMPARE_REF_TO_TEXTURE				= 0x884E    # VERSION_3_0   # alias GL_COMPARE_R_TO_TEXTURE_ARB + +VERSION_1_4 enum: (Promoted for OpenGL 1.4) +	TEXTURE_COMPARE_MODE				= 0x884C +	TEXTURE_COMPARE_FUNC				= 0x884D +	COMPARE_R_TO_TEXTURE				= 0x884E + +ARB_shadow enum: +	TEXTURE_COMPARE_MODE_ARB			= 0x884C +	TEXTURE_COMPARE_FUNC_ARB			= 0x884D +	COMPARE_R_TO_TEXTURE_ARB			= 0x884E + +EXT_texture_array enum: (additional; see below) +	COMPARE_REF_DEPTH_TO_TEXTURE_EXT		= 0x884E + +VERSION_3_2 enum: +	use ARB_seamless_cube_map	    TEXTURE_CUBE_MAP_SEAMLESS + +ARB_seamless_cube_map enum: +	TEXTURE_CUBE_MAP_SEAMLESS			= 0x884F + +############################################################################### + +# NVIDIA: 0x8850-0x891F + +NV_texture_shader3 enum: +	OFFSET_PROJECTIVE_TEXTURE_2D_NV			= 0x8850 +	OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV		= 0x8851 +	OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV		= 0x8852 +	OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV	= 0x8853 +	OFFSET_HILO_TEXTURE_2D_NV			= 0x8854 +	OFFSET_HILO_TEXTURE_RECTANGLE_NV		= 0x8855 +	OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV		= 0x8856 +	OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV	= 0x8857 +	DEPENDENT_HILO_TEXTURE_2D_NV			= 0x8858 +	DEPENDENT_RGB_TEXTURE_3D_NV			= 0x8859 +	DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV		= 0x885A +	DOT_PRODUCT_PASS_THROUGH_NV			= 0x885B +	DOT_PRODUCT_TEXTURE_1D_NV			= 0x885C +	DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV		= 0x885D +	HILO8_NV					= 0x885E +	SIGNED_HILO8_NV					= 0x885F +	FORCE_BLUE_TO_ONE_NV				= 0x8860 + +VERSION_2_0 enum: (Promoted for OpenGL 2.0) +	POINT_SPRITE					= 0x8861    # VERSION_2_0 +	COORD_REPLACE					= 0x8862    # VERSION_2_0 + +ARB_point_sprite enum: +	POINT_SPRITE_ARB				= 0x8861 +	COORD_REPLACE_ARB				= 0x8862 + +NV_point_sprite enum: +	POINT_SPRITE_NV					= 0x8861 +	COORD_REPLACE_NV				= 0x8862 + +# Aliases ARB_point_sprite enums above +OES_point_sprite enum: (OpenGL ES only) +	POINT_SPRITE_ARB				= 0x8861 +	COORD_REPLACE_ARB				= 0x8862 + +NV_point_sprite enum: +	POINT_SPRITE_R_MODE_NV				= 0x8863 + +VERSION_1_5 enum: (Promoted for OpenGL 1.5) +	QUERY_COUNTER_BITS				= 0x8864 +	CURRENT_QUERY					= 0x8865 +	QUERY_RESULT					= 0x8866 +	QUERY_RESULT_AVAILABLE				= 0x8867 + +ARB_occlusion_query enum: +	QUERY_COUNTER_BITS_ARB				= 0x8864 +	CURRENT_QUERY_ARB				= 0x8865 +	QUERY_RESULT_ARB				= 0x8866 +	QUERY_RESULT_AVAILABLE_ARB			= 0x8867 + +NV_occlusion_query enum: +	PIXEL_COUNTER_BITS_NV				= 0x8864 +	CURRENT_OCCLUSION_QUERY_ID_NV			= 0x8865 +	PIXEL_COUNT_NV					= 0x8866 +	PIXEL_COUNT_AVAILABLE_NV			= 0x8867 + +NV_fragment_program enum: +	MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV	= 0x8868 + +VERSION_2_0 enum: (Promoted from ARB_vertex_shader) +	MAX_VERTEX_ATTRIBS				= 0x8869    # VERSION_2_0 +	VERTEX_ATTRIB_ARRAY_NORMALIZED			= 0x886A    # VERSION_2_0 + +ARB_vertex_program enum: (additional; see above) +	MAX_VERTEX_ATTRIBS_ARB				= 0x8869 +	VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB		= 0x886A + +# NV_future_use: 0x886B-0x886D + +NV_copy_depth_to_color enum: +	DEPTH_STENCIL_TO_RGBA_NV			= 0x886E +	DEPTH_STENCIL_TO_BGRA_NV			= 0x886F + +NV_fragment_program enum: (additional; see above) +	FRAGMENT_PROGRAM_NV				= 0x8870 +	MAX_TEXTURE_COORDS_NV				= 0x8871 +	MAX_TEXTURE_IMAGE_UNITS_NV			= 0x8872 +	FRAGMENT_PROGRAM_BINDING_NV			= 0x8873 +	PROGRAM_ERROR_STRING_NV				= 0x8874 + +VERSION_2_0 enum: (Promoted from ARB_fragment_shader; only some values) +	MAX_TEXTURE_COORDS				= 0x8871    # VERSION_2_0 +	MAX_TEXTURE_IMAGE_UNITS				= 0x8872    # VERSION_2_0 + +ARB_vertex_program enum: (additional; see above) +ARB_fragment_program enum: (additional; see above) +	MAX_TEXTURE_COORDS_ARB				= 0x8871    # ARB_fragment_program +	MAX_TEXTURE_IMAGE_UNITS_ARB			= 0x8872    # ARB_fragment_program +	PROGRAM_ERROR_STRING_ARB			= 0x8874    # ARB_vertex_program / ARB_fragment_program +	PROGRAM_FORMAT_ASCII_ARB			= 0x8875    # ARB_vertex_program / ARB_fragment_program +	PROGRAM_FORMAT_ARB				= 0x8876    # ARB_vertex_program / ARB_fragment_program + +# 0x8877 *should have been* assigned to PROGRAM_BINDING_ARB. Oops. + +NV_pixel_data_range enum: +	WRITE_PIXEL_DATA_RANGE_NV			= 0x8878 +	READ_PIXEL_DATA_RANGE_NV			= 0x8879 +	WRITE_PIXEL_DATA_RANGE_LENGTH_NV		= 0x887A +	READ_PIXEL_DATA_RANGE_LENGTH_NV			= 0x887B +	WRITE_PIXEL_DATA_RANGE_POINTER_NV		= 0x887C +	READ_PIXEL_DATA_RANGE_POINTER_NV		= 0x887D + +# NV_future_use: 0x887E-0x887F + +NV_float_buffer enum: +	FLOAT_R_NV					= 0x8880 +	FLOAT_RG_NV					= 0x8881 +	FLOAT_RGB_NV					= 0x8882 +	FLOAT_RGBA_NV					= 0x8883 +	FLOAT_R16_NV					= 0x8884 +	FLOAT_R32_NV					= 0x8885 +	FLOAT_RG16_NV					= 0x8886 +	FLOAT_RG32_NV					= 0x8887 +	FLOAT_RGB16_NV					= 0x8888 +	FLOAT_RGB32_NV					= 0x8889 +	FLOAT_RGBA16_NV					= 0x888A +	FLOAT_RGBA32_NV					= 0x888B +	TEXTURE_FLOAT_COMPONENTS_NV			= 0x888C +	FLOAT_CLEAR_COLOR_VALUE_NV			= 0x888D +	FLOAT_RGBA_MODE_NV				= 0x888E + +NV_texture_expand_normal enum: +	TEXTURE_UNSIGNED_REMAP_MODE_NV			= 0x888F + +EXT_depth_bounds_test enum: +	DEPTH_BOUNDS_TEST_EXT				= 0x8890 +	DEPTH_BOUNDS_EXT				= 0x8891 + +VERSION_1_5 enum: (Promoted for OpenGL 1.5) +	ARRAY_BUFFER					= 0x8892 +	ELEMENT_ARRAY_BUFFER				= 0x8893 +	ARRAY_BUFFER_BINDING				= 0x8894 +	ELEMENT_ARRAY_BUFFER_BINDING			= 0x8895 +	VERTEX_ARRAY_BUFFER_BINDING			= 0x8896 +	NORMAL_ARRAY_BUFFER_BINDING			= 0x8897 +	COLOR_ARRAY_BUFFER_BINDING			= 0x8898 +	INDEX_ARRAY_BUFFER_BINDING			= 0x8899 +	TEXTURE_COORD_ARRAY_BUFFER_BINDING		= 0x889A +	EDGE_FLAG_ARRAY_BUFFER_BINDING			= 0x889B +	SECONDARY_COLOR_ARRAY_BUFFER_BINDING		= 0x889C +	FOG_COORD_ARRAY_BUFFER_BINDING			= 0x889D    # alias GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING +	FOG_COORDINATE_ARRAY_BUFFER_BINDING		= 0x889D +	WEIGHT_ARRAY_BUFFER_BINDING			= 0x889E +	VERTEX_ATTRIB_ARRAY_BUFFER_BINDING		= 0x889F + +ARB_vertex_buffer_object enum: +	ARRAY_BUFFER_ARB				= 0x8892 +	ELEMENT_ARRAY_BUFFER_ARB			= 0x8893 +	ARRAY_BUFFER_BINDING_ARB			= 0x8894 +	ELEMENT_ARRAY_BUFFER_BINDING_ARB		= 0x8895 +	VERTEX_ARRAY_BUFFER_BINDING_ARB			= 0x8896 +	NORMAL_ARRAY_BUFFER_BINDING_ARB			= 0x8897 +	COLOR_ARRAY_BUFFER_BINDING_ARB			= 0x8898 +	INDEX_ARRAY_BUFFER_BINDING_ARB			= 0x8899 +	TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB		= 0x889A +	EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB		= 0x889B +	SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB	= 0x889C +	FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB		= 0x889D +	WEIGHT_ARRAY_BUFFER_BINDING_ARB			= 0x889E +	VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB		= 0x889F + +# Aliases ARB_vertex_buffer_object enum above +OES_matrix_palette enum: (OpenGL ES only; additional; see below) +	WEIGHT_ARRAY_BUFFER_BINDING_OES			= 0x889E + +ARB_vertex_program enum: (additional; see above) +ARB_fragment_program enum: (additional; see above) +	PROGRAM_INSTRUCTIONS_ARB			= 0x88A0 +	MAX_PROGRAM_INSTRUCTIONS_ARB			= 0x88A1 +	PROGRAM_NATIVE_INSTRUCTIONS_ARB			= 0x88A2 +	MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB		= 0x88A3 +	PROGRAM_TEMPORARIES_ARB				= 0x88A4 +	MAX_PROGRAM_TEMPORARIES_ARB			= 0x88A5 +	PROGRAM_NATIVE_TEMPORARIES_ARB			= 0x88A6 +	MAX_PROGRAM_NATIVE_TEMPORARIES_ARB		= 0x88A7 +	PROGRAM_PARAMETERS_ARB				= 0x88A8 +	MAX_PROGRAM_PARAMETERS_ARB			= 0x88A9 +	PROGRAM_NATIVE_PARAMETERS_ARB			= 0x88AA +	MAX_PROGRAM_NATIVE_PARAMETERS_ARB		= 0x88AB +	PROGRAM_ATTRIBS_ARB				= 0x88AC +	MAX_PROGRAM_ATTRIBS_ARB				= 0x88AD +	PROGRAM_NATIVE_ATTRIBS_ARB			= 0x88AE +	MAX_PROGRAM_NATIVE_ATTRIBS_ARB			= 0x88AF +	PROGRAM_ADDRESS_REGISTERS_ARB			= 0x88B0 +	MAX_PROGRAM_ADDRESS_REGISTERS_ARB		= 0x88B1 +	PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB		= 0x88B2 +	MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB	= 0x88B3 +	MAX_PROGRAM_LOCAL_PARAMETERS_ARB		= 0x88B4 +	MAX_PROGRAM_ENV_PARAMETERS_ARB			= 0x88B5 +	PROGRAM_UNDER_NATIVE_LIMITS_ARB			= 0x88B6 +	TRANSPOSE_CURRENT_MATRIX_ARB			= 0x88B7 + +VERSION_1_5 enum: (Promoted for OpenGL 1.5) +	READ_ONLY					= 0x88B8 +	WRITE_ONLY					= 0x88B9 +	READ_WRITE					= 0x88BA +	BUFFER_ACCESS					= 0x88BB +	BUFFER_MAPPED					= 0x88BC +	BUFFER_MAP_POINTER				= 0x88BD + +ARB_vertex_buffer_object enum: (additional; see above) +	READ_ONLY_ARB					= 0x88B8 +	WRITE_ONLY_ARB					= 0x88B9 +	READ_WRITE_ARB					= 0x88BA +	BUFFER_ACCESS_ARB				= 0x88BB +	BUFFER_MAPPED_ARB				= 0x88BC +	BUFFER_MAP_POINTER_ARB				= 0x88BD + +# Aliases ARB_vertex_buffer_object enums above +OES_mapbuffer enum: (OpenGL ES only) +	WRITE_ONLY_OES					= 0x88B9 +	BUFFER_ACCESS_OES				= 0x88BB +	BUFFER_MAPPED_OES				= 0x88BC +	BUFFER_MAP_POINTER_OES				= 0x88BD + +# NV_future_use: 0x88BE + +EXT_timer_query enum: +	TIME_ELAPSED_EXT				= 0x88BF + +ARB_vertex_program enum: (additional; see above) +ARB_fragment_program enum: (additional; see above) +	MATRIX0_ARB					= 0x88C0 +	MATRIX1_ARB					= 0x88C1 +	MATRIX2_ARB					= 0x88C2 +	MATRIX3_ARB					= 0x88C3 +	MATRIX4_ARB					= 0x88C4 +	MATRIX5_ARB					= 0x88C5 +	MATRIX6_ARB					= 0x88C6 +	MATRIX7_ARB					= 0x88C7 +	MATRIX8_ARB					= 0x88C8 +	MATRIX9_ARB					= 0x88C9 +	MATRIX10_ARB					= 0x88CA +	MATRIX11_ARB					= 0x88CB +	MATRIX12_ARB					= 0x88CC +	MATRIX13_ARB					= 0x88CD +	MATRIX14_ARB					= 0x88CE +	MATRIX15_ARB					= 0x88CF +	MATRIX16_ARB					= 0x88D0 +	MATRIX17_ARB					= 0x88D1 +	MATRIX18_ARB					= 0x88D2 +	MATRIX19_ARB					= 0x88D3 +	MATRIX20_ARB					= 0x88D4 +	MATRIX21_ARB					= 0x88D5 +	MATRIX22_ARB					= 0x88D6 +	MATRIX23_ARB					= 0x88D7 +	MATRIX24_ARB					= 0x88D8 +	MATRIX25_ARB					= 0x88D9 +	MATRIX26_ARB					= 0x88DA +	MATRIX27_ARB					= 0x88DB +	MATRIX28_ARB					= 0x88DC +	MATRIX29_ARB					= 0x88DD +	MATRIX30_ARB					= 0x88DE +	MATRIX31_ARB					= 0x88DF + +VERSION_1_5 enum: (Promoted for OpenGL 1.5) +	STREAM_DRAW					= 0x88E0 +	STREAM_READ					= 0x88E1 +	STREAM_COPY					= 0x88E2 +	STATIC_DRAW					= 0x88E4 +	STATIC_READ					= 0x88E5 +	STATIC_COPY					= 0x88E6 +	DYNAMIC_DRAW					= 0x88E8 +	DYNAMIC_READ					= 0x88E9 +	DYNAMIC_COPY					= 0x88EA + +ARB_vertex_buffer_object enum: (additional; see above) +	STREAM_DRAW_ARB					= 0x88E0 +	STREAM_READ_ARB					= 0x88E1 +	STREAM_COPY_ARB					= 0x88E2 +	STATIC_DRAW_ARB					= 0x88E4 +	STATIC_READ_ARB					= 0x88E5 +	STATIC_COPY_ARB					= 0x88E6 +	DYNAMIC_DRAW_ARB				= 0x88E8 +	DYNAMIC_READ_ARB				= 0x88E9 +	DYNAMIC_COPY_ARB				= 0x88EA + +VERSION_2_1 enum: +	PIXEL_PACK_BUFFER				= 0x88EB    # VERSION_2_1 +	PIXEL_UNPACK_BUFFER				= 0x88EC    # VERSION_2_1 +	PIXEL_PACK_BUFFER_BINDING			= 0x88ED    # VERSION_2_1 +	PIXEL_UNPACK_BUFFER_BINDING			= 0x88EF    # VERSION_2_1 + +ARB_pixel_buffer_object enum: +	PIXEL_PACK_BUFFER_ARB				= 0x88EB    # ARB_pixel_buffer_object +	PIXEL_UNPACK_BUFFER_ARB				= 0x88EC    # ARB_pixel_buffer_object +	PIXEL_PACK_BUFFER_BINDING_ARB			= 0x88ED    # ARB_pixel_buffer_object +	PIXEL_UNPACK_BUFFER_BINDING_ARB			= 0x88EF    # ARB_pixel_buffer_object + +EXT_pixel_buffer_object enum: +	PIXEL_PACK_BUFFER_EXT				= 0x88EB    # EXT_pixel_buffer_object +	PIXEL_UNPACK_BUFFER_EXT				= 0x88EC    # EXT_pixel_buffer_object +	PIXEL_PACK_BUFFER_BINDING_EXT			= 0x88ED    # EXT_pixel_buffer_object +	PIXEL_UNPACK_BUFFER_BINDING_EXT			= 0x88EF    # EXT_pixel_buffer_object + +# ARB_future_use: 0x88E3, 0x88E7, 0x88EE +# (for extending ARB_vertex_buffer_object): + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    DEPTH24_STENCIL8 +	use ARB_framebuffer_object	    TEXTURE_STENCIL_SIZE + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	DEPTH24_STENCIL8				= 0x88F0    # VERSION_3_0 / ARB_fbo +	TEXTURE_STENCIL_SIZE				= 0x88F1    # VERSION_3_0 / ARB_fbo + +EXT_packed_depth_stencil enum: (additional; see above) +	DEPTH24_STENCIL8_EXT				= 0x88F0 +	TEXTURE_STENCIL_SIZE_EXT			= 0x88F1 + +# Aliases EXT_packed_depth_stencil enum above +OES_packed_depth_stencil enum: (OpenGL ES only; additional; see above) +	DEPTH24_STENCIL8_OES				= 0x88F0 + +EXT_stencil_clear_tag enum: +	STENCIL_TAG_BITS_EXT				= 0x88F2 +	STENCIL_CLEAR_TAG_VALUE_EXT			= 0x88F3 + +NV_vertex_program2_option enum: (duplicated in NV_fragment_prgoram2 below) +	MAX_PROGRAM_EXEC_INSTRUCTIONS_NV		= 0x88F4 +	MAX_PROGRAM_CALL_DEPTH_NV			= 0x88F5 + +NV_fragment_program2 enum: +	MAX_PROGRAM_EXEC_INSTRUCTIONS_NV		= 0x88F4 +	MAX_PROGRAM_CALL_DEPTH_NV			= 0x88F5 +	MAX_PROGRAM_IF_DEPTH_NV				= 0x88F6 +	MAX_PROGRAM_LOOP_DEPTH_NV			= 0x88F7 +	MAX_PROGRAM_LOOP_COUNT_NV			= 0x88F8 + +# NV_future_use: 0x88F9-0x88FC + +VERSION_3_0 enum: +	VERTEX_ATTRIB_ARRAY_INTEGER			= 0x88FD    # VERSION_3_0 + +NV_vertex_program4 enum: +	VERTEX_ATTRIB_ARRAY_INTEGER_NV			= 0x88FD + +ARB_instanced_arrays enum: +	VERTEX_ATTRIB_ARRAY_DIVISOR_ARB			= 0x88FE + +VERSION_3_0 enum: +	MAX_ARRAY_TEXTURE_LAYERS			= 0x88FF    # VERSION_3_0 + +EXT_texture_array enum: (additional; see below) +	MAX_ARRAY_TEXTURE_LAYERS_EXT			= 0x88FF + +VERSION_3_0 enum: +	MIN_PROGRAM_TEXEL_OFFSET			= 0x8904    # VERSION_3_0 +	MAX_PROGRAM_TEXEL_OFFSET			= 0x8905    # VERSION_3_0 + +NV_gpu_program4 enum: +	MIN_PROGRAM_TEXEL_OFFSET_NV			= 0x8904 +	MAX_PROGRAM_TEXEL_OFFSET_NV			= 0x8905 +	PROGRAM_ATTRIB_COMPONENTS_NV			= 0x8906 +	PROGRAM_RESULT_COMPONENTS_NV			= 0x8907 +	MAX_PROGRAM_ATTRIB_COMPONENTS_NV		= 0x8908 +	MAX_PROGRAM_RESULT_COMPONENTS_NV		= 0x8909 + +EXT_stencil_two_side enum: +	STENCIL_TEST_TWO_SIDE_EXT			= 0x8910 +	ACTIVE_STENCIL_FACE_EXT				= 0x8911 + +EXT_texture_mirror_clamp enum: (additional; see above): +	MIRROR_CLAMP_TO_BORDER_EXT			= 0x8912 + +# NV_future_use: 0x8913 + +VERSION_1_5 enum: (Promoted for OpenGL 1.5) +	SAMPLES_PASSED					= 0x8914 + +ARB_occlusion_query enum: (additional; see above) +	SAMPLES_PASSED_ARB				= 0x8914 + +# NV_future_use: 0x8915 + +VERSION_3_2 enum: +	GEOMETRY_VERTICES_OUT				= 0x8916 +	GEOMETRY_INPUT_TYPE				= 0x8917 +	GEOMETRY_OUTPUT_TYPE				= 0x8918 + +# NV_future_use: 0x8919 + +VERSION_3_0 enum: +	CLAMP_VERTEX_COLOR				= 0x891A    # VERSION_3_0 +	CLAMP_FRAGMENT_COLOR				= 0x891B    # VERSION_3_0 +	CLAMP_READ_COLOR				= 0x891C    # VERSION_3_0 +	FIXED_ONLY					= 0x891D    # VERSION_3_0 + +ARB_color_buffer_float enum: (additional; see above) +	CLAMP_VERTEX_COLOR_ARB				= 0x891A +	CLAMP_FRAGMENT_COLOR_ARB			= 0x891B +	CLAMP_READ_COLOR_ARB				= 0x891C +	FIXED_ONLY_ARB					= 0x891D + +# NV_future_use: 0x891E-0x891F + +############################################################################### + +# ATI: 0x8920-0x897F + +ATI_fragment_shader enum: +	FRAGMENT_SHADER_ATI				= 0x8920 +	REG_0_ATI					= 0x8921 +	REG_1_ATI					= 0x8922 +	REG_2_ATI					= 0x8923 +	REG_3_ATI					= 0x8924 +	REG_4_ATI					= 0x8925 +	REG_5_ATI					= 0x8926 +	REG_6_ATI					= 0x8927 +	REG_7_ATI					= 0x8928 +	REG_8_ATI					= 0x8929 +	REG_9_ATI					= 0x892A +	REG_10_ATI					= 0x892B +	REG_11_ATI					= 0x892C +	REG_12_ATI					= 0x892D +	REG_13_ATI					= 0x892E +	REG_14_ATI					= 0x892F +	REG_15_ATI					= 0x8930 +	REG_16_ATI					= 0x8931 +	REG_17_ATI					= 0x8932 +	REG_18_ATI					= 0x8933 +	REG_19_ATI					= 0x8934 +	REG_20_ATI					= 0x8935 +	REG_21_ATI					= 0x8936 +	REG_22_ATI					= 0x8937 +	REG_23_ATI					= 0x8938 +	REG_24_ATI					= 0x8939 +	REG_25_ATI					= 0x893A +	REG_26_ATI					= 0x893B +	REG_27_ATI					= 0x893C +	REG_28_ATI					= 0x893D +	REG_29_ATI					= 0x893E +	REG_30_ATI					= 0x893F +	REG_31_ATI					= 0x8940 +	CON_0_ATI					= 0x8941 +	CON_1_ATI					= 0x8942 +	CON_2_ATI					= 0x8943 +	CON_3_ATI					= 0x8944 +	CON_4_ATI					= 0x8945 +	CON_5_ATI					= 0x8946 +	CON_6_ATI					= 0x8947 +	CON_7_ATI					= 0x8948 +	CON_8_ATI					= 0x8949 +	CON_9_ATI					= 0x894A +	CON_10_ATI					= 0x894B +	CON_11_ATI					= 0x894C +	CON_12_ATI					= 0x894D +	CON_13_ATI					= 0x894E +	CON_14_ATI					= 0x894F +	CON_15_ATI					= 0x8950 +	CON_16_ATI					= 0x8951 +	CON_17_ATI					= 0x8952 +	CON_18_ATI					= 0x8953 +	CON_19_ATI					= 0x8954 +	CON_20_ATI					= 0x8955 +	CON_21_ATI					= 0x8956 +	CON_22_ATI					= 0x8957 +	CON_23_ATI					= 0x8958 +	CON_24_ATI					= 0x8959 +	CON_25_ATI					= 0x895A +	CON_26_ATI					= 0x895B +	CON_27_ATI					= 0x895C +	CON_28_ATI					= 0x895D +	CON_29_ATI					= 0x895E +	CON_30_ATI					= 0x895F +	CON_31_ATI					= 0x8960 +	MOV_ATI						= 0x8961 +	ADD_ATI						= 0x8963 +	MUL_ATI						= 0x8964 +	SUB_ATI						= 0x8965 +	DOT3_ATI					= 0x8966 +	DOT4_ATI					= 0x8967 +	MAD_ATI						= 0x8968 +	LERP_ATI					= 0x8969 +	CND_ATI						= 0x896A +	CND0_ATI					= 0x896B +	DOT2_ADD_ATI					= 0x896C +	SECONDARY_INTERPOLATOR_ATI			= 0x896D +	NUM_FRAGMENT_REGISTERS_ATI			= 0x896E +	NUM_FRAGMENT_CONSTANTS_ATI			= 0x896F +	NUM_PASSES_ATI					= 0x8970 +	NUM_INSTRUCTIONS_PER_PASS_ATI			= 0x8971 +	NUM_INSTRUCTIONS_TOTAL_ATI			= 0x8972 +	NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI		= 0x8973 +	NUM_LOOPBACK_COMPONENTS_ATI			= 0x8974 +	COLOR_ALPHA_PAIRING_ATI				= 0x8975 +	SWIZZLE_STR_ATI					= 0x8976 +	SWIZZLE_STQ_ATI					= 0x8977 +	SWIZZLE_STR_DR_ATI				= 0x8978 +	SWIZZLE_STQ_DQ_ATI				= 0x8979 +	SWIZZLE_STRQ_ATI				= 0x897A +	SWIZZLE_STRQ_DQ_ATI				= 0x897B +# ??? Not clear where to put new types of mask bits yet +	RED_BIT_ATI					= 0x00000001 +	GREEN_BIT_ATI					= 0x00000002 +	BLUE_BIT_ATI					= 0x00000004 +	2X_BIT_ATI					= 0x00000001 +	4X_BIT_ATI					= 0x00000002 +	8X_BIT_ATI					= 0x00000004 +	HALF_BIT_ATI					= 0x00000008 +	QUARTER_BIT_ATI					= 0x00000010 +	EIGHTH_BIT_ATI					= 0x00000020 +	SATURATE_BIT_ATI				= 0x00000040 +	2X_BIT_ATI					= 0x00000001 +	COMP_BIT_ATI					= 0x00000002 +	NEGATE_BIT_ATI					= 0x00000004 +	BIAS_BIT_ATI					= 0x00000008 + +# ATI_future_use: 0x897C-0x897F + +############################################################################### + +# Khronos OpenML WG / OpenGL ES WG: 0x8980-0x898F + +OML_interlace enum: +	INTERLACE_OML					= 0x8980 +	INTERLACE_READ_OML				= 0x8981 + +OML_subsample enum: +	FORMAT_SUBSAMPLE_24_24_OML			= 0x8982 +	FORMAT_SUBSAMPLE_244_244_OML			= 0x8983 + +OML_resample enum: +	PACK_RESAMPLE_OML				= 0x8984 +	UNPACK_RESAMPLE_OML				= 0x8985 +	RESAMPLE_REPLICATE_OML				= 0x8986 +	RESAMPLE_ZERO_FILL_OML				= 0x8987 +	RESAMPLE_AVERAGE_OML				= 0x8988 +	RESAMPLE_DECIMATE_OML				= 0x8989 + +OES_point_size_array enum: (OpenGL ES only) +	POINT_SIZE_ARRAY_TYPE_OES			= 0x898A +	POINT_SIZE_ARRAY_STRIDE_OES			= 0x898B +	POINT_SIZE_ARRAY_POINTER_OES			= 0x898C + +OES_matrix_get enum: (OpenGL ES only) +	MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES		= 0x898D +	PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES		= 0x898E +	TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES		= 0x898F + +############################################################################### + +# 3dlabs: 0x8990-0x899F + +############################################################################### + +# Matrox: 0x89A0-0x89FF + +############################################################################### + +# Apple: 0x8A00-0x8A7F + +APPLE_vertex_program_evaluators enum: +	VERTEX_ATTRIB_MAP1_APPLE			= 0x8A00 +	VERTEX_ATTRIB_MAP2_APPLE			= 0x8A01 +	VERTEX_ATTRIB_MAP1_SIZE_APPLE			= 0x8A02 +	VERTEX_ATTRIB_MAP1_COEFF_APPLE			= 0x8A03 +	VERTEX_ATTRIB_MAP1_ORDER_APPLE			= 0x8A04 +	VERTEX_ATTRIB_MAP1_DOMAIN_APPLE			= 0x8A05 +	VERTEX_ATTRIB_MAP2_SIZE_APPLE			= 0x8A06 +	VERTEX_ATTRIB_MAP2_COEFF_APPLE			= 0x8A07 +	VERTEX_ATTRIB_MAP2_ORDER_APPLE			= 0x8A08 +	VERTEX_ATTRIB_MAP2_DOMAIN_APPLE			= 0x8A09 + +APPLE_fence enum: +	DRAW_PIXELS_APPLE				= 0x8A0A +	FENCE_APPLE					= 0x8A0B + +## From Jeremy 2006/10/18 (Khronos bug 632) - unknown extension name +	ELEMENT_ARRAY_APPLE				= 0x8A0C +	ELEMENT_ARRAY_TYPE_APPLE			= 0x8A0D +	ELEMENT_ARRAY_POINTER_APPLE			= 0x8A0E + +APPLE_float_pixels enum: +	COLOR_FLOAT_APPLE				= 0x8A0F + +# APPLE_future_use: 0x8A10 +## From Jeremy 2006/10/18 (Khronos bug 632) - unknown extension name +#	MIN_PBUFFER_VIEWPORT_DIMS_APPLE			= 0x8A10 +#	ELEMENT_BUFFER_BINDING_APPLE			= 0x8A11 +# Apple says the extension that defined ELEMENT_BUFFER_BINDING_APPLE +# never shipped and there's no actual collision with UNIFORM_BUFFER + +VERSION_3_1 enum: +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER + +ARB_uniform_buffer_object enum: (additional; see below) +	UNIFORM_BUFFER					= 0x8A11 + +APPLE_flush_buffer_range enum: +	BUFFER_SERIALIZED_MODIFY_APPLE			= 0x8A12 +	BUFFER_FLUSHING_UNMAP_APPLE			= 0x8A13 + +APPLE_aux_depth_stencil enum: +	AUX_DEPTH_STENCIL_APPLE				= 0x8A14 + +APPLE_row_bytes enum: +	PACK_ROW_BYTES_APPLE				= 0x8A15 +	UNPACK_ROW_BYTES_APPLE				= 0x8A16 + +# APPLE_future_use: 0x8A17-0x8A18 + +APPLE_object_purgeable enum: +	RELEASED_APPLE					= 0x8A19 +	VOLATILE_APPLE					= 0x8A1A +	RETAINED_APPLE					= 0x8A1B +	UNDEFINED_APPLE					= 0x8A1C +	PURGEABLE_APPLE					= 0x8A1D + +# APPLE_future_use: 0x8A1E + +APPLE_rgb_422 enum: +	RGB_422_APPLE					= 0x8A1F +	use APPLE_ycbcr_422		    UNSIGNED_SHORT_8_8_APPLE +	use APPLE_ycbcr_422		    UNSIGNED_SHORT_8_8_REV_APPLE + +# APPLE_future_use: 0x8A20--0x8A27 + +VERSION_3_1 enum: +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER_BINDING +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER_START +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER_SIZE +	use ARB_uniform_buffer_object	    MAX_VERTEX_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    MAX_GEOMETRY_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    MAX_FRAGMENT_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    MAX_COMBINED_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    MAX_UNIFORM_BUFFER_BINDINGS +	use ARB_uniform_buffer_object	    MAX_UNIFORM_BLOCK_SIZE +	use ARB_uniform_buffer_object	    MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS +	use ARB_uniform_buffer_object	    MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS +	use ARB_uniform_buffer_object	    MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER_OFFSET_ALIGNMENT +	use ARB_uniform_buffer_object	    ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH +	use ARB_uniform_buffer_object	    ACTIVE_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    UNIFORM_TYPE +	use ARB_uniform_buffer_object	    UNIFORM_SIZE +	use ARB_uniform_buffer_object	    UNIFORM_NAME_LENGTH +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_INDEX +	use ARB_uniform_buffer_object	    UNIFORM_OFFSET +	use ARB_uniform_buffer_object	    UNIFORM_ARRAY_STRIDE +	use ARB_uniform_buffer_object	    UNIFORM_MATRIX_STRIDE +	use ARB_uniform_buffer_object	    UNIFORM_IS_ROW_MAJOR +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_BINDING +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_DATA_SIZE +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_NAME_LENGTH +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_ACTIVE_UNIFORMS +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER +	use ARB_uniform_buffer_object	    INVALID_INDEX + +ARB_uniform_buffer_object enum: +	UNIFORM_BUFFER_BINDING				= 0x8A28 +	UNIFORM_BUFFER_START				= 0x8A29 +	UNIFORM_BUFFER_SIZE				= 0x8A2A +	MAX_VERTEX_UNIFORM_BLOCKS			= 0x8A2B +	MAX_GEOMETRY_UNIFORM_BLOCKS			= 0x8A2C +	MAX_FRAGMENT_UNIFORM_BLOCKS			= 0x8A2D +	MAX_COMBINED_UNIFORM_BLOCKS			= 0x8A2E +	MAX_UNIFORM_BUFFER_BINDINGS			= 0x8A2F +	MAX_UNIFORM_BLOCK_SIZE				= 0x8A30 +	MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS		= 0x8A31 +	MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS	= 0x8A32 +	MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS	= 0x8A33 +	UNIFORM_BUFFER_OFFSET_ALIGNMENT			= 0x8A34 +	ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH		= 0x8A35 +	ACTIVE_UNIFORM_BLOCKS				= 0x8A36 +	UNIFORM_TYPE					= 0x8A37 +	UNIFORM_SIZE					= 0x8A38 +	UNIFORM_NAME_LENGTH				= 0x8A39 +	UNIFORM_BLOCK_INDEX				= 0x8A3A +	UNIFORM_OFFSET					= 0x8A3B +	UNIFORM_ARRAY_STRIDE				= 0x8A3C +	UNIFORM_MATRIX_STRIDE				= 0x8A3D +	UNIFORM_IS_ROW_MAJOR				= 0x8A3E +	UNIFORM_BLOCK_BINDING				= 0x8A3F +	UNIFORM_BLOCK_DATA_SIZE				= 0x8A40 +	UNIFORM_BLOCK_NAME_LENGTH			= 0x8A41 +	UNIFORM_BLOCK_ACTIVE_UNIFORMS			= 0x8A42 +	UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES		= 0x8A43 +	UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER	= 0x8A44 +	UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER	= 0x8A45 +	UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER	= 0x8A46 +	INVALID_INDEX					= 0xFFFFFFFFu + +# APPLE_future_use: 0x8A47-0x8A7F + +############################################################################### + +# Matrox: 0x8A80-0x8AEF + +############################################################################### + +# Chromium (Brian Paul): 0x8AF0-0x8B2F + +############################################################################### + +# ARB HLSL shader extensions: 0x8B30-0x8B8F + + +VERSION_3_1 enum: (Promoted from ARB_shader_objects + ARB_texture_rectangle) +	SAMPLER_2D_RECT					= 0x8B63    # ARB_shader_objects + ARB_texture_rectangle +	SAMPLER_2D_RECT_SHADOW				= 0x8B64    # ARB_shader_objects + ARB_texture_rectangle + +#@@ separate extensions +VERSION_2_0 enum: (Promoted for OpenGL 2.0; only some values; renaming in many cases) +ARB_shader_objects, ARB_vertex_shader, ARB_fragment_shader enum: +NV_vertex_program3 enum: (reuses 0x8B4C) +##Shader types + room for expansion +	FRAGMENT_SHADER					= 0x8B30    # VERSION_2_0 +	FRAGMENT_SHADER_ARB				= 0x8B30    # ARB_fragment_shader +	VERTEX_SHADER					= 0x8B31    # VERSION_2_0 +	VERTEX_SHADER_ARB				= 0x8B31    # ARB_vertex_shader +# ARB_future_use: 0x8B32-0x8B3F (for shader types) +##Container types + room for expansion +	PROGRAM_OBJECT_ARB				= 0x8B40    # ARB_shader_objects +# ARB_future_use: 0x8B41-0x8B47 (for container types) +##Misc. shader enums +	SHADER_OBJECT_ARB				= 0x8B48    # ARB_shader_objects +	MAX_FRAGMENT_UNIFORM_COMPONENTS			= 0x8B49    # VERSION_2_0 +	MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB		= 0x8B49    # ARB_fragment_shader +	MAX_VERTEX_UNIFORM_COMPONENTS			= 0x8B4A    # VERSION_2_0 +	MAX_VERTEX_UNIFORM_COMPONENTS_ARB		= 0x8B4A    # ARB_vertex_shader +	MAX_VARYING_FLOATS				= 0x8B4B    # VERSION_2_0 +	MAX_VARYING_FLOATS_ARB				= 0x8B4B    # ARB_vertex_shader +	MAX_VERTEX_TEXTURE_IMAGE_UNITS			= 0x8B4C    # VERSION_2_0 +	MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB		= 0x8B4C    # ARB_vertex_shader, NV_vertex_program3 +	MAX_COMBINED_TEXTURE_IMAGE_UNITS		= 0x8B4D    # VERSION_2_0 +	MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB		= 0x8B4D    # ARB_vertex_shader +	OBJECT_TYPE_ARB					= 0x8B4E    # ARB_shader_objects +	SHADER_TYPE					= 0x8B4F    # VERSION_2_0 (renamed) +	OBJECT_SUBTYPE_ARB				= 0x8B4F    # ARB_shader_objects +##Attribute types + room for expansion. +	FLOAT_VEC2					= 0x8B50    # VERSION_2_0 +	FLOAT_VEC2_ARB					= 0x8B50    # ARB_shader_objects +	FLOAT_VEC3					= 0x8B51    # VERSION_2_0 +	FLOAT_VEC3_ARB					= 0x8B51    # ARB_shader_objects +	FLOAT_VEC4					= 0x8B52    # VERSION_2_0 +	FLOAT_VEC4_ARB					= 0x8B52    # ARB_shader_objects +	INT_VEC2					= 0x8B53    # VERSION_2_0 +	INT_VEC2_ARB					= 0x8B53    # ARB_shader_objects +	INT_VEC3					= 0x8B54    # VERSION_2_0 +	INT_VEC3_ARB					= 0x8B54    # ARB_shader_objects +	INT_VEC4					= 0x8B55    # VERSION_2_0 +	INT_VEC4_ARB					= 0x8B55    # ARB_shader_objects +	BOOL						= 0x8B56    # VERSION_2_0 +	BOOL_ARB					= 0x8B56    # ARB_shader_objects +	BOOL_VEC2					= 0x8B57    # VERSION_2_0 +	BOOL_VEC2_ARB					= 0x8B57    # ARB_shader_objects +	BOOL_VEC3					= 0x8B58    # VERSION_2_0 +	BOOL_VEC3_ARB					= 0x8B58    # ARB_shader_objects +	BOOL_VEC4					= 0x8B59    # VERSION_2_0 +	BOOL_VEC4_ARB					= 0x8B59    # ARB_shader_objects +	FLOAT_MAT2					= 0x8B5A    # VERSION_2_0 +	FLOAT_MAT2_ARB					= 0x8B5A    # ARB_shader_objects +	FLOAT_MAT3					= 0x8B5B    # VERSION_2_0 +	FLOAT_MAT3_ARB					= 0x8B5B    # ARB_shader_objects +	FLOAT_MAT4					= 0x8B5C    # VERSION_2_0 +	FLOAT_MAT4_ARB					= 0x8B5C    # ARB_shader_objects +	SAMPLER_1D					= 0x8B5D    # VERSION_2_0 +	SAMPLER_1D_ARB					= 0x8B5D    # ARB_shader_objects +	SAMPLER_2D					= 0x8B5E    # VERSION_2_0 +	SAMPLER_2D_ARB					= 0x8B5E    # ARB_shader_objects +	SAMPLER_3D					= 0x8B5F    # VERSION_2_0 +	SAMPLER_3D_ARB					= 0x8B5F    # ARB_shader_objects +	SAMPLER_CUBE					= 0x8B60    # VERSION_2_0 +	SAMPLER_CUBE_ARB				= 0x8B60    # ARB_shader_objects +	SAMPLER_1D_SHADOW				= 0x8B61    # VERSION_2_0 +	SAMPLER_1D_SHADOW_ARB				= 0x8B61    # ARB_shader_objects +	SAMPLER_2D_SHADOW				= 0x8B62    # VERSION_2_0 +	SAMPLER_2D_SHADOW_ARB				= 0x8B62    # ARB_shader_objects +	SAMPLER_2D_RECT_ARB				= 0x8B63    # ARB_shader_objects +	SAMPLER_2D_RECT_SHADOW_ARB			= 0x8B64    # ARB_shader_objects +	FLOAT_MAT2x3					= 0x8B65    # VERSION_2_1 +	FLOAT_MAT2x4					= 0x8B66    # VERSION_2_1 +	FLOAT_MAT3x2					= 0x8B67    # VERSION_2_1 +	FLOAT_MAT3x4					= 0x8B68    # VERSION_2_1 +	FLOAT_MAT4x2					= 0x8B69    # VERSION_2_1 +	FLOAT_MAT4x3					= 0x8B6A    # VERSION_2_1 +# ARB_future_use: 0x8B6B-0x8B7F (for attribute types) +	DELETE_STATUS					= 0x8B80    # VERSION_2_0 (renamed) +	OBJECT_DELETE_STATUS_ARB			= 0x8B80    # ARB_shader_objects +	COMPILE_STATUS					= 0x8B81    # VERSION_2_0 (renamed) +	OBJECT_COMPILE_STATUS_ARB			= 0x8B81    # ARB_shader_objects +	LINK_STATUS					= 0x8B82    # VERSION_2_0 (renamed) +	OBJECT_LINK_STATUS_ARB				= 0x8B82    # ARB_shader_objects +	VALIDATE_STATUS					= 0x8B83    # VERSION_2_0 (renamed) +	OBJECT_VALIDATE_STATUS_ARB			= 0x8B83    # ARB_shader_objects +	INFO_LOG_LENGTH					= 0x8B84    # VERSION_2_0 (renamed) +	OBJECT_INFO_LOG_LENGTH_ARB			= 0x8B84    # ARB_shader_objects +	ATTACHED_SHADERS				= 0x8B85    # VERSION_2_0 (renamed) +	OBJECT_ATTACHED_OBJECTS_ARB			= 0x8B85    # ARB_shader_objects +	ACTIVE_UNIFORMS					= 0x8B86    # VERSION_2_0 (renamed) +	OBJECT_ACTIVE_UNIFORMS_ARB			= 0x8B86    # ARB_shader_objects +	ACTIVE_UNIFORM_MAX_LENGTH			= 0x8B87    # VERSION_2_0 (renamed) +	OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB		= 0x8B87    # ARB_shader_objects +	SHADER_SOURCE_LENGTH				= 0x8B88    # VERSION_2_0 (renamed) +	OBJECT_SHADER_SOURCE_LENGTH_ARB			= 0x8B88    # ARB_shader_objects +	ACTIVE_ATTRIBUTES				= 0x8B89    # VERSION_2_0 (renamed) +	OBJECT_ACTIVE_ATTRIBUTES_ARB			= 0x8B89    # ARB_vertex_shader +	ACTIVE_ATTRIBUTE_MAX_LENGTH			= 0x8B8A    # VERSION_2_0 (renamed) +	OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB		= 0x8B8A    # ARB_vertex_shader +	FRAGMENT_SHADER_DERIVATIVE_HINT			= 0x8B8B    # VERSION_2_0 +	FRAGMENT_SHADER_DERIVATIVE_HINT_ARB		= 0x8B8B    # ARB_fragment_shader +	SHADING_LANGUAGE_VERSION			= 0x8B8C    # VERSION_2_0 +	SHADING_LANGUAGE_VERSION_ARB			= 0x8B8C    # ARB_shading_language_100 + +# Aliases ARB_shader_objects enum above +OES_texture3D enum: (OpenGL ES only; additional; see above) +	SAMPLER_3D_OES					= 0x8B5F    # ARB_shader_objects + +# Aliases ARB_fragment_shader enum above +OES_standard_derivatives enum: (OpenGL ES only) +	FRAGMENT_SHADER_DERIVATIVE_HINT_OES		= 0x8B8B + +VERSION_3_0 enum: +	MAX_VARYING_COMPONENTS				= 0x8B4B    # VERSION_3_0   # alias GL_MAX_VARYING_FLOATS + +ARB_geometry_shader4 enum: (additional; see below; note: no ARB suffixes) +	use VERSION_3_0			    MAX_VARYING_COMPONENTS + +EXT_geometry_shader4 enum: (additional; see below) +	MAX_VARYING_COMPONENTS_EXT			= 0x8B4B + +VERSION_2_0 enum: +	CURRENT_PROGRAM					= 0x8B8D + +# Aliases CURRENT_PROGRAM +EXT_separate_shader_objects enum: +	ACTIVE_PROGRAM_EXT				= 0x8B8D + +# ARB_future_use: 0x8B8E-0x8B8F + +############################################################################### + +# Khronos OpenGL ES WG: 0x8B90-0x8B9F + +OES_compressed_paletted_texture enum: (OpenGL ES only) +	PALETTE4_RGB8_OES				= 0x8B90 +	PALETTE4_RGBA8_OES				= 0x8B91 +	PALETTE4_R5_G6_B5_OES				= 0x8B92 +	PALETTE4_RGBA4_OES				= 0x8B93 +	PALETTE4_RGB5_A1_OES				= 0x8B94 +	PALETTE8_RGB8_OES				= 0x8B95 +	PALETTE8_RGBA8_OES				= 0x8B96 +	PALETTE8_R5_G6_B5_OES				= 0x8B97 +	PALETTE8_RGBA4_OES				= 0x8B98 +	PALETTE8_RGB5_A1_OES				= 0x8B99 + +OES_read_format enum: (OpenGL ES, also implemented in Mesa) +	IMPLEMENTATION_COLOR_READ_TYPE_OES		= 0x8B9A +	IMPLEMENTATION_COLOR_READ_FORMAT_OES		= 0x8B9B + +OES_point_size_array enum: (OpenGL ES only; additional; see above) +	POINT_SIZE_ARRAY_OES				= 0x8B9C + +OES_draw_texture enum: (OpenGL ES only) +	TEXTURE_CROP_RECT_OES				= 0x8B9D + +OES_matrix_palette enum: (OpenGL ES only) +	MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES		= 0x8B9E + +OES_point_size_array enum: (OpenGL ES only; additional; see above) +	POINT_SIZE_ARRAY_BUFFER_BINDING_OES		= 0x8B9F + +############################################################################### + +# Seaweed: 0x8BA0-0x8BAF + +############################################################################### + +# Mesa: 0x8BB0-0x8BBF +#   Probably one of the two 0x8BB4 enums should be 0x8BB5, but the +#   extension spec is not complete in any event. +MESA_program_debug enum: +	FRAGMENT_PROGRAM_POSITION_MESA			= 0x8BB0 +	FRAGMENT_PROGRAM_CALLBACK_MESA			= 0x8BB1 +	FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA		= 0x8BB2 +	FRAGMENT_PROGRAM_CALLBACK_DATA_MESA		= 0x8BB3 +	VERTEX_PROGRAM_CALLBACK_MESA			= 0x8BB4 +	VERTEX_PROGRAM_POSITION_MESA			= 0x8BB4 +	VERTEX_PROGRAM_CALLBACK_FUNC_MESA		= 0x8BB6 +	VERTEX_PROGRAM_CALLBACK_DATA_MESA		= 0x8BB7 + +############################################################################### + +# ATI: 0x8BC0-0x8BFF + +AMD_performance_monitor enum: +	COUNTER_TYPE_AMD				= 0x8BC0 +	COUNTER_RANGE_AMD				= 0x8BC1 +	UNSIGNED_INT64_AMD				= 0x8BC2 +	PERCENTAGE_AMD					= 0x8BC3 +	PERFMON_RESULT_AVAILABLE_AMD			= 0x8BC4 +	PERFMON_RESULT_SIZE_AMD				= 0x8BC5 +	PERFMON_RESULT_AMD				= 0x8BC6 + +# ATI_future_use: 0x8BC7-0x8BD1 + +QCOM_extended_get enum: (OpenGL ES only) +	TEXTURE_WIDTH_QCOM				= 0x8BD2 +	TEXTURE_HEIGHT_QCOM				= 0x8BD3 +	TEXTURE_DEPTH_QCOM				= 0x8BD4 +	TEXTURE_INTERNAL_FORMAT_QCOM			= 0x8BD5 +	TEXTURE_FORMAT_QCOM				= 0x8BD6 +	TEXTURE_TYPE_QCOM				= 0x8BD7 +	TEXTURE_IMAGE_VALID_QCOM			= 0x8BD8 +	TEXTURE_NUM_LEVELS_QCOM				= 0x8BD9 +	TEXTURE_TARGET_QCOM				= 0x8BDA +	TEXTURE_OBJECT_VALID_QCOM			= 0x8BDB +	STATE_RESTORE					= 0x8BDC + +# ATI_future_use: 0x8BDD-0x8BFF + +############################################################################### + +# Imagination Tech.: 0x8C00-0x8C0F + +IMG_texture_compression_pvrtc enum: (OpenGL ES only) +	COMPRESSED_RGB_PVRTC_4BPPV1_IMG			= 0x8C00 +	COMPRESSED_RGB_PVRTC_2BPPV1_IMG			= 0x8C01 +	COMPRESSED_RGBA_PVRTC_4BPPV1_IMG		= 0x8C02 +	COMPRESSED_RGBA_PVRTC_2BPPV1_IMG		= 0x8C03 + +IMG_texture_env_enhanced_fixed_function enum: (OpenGL ES only) +	MODULATE_COLOR_IMG				= 0x8C04 +	RECIP_ADD_SIGNED_ALPHA_IMG			= 0x8C05 +	TEXTURE_ALPHA_MODULATE_IMG			= 0x8C06 +	FACTOR_ALPHA_MODULATE_IMG			= 0x8C07 +	FRAGMENT_ALPHA_MODULATE_IMG			= 0x8C08 +	ADD_BLEND_IMG					= 0x8C09 + +IMG_shader_binary: (OpenGL ES only) +	SGX_BINARY_IMG					= 0x8C0A + +# IMG_future_use: 0x8C0B-0x8C0F + +############################################################################### + +# NVIDIA: 0x8C10-0x8C8F (Pat Brown) + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    TEXTURE_RED_TYPE +	use ARB_framebuffer_object	    TEXTURE_GREEN_TYPE +	use ARB_framebuffer_object	    TEXTURE_BLUE_TYPE +	use ARB_framebuffer_object	    TEXTURE_ALPHA_TYPE +	use ARB_framebuffer_object	    TEXTURE_LUMINANCE_TYPE +	use ARB_framebuffer_object	    TEXTURE_INTENSITY_TYPE +	use ARB_framebuffer_object	    TEXTURE_DEPTH_TYPE +	use ARB_framebuffer_object	    UNSIGNED_NORMALIZED + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	TEXTURE_RED_TYPE				= 0x8C10    # VERSION_3_0 / ARB_fbo +	TEXTURE_GREEN_TYPE				= 0x8C11    # VERSION_3_0 / ARB_fbo +	TEXTURE_BLUE_TYPE				= 0x8C12    # VERSION_3_0 / ARB_fbo +	TEXTURE_ALPHA_TYPE				= 0x8C13    # VERSION_3_0 / ARB_fbo +	TEXTURE_LUMINANCE_TYPE				= 0x8C14    # VERSION_3_0 / ARB_fbo +	TEXTURE_INTENSITY_TYPE				= 0x8C15    # VERSION_3_0 / ARB_fbo +	TEXTURE_DEPTH_TYPE				= 0x8C16    # VERSION_3_0 / ARB_fbo +	UNSIGNED_NORMALIZED				= 0x8C17    # VERSION_3_0 / ARB_fbo + +ARB_texture_float enum: (additional; see above) +	TEXTURE_RED_TYPE_ARB				= 0x8C10 +	TEXTURE_GREEN_TYPE_ARB				= 0x8C11 +	TEXTURE_BLUE_TYPE_ARB				= 0x8C12 +	TEXTURE_ALPHA_TYPE_ARB				= 0x8C13 +	TEXTURE_LUMINANCE_TYPE_ARB			= 0x8C14 +	TEXTURE_INTENSITY_TYPE_ARB			= 0x8C15 +	TEXTURE_DEPTH_TYPE_ARB				= 0x8C16 +	UNSIGNED_NORMALIZED_ARB				= 0x8C17 + +VERSION_3_0 enum: +	TEXTURE_1D_ARRAY				= 0x8C18    # VERSION_3_0 +	PROXY_TEXTURE_1D_ARRAY				= 0x8C19    # VERSION_3_0 +	TEXTURE_2D_ARRAY				= 0x8C1A    # VERSION_3_0 +	PROXY_TEXTURE_2D_ARRAY				= 0x8C1B    # VERSION_3_0 +	TEXTURE_BINDING_1D_ARRAY			= 0x8C1C    # VERSION_3_0 +	TEXTURE_BINDING_2D_ARRAY			= 0x8C1D    # VERSION_3_0 + +EXT_texture_array enum: +	TEXTURE_1D_ARRAY_EXT				= 0x8C18 +	PROXY_TEXTURE_1D_ARRAY_EXT			= 0x8C19 +	TEXTURE_2D_ARRAY_EXT				= 0x8C1A +	PROXY_TEXTURE_2D_ARRAY_EXT			= 0x8C1B +	TEXTURE_BINDING_1D_ARRAY_EXT			= 0x8C1C +	TEXTURE_BINDING_2D_ARRAY_EXT			= 0x8C1D + +# NV_future_use: 0x8C1E-0x8C25 + +VERSION_3_2 enum: +	MAX_GEOMETRY_TEXTURE_IMAGE_UNITS		= 0x8C29 + +ARB_geometry_shader4 enum: (additional; see below) +	MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB		= 0x8C29 + +NV_geometry_program4 enum: +	GEOMETRY_PROGRAM_NV				= 0x8C26 +	MAX_PROGRAM_OUTPUT_VERTICES_NV			= 0x8C27 +	MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV		= 0x8C28 +	MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT		= 0x8C29 + +VERSION_3_1 enum: +	TEXTURE_BUFFER					= 0x8C2A +	MAX_TEXTURE_BUFFER_SIZE				= 0x8C2B +	TEXTURE_BINDING_BUFFER				= 0x8C2C +	TEXTURE_BUFFER_DATA_STORE_BINDING		= 0x8C2D +	TEXTURE_BUFFER_FORMAT				= 0x8C2E + +ARB_texture_buffer_object enum: +	TEXTURE_BUFFER_ARB				= 0x8C2A +	MAX_TEXTURE_BUFFER_SIZE_ARB			= 0x8C2B +	TEXTURE_BINDING_BUFFER_ARB			= 0x8C2C +	TEXTURE_BUFFER_DATA_STORE_BINDING_ARB		= 0x8C2D +	TEXTURE_BUFFER_FORMAT_ARB			= 0x8C2E + +EXT_texture_buffer_object enum: +	TEXTURE_BUFFER_EXT				= 0x8C2A +	MAX_TEXTURE_BUFFER_SIZE_EXT			= 0x8C2B +	TEXTURE_BINDING_BUFFER_EXT			= 0x8C2C +	TEXTURE_BUFFER_DATA_STORE_BINDING_EXT		= 0x8C2D +	TEXTURE_BUFFER_FORMAT_EXT			= 0x8C2E + +# NV_future_use: 0x8C2F-0x8C35 + +ARB_sample_shading enum: +	SAMPLE_SHADING_ARB				= 0x8C36 +	MIN_SAMPLE_SHADING_VALUE_ARB			= 0x8C37 + +# NV_future_use: 0x8C38-0x8C39 + +VERSION_3_0 enum: +	R11F_G11F_B10F					= 0x8C3A    # VERSION_3_0 +	UNSIGNED_INT_10F_11F_11F_REV			= 0x8C3B    # VERSION_3_0 + +EXT_packed_float enum: +	R11F_G11F_B10F_EXT				= 0x8C3A +	UNSIGNED_INT_10F_11F_11F_REV_EXT		= 0x8C3B +	RGBA_SIGNED_COMPONENTS_EXT			= 0x8C3C + +VERSION_3_0 enum: +	RGB9_E5						= 0x8C3D    # VERSION_3_0 +	UNSIGNED_INT_5_9_9_9_REV			= 0x8C3E    # VERSION_3_0 +	TEXTURE_SHARED_SIZE				= 0x8C3F    # VERSION_3_0 + +EXT_texture_shared_exponent enum: +	RGB9_E5_EXT					= 0x8C3D +	UNSIGNED_INT_5_9_9_9_REV_EXT			= 0x8C3E +	TEXTURE_SHARED_SIZE_EXT				= 0x8C3F + +VERSION_2_1 enum: (Generic formats promoted for OpenGL 2.1) +	SRGB						= 0x8C40    # VERSION_2_1 +	SRGB8						= 0x8C41    # VERSION_2_1 +	SRGB_ALPHA					= 0x8C42    # VERSION_2_1 +	SRGB8_ALPHA8					= 0x8C43    # VERSION_2_1 +	SLUMINANCE_ALPHA				= 0x8C44    # VERSION_2_1 +	SLUMINANCE8_ALPHA8				= 0x8C45    # VERSION_2_1 +	SLUMINANCE					= 0x8C46    # VERSION_2_1 +	SLUMINANCE8					= 0x8C47    # VERSION_2_1 +	COMPRESSED_SRGB					= 0x8C48    # VERSION_2_1 +	COMPRESSED_SRGB_ALPHA				= 0x8C49    # VERSION_2_1 +	COMPRESSED_SLUMINANCE				= 0x8C4A    # VERSION_2_1 +	COMPRESSED_SLUMINANCE_ALPHA			= 0x8C4B    # VERSION_2_1 + +EXT_texture_sRGB enum: +	SRGB_EXT					= 0x8C40    # EXT_texture_sRGB +	SRGB8_EXT					= 0x8C41    # EXT_texture_sRGB +	SRGB_ALPHA_EXT					= 0x8C42    # EXT_texture_sRGB +	SRGB8_ALPHA8_EXT				= 0x8C43    # EXT_texture_sRGB +	SLUMINANCE_ALPHA_EXT				= 0x8C44    # EXT_texture_sRGB +	SLUMINANCE8_ALPHA8_EXT				= 0x8C45    # EXT_texture_sRGB +	SLUMINANCE_EXT					= 0x8C46    # EXT_texture_sRGB +	SLUMINANCE8_EXT					= 0x8C47    # EXT_texture_sRGB +	COMPRESSED_SRGB_EXT				= 0x8C48    # EXT_texture_sRGB +	COMPRESSED_SRGB_ALPHA_EXT			= 0x8C49    # EXT_texture_sRGB +	COMPRESSED_SLUMINANCE_EXT			= 0x8C4A    # EXT_texture_sRGB +	COMPRESSED_SLUMINANCE_ALPHA_EXT			= 0x8C4B    # EXT_texture_sRGB +	COMPRESSED_SRGB_S3TC_DXT1_EXT			= 0x8C4C +	COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT		= 0x8C4D +	COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT		= 0x8C4E +	COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT		= 0x8C4F + +# NV_future_use: 0x8C50-0x8C6F + +EXT_texture_compression_latc enum: +	COMPRESSED_LUMINANCE_LATC1_EXT			= 0x8C70 +	COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT		= 0x8C71 +	COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT		= 0x8C72 +	COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT	= 0x8C73 + +# NV_future_use: 0x8C74-0x8C75 + +#@@ separate extensions +VERSION_3_0 enum: +EXT_transform_feedback enum: +NV_transform_feedback enum: +	TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH		= 0x8C76    # VERSION_3_0 +	TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT	= 0x8C76 +	BACK_PRIMARY_COLOR_NV				= 0x8C77 +	BACK_SECONDARY_COLOR_NV				= 0x8C78 +	TEXTURE_COORD_NV				= 0x8C79 +	CLIP_DISTANCE_NV				= 0x8C7A +	VERTEX_ID_NV					= 0x8C7B +	PRIMITIVE_ID_NV					= 0x8C7C +	GENERIC_ATTRIB_NV				= 0x8C7D +	TRANSFORM_FEEDBACK_ATTRIBS_NV			= 0x8C7E +	TRANSFORM_FEEDBACK_BUFFER_MODE			= 0x8C7F    # VERSION_3_0 +	TRANSFORM_FEEDBACK_BUFFER_MODE_EXT		= 0x8C7F +	TRANSFORM_FEEDBACK_BUFFER_MODE_NV		= 0x8C7F +	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS	= 0x8C80    # VERSION_3_0 +	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT	= 0x8C80 +	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV	= 0x8C80 +	ACTIVE_VARYINGS_NV				= 0x8C81 +	ACTIVE_VARYING_MAX_LENGTH_NV			= 0x8C82 +	TRANSFORM_FEEDBACK_VARYINGS			= 0x8C83    # VERSION_3_0 +	TRANSFORM_FEEDBACK_VARYINGS_EXT			= 0x8C83 +	TRANSFORM_FEEDBACK_VARYINGS_NV			= 0x8C83 +	TRANSFORM_FEEDBACK_BUFFER_START			= 0x8C84    # VERSION_3_0 +	TRANSFORM_FEEDBACK_BUFFER_START_EXT		= 0x8C84 +	TRANSFORM_FEEDBACK_BUFFER_START_NV		= 0x8C84 +	TRANSFORM_FEEDBACK_BUFFER_SIZE			= 0x8C85    # VERSION_3_0 +	TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT		= 0x8C85 +	TRANSFORM_FEEDBACK_BUFFER_SIZE_NV		= 0x8C85 +	TRANSFORM_FEEDBACK_RECORD_NV			= 0x8C86 +	PRIMITIVES_GENERATED				= 0x8C87    # VERSION_3_0 +	PRIMITIVES_GENERATED_EXT			= 0x8C87 +	PRIMITIVES_GENERATED_NV				= 0x8C87 +	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN		= 0x8C88    # VERSION_3_0 +	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT	= 0x8C88 +	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV	= 0x8C88 +	RASTERIZER_DISCARD				= 0x8C89    # VERSION_3_0 +	RASTERIZER_DISCARD_EXT				= 0x8C89 +	RASTERIZER_DISCARD_NV				= 0x8C89 +	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS	= 0x8C8A    # VERSION_3_0 +	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A +	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV	= 0x8C8A +	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS		= 0x8C8B    # VERSION_3_0 +	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT	= 0x8C8B +	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV	= 0x8C8B +	INTERLEAVED_ATTRIBS				= 0x8C8C    # VERSION_3_0 +	INTERLEAVED_ATTRIBS_EXT				= 0x8C8C +	INTERLEAVED_ATTRIBS_NV				= 0x8C8C +	SEPARATE_ATTRIBS				= 0x8C8D    # VERSION_3_0 +	SEPARATE_ATTRIBS_EXT				= 0x8C8D +	SEPARATE_ATTRIBS_NV				= 0x8C8D +	TRANSFORM_FEEDBACK_BUFFER			= 0x8C8E    # VERSION_3_0 +	TRANSFORM_FEEDBACK_BUFFER_EXT			= 0x8C8E +	TRANSFORM_FEEDBACK_BUFFER_NV			= 0x8C8E +	TRANSFORM_FEEDBACK_BUFFER_BINDING		= 0x8C8F    # VERSION_3_0 +	TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT		= 0x8C8F +	TRANSFORM_FEEDBACK_BUFFER_BINDING_NV		= 0x8C8F + +############################################################################### + +# ATI: 0x8C90-0x8C9F (Affie Munshi, OpenGL ES extensions) + +# Reassigned to Qualcomm at time of mobile/desktop split (bug 5874) +# Qualcomm__future_use: 0x8C90-0x8C91 + +AMD_compressed_ATC_texture enum: (OpenGL ES only) +	ATC_RGB_AMD					= 0x8C92 +	ATC_RGBA_EXPLICIT_ALPHA_AMD			= 0x8C93 + +# Reassigned to Qualcomm at time of mobile/desktop split (bug 5874) +# Qualcomm_future_use: 0x8C94-0x8C9F + +############################################################################### + +# OpenGL ARB: 0x8CA0-0x8CAF + +VERSION_2_0 enum: +	POINT_SPRITE_COORD_ORIGIN			= 0x8CA0 +	LOWER_LEFT					= 0x8CA1 +	UPPER_LEFT					= 0x8CA2 +	STENCIL_BACK_REF				= 0x8CA3 +	STENCIL_BACK_VALUE_MASK				= 0x8CA4 +	STENCIL_BACK_WRITEMASK				= 0x8CA5 + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    FRAMEBUFFER_BINDING +	use ARB_framebuffer_object	    DRAW_FRAMEBUFFER_BINDING +	use ARB_framebuffer_object	    RENDERBUFFER_BINDING + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	FRAMEBUFFER_BINDING				= 0x8CA6    # VERSION_3_0 / ARB_fbo +	DRAW_FRAMEBUFFER_BINDING			= 0x8CA6    # VERSION_3_0 / ARB_fbo # alias GL_FRAMEBUFFER_BINDING +	RENDERBUFFER_BINDING				= 0x8CA7    # VERSION_3_0 / ARB_fbo + +EXT_framebuffer_object enum: (additional; see below) +	FRAMEBUFFER_BINDING_EXT				= 0x8CA6 +	RENDERBUFFER_BINDING_EXT			= 0x8CA7 + +EXT_framebuffer_blit enum: (additional; see below) +	DRAW_FRAMEBUFFER_BINDING_EXT			= 0x8CA6    # EXT_framebuffer_blit  # alias GL_FRAMEBUFFER_BINDING_EXT + +# Aliases EXT_framebuffer_object enums above +OES_framebuffer_object enum: (OpenGL ES only; additional; see below) +	FRAMEBUFFER_BINDING_OES				= 0x8CA6 +	RENDERBUFFER_BINDING_OES			= 0x8CA7 + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    READ_FRAMEBUFFER +	use ARB_framebuffer_object	    DRAW_FRAMEBUFFER +	use ARB_framebuffer_object	    READ_FRAMEBUFFER_BINDING + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	READ_FRAMEBUFFER				= 0x8CA8    # VERSION_3_0 / ARB_fbo +	DRAW_FRAMEBUFFER				= 0x8CA9    # VERSION_3_0 / ARB_fbo +	READ_FRAMEBUFFER_BINDING			= 0x8CAA    # VERSION_3_0 / ARB_fbo + +EXT_framebuffer_blit enum: +	READ_FRAMEBUFFER_EXT				= 0x8CA8 +	DRAW_FRAMEBUFFER_EXT				= 0x8CA9 +	DRAW_FRAMEBUFFER_BINDING_EXT			= 0x8CA6    # alias GL_FRAMEBUFFER_BINDING_EXT +	READ_FRAMEBUFFER_BINDING_EXT			= 0x8CAA + +VERSION_3_0 enum: +	use ARB_framebuffer_object	    RENDERBUFFER_SAMPLES + +ARB_framebuffer_object enum: (note: no ARB suffixes) +	RENDERBUFFER_SAMPLES				= 0x8CAB    # VERSION_3_0 / ARB_fbo + +EXT_framebuffer_multisample enum: +	RENDERBUFFER_SAMPLES_EXT			= 0x8CAB + +NV_framebuffer_multisample_coverage enum: (additional; see below) +	RENDERBUFFER_COVERAGE_SAMPLES_NV		= 0x8CAB + +# All enums except external format are incompatible with NV_depth_buffer_float +VERSION_3_0 enum: +ARB_depth_buffer_float enum: (note: no ARB suffixes) +	DEPTH_COMPONENT32F				= 0x8CAC +	DEPTH32F_STENCIL8				= 0x8CAD + +# ARB_future_use: 0x8CAF + +############################################################################### + +# 3Dlabs: 0x8CB0-0x8CCF (Barthold Lichtenbelt, 2004/12/1) + +############################################################################### + +# OpenGL ARB: 0x8CD0-0x8D5F (Framebuffer object specification + headroom) + +#@@ separate extensions +VERSION_3_0 enum: +ARB_geometry_shader4 enum: (additional; see below; note: no ARB suffixes) +ARB_framebuffer_object enum: (note: no ARB suffixes) +EXT_framebuffer_object enum: (additional; see above) +	FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE		= 0x8CD0    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT		= 0x8CD0 +	FRAMEBUFFER_ATTACHMENT_OBJECT_NAME		= 0x8CD1    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT		= 0x8CD1 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL		= 0x8CD2    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT	= 0x8CD2 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE	= 0x8CD3    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER		= 0x8CD4    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT	= 0x8CD4 +	FRAMEBUFFER_COMPLETE				= 0x8CD5    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_COMPLETE_EXT			= 0x8CD5 +	FRAMEBUFFER_INCOMPLETE_ATTACHMENT		= 0x8CD6    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT		= 0x8CD6 +	FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT	= 0x8CD7    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT	= 0x8CD7 +## Removed 2005/09/26 in revision #117 of the extension: +##	  FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = 0x8CD8 +	FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT		= 0x8CD9 +	FRAMEBUFFER_INCOMPLETE_FORMATS_EXT		= 0x8CDA +	FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER		= 0x8CDB    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT		= 0x8CDB +	FRAMEBUFFER_INCOMPLETE_READ_BUFFER		= 0x8CDC    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT		= 0x8CDC +	FRAMEBUFFER_UNSUPPORTED				= 0x8CDD    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_UNSUPPORTED_EXT			= 0x8CDD +## Removed 2005/05/31 in revision #113 of the extension: +## FRAMEBUFFER_STATUS_ERROR_EXT			   = 0x8CDE +	MAX_COLOR_ATTACHMENTS				= 0x8CDF    # VERSION_3_0 / ARB_fbo +	MAX_COLOR_ATTACHMENTS_EXT			= 0x8CDF +	COLOR_ATTACHMENT0				= 0x8CE0    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT0_EXT				= 0x8CE0 +	COLOR_ATTACHMENT1				= 0x8CE1    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT1_EXT				= 0x8CE1 +	COLOR_ATTACHMENT2				= 0x8CE2    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT2_EXT				= 0x8CE2 +	COLOR_ATTACHMENT3				= 0x8CE3    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT3_EXT				= 0x8CE3 +	COLOR_ATTACHMENT4				= 0x8CE4    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT4_EXT				= 0x8CE4 +	COLOR_ATTACHMENT5				= 0x8CE5    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT5_EXT				= 0x8CE5 +	COLOR_ATTACHMENT6				= 0x8CE6    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT6_EXT				= 0x8CE6 +	COLOR_ATTACHMENT7				= 0x8CE7    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT7_EXT				= 0x8CE7 +	COLOR_ATTACHMENT8				= 0x8CE8    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT8_EXT				= 0x8CE8 +	COLOR_ATTACHMENT9				= 0x8CE9    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT9_EXT				= 0x8CE9 +	COLOR_ATTACHMENT10				= 0x8CEA    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT10_EXT				= 0x8CEA +	COLOR_ATTACHMENT11				= 0x8CEB    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT11_EXT				= 0x8CEB +	COLOR_ATTACHMENT12				= 0x8CEC    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT12_EXT				= 0x8CEC +	COLOR_ATTACHMENT13				= 0x8CED    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT13_EXT				= 0x8CED +	COLOR_ATTACHMENT14				= 0x8CEE    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT14_EXT				= 0x8CEE +	COLOR_ATTACHMENT15				= 0x8CEF    # VERSION_3_0 / ARB_fbo +	COLOR_ATTACHMENT15_EXT				= 0x8CEF +# 0x8CF0-0x8CFF reserved for color attachments 16-31, if needed +	DEPTH_ATTACHMENT				= 0x8D00    # VERSION_3_0 / ARB_fbo +	DEPTH_ATTACHMENT_EXT				= 0x8D00 +# 0x8D01-0x8D1F reserved for depth attachments 1-31, if needed +	STENCIL_ATTACHMENT				= 0x8D20    # VERSION_3_0 / ARB_fbo +	STENCIL_ATTACHMENT_EXT				= 0x8D20 +# 0x8D21-0x8D3F reserved for stencil attachments 1-31, if needed +	FRAMEBUFFER					= 0x8D40    # VERSION_3_0 / ARB_fbo +	FRAMEBUFFER_EXT					= 0x8D40 +	RENDERBUFFER					= 0x8D41    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_EXT				= 0x8D41 +	RENDERBUFFER_WIDTH				= 0x8D42    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_WIDTH_EXT				= 0x8D42 +	RENDERBUFFER_HEIGHT				= 0x8D43    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_HEIGHT_EXT				= 0x8D43 +	RENDERBUFFER_INTERNAL_FORMAT			= 0x8D44    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_INTERNAL_FORMAT_EXT		= 0x8D44 +# 0x8D45 unused (reserved for STENCIL_INDEX_EXT, but now use core STENCIL_INDEX instead) +	STENCIL_INDEX1					= 0x8D46    # VERSION_3_0 / ARB_fbo +	STENCIL_INDEX1_EXT				= 0x8D46 +	STENCIL_INDEX4					= 0x8D47    # VERSION_3_0 / ARB_fbo +	STENCIL_INDEX4_EXT				= 0x8D47 +	STENCIL_INDEX8					= 0x8D48    # VERSION_3_0 / ARB_fbo +	STENCIL_INDEX8_EXT				= 0x8D48 +	STENCIL_INDEX16					= 0x8D49    # VERSION_3_0 / ARB_fbo +	STENCIL_INDEX16_EXT				= 0x8D49 +# 0x8D4A-0x8D4D reserved for additional stencil formats +# Added 2005/05/31 in revision #113 of the extension: +	RENDERBUFFER_RED_SIZE				= 0x8D50    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_RED_SIZE_EXT			= 0x8D50 +	RENDERBUFFER_GREEN_SIZE				= 0x8D51    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_GREEN_SIZE_EXT			= 0x8D51 +	RENDERBUFFER_BLUE_SIZE				= 0x8D52    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_BLUE_SIZE_EXT			= 0x8D52 +	RENDERBUFFER_ALPHA_SIZE				= 0x8D53    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_ALPHA_SIZE_EXT			= 0x8D53 +	RENDERBUFFER_DEPTH_SIZE				= 0x8D54    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_DEPTH_SIZE_EXT			= 0x8D54 +	RENDERBUFFER_STENCIL_SIZE			= 0x8D55    # VERSION_3_0 / ARB_fbo +	RENDERBUFFER_STENCIL_SIZE_EXT			= 0x8D55 + +# Aliases EXT_framebuffer_object enum above +# @@@??? does this appear in OES_texture3D, or OES_framebuffer_object? +# extension spec & gl2ext.h disagree! +OES_texture3D enum: (OpenGL ES only; additional; see above) +	FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES	= 0x8CD4 + +# Aliases EXT_framebuffer_object enums above +OES_framebuffer_object enum: (OpenGL ES only; additional; see below) +	FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES		= 0x8CD0 +	FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES		= 0x8CD1 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES	= 0x8CD2 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES	= 0x8CD4 +	FRAMEBUFFER_COMPLETE_OES			= 0x8CD5 +	FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES		= 0x8CD6 +	FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES	= 0x8CD7 +	FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES		= 0x8CD9 +	FRAMEBUFFER_INCOMPLETE_FORMATS_OES		= 0x8CDA +	FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES		= 0x8CDB +	FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES		= 0x8CDC +	FRAMEBUFFER_UNSUPPORTED_OES			= 0x8CDD +	COLOR_ATTACHMENT0_OES				= 0x8CE0 +	DEPTH_ATTACHMENT_OES				= 0x8D00 +	STENCIL_ATTACHMENT_OES				= 0x8D20 +	FRAMEBUFFER_OES					= 0x8D40 +	RENDERBUFFER_OES				= 0x8D41 +	RENDERBUFFER_WIDTH_OES				= 0x8D42 +	RENDERBUFFER_HEIGHT_OES				= 0x8D43 +	RENDERBUFFER_INTERNAL_FORMAT_OES		= 0x8D44 +	STENCIL_INDEX1_OES				= 0x8D46 +	STENCIL_INDEX4_OES				= 0x8D47 +	STENCIL_INDEX8_OES				= 0x8D48 +	RENDERBUFFER_RED_SIZE_OES			= 0x8D50 +	RENDERBUFFER_GREEN_SIZE_OES			= 0x8D51 +	RENDERBUFFER_BLUE_SIZE_OES			= 0x8D52 +	RENDERBUFFER_ALPHA_SIZE_OES			= 0x8D53 +	RENDERBUFFER_DEPTH_SIZE_OES			= 0x8D54 +	RENDERBUFFER_STENCIL_SIZE_OES			= 0x8D55 + +OES_stencil1 enum: (OpenGL ES only; additional; see below) +	use OES_framebuffer_object STENCIL_INDEX1_OES + +OES_stencil4 enum: (OpenGL ES only; additional; see below) +	use OES_framebuffer_object STENCIL_INDEX4_OES + +OES_stencil8 enum: (OpenGL ES only; additional; see below) +	use OES_framebuffer_object STENCIL_INDEX8_OES + +VERSION_3_0 enum: +ARB_framebuffer_object enum: (note: no ARB suffixes) +# Added 2006/10/10 in revision #6b of the extension. +	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE		= 0x8D56    # VERSION_3_0 / ARB_fbo +	MAX_SAMPLES					= 0x8D57    # VERSION_3_0 / ARB_fbo + +EXT_framebuffer_multisample enum: (additional; see above) +	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT		= 0x8D56 +	MAX_SAMPLES_EXT					= 0x8D57 + +# 0x8D58-0x8D5F reserved for additional FBO enums + +NV_geometry_program4 enum: (additional; see above) +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT	= 0x8CD4 + +############################################################################### + +# Khronos OpenGL ES WG: 0x8D60-0x8D6F + +OES_texture_cube_map enum: (OpenGL ES only) +	TEXTURE_GEN_STR_OES				= 0x8D60 + +OES_texture_float enum: (OpenGL ES only) +	HALF_FLOAT_OES					= 0x8D61 + +OES_vertex_half_float enum: (OpenGL ES only) +	use OES_texture_float HALF_FLOAT_OES + +OES_framebuffer_object enum: (OpenGL ES only) +	RGB565_OES					= 0x8D62 + +# Khronos_future_use: 0x8D63 + +OES_compressed_ETC1_RGB8_texture enum: (OpenGL ES only) +	ETC1_RGB8_OES					= 0x8D64 + +OES_EGL_image_external enum: (OpenGL ES only) (Khronos bug 4621) +	TEXTURE_EXTERNAL_OES				= 0x8D65 +	SAMPLER_EXTERNAL_OES				= 0x8D66 +	TEXTURE_BINDING_EXTERNAL_OES			= 0x8D67 +	REQUIRED_TEXTURE_IMAGE_UNITS_OES		= 0x8D68 + +# Khronos_future_use: 0x8D69-0x8D6F + +############################################################################### + +# NVIDIA: 0x8D70-0x8DEF +# Reserved per email from Pat Brown 2005/10/13 + +#@@ separate extensions +VERSION_3_0 enum: +EXT_texture_integer enum: +	RGBA32UI					= 0x8D70    # VERSION_3_0 +	RGBA32UI_EXT					= 0x8D70 +	RGB32UI						= 0x8D71    # VERSION_3_0 +	RGB32UI_EXT					= 0x8D71 +	ALPHA32UI_EXT					= 0x8D72 +	INTENSITY32UI_EXT				= 0x8D73 +	LUMINANCE32UI_EXT				= 0x8D74 +	LUMINANCE_ALPHA32UI_EXT				= 0x8D75 +	RGBA16UI					= 0x8D76    # VERSION_3_0 +	RGBA16UI_EXT					= 0x8D76 +	RGB16UI						= 0x8D77    # VERSION_3_0 +	RGB16UI_EXT					= 0x8D77 +	ALPHA16UI_EXT					= 0x8D78 +	INTENSITY16UI_EXT				= 0x8D79 +	LUMINANCE16UI_EXT				= 0x8D7A +	LUMINANCE_ALPHA16UI_EXT				= 0x8D7B +	RGBA8UI						= 0x8D7C    # VERSION_3_0 +	RGBA8UI_EXT					= 0x8D7C +	RGB8UI						= 0x8D7D    # VERSION_3_0 +	RGB8UI_EXT					= 0x8D7D +	ALPHA8UI_EXT					= 0x8D7E +	INTENSITY8UI_EXT				= 0x8D7F +	LUMINANCE8UI_EXT				= 0x8D80 +	LUMINANCE_ALPHA8UI_EXT				= 0x8D81 +	RGBA32I						= 0x8D82    # VERSION_3_0 +	RGBA32I_EXT					= 0x8D82 +	RGB32I						= 0x8D83    # VERSION_3_0 +	RGB32I_EXT					= 0x8D83 +	ALPHA32I_EXT					= 0x8D84 +	INTENSITY32I_EXT				= 0x8D85 +	LUMINANCE32I_EXT				= 0x8D86 +	LUMINANCE_ALPHA32I_EXT				= 0x8D87 +	RGBA16I						= 0x8D88    # VERSION_3_0 +	RGBA16I_EXT					= 0x8D88 +	RGB16I						= 0x8D89    # VERSION_3_0 +	RGB16I_EXT					= 0x8D89 +	ALPHA16I_EXT					= 0x8D8A +	INTENSITY16I_EXT				= 0x8D8B +	LUMINANCE16I_EXT				= 0x8D8C +	LUMINANCE_ALPHA16I_EXT				= 0x8D8D +	RGBA8I						= 0x8D8E    # VERSION_3_0 +	RGBA8I_EXT					= 0x8D8E +	RGB8I						= 0x8D8F    # VERSION_3_0 +	RGB8I_EXT					= 0x8D8F +	ALPHA8I_EXT					= 0x8D90 +	INTENSITY8I_EXT					= 0x8D91 +	LUMINANCE8I_EXT					= 0x8D92 +	LUMINANCE_ALPHA8I_EXT				= 0x8D93 +	RED_INTEGER					= 0x8D94    # VERSION_3_0 +	RED_INTEGER_EXT					= 0x8D94 +	GREEN_INTEGER					= 0x8D95    # VERSION_3_0 +	GREEN_INTEGER_EXT				= 0x8D95 +	BLUE_INTEGER					= 0x8D96    # VERSION_3_0 +	BLUE_INTEGER_EXT				= 0x8D96 +	ALPHA_INTEGER					= 0x8D97    # VERSION_3_0 +	ALPHA_INTEGER_EXT				= 0x8D97 +	RGB_INTEGER					= 0x8D98    # VERSION_3_0 +	RGB_INTEGER_EXT					= 0x8D98 +	RGBA_INTEGER					= 0x8D99    # VERSION_3_0 +	RGBA_INTEGER_EXT				= 0x8D99 +	BGR_INTEGER					= 0x8D9A    # VERSION_3_0 +	BGR_INTEGER_EXT					= 0x8D9A +	BGRA_INTEGER					= 0x8D9B    # VERSION_3_0 +	BGRA_INTEGER_EXT				= 0x8D9B +	LUMINANCE_INTEGER_EXT				= 0x8D9C +	LUMINANCE_ALPHA_INTEGER_EXT			= 0x8D9D +	RGBA_INTEGER_MODE_EXT				= 0x8D9E + +# NV_future_use: 0x8D9F + +NV_parameter_buffer_object enum: +	MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV	= 0x8DA0 +	MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV		= 0x8DA1 +	VERTEX_PROGRAM_PARAMETER_BUFFER_NV		= 0x8DA2 +	GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV		= 0x8DA3 +	FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV		= 0x8DA4 + +NV_gpu_program4 enum: (additional; see above) +	MAX_PROGRAM_GENERIC_ATTRIBS_NV			= 0x8DA5 +	MAX_PROGRAM_GENERIC_RESULTS_NV			= 0x8DA6 + +VERSION_3_2 enum: +	FRAMEBUFFER_ATTACHMENT_LAYERED			= 0x8DA7 +	FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS		= 0x8DA8 + +ARB_geometry_shader4 enum: (additional; see below) +	FRAMEBUFFER_ATTACHMENT_LAYERED_ARB		= 0x8DA7 +	FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB	= 0x8DA8 +	FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB		= 0x8DA9 + +NV_geometry_program4 enum: (additional; see above) +	FRAMEBUFFER_ATTACHMENT_LAYERED_EXT		= 0x8DA7 +	FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT	= 0x8DA8 +	FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT		= 0x8DA9 + +# NV_future_use: 0x8DAA + +VERSION_3_0 enum: +ARB_depth_buffer_float enum: (additional; see above; some values different from NV; note: no ARB suffixes) +	FLOAT_32_UNSIGNED_INT_24_8_REV			= 0x8DAD + +NV_depth_buffer_float enum: +	DEPTH_COMPONENT32F_NV				= 0x8DAB +	DEPTH32F_STENCIL8_NV				= 0x8DAC +	FLOAT_32_UNSIGNED_INT_24_8_REV_NV		= 0x8DAD +	DEPTH_BUFFER_FLOAT_MODE_NV			= 0x8DAF + +# NV_future_use: 0x8DAE +# NV_future_use: 0x8DB0-0x8DB8 + +VERSION_3_0 enum: +ARB_framebuffer_sRGB enum: (note: no ARB suffixes) +	FRAMEBUFFER_SRGB				= 0x8DB9    # VERSION_3_0 / ARB_sRGB + +EXT_framebuffer_sRGB enum: +	FRAMEBUFFER_SRGB_EXT				= 0x8DB9 +	FRAMEBUFFER_SRGB_CAPABLE_EXT			= 0x8DBA + +VERSION_3_0 enum: +ARB_texture_compression_rgtc enum: (note: no ARB suffixes) +	COMPRESSED_RED_RGTC1				= 0x8DBB    # VERSION_3_0 / ARB_tcrgtc +	COMPRESSED_SIGNED_RED_RGTC1			= 0x8DBC    # VERSION_3_0 / ARB_tcrgtc +	COMPRESSED_RG_RGTC2				= 0x8DBD    # VERSION_3_0 / ARB_tcrgtc +	COMPRESSED_SIGNED_RG_RGTC2			= 0x8DBE    # VERSION_3_0 / ARB_tcrgtc + +EXT_texture_compression_rgtc enum: +	COMPRESSED_RED_RGTC1_EXT			= 0x8DBB +	COMPRESSED_SIGNED_RED_RGTC1_EXT			= 0x8DBC +	COMPRESSED_RED_GREEN_RGTC2_EXT			= 0x8DBD +	COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT		= 0x8DBE + +# NV_future_use: 0x8DBF + +VERSION_3_0 enum: +	SAMPLER_1D_ARRAY				= 0x8DC0    # VERSION_3_0 +	SAMPLER_2D_ARRAY				= 0x8DC1    # VERSION_3_0 +	SAMPLER_1D_ARRAY_SHADOW				= 0x8DC3    # VERSION_3_0 +	SAMPLER_2D_ARRAY_SHADOW				= 0x8DC4    # VERSION_3_0 +	SAMPLER_CUBE_SHADOW				= 0x8DC5    # VERSION_3_0 +	UNSIGNED_INT_VEC2				= 0x8DC6    # VERSION_3_0 +	UNSIGNED_INT_VEC3				= 0x8DC7    # VERSION_3_0 +	UNSIGNED_INT_VEC4				= 0x8DC8    # VERSION_3_0 +	INT_SAMPLER_1D					= 0x8DC9    # VERSION_3_0 +	INT_SAMPLER_2D					= 0x8DCA    # VERSION_3_0 +	INT_SAMPLER_3D					= 0x8DCB    # VERSION_3_0 +	INT_SAMPLER_CUBE				= 0x8DCC    # VERSION_3_0 +	INT_SAMPLER_1D_ARRAY				= 0x8DCE    # VERSION_3_0 +	INT_SAMPLER_2D_ARRAY				= 0x8DCF    # VERSION_3_0 +	UNSIGNED_INT_SAMPLER_1D				= 0x8DD1    # VERSION_3_0 +	UNSIGNED_INT_SAMPLER_2D				= 0x8DD2    # VERSION_3_0 +	UNSIGNED_INT_SAMPLER_3D				= 0x8DD3    # VERSION_3_0 +	UNSIGNED_INT_SAMPLER_CUBE			= 0x8DD4    # VERSION_3_0 +	UNSIGNED_INT_SAMPLER_1D_ARRAY			= 0x8DD6    # VERSION_3_0 +	UNSIGNED_INT_SAMPLER_2D_ARRAY			= 0x8DD7    # VERSION_3_0 + +VERSION_3_1 enum: (Promoted from EXT_gpu_shader4 + ARB_texture_rectangle / ARB_uniform_buffer_object) +	SAMPLER_BUFFER					= 0x8DC2    # EXT_gpu_shader4 + ARB_texture_buffer_object +	INT_SAMPLER_2D_RECT				= 0x8DCD    # EXT_gpu_shader4 + ARB_texture_rectangle +	INT_SAMPLER_BUFFER				= 0x8DD0    # EXT_gpu_shader4 + ARB_texture_buffer_object +	UNSIGNED_INT_SAMPLER_2D_RECT			= 0x8DD5    # EXT_gpu_shader4 + ARB_texture_rectangle +	UNSIGNED_INT_SAMPLER_BUFFER			= 0x8DD8    # EXT_gpu_shader4 + ARB_texture_buffer_object + +EXT_gpu_shader4 enum: +	SAMPLER_1D_ARRAY_EXT				= 0x8DC0 +	SAMPLER_2D_ARRAY_EXT				= 0x8DC1 +	SAMPLER_BUFFER_EXT				= 0x8DC2 +	SAMPLER_1D_ARRAY_SHADOW_EXT			= 0x8DC3 +	SAMPLER_2D_ARRAY_SHADOW_EXT			= 0x8DC4 +	SAMPLER_CUBE_SHADOW_EXT				= 0x8DC5 +	UNSIGNED_INT_VEC2_EXT				= 0x8DC6 +	UNSIGNED_INT_VEC3_EXT				= 0x8DC7 +	UNSIGNED_INT_VEC4_EXT				= 0x8DC8 +	INT_SAMPLER_1D_EXT				= 0x8DC9 +	INT_SAMPLER_2D_EXT				= 0x8DCA +	INT_SAMPLER_3D_EXT				= 0x8DCB +	INT_SAMPLER_CUBE_EXT				= 0x8DCC +	INT_SAMPLER_2D_RECT_EXT				= 0x8DCD +	INT_SAMPLER_1D_ARRAY_EXT			= 0x8DCE +	INT_SAMPLER_2D_ARRAY_EXT			= 0x8DCF +	INT_SAMPLER_BUFFER_EXT				= 0x8DD0 +	UNSIGNED_INT_SAMPLER_1D_EXT			= 0x8DD1 +	UNSIGNED_INT_SAMPLER_2D_EXT			= 0x8DD2 +	UNSIGNED_INT_SAMPLER_3D_EXT			= 0x8DD3 +	UNSIGNED_INT_SAMPLER_CUBE_EXT			= 0x8DD4 +	UNSIGNED_INT_SAMPLER_2D_RECT_EXT		= 0x8DD5 +	UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT		= 0x8DD6 +	UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT		= 0x8DD7 +	UNSIGNED_INT_SAMPLER_BUFFER_EXT			= 0x8DD8 + +VERSION_3_2 enum: +	GEOMETRY_SHADER					= 0x8DD9 + +ARB_geometry_shader4 enum: +	GEOMETRY_SHADER_ARB				= 0x8DD9 + +EXT_geometry_shader4 enum: +	GEOMETRY_SHADER_EXT				= 0x8DD9 + +ARB_geometry_shader4 enum: (additional; see above) +	GEOMETRY_VERTICES_OUT_ARB			= 0x8DDA +	GEOMETRY_INPUT_TYPE_ARB				= 0x8DDB +	GEOMETRY_OUTPUT_TYPE_ARB			= 0x8DDC + +NV_geometry_program4 enum: (additional; see above) +	GEOMETRY_VERTICES_OUT_EXT			= 0x8DDA +	GEOMETRY_INPUT_TYPE_EXT				= 0x8DDB +	GEOMETRY_OUTPUT_TYPE_EXT			= 0x8DDC + +ARB_geometry_shader4 enum: (additional; see above) +	MAX_GEOMETRY_VARYING_COMPONENTS_ARB		= 0x8DDD +	MAX_VERTEX_VARYING_COMPONENTS_ARB		= 0x8DDE +	MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB		= 0x8DDF +	MAX_GEOMETRY_OUTPUT_VERTICES_ARB		= 0x8DE0 +	MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB	= 0x8DE1 + +VERSION_3_2 enum: +	MAX_GEOMETRY_UNIFORM_COMPONENTS			= 0x8DDF +	MAX_GEOMETRY_OUTPUT_VERTICES			= 0x8DE0 +	MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS		= 0x8DE1 + +EXT_geometry_shader4 enum: (additional; see above) +	MAX_GEOMETRY_VARYING_COMPONENTS_EXT		= 0x8DDD +	MAX_VERTEX_VARYING_COMPONENTS_EXT		= 0x8DDE +	MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT		= 0x8DDF +	MAX_GEOMETRY_OUTPUT_VERTICES_EXT		= 0x8DE0 +	MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT	= 0x8DE1 + +EXT_bindable_uniform enum: +	MAX_VERTEX_BINDABLE_UNIFORMS_EXT		= 0x8DE2 +	MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT		= 0x8DE3 +	MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT		= 0x8DE4 + +# NV_future_use: 0x8DE5-0x8DEC + +EXT_bindable_uniform enum: (additional; see above) +	MAX_BINDABLE_UNIFORM_SIZE_EXT			= 0x8DED +	UNIFORM_BUFFER_EXT				= 0x8DEE +	UNIFORM_BUFFER_BINDING_EXT			= 0x8DEF + +############################################################################### + +# Khronos OpenGL ES WG: 0x8DF0-0x8E0F + +# Khronos_future_use: 0x8DF0-0x8DF5 + +OES_vertex_type_10_10_10_2 enum: (OpenGL ES only) +	UNSIGNED_INT_10_10_10_2_OES			= 0x8DF6 +	INT_10_10_10_2_OES				= 0x8DF7 + +# Khronos_future_use: 0x8DF8-0x8E0F + +############################################################################### + +# NVIDIA: 0x8E10-0x8E8F +# Reserved per email from Michael Gold 2006/8/7 + +NV_framebuffer_multisample_coverage enum: +	RENDERBUFFER_COLOR_SAMPLES_NV			= 0x8E10 +	MAX_MULTISAMPLE_COVERAGE_MODES_NV		= 0x8E11 +	MULTISAMPLE_COVERAGE_MODES_NV			= 0x8E12 + +VERSION_3_0 enum: +	QUERY_WAIT					= 0x8E13    # VERSION_3_0 +	QUERY_NO_WAIT					= 0x8E14    # VERSION_3_0 +	QUERY_BY_REGION_WAIT				= 0x8E15    # VERSION_3_0 +	QUERY_BY_REGION_NO_WAIT				= 0x8E16    # VERSION_3_0 + +GL_NV_conditional_render enum: +	QUERY_WAIT_NV					= 0x8E13 +	QUERY_NO_WAIT_NV				= 0x8E14 +	QUERY_BY_REGION_WAIT_NV				= 0x8E15 +	QUERY_BY_REGION_NO_WAIT_NV			= 0x8E16 + +# NV_future_use: 0x8E17-0x8E21 + +NV_transform_feedback2 enum: +      TRANSFORM_FEEDBACK_NV				= 0x8E22 +      TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV		= 0x8E23 +      TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV		= 0x8E24 +      TRANSFORM_FEEDBACK_BINDING_NV			= 0x8E25 + +NV_present_video enum: +	FRAME_NV					= 0x8E26 +	FIELDS_NV					= 0x8E27 +	CURRENT_TIME_NV					= 0x8E28 +	NUM_FILL_STREAMS_NV				= 0x8E29 +	PRESENT_TIME_NV					= 0x8E2A +	PRESENT_DURATION_NV				= 0x8E2B + +NV_depth_nonlinear enum: (OpenGL ES only) +	DEPTH_COMPONENT16_NONLINEAR_NV			= 0x8E2C + +EXT_direct_state_access enum: +	PROGRAM_MATRIX_EXT				= 0x8E2D +	TRANSPOSE_PROGRAM_MATRIX_EXT			= 0x8E2E +	PROGRAM_MATRIX_STACK_DEPTH_EXT			= 0x8E2F + +# NV_future_use: 0x8E30-0x8E41 + +EXT_texture_swizzle enum: +	TEXTURE_SWIZZLE_R_EXT				= 0x8E42 +	TEXTURE_SWIZZLE_G_EXT				= 0x8E43 +	TEXTURE_SWIZZLE_B_EXT				= 0x8E44 +	TEXTURE_SWIZZLE_A_EXT				= 0x8E45 +	TEXTURE_SWIZZLE_RGBA_EXT			= 0x8E46 + +# NV_future_use: 0x8E47-0x8E4B + +VERSION_3_2 enum: +	use ARB_provoking_vertex	    QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION +	use ARB_provoking_vertex	    FIRST_VERTEX_CONVENTION +	use ARB_provoking_vertex	    LAST_VERTEX_CONVENTION +	use ARB_provoking_vertex	    PROVOKING_VERTEX + +ARB_provoking_vertex enum: +	QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION	= 0x8E4C +	FIRST_VERTEX_CONVENTION				= 0x8E4D +	LAST_VERTEX_CONVENTION				= 0x8E4E +	PROVOKING_VERTEX				= 0x8E4F + +EXT_provoking_vertex enum: +	QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT	= 0x8E4C +	FIRST_VERTEX_CONVENTION_EXT			= 0x8E4D +	LAST_VERTEX_CONVENTION_EXT			= 0x8E4E +	PROVOKING_VERTEX_EXT				= 0x8E4F + +VERSION_3_2 enum: +	use ARB_texture_multisample	    SAMPLE_POSITION +	use ARB_texture_multisample	    SAMPLE_MASK +	use ARB_texture_multisample	    SAMPLE_MASK_VALUE +	use ARB_texture_multisample	    MAX_SAMPLE_MASK_WORDS + +ARB_texture_multisample enum: +	SAMPLE_POSITION					= 0x8E50 +	SAMPLE_MASK					= 0x8E51 +	SAMPLE_MASK_VALUE				= 0x8E52 +	MAX_SAMPLE_MASK_WORDS				= 0x8E59 + +NV_explicit_multisample enum: +	SAMPLE_POSITION_NV				= 0x8E50 +	SAMPLE_MASK_NV					= 0x8E51 +	SAMPLE_MASK_VALUE_NV				= 0x8E52 +	TEXTURE_BINDING_RENDERBUFFER_NV			= 0x8E53 +	TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV	= 0x8E54 +	TEXTURE_RENDERBUFFER_NV				= 0x8E55 +	SAMPLER_RENDERBUFFER_NV				= 0x8E56 +	INT_SAMPLER_RENDERBUFFER_NV			= 0x8E57 +	UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV		= 0x8E58 +	MAX_SAMPLE_MASK_WORDS_NV			= 0x8E59 + +# NV_future_use: 0x8E5A-0x8E5D + +ARB_texture_gather enum: +	MIN_PROGRAM_TEXTURE_GATHER_OFFSET		= 0x8E5E +	MAX_PROGRAM_TEXTURE_GATHER_OFFSET		= 0x8E5F + +# NV_future_use: 0x8E60-0x8E8F + +############################################################################### + +# QNX: 0x8E90-0x8E9F +# For GL_QNX_texture_tiling, GL_QNX_complex_polygon, GL_QNX_stippled_lines +# (Khronos bug 696) + +# QNX_future_use: 0x8E90-0x8E9F + +############################################################################### + +# Imagination Tech.: 0x8EA0-0x8EAF + +############################################################################### + +# Khronos OpenGL ES WG: 0x8EB0-0x8EBF +# Assigned for Affie Munshi on 2007/07/20 + +############################################################################### + +# Vincent: 0x8EC0-0x8ECF + +############################################################################### + +# NVIDIA: 0x8ED0-0x8F4F +# Assigned for Pat Brown (Khronos bug 3191) + +NV_coverage_sample enum: (OpenGL ES only) +	COVERAGE_COMPONENT_NV				= 0x8ED0 +	COVERAGE_COMPONENT4_NV				= 0x8ED1 +	COVERAGE_ATTACHMENT_NV				= 0x8ED2 +	COVERAGE_BUFFERS_NV				= 0x8ED3 +	COVERAGE_SAMPLES_NV				= 0x8ED4 +	COVERAGE_ALL_FRAGMENTS_NV			= 0x8ED5 +	COVERAGE_EDGE_FRAGMENTS_NV			= 0x8ED6 +	COVERAGE_AUTOMATIC_NV				= 0x8ED7 +	COVERAGE_BUFFER_BIT_NV				= 0x00008000 + +# NV_future_use: 0x8ED8-0x8F1C + +NV_shader_buffer_load enum: +	BUFFER_GPU_ADDRESS_NV				= 0x8F1D + +NV_vertex_buffer_unified_memory enum: +	VERTEX_ATTRIB_ARRAY_UNIFIED_NV			= 0x8F1E +	ELEMENT_ARRAY_UNIFIED_NV			= 0x8F1F +	VERTEX_ATTRIB_ARRAY_ADDRESS_NV			= 0x8F20 +	VERTEX_ARRAY_ADDRESS_NV				= 0x8F21 +	NORMAL_ARRAY_ADDRESS_NV				= 0x8F22 +	COLOR_ARRAY_ADDRESS_NV				= 0x8F23 +	INDEX_ARRAY_ADDRESS_NV				= 0x8F24 +	TEXTURE_COORD_ARRAY_ADDRESS_NV			= 0x8F25 +	EDGE_FLAG_ARRAY_ADDRESS_NV			= 0x8F26 +	SECONDARY_COLOR_ARRAY_ADDRESS_NV		= 0x8F27 +	FOG_COORD_ARRAY_ADDRESS_NV			= 0x8F28 +	ELEMENT_ARRAY_ADDRESS_NV			= 0x8F29 +	VERTEX_ATTRIB_ARRAY_LENGTH_NV			= 0x8F2A +	VERTEX_ARRAY_LENGTH_NV				= 0x8F2B +	NORMAL_ARRAY_LENGTH_NV				= 0x8F2C +	COLOR_ARRAY_LENGTH_NV				= 0x8F2D +	INDEX_ARRAY_LENGTH_NV				= 0x8F2E +	TEXTURE_COORD_ARRAY_LENGTH_NV			= 0x8F2F +	EDGE_FLAG_ARRAY_LENGTH_NV			= 0x8F30 +	SECONDARY_COLOR_ARRAY_LENGTH_NV			= 0x8F31 +	FOG_COORD_ARRAY_LENGTH_NV			= 0x8F32 +	ELEMENT_ARRAY_LENGTH_NV				= 0x8F33 + +NV_shader_buffer_load enum: (additional; see above) +	GPU_ADDRESS_NV					= 0x8F34 +	MAX_SHADER_BUFFER_ADDRESS_NV			= 0x8F35 + +ARB_copy_buffer enum: +	COPY_READ_BUFFER				= 0x8F36 +	COPY_WRITE_BUFFER				= 0x8F37 + +VERSION_3_1 enum: +	use ARB_copy_buffer		    COPY_READ_BUFFER +	use ARB_copy_buffer		    COPY_WRITE_BUFFER + +# NVIDIA_future_use: 0x8F38-0x8F4F + +############################################################################### + +# 3Dlabs: 0x8F50-0x8F5F +# Assigned for Jon Kennedy (Khronos public bug 75) + +############################################################################### + +# ARM: 0x8F60-0x8F6F +# Assigned for Remi Pedersen (Khronos bug 3745) + +############################################################################### + +# HI Corp: 0x8F70-0x8F7F +# Assigned for Mark Callow (Khronos bug 4055) + +############################################################################### + +# Zebra Imaging: 0x8F80-0x8F8F +# Assigned for Mike Weiblen (Khronos public bug 91) + +############################################################################### + +# OpenGL ARB: 0x8F90-0x8F9F (SNORM textures, 3.1 primitive restart server state) + +VERSION_3_1 enum: +	RED_SNORM					= 0x8F90    # VERSION_3_1 +	RG_SNORM					= 0x8F91    # VERSION_3_1 +	RGB_SNORM					= 0x8F92    # VERSION_3_1 +	RGBA_SNORM					= 0x8F93    # VERSION_3_1 +	R8_SNORM					= 0x8F94    # VERSION_3_1 +	RG8_SNORM					= 0x8F95    # VERSION_3_1 +	RGB8_SNORM					= 0x8F96    # VERSION_3_1 +	RGBA8_SNORM					= 0x8F97    # VERSION_3_1 +	R16_SNORM					= 0x8F98    # VERSION_3_1 +	RG16_SNORM					= 0x8F99    # VERSION_3_1 +	RGB16_SNORM					= 0x8F9A    # VERSION_3_1 +	RGBA16_SNORM					= 0x8F9B    # VERSION_3_1 +	SIGNED_NORMALIZED				= 0x8F9C    # VERSION_3_1 +	PRIMITIVE_RESTART				= 0x8F9D    # Different from NV_primitive_restart value +	PRIMITIVE_RESTART_INDEX				= 0x8F9E    # Different from NV_primitive_restart value + +ARB_texture_gather enum: (additional; see above) +	MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS		= 0x8F9F + +############################################################################### + +# Qualcomm: 0x8FA0-0x8FBF +# Assigned for Maurice Ribble (Khronos bug 4512) + +QCOM_driver_control enum: (OpenGL ES only) +	PERFMON_GLOBAL_MODE_QCOM			= 0x8FA0 + +# QCOM_future_use: 0x8FA1-0x8FBF + +############################################################################### + +# Vivante: 0x8FC0-0x8FDF +# Assigned for Frido Garritsen	(Khronos bug 4526) + +############################################################################### + +# NVIDIA: 0x8FE0-0x8FFF +# Assigned for Pat Brown (Khronos bug 4935) + +# NV_future_use: 0x8FE0-0x8FFF + +############################################################################### + +# AMD: 0x9000-0x901F +# Assigned for Bill Licea-Kane + +AMD_vertex_shader_tesselator enum: +	SAMPLER_BUFFER_AMD				= 0x9001 +	INT_SAMPLER_BUFFER_AMD				= 0x9002 +	UNSIGNED_INT_SAMPLER_BUFFER_AMD			= 0x9003 +	TESSELLATION_MODE_AMD				= 0x9004 +	TESSELLATION_FACTOR_AMD				= 0x9005 +	DISCRETE_AMD					= 0x9006 +	CONTINUOUS_AMD					= 0x9007 + +# AMD_future_use: 0x9008 + +ARB_texture_cube_map_array enum: +	TEXTURE_CUBE_MAP_ARRAY				= 0x9009 +	TEXTURE_BINDING_CUBE_MAP_ARRAY			= 0x900A +	PROXY_TEXTURE_CUBE_MAP_ARRAY			= 0x900B +	SAMPLER_CUBE_MAP_ARRAY				= 0x900C +	SAMPLER_CUBE_MAP_ARRAY_SHADOW			= 0x900D +	INT_SAMPLER_CUBE_MAP_ARRAY			= 0x900E +	UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY		= 0x900F + +EXT_texture_snorm enum: +	ALPHA_SNORM					= 0x9010 +	LUMINANCE_SNORM					= 0x9011 +	LUMINANCE_ALPHA_SNORM				= 0x9012 +	INTENSITY_SNORM					= 0x9013 +	ALPHA8_SNORM					= 0x9014 +	LUMINANCE8_SNORM				= 0x9015 +	LUMINANCE8_ALPHA8_SNORM				= 0x9016 +	INTENSITY8_SNORM				= 0x9017 +	ALPHA16_SNORM					= 0x9018 +	LUMINANCE16_SNORM				= 0x9019 +	LUMINANCE16_ALPHA16_SNORM			= 0x901A +	INTENSITY16_SNORM				= 0x901B + +# AMD_future_use: 0x901C-0x901F + +############################################################################### + +# NVIDIA: 0x9020-0x90FF +# Assigned for Pat Brown (Khronos bug 4935) + +NV_video_capture enum: +	  VIDEO_BUFFER_NV				  = 0x9020 +	  VIDEO_BUFFER_BINDING_NV			  = 0x9021 +	  FIELD_UPPER_NV				  = 0x9022 +	  FIELD_LOWER_NV				  = 0x9023 +	  NUM_VIDEO_CAPTURE_STREAMS_NV			  = 0x9024 +	  NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV		  = 0x9025 +	  VIDEO_CAPTURE_TO_422_SUPPORTED_NV		  = 0x9026 +	  LAST_VIDEO_CAPTURE_STATUS_NV			  = 0x9027 +	  VIDEO_BUFFER_PITCH_NV				  = 0x9028 +	  VIDEO_COLOR_CONVERSION_MATRIX_NV		  = 0x9029 +	  VIDEO_COLOR_CONVERSION_MAX_NV			  = 0x902A +	  VIDEO_COLOR_CONVERSION_MIN_NV			  = 0x902B +	  VIDEO_COLOR_CONVERSION_OFFSET_NV		  = 0x902C +	  VIDEO_BUFFER_INTERNAL_FORMAT_NV		  = 0x902D +	  PARTIAL_SUCCESS_NV				  = 0x902E +	  SUCCESS_NV					  = 0x902F +	  FAILURE_NV					  = 0x9030 +	  YCBYCR8_422_NV				  = 0x9031 +	  YCBAYCR8A_4224_NV				  = 0x9032 +	  Z6Y10Z6CB10Z6Y10Z6CR10_422_NV			  = 0x9033 +	  Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV	  = 0x9034 +	  Z4Y12Z4CB12Z4Y12Z4CR12_422_NV			  = 0x9035 +	  Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV	  = 0x9036 +	  Z4Y12Z4CB12Z4CR12_444_NV			  = 0x9037 +	  VIDEO_CAPTURE_FRAME_WIDTH_NV			  = 0x9038 +	  VIDEO_CAPTURE_FRAME_HEIGHT_NV			  = 0x9039 +	  VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV		  = 0x903A +	  VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV		  = 0x903B +	  VIDEO_CAPTURE_SURFACE_ORIGIN_NV		  = 0x903C + +# NV_future_use: 0x903D-0x90FF + +############################################################################### + +# OpenGL ARB: 0x9100-0x912F + +VERSION_3_2 enum: +	use ARB_texture_multisample	    TEXTURE_2D_MULTISAMPLE +	use ARB_texture_multisample	    PROXY_TEXTURE_2D_MULTISAMPLE +	use ARB_texture_multisample	    TEXTURE_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    TEXTURE_BINDING_2D_MULTISAMPLE +	use ARB_texture_multisample	    TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    TEXTURE_SAMPLES +	use ARB_texture_multisample	    TEXTURE_FIXED_SAMPLE_LOCATIONS +	use ARB_texture_multisample	    SAMPLER_2D_MULTISAMPLE +	use ARB_texture_multisample	    INT_SAMPLER_2D_MULTISAMPLE +	use ARB_texture_multisample	    UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE +	use ARB_texture_multisample	    SAMPLER_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    INT_SAMPLER_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    MAX_COLOR_TEXTURE_SAMPLES +	use ARB_texture_multisample	    MAX_DEPTH_TEXTURE_SAMPLES +	use ARB_texture_multisample	    MAX_INTEGER_SAMPLES + +ARB_texture_multisample enum: +	TEXTURE_2D_MULTISAMPLE				= 0x9100 +	PROXY_TEXTURE_2D_MULTISAMPLE			= 0x9101 +	TEXTURE_2D_MULTISAMPLE_ARRAY			= 0x9102 +	PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY		= 0x9103 +	TEXTURE_BINDING_2D_MULTISAMPLE			= 0x9104 +	TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY		= 0x9105 +	TEXTURE_SAMPLES					= 0x9106 +	TEXTURE_FIXED_SAMPLE_LOCATIONS			= 0x9107 +	SAMPLER_2D_MULTISAMPLE				= 0x9108 +	INT_SAMPLER_2D_MULTISAMPLE			= 0x9109 +	UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE		= 0x910A +	SAMPLER_2D_MULTISAMPLE_ARRAY			= 0x910B +	INT_SAMPLER_2D_MULTISAMPLE_ARRAY		= 0x910C +	UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY	= 0x910D +	MAX_COLOR_TEXTURE_SAMPLES			= 0x910E +	MAX_DEPTH_TEXTURE_SAMPLES			= 0x910F +	MAX_INTEGER_SAMPLES				= 0x9110 + +VERSION_3_2 enum: +	use ARB_sync			    MAX_SERVER_WAIT_TIMEOUT +	use ARB_sync			    OBJECT_TYPE +	use ARB_sync			    SYNC_CONDITION +	use ARB_sync			    SYNC_STATUS +	use ARB_sync			    SYNC_FLAGS +	use ARB_sync			    SYNC_FENCE +	use ARB_sync			    SYNC_GPU_COMMANDS_COMPLETE +	use ARB_sync			    UNSIGNALED +	use ARB_sync			    SIGNALED +	use ARB_sync			    ALREADY_SIGNALED +	use ARB_sync			    TIMEOUT_EXPIRED +	use ARB_sync			    CONDITION_SATISFIED +	use ARB_sync			    WAIT_FAILED +	use ARB_sync			    TIMEOUT_IGNORED +	use ARB_sync			    SYNC_FLUSH_COMMANDS_BIT +	use ARB_sync			    TIMEOUT_IGNORED + +ARB_sync enum: +	MAX_SERVER_WAIT_TIMEOUT				= 0x9111 +	OBJECT_TYPE					= 0x9112 +	SYNC_CONDITION					= 0x9113 +	SYNC_STATUS					= 0x9114 +	SYNC_FLAGS					= 0x9115 +	SYNC_FENCE					= 0x9116 +	SYNC_GPU_COMMANDS_COMPLETE			= 0x9117 +	UNSIGNALED					= 0x9118 +	SIGNALED					= 0x9119 +	ALREADY_SIGNALED				= 0x911A +	TIMEOUT_EXPIRED					= 0x911B +	CONDITION_SATISFIED				= 0x911C +	WAIT_FAILED					= 0x911D +	SYNC_FLUSH_COMMANDS_BIT				= 0x00000001 +	TIMEOUT_IGNORED					= 0xFFFFFFFFFFFFFFFFull + +VERSION_3_0 enum: +	BUFFER_ACCESS_FLAGS				= 0x911F +	BUFFER_MAP_LENGTH				= 0x9120 +	BUFFER_MAP_OFFSET				= 0x9121 + +VERSION_3_2 enum: +	MAX_VERTEX_OUTPUT_COMPONENTS			= 0x9122 +	MAX_GEOMETRY_INPUT_COMPONENTS			= 0x9123 +	MAX_GEOMETRY_OUTPUT_COMPONENTS			= 0x9124 +	MAX_FRAGMENT_INPUT_COMPONENTS			= 0x9125 + +VERSION_3_2 enum: +	CONTEXT_CORE_PROFILE_BIT			= 0x00000001 +	CONTEXT_COMPATIBILITY_PROFILE_BIT		= 0x00000002 +	CONTEXT_PROFILE_MASK				= 0x9126 + +# ARB_future_use: 0x9127-0x912F + +############################################################################### + +# Imagination Tech.: 0x9130-0x913F (Khronos bug 882) + +IMG_program_binary enum: (OpenGL ES only) +	SGX_PROGRAM_BINARY_IMG				= 0x9130 + +# IMG_future_use: 0x9131-0x9132 + +IMG_multisampled_render_to_texture enum: (OpenGL ES only) +	RENDERBUFFER_SAMPLES_IMG			= 0x9133 +	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG		= 0x9134 +	MAX_SAMPLES_IMG					= 0x9135 +	TEXTURE_SAMPLES_IMG				= 0x9136 + +# IMG_future_use: 0x9137-0x913F + +############################################################################### + +# AMD: 0x9140-0x91BF (Khronos bugs 5899, 6004) + +# AMD_future_use: 0x9140-0x91BF +# AMD_future_use: 0x91C0-0x923F + +############################################################################### +### Please remember that new enumerant allocations must be obtained by request +### to the Khronos API registrar (see comments at the top of this file) +### File requests in the Khronos Bugzilla, OpenGL project, Registry component. +############################################################################### + +# Any_vendor_future_use: 0x9140-0xFFFF +# +#   This range must be the last range in the file.  To generate a new +#   range, allocate multiples of 16 from the beginning of the +#   Any_vendor_future_use range and update enum.spec + +# (NOTE: first fill the gap from 0x8FE0-0x8FFF before proceeding here) + +############################################################################### + +# ARB:	  100000-100999 (GLU enumerants only) +# ARB:	  101000-101999 (Conformance tests only) + +############################################################################### + +# IBM:	  103000-103999 +#	CULL_VERTEX_IBM					= 103050 +#	VERTEX_ARRAY_LIST_IBM				= 103070 +#	NORMAL_ARRAY_LIST_IBM				= 103071 +#	COLOR_ARRAY_LIST_IBM				= 103072 +#	INDEX_ARRAY_LIST_IBM				= 103073 +#	TEXTURE_COORD_ARRAY_LIST_IBM			= 103074 +#	EDGE_FLAG_ARRAY_LIST_IBM			= 103075 +#	FOG_COORDINATE_ARRAY_LIST_IBM			= 103076 +#	SECONDARY_COLOR_ARRAY_LIST_IBM			= 103077 +#	VERTEX_ARRAY_LIST_STRIDE_IBM			= 103080 +#	NORMAL_ARRAY_LIST_STRIDE_IBM			= 103081 +#	COLOR_ARRAY_LIST_STRIDE_IBM			= 103082 +#	INDEX_ARRAY_LIST_STRIDE_IBM			= 103083 +#	TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM		= 103084 +#	EDGE_FLAG_ARRAY_LIST_STRIDE_IBM			= 103085 +#	FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM		= 103086 +#	SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM		= 103087 + +############################################################################### + +# NEC:	  104000-104999 +# Compaq: 105000-105999 (Compaq was acquired by HP) +# KPC:	  106000-106999 (Kubota is out of business) +# PGI:	  107000-107999 (Portable was acquired by Template Graphics) +# E&S:	  108000-108999 + +############################################################################### diff --git a/src/glx/apple/specs/enumext.spec b/src/glx/apple/specs/enumext.spec new file mode 100644 index 0000000000..6302ed446f --- /dev/null +++ b/src/glx/apple/specs/enumext.spec @@ -0,0 +1,6542 @@ +# enumext.spec - list of GL enumerants for glext.h header +# +# $Revision: 10971 $ on $Date: 2010-04-09 02:45:33 -0700 (Fri, 09 Apr 2010) $ + +# This is derived from the master GL enumerant registry (enum.spec). +# +# Unlike enum.spec, enumext.spec is +#   (1) Grouped by GL core version or extension number +#   (2) While it includes all extension and core enumerants, the +#	generator scripts for glext.h leave out VERSION_1_1 +#	tokens since it's assumed all <gl.h> today support at least +#	OpenGL 1.1 +#   (3) Has no 'Extensions' section, since enums are always +#	conditionally protected against multiple definition +#	by glextenum.pl. +#   (4) Is processed by glextenum.pl, which has evolved +#	from enum.pl - should merge back into one script. + +# The release number encoded into glext.h is now defined in +# glextrelease.txt. + +############################################################################### +# +# OpenGL 1.0/1.1 enums (there is no VERSION_1_0 token) +# +############################################################################### + +VERSION_1_1 enum: +passthru: /* AttribMask */ +	DEPTH_BUFFER_BIT				= 0x00000100	# AttribMask +	STENCIL_BUFFER_BIT				= 0x00000400	# AttribMask +	COLOR_BUFFER_BIT				= 0x00004000	# AttribMask +passthru: /* Boolean */ +	FALSE						= 0		# Boolean +	TRUE						= 1		# Boolean +passthru: /* BeginMode */ +	POINTS						= 0x0000	# BeginMode +	LINES						= 0x0001	# BeginMode +	LINE_LOOP					= 0x0002	# BeginMode +	LINE_STRIP					= 0x0003	# BeginMode +	TRIANGLES					= 0x0004	# BeginMode +	TRIANGLE_STRIP					= 0x0005	# BeginMode +	TRIANGLE_FAN					= 0x0006	# BeginMode +passthru: /* AlphaFunction */ +	NEVER						= 0x0200	# AlphaFunction +	LESS						= 0x0201	# AlphaFunction +	EQUAL						= 0x0202	# AlphaFunction +	LEQUAL						= 0x0203	# AlphaFunction +	GREATER						= 0x0204	# AlphaFunction +	NOTEQUAL					= 0x0205	# AlphaFunction +	GEQUAL						= 0x0206	# AlphaFunction +	ALWAYS						= 0x0207	# AlphaFunction +passthru: /* BlendingFactorDest */ +	ZERO						= 0		# BlendingFactorDest +	ONE						= 1		# BlendingFactorDest +	SRC_COLOR					= 0x0300	# BlendingFactorDest +	ONE_MINUS_SRC_COLOR				= 0x0301	# BlendingFactorDest +	SRC_ALPHA					= 0x0302	# BlendingFactorDest +	ONE_MINUS_SRC_ALPHA				= 0x0303	# BlendingFactorDest +	DST_ALPHA					= 0x0304	# BlendingFactorDest +	ONE_MINUS_DST_ALPHA				= 0x0305	# BlendingFactorDest +passthru: /* BlendingFactorSrc */ +	DST_COLOR					= 0x0306	# BlendingFactorSrc +	ONE_MINUS_DST_COLOR				= 0x0307	# BlendingFactorSrc +	SRC_ALPHA_SATURATE				= 0x0308	# BlendingFactorSrc +passthru: /* DrawBufferMode */ +	NONE						= 0		# DrawBufferMode +	FRONT_LEFT					= 0x0400	# DrawBufferMode +	FRONT_RIGHT					= 0x0401	# DrawBufferMode +	BACK_LEFT					= 0x0402	# DrawBufferMode +	BACK_RIGHT					= 0x0403	# DrawBufferMode +	FRONT						= 0x0404	# DrawBufferMode +	BACK						= 0x0405	# DrawBufferMode +	LEFT						= 0x0406	# DrawBufferMode +	RIGHT						= 0x0407	# DrawBufferMode +	FRONT_AND_BACK					= 0x0408	# DrawBufferMode +passthru: /* ErrorCode */ +	NO_ERROR					= 0		# ErrorCode +	INVALID_ENUM					= 0x0500	# ErrorCode +	INVALID_VALUE					= 0x0501	# ErrorCode +	INVALID_OPERATION				= 0x0502	# ErrorCode +	OUT_OF_MEMORY					= 0x0505	# ErrorCode +passthru: /* FrontFaceDirection */ +	CW						= 0x0900	# FrontFaceDirection +	CCW						= 0x0901	# FrontFaceDirection +passthru: /* GetPName */ +	POINT_SIZE					= 0x0B11 # 1 F	# GetPName +	POINT_SIZE_RANGE				= 0x0B12 # 2 F	# GetPName +	POINT_SIZE_GRANULARITY				= 0x0B13 # 1 F	# GetPName +	LINE_SMOOTH					= 0x0B20 # 1 I	# GetPName +	LINE_WIDTH					= 0x0B21 # 1 F	# GetPName +	LINE_WIDTH_RANGE				= 0x0B22 # 2 F	# GetPName +	LINE_WIDTH_GRANULARITY				= 0x0B23 # 1 F	# GetPName +	POLYGON_SMOOTH					= 0x0B41 # 1 I	# GetPName +	CULL_FACE					= 0x0B44 # 1 I	# GetPName +	CULL_FACE_MODE					= 0x0B45 # 1 I	# GetPName +	FRONT_FACE					= 0x0B46 # 1 I	# GetPName +	DEPTH_RANGE					= 0x0B70 # 2 F	# GetPName +	DEPTH_TEST					= 0x0B71 # 1 I	# GetPName +	DEPTH_WRITEMASK					= 0x0B72 # 1 I	# GetPName +	DEPTH_CLEAR_VALUE				= 0x0B73 # 1 F	# GetPName +	DEPTH_FUNC					= 0x0B74 # 1 I	# GetPName +	STENCIL_TEST					= 0x0B90 # 1 I	# GetPName +	STENCIL_CLEAR_VALUE				= 0x0B91 # 1 I	# GetPName +	STENCIL_FUNC					= 0x0B92 # 1 I	# GetPName +	STENCIL_VALUE_MASK				= 0x0B93 # 1 I	# GetPName +	STENCIL_FAIL					= 0x0B94 # 1 I	# GetPName +	STENCIL_PASS_DEPTH_FAIL				= 0x0B95 # 1 I	# GetPName +	STENCIL_PASS_DEPTH_PASS				= 0x0B96 # 1 I	# GetPName +	STENCIL_REF					= 0x0B97 # 1 I	# GetPName +	STENCIL_WRITEMASK				= 0x0B98 # 1 I	# GetPName +	VIEWPORT					= 0x0BA2 # 4 I	# GetPName +	DITHER						= 0x0BD0 # 1 I	# GetPName +	BLEND_DST					= 0x0BE0 # 1 I	# GetPName +	BLEND_SRC					= 0x0BE1 # 1 I	# GetPName +	BLEND						= 0x0BE2 # 1 I	# GetPName +	LOGIC_OP_MODE					= 0x0BF0 # 1 I	# GetPName +	COLOR_LOGIC_OP					= 0x0BF2 # 1 I	# GetPName +	DRAW_BUFFER					= 0x0C01 # 1 I	# GetPName +	READ_BUFFER					= 0x0C02 # 1 I	# GetPName +	SCISSOR_BOX					= 0x0C10 # 4 I	# GetPName +	SCISSOR_TEST					= 0x0C11 # 1 I	# GetPName +	COLOR_CLEAR_VALUE				= 0x0C22 # 4 F	# GetPName +	COLOR_WRITEMASK					= 0x0C23 # 4 I	# GetPName +	DOUBLEBUFFER					= 0x0C32 # 1 I	# GetPName +	STEREO						= 0x0C33 # 1 I	# GetPName +	LINE_SMOOTH_HINT				= 0x0C52 # 1 I	# GetPName +	POLYGON_SMOOTH_HINT				= 0x0C53 # 1 I	# GetPName +	UNPACK_SWAP_BYTES				= 0x0CF0 # 1 I	# GetPName +	UNPACK_LSB_FIRST				= 0x0CF1 # 1 I	# GetPName +	UNPACK_ROW_LENGTH				= 0x0CF2 # 1 I	# GetPName +	UNPACK_SKIP_ROWS				= 0x0CF3 # 1 I	# GetPName +	UNPACK_SKIP_PIXELS				= 0x0CF4 # 1 I	# GetPName +	UNPACK_ALIGNMENT				= 0x0CF5 # 1 I	# GetPName +	PACK_SWAP_BYTES					= 0x0D00 # 1 I	# GetPName +	PACK_LSB_FIRST					= 0x0D01 # 1 I	# GetPName +	PACK_ROW_LENGTH					= 0x0D02 # 1 I	# GetPName +	PACK_SKIP_ROWS					= 0x0D03 # 1 I	# GetPName +	PACK_SKIP_PIXELS				= 0x0D04 # 1 I	# GetPName +	PACK_ALIGNMENT					= 0x0D05 # 1 I	# GetPName +	MAX_TEXTURE_SIZE				= 0x0D33 # 1 I	# GetPName +	MAX_VIEWPORT_DIMS				= 0x0D3A # 2 F	# GetPName +	SUBPIXEL_BITS					= 0x0D50 # 1 I	# GetPName +	TEXTURE_1D					= 0x0DE0 # 1 I	# GetPName +	TEXTURE_2D					= 0x0DE1 # 1 I	# GetPName +	POLYGON_OFFSET_UNITS				= 0x2A00 # 1 F	# GetPName +	POLYGON_OFFSET_POINT				= 0x2A01 # 1 I	# GetPName +	POLYGON_OFFSET_LINE				= 0x2A02 # 1 I	# GetPName +	POLYGON_OFFSET_FILL				= 0x8037 # 1 I	# GetPName +	POLYGON_OFFSET_FACTOR				= 0x8038 # 1 F	# GetPName +	TEXTURE_BINDING_1D				= 0x8068 # 1 I	# GetPName +	TEXTURE_BINDING_2D				= 0x8069 # 1 I	# GetPName +passthru: /* GetTextureParameter */ +	TEXTURE_WIDTH					= 0x1000	# GetTextureParameter +	TEXTURE_HEIGHT					= 0x1001	# GetTextureParameter +	TEXTURE_INTERNAL_FORMAT				= 0x1003	# GetTextureParameter +	TEXTURE_BORDER_COLOR				= 0x1004	# GetTextureParameter +	TEXTURE_RED_SIZE				= 0x805C	# GetTextureParameter +	TEXTURE_GREEN_SIZE				= 0x805D	# GetTextureParameter +	TEXTURE_BLUE_SIZE				= 0x805E	# GetTextureParameter +	TEXTURE_ALPHA_SIZE				= 0x805F	# GetTextureParameter +passthru: /* HintMode */ +	DONT_CARE					= 0x1100	# HintMode +	FASTEST						= 0x1101	# HintMode +	NICEST						= 0x1102	# HintMode +passthru: /* DataType */ +	BYTE						= 0x1400	# DataType +	UNSIGNED_BYTE					= 0x1401	# DataType +	SHORT						= 0x1402	# DataType +	UNSIGNED_SHORT					= 0x1403	# DataType +	INT						= 0x1404	# DataType +	UNSIGNED_INT					= 0x1405	# DataType +	FLOAT						= 0x1406	# DataType +	DOUBLE						= 0x140A	# DataType +passthru: /* LogicOp */ +	CLEAR						= 0x1500	# LogicOp +	AND						= 0x1501	# LogicOp +	AND_REVERSE					= 0x1502	# LogicOp +	COPY						= 0x1503	# LogicOp +	AND_INVERTED					= 0x1504	# LogicOp +	NOOP						= 0x1505	# LogicOp +	XOR						= 0x1506	# LogicOp +	OR						= 0x1507	# LogicOp +	NOR						= 0x1508	# LogicOp +	EQUIV						= 0x1509	# LogicOp +	INVERT						= 0x150A	# LogicOp +	OR_REVERSE					= 0x150B	# LogicOp +	COPY_INVERTED					= 0x150C	# LogicOp +	OR_INVERTED					= 0x150D	# LogicOp +	NAND						= 0x150E	# LogicOp +	SET						= 0x150F	# LogicOp +passthru: /* MatrixMode (for gl3.h, FBO attachment type) */ +	TEXTURE						= 0x1702	# MatrixMode +passthru: /* PixelCopyType */ +	COLOR						= 0x1800	# PixelCopyType +	DEPTH						= 0x1801	# PixelCopyType +	STENCIL						= 0x1802	# PixelCopyType +passthru: /* PixelFormat */ +	STENCIL_INDEX					= 0x1901	# PixelFormat +	DEPTH_COMPONENT					= 0x1902	# PixelFormat +	RED						= 0x1903	# PixelFormat +	GREEN						= 0x1904	# PixelFormat +	BLUE						= 0x1905	# PixelFormat +	ALPHA						= 0x1906	# PixelFormat +	RGB						= 0x1907	# PixelFormat +	RGBA						= 0x1908	# PixelFormat +passthru: /* PolygonMode */ +	POINT						= 0x1B00	# PolygonMode +	LINE						= 0x1B01	# PolygonMode +	FILL						= 0x1B02	# PolygonMode +passthru: /* StencilOp */ +	KEEP						= 0x1E00	# StencilOp +	REPLACE						= 0x1E01	# StencilOp +	INCR						= 0x1E02	# StencilOp +	DECR						= 0x1E03	# StencilOp +passthru: /* StringName */ +	VENDOR						= 0x1F00	# StringName +	RENDERER					= 0x1F01	# StringName +	VERSION						= 0x1F02	# StringName +	EXTENSIONS					= 0x1F03	# StringName +passthru: /* TextureMagFilter */ +	NEAREST						= 0x2600	# TextureMagFilter +	LINEAR						= 0x2601	# TextureMagFilter +passthru: /* TextureMinFilter */ +	NEAREST_MIPMAP_NEAREST				= 0x2700	# TextureMinFilter +	LINEAR_MIPMAP_NEAREST				= 0x2701	# TextureMinFilter +	NEAREST_MIPMAP_LINEAR				= 0x2702	# TextureMinFilter +	LINEAR_MIPMAP_LINEAR				= 0x2703	# TextureMinFilter +passthru: /* TextureParameterName */ +	TEXTURE_MAG_FILTER				= 0x2800	# TextureParameterName +	TEXTURE_MIN_FILTER				= 0x2801	# TextureParameterName +	TEXTURE_WRAP_S					= 0x2802	# TextureParameterName +	TEXTURE_WRAP_T					= 0x2803	# TextureParameterName +passthru: /* TextureTarget */ +	PROXY_TEXTURE_1D				= 0x8063	# TextureTarget +	PROXY_TEXTURE_2D				= 0x8064	# TextureTarget +passthru: /* TextureWrapMode */ +	REPEAT						= 0x2901	# TextureWrapMode +passthru: /* PixelInternalFormat */ +	R3_G3_B2					= 0x2A10	# PixelInternalFormat +	RGB4						= 0x804F	# PixelInternalFormat +	RGB5						= 0x8050	# PixelInternalFormat +	RGB8						= 0x8051	# PixelInternalFormat +	RGB10						= 0x8052	# PixelInternalFormat +	RGB12						= 0x8053	# PixelInternalFormat +	RGB16						= 0x8054	# PixelInternalFormat +	RGBA2						= 0x8055	# PixelInternalFormat +	RGBA4						= 0x8056	# PixelInternalFormat +	RGB5_A1						= 0x8057	# PixelInternalFormat +	RGBA8						= 0x8058	# PixelInternalFormat +	RGB10_A2					= 0x8059	# PixelInternalFormat +	RGBA12						= 0x805A	# PixelInternalFormat +	RGBA16						= 0x805B	# PixelInternalFormat + +VERSION_1_1_DEPRECATED enum: +passthru: /* AttribMask */ +	CURRENT_BIT					= 0x00000001	# AttribMask +	POINT_BIT					= 0x00000002	# AttribMask +	LINE_BIT					= 0x00000004	# AttribMask +	POLYGON_BIT					= 0x00000008	# AttribMask +	POLYGON_STIPPLE_BIT				= 0x00000010	# AttribMask +	PIXEL_MODE_BIT					= 0x00000020	# AttribMask +	LIGHTING_BIT					= 0x00000040	# AttribMask +	FOG_BIT						= 0x00000080	# AttribMask +	ACCUM_BUFFER_BIT				= 0x00000200	# AttribMask +	VIEWPORT_BIT					= 0x00000800	# AttribMask +	TRANSFORM_BIT					= 0x00001000	# AttribMask +	ENABLE_BIT					= 0x00002000	# AttribMask +	HINT_BIT					= 0x00008000	# AttribMask +	EVAL_BIT					= 0x00010000	# AttribMask +	LIST_BIT					= 0x00020000	# AttribMask +	TEXTURE_BIT					= 0x00040000	# AttribMask +	SCISSOR_BIT					= 0x00080000	# AttribMask +	ALL_ATTRIB_BITS					= 0xFFFFFFFF	# AttribMask +passthru: /* ClientAttribMask */ +	CLIENT_PIXEL_STORE_BIT				= 0x00000001	# ClientAttribMask +	CLIENT_VERTEX_ARRAY_BIT				= 0x00000002	# ClientAttribMask +	CLIENT_ALL_ATTRIB_BITS				= 0xFFFFFFFF	# ClientAttribMask +passthru: /* BeginMode */ +	QUADS						= 0x0007	# BeginMode +	QUAD_STRIP					= 0x0008	# BeginMode +	POLYGON						= 0x0009	# BeginMode +passthru: /* AccumOp */ +	ACCUM						= 0x0100	# AccumOp +	LOAD						= 0x0101	# AccumOp +	RETURN						= 0x0102	# AccumOp +	MULT						= 0x0103	# AccumOp +	ADD						= 0x0104	# AccumOp +passthru: /* DrawBufferMode */ +	AUX0						= 0x0409	# DrawBufferMode +	AUX1						= 0x040A	# DrawBufferMode +	AUX2						= 0x040B	# DrawBufferMode +	AUX3						= 0x040C	# DrawBufferMode +passthru: /* ErrorCode */ +	STACK_OVERFLOW					= 0x0503	# ErrorCode +	STACK_UNDERFLOW					= 0x0504	# ErrorCode +passthru: /* FeedbackType */ +	2D						= 0x0600	# FeedbackType +	3D						= 0x0601	# FeedbackType +	3D_COLOR					= 0x0602	# FeedbackType +	3D_COLOR_TEXTURE				= 0x0603	# FeedbackType +	4D_COLOR_TEXTURE				= 0x0604	# FeedbackType +passthru: /* FeedBackToken */ +	PASS_THROUGH_TOKEN				= 0x0700	# FeedBackToken +	POINT_TOKEN					= 0x0701	# FeedBackToken +	LINE_TOKEN					= 0x0702	# FeedBackToken +	POLYGON_TOKEN					= 0x0703	# FeedBackToken +	BITMAP_TOKEN					= 0x0704	# FeedBackToken +	DRAW_PIXEL_TOKEN				= 0x0705	# FeedBackToken +	COPY_PIXEL_TOKEN				= 0x0706	# FeedBackToken +	LINE_RESET_TOKEN				= 0x0707	# FeedBackToken +passthru: /* FogMode */ +	EXP						= 0x0800	# FogMode +	EXP2						= 0x0801	# FogMode +passthru: /* GetMapQuery */ +	COEFF						= 0x0A00	# GetMapQuery +	ORDER						= 0x0A01	# GetMapQuery +	DOMAIN						= 0x0A02	# GetMapQuery +passthru: /* GetPixelMap */ +	PIXEL_MAP_I_TO_I				= 0x0C70	# GetPixelMap +	PIXEL_MAP_S_TO_S				= 0x0C71	# GetPixelMap +	PIXEL_MAP_I_TO_R				= 0x0C72	# GetPixelMap +	PIXEL_MAP_I_TO_G				= 0x0C73	# GetPixelMap +	PIXEL_MAP_I_TO_B				= 0x0C74	# GetPixelMap +	PIXEL_MAP_I_TO_A				= 0x0C75	# GetPixelMap +	PIXEL_MAP_R_TO_R				= 0x0C76	# GetPixelMap +	PIXEL_MAP_G_TO_G				= 0x0C77	# GetPixelMap +	PIXEL_MAP_B_TO_B				= 0x0C78	# GetPixelMap +	PIXEL_MAP_A_TO_A				= 0x0C79	# GetPixelMap +passthru: /* GetPointervPName */ +	VERTEX_ARRAY_POINTER				= 0x808E	# GetPointervPName +	NORMAL_ARRAY_POINTER				= 0x808F	# GetPointervPName +	COLOR_ARRAY_POINTER				= 0x8090	# GetPointervPName +	INDEX_ARRAY_POINTER				= 0x8091	# GetPointervPName +	TEXTURE_COORD_ARRAY_POINTER			= 0x8092	# GetPointervPName +	EDGE_FLAG_ARRAY_POINTER				= 0x8093	# GetPointervPName +	FEEDBACK_BUFFER_POINTER				= 0x0DF0	# GetPointervPName +	SELECTION_BUFFER_POINTER			= 0x0DF3	# GetPointervPName +passthru: /* GetPName */ +	CURRENT_COLOR					= 0x0B00 # 4 F	# GetPName +	CURRENT_INDEX					= 0x0B01 # 1 F	# GetPName +	CURRENT_NORMAL					= 0x0B02 # 3 F	# GetPName +	CURRENT_TEXTURE_COORDS				= 0x0B03 # 4 F	# GetPName +	CURRENT_RASTER_COLOR				= 0x0B04 # 4 F	# GetPName +	CURRENT_RASTER_INDEX				= 0x0B05 # 1 F	# GetPName +	CURRENT_RASTER_TEXTURE_COORDS			= 0x0B06 # 4 F	# GetPName +	CURRENT_RASTER_POSITION				= 0x0B07 # 4 F	# GetPName +	CURRENT_RASTER_POSITION_VALID			= 0x0B08 # 1 I	# GetPName +	CURRENT_RASTER_DISTANCE				= 0x0B09 # 1 F	# GetPName +	POINT_SMOOTH					= 0x0B10 # 1 I	# GetPName +	LINE_STIPPLE					= 0x0B24 # 1 I	# GetPName +	LINE_STIPPLE_PATTERN				= 0x0B25 # 1 I	# GetPName +	LINE_STIPPLE_REPEAT				= 0x0B26 # 1 I	# GetPName +	LIST_MODE					= 0x0B30 # 1 I	# GetPName +	MAX_LIST_NESTING				= 0x0B31 # 1 I	# GetPName +	LIST_BASE					= 0x0B32 # 1 I	# GetPName +	LIST_INDEX					= 0x0B33 # 1 I	# GetPName +	POLYGON_MODE					= 0x0B40 # 2 I	# GetPName +	POLYGON_STIPPLE					= 0x0B42 # 1 I	# GetPName +	EDGE_FLAG					= 0x0B43 # 1 I	# GetPName +	LIGHTING					= 0x0B50 # 1 I	# GetPName +	LIGHT_MODEL_LOCAL_VIEWER			= 0x0B51 # 1 I	# GetPName +	LIGHT_MODEL_TWO_SIDE				= 0x0B52 # 1 I	# GetPName +	LIGHT_MODEL_AMBIENT				= 0x0B53 # 4 F	# GetPName +	SHADE_MODEL					= 0x0B54 # 1 I	# GetPName +	COLOR_MATERIAL_FACE				= 0x0B55 # 1 I	# GetPName +	COLOR_MATERIAL_PARAMETER			= 0x0B56 # 1 I	# GetPName +	COLOR_MATERIAL					= 0x0B57 # 1 I	# GetPName +	FOG						= 0x0B60 # 1 I	# GetPName +	FOG_INDEX					= 0x0B61 # 1 I	# GetPName +	FOG_DENSITY					= 0x0B62 # 1 F	# GetPName +	FOG_START					= 0x0B63 # 1 F	# GetPName +	FOG_END						= 0x0B64 # 1 F	# GetPName +	FOG_MODE					= 0x0B65 # 1 I	# GetPName +	FOG_COLOR					= 0x0B66 # 4 F	# GetPName +	ACCUM_CLEAR_VALUE				= 0x0B80 # 4 F	# GetPName +	MATRIX_MODE					= 0x0BA0 # 1 I	# GetPName +	NORMALIZE					= 0x0BA1 # 1 I	# GetPName +	MODELVIEW_STACK_DEPTH				= 0x0BA3 # 1 I	# GetPName +	PROJECTION_STACK_DEPTH				= 0x0BA4 # 1 I	# GetPName +	TEXTURE_STACK_DEPTH				= 0x0BA5 # 1 I	# GetPName +	MODELVIEW_MATRIX				= 0x0BA6 # 16 F # GetPName +	PROJECTION_MATRIX				= 0x0BA7 # 16 F # GetPName +	TEXTURE_MATRIX					= 0x0BA8 # 16 F # GetPName +	ATTRIB_STACK_DEPTH				= 0x0BB0 # 1 I	# GetPName +	CLIENT_ATTRIB_STACK_DEPTH			= 0x0BB1 # 1 I	# GetPName +	ALPHA_TEST					= 0x0BC0 # 1 I	# GetPName +	ALPHA_TEST_FUNC					= 0x0BC1 # 1 I	# GetPName +	ALPHA_TEST_REF					= 0x0BC2 # 1 F	# GetPName +	INDEX_LOGIC_OP					= 0x0BF1 # 1 I	# GetPName +	LOGIC_OP					= 0x0BF1 # 1 I	# GetPName +	AUX_BUFFERS					= 0x0C00 # 1 I	# GetPName +	INDEX_CLEAR_VALUE				= 0x0C20 # 1 I	# GetPName +	INDEX_WRITEMASK					= 0x0C21 # 1 I	# GetPName +	INDEX_MODE					= 0x0C30 # 1 I	# GetPName +	RGBA_MODE					= 0x0C31 # 1 I	# GetPName +	RENDER_MODE					= 0x0C40 # 1 I	# GetPName +	PERSPECTIVE_CORRECTION_HINT			= 0x0C50 # 1 I	# GetPName +	POINT_SMOOTH_HINT				= 0x0C51 # 1 I	# GetPName +	FOG_HINT					= 0x0C54 # 1 I	# GetPName +	TEXTURE_GEN_S					= 0x0C60 # 1 I	# GetPName +	TEXTURE_GEN_T					= 0x0C61 # 1 I	# GetPName +	TEXTURE_GEN_R					= 0x0C62 # 1 I	# GetPName +	TEXTURE_GEN_Q					= 0x0C63 # 1 I	# GetPName +	PIXEL_MAP_I_TO_I_SIZE				= 0x0CB0 # 1 I	# GetPName +	PIXEL_MAP_S_TO_S_SIZE				= 0x0CB1 # 1 I	# GetPName +	PIXEL_MAP_I_TO_R_SIZE				= 0x0CB2 # 1 I	# GetPName +	PIXEL_MAP_I_TO_G_SIZE				= 0x0CB3 # 1 I	# GetPName +	PIXEL_MAP_I_TO_B_SIZE				= 0x0CB4 # 1 I	# GetPName +	PIXEL_MAP_I_TO_A_SIZE				= 0x0CB5 # 1 I	# GetPName +	PIXEL_MAP_R_TO_R_SIZE				= 0x0CB6 # 1 I	# GetPName +	PIXEL_MAP_G_TO_G_SIZE				= 0x0CB7 # 1 I	# GetPName +	PIXEL_MAP_B_TO_B_SIZE				= 0x0CB8 # 1 I	# GetPName +	PIXEL_MAP_A_TO_A_SIZE				= 0x0CB9 # 1 I	# GetPName +	MAP_COLOR					= 0x0D10 # 1 I	# GetPName +	MAP_STENCIL					= 0x0D11 # 1 I	# GetPName +	INDEX_SHIFT					= 0x0D12 # 1 I	# GetPName +	INDEX_OFFSET					= 0x0D13 # 1 I	# GetPName +	RED_SCALE					= 0x0D14 # 1 F	# GetPName +	RED_BIAS					= 0x0D15 # 1 F	# GetPName +	ZOOM_X						= 0x0D16 # 1 F	# GetPName +	ZOOM_Y						= 0x0D17 # 1 F	# GetPName +	GREEN_SCALE					= 0x0D18 # 1 F	# GetPName +	GREEN_BIAS					= 0x0D19 # 1 F	# GetPName +	BLUE_SCALE					= 0x0D1A # 1 F	# GetPName +	BLUE_BIAS					= 0x0D1B # 1 F	# GetPName +	ALPHA_SCALE					= 0x0D1C # 1 F	# GetPName +	ALPHA_BIAS					= 0x0D1D # 1 F	# GetPName +	DEPTH_SCALE					= 0x0D1E # 1 F	# GetPName +	DEPTH_BIAS					= 0x0D1F # 1 F	# GetPName +	MAX_EVAL_ORDER					= 0x0D30 # 1 I	# GetPName +	MAX_LIGHTS					= 0x0D31 # 1 I	# GetPName +	MAX_CLIP_PLANES					= 0x0D32 # 1 I	# GetPName +	MAX_PIXEL_MAP_TABLE				= 0x0D34 # 1 I	# GetPName +	MAX_ATTRIB_STACK_DEPTH				= 0x0D35 # 1 I	# GetPName +	MAX_MODELVIEW_STACK_DEPTH			= 0x0D36 # 1 I	# GetPName +	MAX_NAME_STACK_DEPTH				= 0x0D37 # 1 I	# GetPName +	MAX_PROJECTION_STACK_DEPTH			= 0x0D38 # 1 I	# GetPName +	MAX_TEXTURE_STACK_DEPTH				= 0x0D39 # 1 I	# GetPName +	MAX_CLIENT_ATTRIB_STACK_DEPTH			= 0x0D3B # 1 I	# GetPName +	INDEX_BITS					= 0x0D51 # 1 I	# GetPName +	RED_BITS					= 0x0D52 # 1 I	# GetPName +	GREEN_BITS					= 0x0D53 # 1 I	# GetPName +	BLUE_BITS					= 0x0D54 # 1 I	# GetPName +	ALPHA_BITS					= 0x0D55 # 1 I	# GetPName +	DEPTH_BITS					= 0x0D56 # 1 I	# GetPName +	STENCIL_BITS					= 0x0D57 # 1 I	# GetPName +	ACCUM_RED_BITS					= 0x0D58 # 1 I	# GetPName +	ACCUM_GREEN_BITS				= 0x0D59 # 1 I	# GetPName +	ACCUM_BLUE_BITS					= 0x0D5A # 1 I	# GetPName +	ACCUM_ALPHA_BITS				= 0x0D5B # 1 I	# GetPName +	NAME_STACK_DEPTH				= 0x0D70 # 1 I	# GetPName +	AUTO_NORMAL					= 0x0D80 # 1 I	# GetPName +	MAP1_COLOR_4					= 0x0D90 # 1 I	# GetPName +	MAP1_INDEX					= 0x0D91 # 1 I	# GetPName +	MAP1_NORMAL					= 0x0D92 # 1 I	# GetPName +	MAP1_TEXTURE_COORD_1				= 0x0D93 # 1 I	# GetPName +	MAP1_TEXTURE_COORD_2				= 0x0D94 # 1 I	# GetPName +	MAP1_TEXTURE_COORD_3				= 0x0D95 # 1 I	# GetPName +	MAP1_TEXTURE_COORD_4				= 0x0D96 # 1 I	# GetPName +	MAP1_VERTEX_3					= 0x0D97 # 1 I	# GetPName +	MAP1_VERTEX_4					= 0x0D98 # 1 I	# GetPName +	MAP2_COLOR_4					= 0x0DB0 # 1 I	# GetPName +	MAP2_INDEX					= 0x0DB1 # 1 I	# GetPName +	MAP2_NORMAL					= 0x0DB2 # 1 I	# GetPName +	MAP2_TEXTURE_COORD_1				= 0x0DB3 # 1 I	# GetPName +	MAP2_TEXTURE_COORD_2				= 0x0DB4 # 1 I	# GetPName +	MAP2_TEXTURE_COORD_3				= 0x0DB5 # 1 I	# GetPName +	MAP2_TEXTURE_COORD_4				= 0x0DB6 # 1 I	# GetPName +	MAP2_VERTEX_3					= 0x0DB7 # 1 I	# GetPName +	MAP2_VERTEX_4					= 0x0DB8 # 1 I	# GetPName +	MAP1_GRID_DOMAIN				= 0x0DD0 # 2 F	# GetPName +	MAP1_GRID_SEGMENTS				= 0x0DD1 # 1 I	# GetPName +	MAP2_GRID_DOMAIN				= 0x0DD2 # 4 F	# GetPName +	MAP2_GRID_SEGMENTS				= 0x0DD3 # 2 I	# GetPName +	FEEDBACK_BUFFER_SIZE				= 0x0DF1 # 1 I	# GetPName +	FEEDBACK_BUFFER_TYPE				= 0x0DF2 # 1 I	# GetPName +	SELECTION_BUFFER_SIZE				= 0x0DF4 # 1 I	# GetPName +	VERTEX_ARRAY					= 0x8074 # 1 I	# GetPName +	NORMAL_ARRAY					= 0x8075 # 1 I	# GetPName +	COLOR_ARRAY					= 0x8076 # 1 I	# GetPName +	INDEX_ARRAY					= 0x8077 # 1 I	# GetPName +	TEXTURE_COORD_ARRAY				= 0x8078 # 1 I	# GetPName +	EDGE_FLAG_ARRAY					= 0x8079 # 1 I	# GetPName +	VERTEX_ARRAY_SIZE				= 0x807A # 1 I	# GetPName +	VERTEX_ARRAY_TYPE				= 0x807B # 1 I	# GetPName +	VERTEX_ARRAY_STRIDE				= 0x807C # 1 I	# GetPName +	NORMAL_ARRAY_TYPE				= 0x807E # 1 I	# GetPName +	NORMAL_ARRAY_STRIDE				= 0x807F # 1 I	# GetPName +	COLOR_ARRAY_SIZE				= 0x8081 # 1 I	# GetPName +	COLOR_ARRAY_TYPE				= 0x8082 # 1 I	# GetPName +	COLOR_ARRAY_STRIDE				= 0x8083 # 1 I	# GetPName +	INDEX_ARRAY_TYPE				= 0x8085 # 1 I	# GetPName +	INDEX_ARRAY_STRIDE				= 0x8086 # 1 I	# GetPName +	TEXTURE_COORD_ARRAY_SIZE			= 0x8088 # 1 I	# GetPName +	TEXTURE_COORD_ARRAY_TYPE			= 0x8089 # 1 I	# GetPName +	TEXTURE_COORD_ARRAY_STRIDE			= 0x808A # 1 I	# GetPName +	EDGE_FLAG_ARRAY_STRIDE				= 0x808C # 1 I	# GetPName +passthru: /* GetTextureParameter */ +	TEXTURE_COMPONENTS				= 0x1003	# GetTextureParameter +	TEXTURE_BORDER					= 0x1005	# GetTextureParameter +	TEXTURE_LUMINANCE_SIZE				= 0x8060	# GetTextureParameter +	TEXTURE_INTENSITY_SIZE				= 0x8061	# GetTextureParameter +	TEXTURE_PRIORITY				= 0x8066	# GetTextureParameter +	TEXTURE_RESIDENT				= 0x8067	# GetTextureParameter +passthru: /* LightParameter */ +	AMBIENT						= 0x1200	# LightParameter +	DIFFUSE						= 0x1201	# LightParameter +	SPECULAR					= 0x1202	# LightParameter +	POSITION					= 0x1203	# LightParameter +	SPOT_DIRECTION					= 0x1204	# LightParameter +	SPOT_EXPONENT					= 0x1205	# LightParameter +	SPOT_CUTOFF					= 0x1206	# LightParameter +	CONSTANT_ATTENUATION				= 0x1207	# LightParameter +	LINEAR_ATTENUATION				= 0x1208	# LightParameter +	QUADRATIC_ATTENUATION				= 0x1209	# LightParameter +passthru: /* ListMode */ +	COMPILE						= 0x1300	# ListMode +	COMPILE_AND_EXECUTE				= 0x1301	# ListMode +passthru: /* DataType */ +	2_BYTES						= 0x1407	# DataType +	3_BYTES						= 0x1408	# DataType +	4_BYTES						= 0x1409	# DataType +passthru: /* MaterialParameter */ +	EMISSION					= 0x1600	# MaterialParameter +	SHININESS					= 0x1601	# MaterialParameter +	AMBIENT_AND_DIFFUSE				= 0x1602	# MaterialParameter +	COLOR_INDEXES					= 0x1603	# MaterialParameter +passthru: /* MatrixMode */ +	MODELVIEW					= 0x1700	# MatrixMode +	PROJECTION					= 0x1701	# MatrixMode +passthru: /* PixelFormat */ +	COLOR_INDEX					= 0x1900	# PixelFormat +	LUMINANCE					= 0x1909	# PixelFormat +	LUMINANCE_ALPHA					= 0x190A	# PixelFormat +passthru: /* PixelType */ +	BITMAP						= 0x1A00	# PixelType +passthru: /* RenderingMode */ +	RENDER						= 0x1C00	# RenderingMode +	FEEDBACK					= 0x1C01	# RenderingMode +	SELECT						= 0x1C02	# RenderingMode +passthru: /* ShadingModel */ +	FLAT						= 0x1D00	# ShadingModel +	SMOOTH						= 0x1D01	# ShadingModel +passthru: /* TextureCoordName */ +	S						= 0x2000	# TextureCoordName +	T						= 0x2001	# TextureCoordName +	R						= 0x2002	# TextureCoordName +	Q						= 0x2003	# TextureCoordName +passthru: /* TextureEnvMode */ +	MODULATE					= 0x2100	# TextureEnvMode +	DECAL						= 0x2101	# TextureEnvMode +passthru: /* TextureEnvParameter */ +	TEXTURE_ENV_MODE				= 0x2200	# TextureEnvParameter +	TEXTURE_ENV_COLOR				= 0x2201	# TextureEnvParameter +passthru: /* TextureEnvTarget */ +	TEXTURE_ENV					= 0x2300	# TextureEnvTarget +passthru: /* TextureGenMode */ +	EYE_LINEAR					= 0x2400	# TextureGenMode +	OBJECT_LINEAR					= 0x2401	# TextureGenMode +	SPHERE_MAP					= 0x2402	# TextureGenMode +passthru: /* TextureGenParameter */ +	TEXTURE_GEN_MODE				= 0x2500	# TextureGenParameter +	OBJECT_PLANE					= 0x2501	# TextureGenParameter +	EYE_PLANE					= 0x2502	# TextureGenParameter +passthru: /* TextureWrapMode */ +	CLAMP						= 0x2900	# TextureWrapMode +passthru: /* PixelInternalFormat */ +	ALPHA4						= 0x803B	# PixelInternalFormat +	ALPHA8						= 0x803C	# PixelInternalFormat +	ALPHA12						= 0x803D	# PixelInternalFormat +	ALPHA16						= 0x803E	# PixelInternalFormat +	LUMINANCE4					= 0x803F	# PixelInternalFormat +	LUMINANCE8					= 0x8040	# PixelInternalFormat +	LUMINANCE12					= 0x8041	# PixelInternalFormat +	LUMINANCE16					= 0x8042	# PixelInternalFormat +	LUMINANCE4_ALPHA4				= 0x8043	# PixelInternalFormat +	LUMINANCE6_ALPHA2				= 0x8044	# PixelInternalFormat +	LUMINANCE8_ALPHA8				= 0x8045	# PixelInternalFormat +	LUMINANCE12_ALPHA4				= 0x8046	# PixelInternalFormat +	LUMINANCE12_ALPHA12				= 0x8047	# PixelInternalFormat +	LUMINANCE16_ALPHA16				= 0x8048	# PixelInternalFormat +	INTENSITY					= 0x8049	# PixelInternalFormat +	INTENSITY4					= 0x804A	# PixelInternalFormat +	INTENSITY8					= 0x804B	# PixelInternalFormat +	INTENSITY12					= 0x804C	# PixelInternalFormat +	INTENSITY16					= 0x804D	# PixelInternalFormat +passthru: /* InterleavedArrayFormat */ +	V2F						= 0x2A20	# InterleavedArrayFormat +	V3F						= 0x2A21	# InterleavedArrayFormat +	C4UB_V2F					= 0x2A22	# InterleavedArrayFormat +	C4UB_V3F					= 0x2A23	# InterleavedArrayFormat +	C3F_V3F						= 0x2A24	# InterleavedArrayFormat +	N3F_V3F						= 0x2A25	# InterleavedArrayFormat +	C4F_N3F_V3F					= 0x2A26	# InterleavedArrayFormat +	T2F_V3F						= 0x2A27	# InterleavedArrayFormat +	T4F_V4F						= 0x2A28	# InterleavedArrayFormat +	T2F_C4UB_V3F					= 0x2A29	# InterleavedArrayFormat +	T2F_C3F_V3F					= 0x2A2A	# InterleavedArrayFormat +	T2F_N3F_V3F					= 0x2A2B	# InterleavedArrayFormat +	T2F_C4F_N3F_V3F					= 0x2A2C	# InterleavedArrayFormat +	T4F_C4F_N3F_V4F					= 0x2A2D	# InterleavedArrayFormat +passthru: /* ClipPlaneName */ +	CLIP_PLANE0					= 0x3000 # 1 I	# ClipPlaneName +	CLIP_PLANE1					= 0x3001 # 1 I	# ClipPlaneName +	CLIP_PLANE2					= 0x3002 # 1 I	# ClipPlaneName +	CLIP_PLANE3					= 0x3003 # 1 I	# ClipPlaneName +	CLIP_PLANE4					= 0x3004 # 1 I	# ClipPlaneName +	CLIP_PLANE5					= 0x3005 # 1 I	# ClipPlaneName +passthru: /* LightName */ +	LIGHT0						= 0x4000 # 1 I	# LightName +	LIGHT1						= 0x4001 # 1 I	# LightName +	LIGHT2						= 0x4002 # 1 I	# LightName +	LIGHT3						= 0x4003 # 1 I	# LightName +	LIGHT4						= 0x4004 # 1 I	# LightName +	LIGHT5						= 0x4005 # 1 I	# LightName +	LIGHT6						= 0x4006 # 1 I	# LightName +	LIGHT7						= 0x4007 # 1 I	# LightName + + +############################################################################### +# +# OpenGL 1.2 enums +# +############################################################################### + +VERSION_1_2 enum: +	UNSIGNED_BYTE_3_3_2				= 0x8032 # Equivalent to EXT_packed_pixels +	UNSIGNED_SHORT_4_4_4_4				= 0x8033 +	UNSIGNED_SHORT_5_5_5_1				= 0x8034 +	UNSIGNED_INT_8_8_8_8				= 0x8035 +	UNSIGNED_INT_10_10_10_2				= 0x8036 +	TEXTURE_BINDING_3D				= 0x806A # 1 I +	PACK_SKIP_IMAGES				= 0x806B # 1 I +	PACK_IMAGE_HEIGHT				= 0x806C # 1 F +	UNPACK_SKIP_IMAGES				= 0x806D # 1 I +	UNPACK_IMAGE_HEIGHT				= 0x806E # 1 F +	TEXTURE_3D					= 0x806F # 1 I +	PROXY_TEXTURE_3D				= 0x8070 +	TEXTURE_DEPTH					= 0x8071 +	TEXTURE_WRAP_R					= 0x8072 +	MAX_3D_TEXTURE_SIZE				= 0x8073 # 1 I +	UNSIGNED_BYTE_2_3_3_REV				= 0x8362 # New for OpenGL 1.2 +	UNSIGNED_SHORT_5_6_5				= 0x8363 +	UNSIGNED_SHORT_5_6_5_REV			= 0x8364 +	UNSIGNED_SHORT_4_4_4_4_REV			= 0x8365 +	UNSIGNED_SHORT_1_5_5_5_REV			= 0x8366 +	UNSIGNED_INT_8_8_8_8_REV			= 0x8367 +	UNSIGNED_INT_2_10_10_10_REV			= 0x8368 +	BGR						= 0x80E0 +	BGRA						= 0x80E1 +	MAX_ELEMENTS_VERTICES				= 0x80E8 +	MAX_ELEMENTS_INDICES				= 0x80E9 +	CLAMP_TO_EDGE					= 0x812F # Equivalent to SGIS_texture_edge_clamp +	TEXTURE_MIN_LOD					= 0x813A # Equivalent to SGIS_texture_lod +	TEXTURE_MAX_LOD					= 0x813B +	TEXTURE_BASE_LEVEL				= 0x813C +	TEXTURE_MAX_LEVEL				= 0x813D +	SMOOTH_POINT_SIZE_RANGE				= 0x0B12 # 2 F +	SMOOTH_POINT_SIZE_GRANULARITY			= 0x0B13 # 1 F +	SMOOTH_LINE_WIDTH_RANGE				= 0x0B22 # 2 F +	SMOOTH_LINE_WIDTH_GRANULARITY			= 0x0B23 # 1 F +	ALIASED_LINE_WIDTH_RANGE			= 0x846E # 2 F + +VERSION_1_2_DEPRECATED enum: +	RESCALE_NORMAL					= 0x803A # 1 I # Equivalent to EXT_rescale_normal +	LIGHT_MODEL_COLOR_CONTROL			= 0x81F8 # 1 I +	SINGLE_COLOR					= 0x81F9 +	SEPARATE_SPECULAR_COLOR				= 0x81FA +	ALIASED_POINT_SIZE_RANGE			= 0x846D # 2 F + +ARB_imaging enum: +	CONSTANT_COLOR					= 0x8001 # Equivalent to EXT_blend_color +	ONE_MINUS_CONSTANT_COLOR			= 0x8002 +	CONSTANT_ALPHA					= 0x8003 +	ONE_MINUS_CONSTANT_ALPHA			= 0x8004 +	BLEND_COLOR					= 0x8005 # 4 F +	FUNC_ADD					= 0x8006 # Equivalent to EXT_blend_minmax +	MIN						= 0x8007 +	MAX						= 0x8008 +	BLEND_EQUATION					= 0x8009 # 1 I +	FUNC_SUBTRACT					= 0x800A # Equivalent to EXT_blend_subtract +	FUNC_REVERSE_SUBTRACT				= 0x800B + +ARB_imaging_DEPRECATED enum: +	CONVOLUTION_1D					= 0x8010 # 1 I # Equivalent to EXT_convolution +	CONVOLUTION_2D					= 0x8011 # 1 I +	SEPARABLE_2D					= 0x8012 # 1 I +	CONVOLUTION_BORDER_MODE				= 0x8013 +	CONVOLUTION_FILTER_SCALE			= 0x8014 +	CONVOLUTION_FILTER_BIAS				= 0x8015 +	REDUCE						= 0x8016 +	CONVOLUTION_FORMAT				= 0x8017 +	CONVOLUTION_WIDTH				= 0x8018 +	CONVOLUTION_HEIGHT				= 0x8019 +	MAX_CONVOLUTION_WIDTH				= 0x801A +	MAX_CONVOLUTION_HEIGHT				= 0x801B +	POST_CONVOLUTION_RED_SCALE			= 0x801C # 1 F +	POST_CONVOLUTION_GREEN_SCALE			= 0x801D # 1 F +	POST_CONVOLUTION_BLUE_SCALE			= 0x801E # 1 F +	POST_CONVOLUTION_ALPHA_SCALE			= 0x801F # 1 F +	POST_CONVOLUTION_RED_BIAS			= 0x8020 # 1 F +	POST_CONVOLUTION_GREEN_BIAS			= 0x8021 # 1 F +	POST_CONVOLUTION_BLUE_BIAS			= 0x8022 # 1 F +	POST_CONVOLUTION_ALPHA_BIAS			= 0x8023 # 1 F +	HISTOGRAM					= 0x8024 # 1 I # Equivalent to EXT_histogram +	PROXY_HISTOGRAM					= 0x8025 +	HISTOGRAM_WIDTH					= 0x8026 +	HISTOGRAM_FORMAT				= 0x8027 +	HISTOGRAM_RED_SIZE				= 0x8028 +	HISTOGRAM_GREEN_SIZE				= 0x8029 +	HISTOGRAM_BLUE_SIZE				= 0x802A +	HISTOGRAM_ALPHA_SIZE				= 0x802B +	HISTOGRAM_LUMINANCE_SIZE			= 0x802C +	HISTOGRAM_SINK					= 0x802D +	MINMAX						= 0x802E # 1 I +	MINMAX_FORMAT					= 0x802F +	MINMAX_SINK					= 0x8030 +	TABLE_TOO_LARGE					= 0x8031 +	COLOR_MATRIX					= 0x80B1 # 16 F # Equivalent to SGI_color_matrix +	COLOR_MATRIX_STACK_DEPTH			= 0x80B2 # 1 I +	MAX_COLOR_MATRIX_STACK_DEPTH			= 0x80B3 # 1 I +	POST_COLOR_MATRIX_RED_SCALE			= 0x80B4 # 1 F +	POST_COLOR_MATRIX_GREEN_SCALE			= 0x80B5 # 1 F +	POST_COLOR_MATRIX_BLUE_SCALE			= 0x80B6 # 1 F +	POST_COLOR_MATRIX_ALPHA_SCALE			= 0x80B7 # 1 F +	POST_COLOR_MATRIX_RED_BIAS			= 0x80B8 # 1 F +	POST_COLOR_MATRIX_GREEN_BIAS			= 0x80B9 # 1 F +	POST_COLOR_MATRIX_BLUE_BIAS			= 0x80BA # 1 F +	POST_COLOR_MATRIX_ALPHA_BIAS			= 0x80BB # 1 F +	COLOR_TABLE					= 0x80D0 # 1 I # Equivalent to SGI_color_table +	POST_CONVOLUTION_COLOR_TABLE			= 0x80D1 # 1 I +	POST_COLOR_MATRIX_COLOR_TABLE			= 0x80D2 # 1 I +	PROXY_COLOR_TABLE				= 0x80D3 +	PROXY_POST_CONVOLUTION_COLOR_TABLE		= 0x80D4 +	PROXY_POST_COLOR_MATRIX_COLOR_TABLE		= 0x80D5 +	COLOR_TABLE_SCALE				= 0x80D6 +	COLOR_TABLE_BIAS				= 0x80D7 +	COLOR_TABLE_FORMAT				= 0x80D8 +	COLOR_TABLE_WIDTH				= 0x80D9 +	COLOR_TABLE_RED_SIZE				= 0x80DA +	COLOR_TABLE_GREEN_SIZE				= 0x80DB +	COLOR_TABLE_BLUE_SIZE				= 0x80DC +	COLOR_TABLE_ALPHA_SIZE				= 0x80DD +	COLOR_TABLE_LUMINANCE_SIZE			= 0x80DE +	COLOR_TABLE_INTENSITY_SIZE			= 0x80DF +	CONSTANT_BORDER					= 0x8151 +	REPLICATE_BORDER				= 0x8153 +	CONVOLUTION_BORDER_COLOR			= 0x8154 + + +############################################################################### +# +# OpenGL 1.3 enums +# +############################################################################### + +VERSION_1_3 enum: +	TEXTURE0					= 0x84C0	# Promoted from ARB_multitexture +	TEXTURE1					= 0x84C1 +	TEXTURE2					= 0x84C2 +	TEXTURE3					= 0x84C3 +	TEXTURE4					= 0x84C4 +	TEXTURE5					= 0x84C5 +	TEXTURE6					= 0x84C6 +	TEXTURE7					= 0x84C7 +	TEXTURE8					= 0x84C8 +	TEXTURE9					= 0x84C9 +	TEXTURE10					= 0x84CA +	TEXTURE11					= 0x84CB +	TEXTURE12					= 0x84CC +	TEXTURE13					= 0x84CD +	TEXTURE14					= 0x84CE +	TEXTURE15					= 0x84CF +	TEXTURE16					= 0x84D0 +	TEXTURE17					= 0x84D1 +	TEXTURE18					= 0x84D2 +	TEXTURE19					= 0x84D3 +	TEXTURE20					= 0x84D4 +	TEXTURE21					= 0x84D5 +	TEXTURE22					= 0x84D6 +	TEXTURE23					= 0x84D7 +	TEXTURE24					= 0x84D8 +	TEXTURE25					= 0x84D9 +	TEXTURE26					= 0x84DA +	TEXTURE27					= 0x84DB +	TEXTURE28					= 0x84DC +	TEXTURE29					= 0x84DD +	TEXTURE30					= 0x84DE +	TEXTURE31					= 0x84DF +	ACTIVE_TEXTURE					= 0x84E0 # 1 I +	MULTISAMPLE					= 0x809D	# Promoted from ARB_multisample +	SAMPLE_ALPHA_TO_COVERAGE			= 0x809E +	SAMPLE_ALPHA_TO_ONE				= 0x809F +	SAMPLE_COVERAGE					= 0x80A0 +	SAMPLE_BUFFERS					= 0x80A8 +	SAMPLES						= 0x80A9 +	SAMPLE_COVERAGE_VALUE				= 0x80AA +	SAMPLE_COVERAGE_INVERT				= 0x80AB +	TEXTURE_CUBE_MAP				= 0x8513 +	TEXTURE_BINDING_CUBE_MAP			= 0x8514 +	TEXTURE_CUBE_MAP_POSITIVE_X			= 0x8515 +	TEXTURE_CUBE_MAP_NEGATIVE_X			= 0x8516 +	TEXTURE_CUBE_MAP_POSITIVE_Y			= 0x8517 +	TEXTURE_CUBE_MAP_NEGATIVE_Y			= 0x8518 +	TEXTURE_CUBE_MAP_POSITIVE_Z			= 0x8519 +	TEXTURE_CUBE_MAP_NEGATIVE_Z			= 0x851A +	PROXY_TEXTURE_CUBE_MAP				= 0x851B +	MAX_CUBE_MAP_TEXTURE_SIZE			= 0x851C +	COMPRESSED_RGB					= 0x84ED +	COMPRESSED_RGBA					= 0x84EE +	TEXTURE_COMPRESSION_HINT			= 0x84EF +	TEXTURE_COMPRESSED_IMAGE_SIZE			= 0x86A0 +	TEXTURE_COMPRESSED				= 0x86A1 +	NUM_COMPRESSED_TEXTURE_FORMATS			= 0x86A2 +	COMPRESSED_TEXTURE_FORMATS			= 0x86A3 +	CLAMP_TO_BORDER					= 0x812D	# Promoted from ARB_texture_border_clamp + +VERSION_1_3_DEPRECATED enum: +	CLIENT_ACTIVE_TEXTURE				= 0x84E1 # 1 I +	MAX_TEXTURE_UNITS				= 0x84E2 # 1 I +	TRANSPOSE_MODELVIEW_MATRIX			= 0x84E3 # 16 F # Promoted from ARB_transpose_matrix +	TRANSPOSE_PROJECTION_MATRIX			= 0x84E4 # 16 F +	TRANSPOSE_TEXTURE_MATRIX			= 0x84E5 # 16 F +	TRANSPOSE_COLOR_MATRIX				= 0x84E6 # 16 F +	MULTISAMPLE_BIT					= 0x20000000 +	NORMAL_MAP					= 0x8511	# Promoted from ARB_texture_cube_map +	REFLECTION_MAP					= 0x8512 +	COMPRESSED_ALPHA				= 0x84E9	# Promoted from ARB_texture_compression +	COMPRESSED_LUMINANCE				= 0x84EA +	COMPRESSED_LUMINANCE_ALPHA			= 0x84EB +	COMPRESSED_INTENSITY				= 0x84EC +	COMBINE						= 0x8570	# Promoted from ARB_texture_env_combine +	COMBINE_RGB					= 0x8571 +	COMBINE_ALPHA					= 0x8572 +	SOURCE0_RGB					= 0x8580 +	SOURCE1_RGB					= 0x8581 +	SOURCE2_RGB					= 0x8582 +	SOURCE0_ALPHA					= 0x8588 +	SOURCE1_ALPHA					= 0x8589 +	SOURCE2_ALPHA					= 0x858A +	OPERAND0_RGB					= 0x8590 +	OPERAND1_RGB					= 0x8591 +	OPERAND2_RGB					= 0x8592 +	OPERAND0_ALPHA					= 0x8598 +	OPERAND1_ALPHA					= 0x8599 +	OPERAND2_ALPHA					= 0x859A +	RGB_SCALE					= 0x8573 +	ADD_SIGNED					= 0x8574 +	INTERPOLATE					= 0x8575 +	SUBTRACT					= 0x84E7 +	CONSTANT					= 0x8576 +	PRIMARY_COLOR					= 0x8577 +	PREVIOUS					= 0x8578 +	DOT3_RGB					= 0x86AE	# Promoted from ARB_texture_env_dot3 +	DOT3_RGBA					= 0x86AF + + +############################################################################### +# +# OpenGL 1.4 enums +# +############################################################################### + +VERSION_1_4 enum: +	BLEND_DST_RGB					= 0x80C8 +	BLEND_SRC_RGB					= 0x80C9 +	BLEND_DST_ALPHA					= 0x80CA +	BLEND_SRC_ALPHA					= 0x80CB +	POINT_FADE_THRESHOLD_SIZE			= 0x8128 # 1 F +	DEPTH_COMPONENT16				= 0x81A5 +	DEPTH_COMPONENT24				= 0x81A6 +	DEPTH_COMPONENT32				= 0x81A7 +	MIRRORED_REPEAT					= 0x8370 +	MAX_TEXTURE_LOD_BIAS				= 0x84FD +	TEXTURE_LOD_BIAS				= 0x8501 +	INCR_WRAP					= 0x8507 +	DECR_WRAP					= 0x8508 +	TEXTURE_DEPTH_SIZE				= 0x884A +	TEXTURE_COMPARE_MODE				= 0x884C +	TEXTURE_COMPARE_FUNC				= 0x884D + +VERSION_1_4_DEPRECATED enum: +	POINT_SIZE_MIN					= 0x8126 # 1 F +	POINT_SIZE_MAX					= 0x8127 # 1 F +	POINT_DISTANCE_ATTENUATION			= 0x8129 # 3 F +	GENERATE_MIPMAP					= 0x8191 +	GENERATE_MIPMAP_HINT				= 0x8192 # 1 I +	FOG_COORDINATE_SOURCE				= 0x8450 # 1 I +	FOG_COORDINATE					= 0x8451 +	FRAGMENT_DEPTH					= 0x8452 +	CURRENT_FOG_COORDINATE				= 0x8453 # 1 F +	FOG_COORDINATE_ARRAY_TYPE			= 0x8454 # 1 I +	FOG_COORDINATE_ARRAY_STRIDE			= 0x8455 # 1 I +	FOG_COORDINATE_ARRAY_POINTER			= 0x8456 +	FOG_COORDINATE_ARRAY				= 0x8457 # 1 I +	COLOR_SUM					= 0x8458 # 1 I +	CURRENT_SECONDARY_COLOR				= 0x8459 # 3 F +	SECONDARY_COLOR_ARRAY_SIZE			= 0x845A # 1 I +	SECONDARY_COLOR_ARRAY_TYPE			= 0x845B # 1 I +	SECONDARY_COLOR_ARRAY_STRIDE			= 0x845C # 1 I +	SECONDARY_COLOR_ARRAY_POINTER			= 0x845D +	SECONDARY_COLOR_ARRAY				= 0x845E # 1 I +	TEXTURE_FILTER_CONTROL				= 0x8500 +	DEPTH_TEXTURE_MODE				= 0x884B +	COMPARE_R_TO_TEXTURE				= 0x884E + + +############################################################################### +# +# OpenGL 1.5 enums +# +############################################################################### + +VERSION_1_5 enum: +	BUFFER_SIZE					= 0x8764 # ARB_vertex_buffer_object +	BUFFER_USAGE					= 0x8765 # ARB_vertex_buffer_object +	QUERY_COUNTER_BITS				= 0x8864 # ARB_occlusion_query +	CURRENT_QUERY					= 0x8865 # ARB_occlusion_query +	QUERY_RESULT					= 0x8866 # ARB_occlusion_query +	QUERY_RESULT_AVAILABLE				= 0x8867 # ARB_occlusion_query +	ARRAY_BUFFER					= 0x8892 # ARB_vertex_buffer_object +	ELEMENT_ARRAY_BUFFER				= 0x8893 # ARB_vertex_buffer_object +	ARRAY_BUFFER_BINDING				= 0x8894 # ARB_vertex_buffer_object +	ELEMENT_ARRAY_BUFFER_BINDING			= 0x8895 # ARB_vertex_buffer_object +	VERTEX_ATTRIB_ARRAY_BUFFER_BINDING		= 0x889F # ARB_vertex_buffer_object +	READ_ONLY					= 0x88B8 # ARB_vertex_buffer_object +	WRITE_ONLY					= 0x88B9 # ARB_vertex_buffer_object +	READ_WRITE					= 0x88BA # ARB_vertex_buffer_object +	BUFFER_ACCESS					= 0x88BB # ARB_vertex_buffer_object +	BUFFER_MAPPED					= 0x88BC # ARB_vertex_buffer_object +	BUFFER_MAP_POINTER				= 0x88BD # ARB_vertex_buffer_object +	STREAM_DRAW					= 0x88E0 # ARB_vertex_buffer_object +	STREAM_READ					= 0x88E1 # ARB_vertex_buffer_object +	STREAM_COPY					= 0x88E2 # ARB_vertex_buffer_object +	STATIC_DRAW					= 0x88E4 # ARB_vertex_buffer_object +	STATIC_READ					= 0x88E5 # ARB_vertex_buffer_object +	STATIC_COPY					= 0x88E6 # ARB_vertex_buffer_object +	DYNAMIC_DRAW					= 0x88E8 # ARB_vertex_buffer_object +	DYNAMIC_READ					= 0x88E9 # ARB_vertex_buffer_object +	DYNAMIC_COPY					= 0x88EA # ARB_vertex_buffer_object +	SAMPLES_PASSED					= 0x8914 # ARB_occlusion_query + +VERSION_1_5_DEPRECATED enum: +	VERTEX_ARRAY_BUFFER_BINDING			= 0x8896 # ARB_vertex_buffer_object +	NORMAL_ARRAY_BUFFER_BINDING			= 0x8897 # ARB_vertex_buffer_object +	COLOR_ARRAY_BUFFER_BINDING			= 0x8898 # ARB_vertex_buffer_object +	INDEX_ARRAY_BUFFER_BINDING			= 0x8899 # ARB_vertex_buffer_object +	TEXTURE_COORD_ARRAY_BUFFER_BINDING		= 0x889A # ARB_vertex_buffer_object +	EDGE_FLAG_ARRAY_BUFFER_BINDING			= 0x889B # ARB_vertex_buffer_object +	SECONDARY_COLOR_ARRAY_BUFFER_BINDING		= 0x889C # ARB_vertex_buffer_object +	FOG_COORDINATE_ARRAY_BUFFER_BINDING		= 0x889D # ARB_vertex_buffer_object +	WEIGHT_ARRAY_BUFFER_BINDING			= 0x889E # ARB_vertex_buffer_object +	FOG_COORD_SRC					= 0x8450    # alias GL_FOG_COORDINATE_SOURCE +	FOG_COORD					= 0x8451    # alias GL_FOG_COORDINATE +	CURRENT_FOG_COORD				= 0x8453    # alias GL_CURRENT_FOG_COORDINATE +	FOG_COORD_ARRAY_TYPE				= 0x8454    # alias GL_FOG_COORDINATE_ARRAY_TYPE +	FOG_COORD_ARRAY_STRIDE				= 0x8455    # alias GL_FOG_COORDINATE_ARRAY_STRIDE +	FOG_COORD_ARRAY_POINTER				= 0x8456    # alias GL_FOG_COORDINATE_ARRAY_POINTER +	FOG_COORD_ARRAY					= 0x8457    # alias GL_FOG_COORDINATE_ARRAY +	FOG_COORD_ARRAY_BUFFER_BINDING			= 0x889D    # alias GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING +# New naming scheme +	SRC0_RGB					= 0x8580    # alias GL_SOURCE0_RGB +	SRC1_RGB					= 0x8581    # alias GL_SOURCE1_RGB +	SRC2_RGB					= 0x8582    # alias GL_SOURCE2_RGB +	SRC0_ALPHA					= 0x8588    # alias GL_SOURCE0_ALPHA +	SRC1_ALPHA					= 0x8589    # alias GL_SOURCE1_ALPHA +	SRC2_ALPHA					= 0x858A    # alias GL_SOURCE2_ALPHA + +############################################################################### +# +# OpenGL 2.0 enums +# +############################################################################### + +VERSION_2_0 enum: +	BLEND_EQUATION_RGB				= 0x8009    # EXT_blend_equation_separate   # alias GL_BLEND_EQUATION +	VERTEX_ATTRIB_ARRAY_ENABLED			= 0x8622    # ARB_vertex_shader +	VERTEX_ATTRIB_ARRAY_SIZE			= 0x8623    # ARB_vertex_shader +	VERTEX_ATTRIB_ARRAY_STRIDE			= 0x8624    # ARB_vertex_shader +	VERTEX_ATTRIB_ARRAY_TYPE			= 0x8625    # ARB_vertex_shader +	CURRENT_VERTEX_ATTRIB				= 0x8626    # ARB_vertex_shader +	VERTEX_PROGRAM_POINT_SIZE			= 0x8642    # ARB_vertex_shader +	VERTEX_ATTRIB_ARRAY_POINTER			= 0x8645    # ARB_vertex_shader +	STENCIL_BACK_FUNC				= 0x8800    # ARB_stencil_two_side +	STENCIL_BACK_FAIL				= 0x8801    # ARB_stencil_two_side +	STENCIL_BACK_PASS_DEPTH_FAIL			= 0x8802    # ARB_stencil_two_side +	STENCIL_BACK_PASS_DEPTH_PASS			= 0x8803    # ARB_stencil_two_side +	MAX_DRAW_BUFFERS				= 0x8824    # ARB_draw_buffers +	DRAW_BUFFER0					= 0x8825    # ARB_draw_buffers +	DRAW_BUFFER1					= 0x8826    # ARB_draw_buffers +	DRAW_BUFFER2					= 0x8827    # ARB_draw_buffers +	DRAW_BUFFER3					= 0x8828    # ARB_draw_buffers +	DRAW_BUFFER4					= 0x8829    # ARB_draw_buffers +	DRAW_BUFFER5					= 0x882A    # ARB_draw_buffers +	DRAW_BUFFER6					= 0x882B    # ARB_draw_buffers +	DRAW_BUFFER7					= 0x882C    # ARB_draw_buffers +	DRAW_BUFFER8					= 0x882D    # ARB_draw_buffers +	DRAW_BUFFER9					= 0x882E    # ARB_draw_buffers +	DRAW_BUFFER10					= 0x882F    # ARB_draw_buffers +	DRAW_BUFFER11					= 0x8830    # ARB_draw_buffers +	DRAW_BUFFER12					= 0x8831    # ARB_draw_buffers +	DRAW_BUFFER13					= 0x8832    # ARB_draw_buffers +	DRAW_BUFFER14					= 0x8833    # ARB_draw_buffers +	DRAW_BUFFER15					= 0x8834    # ARB_draw_buffers +	BLEND_EQUATION_ALPHA				= 0x883D    # EXT_blend_equation_separate +	MAX_VERTEX_ATTRIBS				= 0x8869    # ARB_vertex_shader +	VERTEX_ATTRIB_ARRAY_NORMALIZED			= 0x886A    # ARB_vertex_shader +	MAX_TEXTURE_IMAGE_UNITS				= 0x8872    # ARB_vertex_shader, ARB_fragment_shader +	FRAGMENT_SHADER					= 0x8B30    # ARB_fragment_shader +	VERTEX_SHADER					= 0x8B31    # ARB_vertex_shader +	MAX_FRAGMENT_UNIFORM_COMPONENTS			= 0x8B49    # ARB_fragment_shader +	MAX_VERTEX_UNIFORM_COMPONENTS			= 0x8B4A    # ARB_vertex_shader +	MAX_VARYING_FLOATS				= 0x8B4B    # ARB_vertex_shader +	MAX_VERTEX_TEXTURE_IMAGE_UNITS			= 0x8B4C    # ARB_vertex_shader +	MAX_COMBINED_TEXTURE_IMAGE_UNITS		= 0x8B4D    # ARB_vertex_shader +	SHADER_TYPE					= 0x8B4F    # ARB_shader_objects +	FLOAT_VEC2					= 0x8B50    # ARB_shader_objects +	FLOAT_VEC3					= 0x8B51    # ARB_shader_objects +	FLOAT_VEC4					= 0x8B52    # ARB_shader_objects +	INT_VEC2					= 0x8B53    # ARB_shader_objects +	INT_VEC3					= 0x8B54    # ARB_shader_objects +	INT_VEC4					= 0x8B55    # ARB_shader_objects +	BOOL						= 0x8B56    # ARB_shader_objects +	BOOL_VEC2					= 0x8B57    # ARB_shader_objects +	BOOL_VEC3					= 0x8B58    # ARB_shader_objects +	BOOL_VEC4					= 0x8B59    # ARB_shader_objects +	FLOAT_MAT2					= 0x8B5A    # ARB_shader_objects +	FLOAT_MAT3					= 0x8B5B    # ARB_shader_objects +	FLOAT_MAT4					= 0x8B5C    # ARB_shader_objects +	SAMPLER_1D					= 0x8B5D    # ARB_shader_objects +	SAMPLER_2D					= 0x8B5E    # ARB_shader_objects +	SAMPLER_3D					= 0x8B5F    # ARB_shader_objects +	SAMPLER_CUBE					= 0x8B60    # ARB_shader_objects +	SAMPLER_1D_SHADOW				= 0x8B61    # ARB_shader_objects +	SAMPLER_2D_SHADOW				= 0x8B62    # ARB_shader_objects +	DELETE_STATUS					= 0x8B80    # ARB_shader_objects +	COMPILE_STATUS					= 0x8B81    # ARB_shader_objects +	LINK_STATUS					= 0x8B82    # ARB_shader_objects +	VALIDATE_STATUS					= 0x8B83    # ARB_shader_objects +	INFO_LOG_LENGTH					= 0x8B84    # ARB_shader_objects +	ATTACHED_SHADERS				= 0x8B85    # ARB_shader_objects +	ACTIVE_UNIFORMS					= 0x8B86    # ARB_shader_objects +	ACTIVE_UNIFORM_MAX_LENGTH			= 0x8B87    # ARB_shader_objects +	SHADER_SOURCE_LENGTH				= 0x8B88    # ARB_shader_objects +	ACTIVE_ATTRIBUTES				= 0x8B89    # ARB_vertex_shader +	ACTIVE_ATTRIBUTE_MAX_LENGTH			= 0x8B8A    # ARB_vertex_shader +	FRAGMENT_SHADER_DERIVATIVE_HINT			= 0x8B8B    # ARB_fragment_shader +	SHADING_LANGUAGE_VERSION			= 0x8B8C    # ARB_shading_language_100 +	CURRENT_PROGRAM					= 0x8B8D    # ARB_shader_objects (added for 2.0) +	POINT_SPRITE_COORD_ORIGIN			= 0x8CA0    # ARB_point_sprite (added for 2.0) +	LOWER_LEFT					= 0x8CA1    # ARB_point_sprite (added for 2.0) +	UPPER_LEFT					= 0x8CA2    # ARB_point_sprite (added for 2.0) +	STENCIL_BACK_REF				= 0x8CA3    # ARB_stencil_two_side +	STENCIL_BACK_VALUE_MASK				= 0x8CA4    # ARB_stencil_two_side +	STENCIL_BACK_WRITEMASK				= 0x8CA5    # ARB_stencil_two_side + +VERSION_2_0_DEPRECATED enum: +	VERTEX_PROGRAM_TWO_SIDE				= 0x8643    # ARB_vertex_shader +	POINT_SPRITE					= 0x8861    # ARB_point_sprite +	COORD_REPLACE					= 0x8862    # ARB_point_sprite +	MAX_TEXTURE_COORDS				= 0x8871    # ARB_vertex_shader, ARB_fragment_shader + + +############################################################################### +# +# OpenGL 2.1 enums +# +############################################################################### + +VERSION_2_1 enum: +	PIXEL_PACK_BUFFER				= 0x88EB    # ARB_pixel_buffer_object +	PIXEL_UNPACK_BUFFER				= 0x88EC    # ARB_pixel_buffer_object +	PIXEL_PACK_BUFFER_BINDING			= 0x88ED    # ARB_pixel_buffer_object +	PIXEL_UNPACK_BUFFER_BINDING			= 0x88EF    # ARB_pixel_buffer_object +	FLOAT_MAT2x3					= 0x8B65    # New for 2.1 +	FLOAT_MAT2x4					= 0x8B66    # New for 2.1 +	FLOAT_MAT3x2					= 0x8B67    # New for 2.1 +	FLOAT_MAT3x4					= 0x8B68    # New for 2.1 +	FLOAT_MAT4x2					= 0x8B69    # New for 2.1 +	FLOAT_MAT4x3					= 0x8B6A    # New for 2.1 +	SRGB						= 0x8C40    # EXT_texture_sRGB +	SRGB8						= 0x8C41    # EXT_texture_sRGB +	SRGB_ALPHA					= 0x8C42    # EXT_texture_sRGB +	SRGB8_ALPHA8					= 0x8C43    # EXT_texture_sRGB +	COMPRESSED_SRGB					= 0x8C48    # EXT_texture_sRGB +	COMPRESSED_SRGB_ALPHA				= 0x8C49    # EXT_texture_sRGB + +VERSION_2_1_DEPRECATED enum: +	CURRENT_RASTER_SECONDARY_COLOR			= 0x845F    # New for 2.1 +	SLUMINANCE_ALPHA				= 0x8C44    # EXT_texture_sRGB +	SLUMINANCE8_ALPHA8				= 0x8C45    # EXT_texture_sRGB +	SLUMINANCE					= 0x8C46    # EXT_texture_sRGB +	SLUMINANCE8					= 0x8C47    # EXT_texture_sRGB +	COMPRESSED_SLUMINANCE				= 0x8C4A    # EXT_texture_sRGB +	COMPRESSED_SLUMINANCE_ALPHA			= 0x8C4B    # EXT_texture_sRGB + + +############################################################################### +# +# OpenGL 3.0 enums +# +############################################################################### + +VERSION_3_0 enum: +	COMPARE_REF_TO_TEXTURE				= 0x884E    # alias GL_COMPARE_R_TO_TEXTURE_ARB +	CLIP_DISTANCE0					= 0x3000    # alias GL_CLIP_PLANE0 +	CLIP_DISTANCE1					= 0x3001    # alias GL_CLIP_PLANE1 +	CLIP_DISTANCE2					= 0x3002    # alias GL_CLIP_PLANE2 +	CLIP_DISTANCE3					= 0x3003    # alias GL_CLIP_PLANE3 +	CLIP_DISTANCE4					= 0x3004    # alias GL_CLIP_PLANE4 +	CLIP_DISTANCE5					= 0x3005    # alias GL_CLIP_PLANE5 +	CLIP_DISTANCE6					= 0x3006 +	CLIP_DISTANCE7					= 0x3007 +	MAX_CLIP_DISTANCES				= 0x0D32    # alias GL_MAX_CLIP_PLANES +	MAJOR_VERSION					= 0x821B +	MINOR_VERSION					= 0x821C +	NUM_EXTENSIONS					= 0x821D +	CONTEXT_FLAGS					= 0x821E +	DEPTH_BUFFER					= 0x8223 +	STENCIL_BUFFER					= 0x8224 +	COMPRESSED_RED					= 0x8225 +	COMPRESSED_RG					= 0x8226 +	CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT		= 0x0001 +	RGBA32F						= 0x8814 +	RGB32F						= 0x8815 +	RGBA16F						= 0x881A +	RGB16F						= 0x881B +	VERTEX_ATTRIB_ARRAY_INTEGER			= 0x88FD +	MAX_ARRAY_TEXTURE_LAYERS			= 0x88FF +	MIN_PROGRAM_TEXEL_OFFSET			= 0x8904 +	MAX_PROGRAM_TEXEL_OFFSET			= 0x8905 +	CLAMP_READ_COLOR				= 0x891C +	FIXED_ONLY					= 0x891D +	MAX_VARYING_COMPONENTS				= 0x8B4B    # alias GL_MAX_VARYING_FLOATS +	TEXTURE_1D_ARRAY				= 0x8C18 +	PROXY_TEXTURE_1D_ARRAY				= 0x8C19 +	TEXTURE_2D_ARRAY				= 0x8C1A +	PROXY_TEXTURE_2D_ARRAY				= 0x8C1B +	TEXTURE_BINDING_1D_ARRAY			= 0x8C1C +	TEXTURE_BINDING_2D_ARRAY			= 0x8C1D +	R11F_G11F_B10F					= 0x8C3A +	UNSIGNED_INT_10F_11F_11F_REV			= 0x8C3B +	RGB9_E5						= 0x8C3D +	UNSIGNED_INT_5_9_9_9_REV			= 0x8C3E +	TEXTURE_SHARED_SIZE				= 0x8C3F +	TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH		= 0x8C76 +	TRANSFORM_FEEDBACK_BUFFER_MODE			= 0x8C7F +	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS	= 0x8C80 +	TRANSFORM_FEEDBACK_VARYINGS			= 0x8C83 +	TRANSFORM_FEEDBACK_BUFFER_START			= 0x8C84 +	TRANSFORM_FEEDBACK_BUFFER_SIZE			= 0x8C85 +	PRIMITIVES_GENERATED				= 0x8C87 +	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN		= 0x8C88 +	RASTERIZER_DISCARD				= 0x8C89 +	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS	= 0x8C8A +	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS		= 0x8C8B +	INTERLEAVED_ATTRIBS				= 0x8C8C +	SEPARATE_ATTRIBS				= 0x8C8D +	TRANSFORM_FEEDBACK_BUFFER			= 0x8C8E +	TRANSFORM_FEEDBACK_BUFFER_BINDING		= 0x8C8F +	RGBA32UI					= 0x8D70 +	RGB32UI						= 0x8D71 +	RGBA16UI					= 0x8D76 +	RGB16UI						= 0x8D77 +	RGBA8UI						= 0x8D7C +	RGB8UI						= 0x8D7D +	RGBA32I						= 0x8D82 +	RGB32I						= 0x8D83 +	RGBA16I						= 0x8D88 +	RGB16I						= 0x8D89 +	RGBA8I						= 0x8D8E +	RGB8I						= 0x8D8F +	RED_INTEGER					= 0x8D94 +	GREEN_INTEGER					= 0x8D95 +	BLUE_INTEGER					= 0x8D96 +	RGB_INTEGER					= 0x8D98 +	RGBA_INTEGER					= 0x8D99 +	BGR_INTEGER					= 0x8D9A +	BGRA_INTEGER					= 0x8D9B +	SAMPLER_1D_ARRAY				= 0x8DC0 +	SAMPLER_2D_ARRAY				= 0x8DC1 +	SAMPLER_1D_ARRAY_SHADOW				= 0x8DC3 +	SAMPLER_2D_ARRAY_SHADOW				= 0x8DC4 +	SAMPLER_CUBE_SHADOW				= 0x8DC5 +	UNSIGNED_INT_VEC2				= 0x8DC6 +	UNSIGNED_INT_VEC3				= 0x8DC7 +	UNSIGNED_INT_VEC4				= 0x8DC8 +	INT_SAMPLER_1D					= 0x8DC9 +	INT_SAMPLER_2D					= 0x8DCA +	INT_SAMPLER_3D					= 0x8DCB +	INT_SAMPLER_CUBE				= 0x8DCC +	INT_SAMPLER_1D_ARRAY				= 0x8DCE +	INT_SAMPLER_2D_ARRAY				= 0x8DCF +	UNSIGNED_INT_SAMPLER_1D				= 0x8DD1 +	UNSIGNED_INT_SAMPLER_2D				= 0x8DD2 +	UNSIGNED_INT_SAMPLER_3D				= 0x8DD3 +	UNSIGNED_INT_SAMPLER_CUBE			= 0x8DD4 +	UNSIGNED_INT_SAMPLER_1D_ARRAY			= 0x8DD6 +	UNSIGNED_INT_SAMPLER_2D_ARRAY			= 0x8DD7 +	QUERY_WAIT					= 0x8E13 +	QUERY_NO_WAIT					= 0x8E14 +	QUERY_BY_REGION_WAIT				= 0x8E15 +	QUERY_BY_REGION_NO_WAIT				= 0x8E16 +	BUFFER_ACCESS_FLAGS				= 0x911F +	BUFFER_MAP_LENGTH				= 0x9120 +	BUFFER_MAP_OFFSET				= 0x9121 +passthru: /* Reuse tokens from ARB_depth_buffer_float */ +	use ARB_depth_buffer_float	    DEPTH_COMPONENT32F +	use ARB_depth_buffer_float	    DEPTH32F_STENCIL8 +	use ARB_depth_buffer_float	    FLOAT_32_UNSIGNED_INT_24_8_REV +passthru: /* Reuse tokens from ARB_framebuffer_object */ +	use ARB_framebuffer_object	    INVALID_FRAMEBUFFER_OPERATION +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_RED_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_GREEN_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_BLUE_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_DEFAULT +	use ARB_framebuffer_object	    FRAMEBUFFER_UNDEFINED +	use ARB_framebuffer_object	    DEPTH_STENCIL_ATTACHMENT +	use ARB_framebuffer_object	    INDEX +	use ARB_framebuffer_object	    MAX_RENDERBUFFER_SIZE +	use ARB_framebuffer_object	    DEPTH_STENCIL +	use ARB_framebuffer_object	    UNSIGNED_INT_24_8 +	use ARB_framebuffer_object	    DEPTH24_STENCIL8 +	use ARB_framebuffer_object	    TEXTURE_STENCIL_SIZE +	use ARB_framebuffer_object	    TEXTURE_RED_TYPE +	use ARB_framebuffer_object	    TEXTURE_GREEN_TYPE +	use ARB_framebuffer_object	    TEXTURE_BLUE_TYPE +	use ARB_framebuffer_object	    TEXTURE_ALPHA_TYPE +	use ARB_framebuffer_object	    TEXTURE_DEPTH_TYPE +	use ARB_framebuffer_object	    UNSIGNED_NORMALIZED +	use ARB_framebuffer_object	    FRAMEBUFFER_BINDING +	use ARB_framebuffer_object	    DRAW_FRAMEBUFFER_BINDING +	use ARB_framebuffer_object	    RENDERBUFFER_BINDING +	use ARB_framebuffer_object	    READ_FRAMEBUFFER +	use ARB_framebuffer_object	    DRAW_FRAMEBUFFER +	use ARB_framebuffer_object	    READ_FRAMEBUFFER_BINDING +	use ARB_framebuffer_object	    RENDERBUFFER_SAMPLES +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_OBJECT_NAME +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER +	use ARB_framebuffer_object	    FRAMEBUFFER_COMPLETE +	use ARB_framebuffer_object	    FRAMEBUFFER_INCOMPLETE_ATTACHMENT +	use ARB_framebuffer_object	    FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT +	use ARB_framebuffer_object	    FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER +	use ARB_framebuffer_object	    FRAMEBUFFER_INCOMPLETE_READ_BUFFER +	use ARB_framebuffer_object	    FRAMEBUFFER_UNSUPPORTED +	use ARB_framebuffer_object	    MAX_COLOR_ATTACHMENTS +	use ARB_framebuffer_object	    COLOR_ATTACHMENT0 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT1 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT2 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT3 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT4 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT5 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT6 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT7 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT8 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT9 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT10 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT11 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT12 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT13 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT14 +	use ARB_framebuffer_object	    COLOR_ATTACHMENT15 +	use ARB_framebuffer_object	    DEPTH_ATTACHMENT +	use ARB_framebuffer_object	    STENCIL_ATTACHMENT +	use ARB_framebuffer_object	    FRAMEBUFFER +	use ARB_framebuffer_object	    RENDERBUFFER +	use ARB_framebuffer_object	    RENDERBUFFER_WIDTH +	use ARB_framebuffer_object	    RENDERBUFFER_HEIGHT +	use ARB_framebuffer_object	    RENDERBUFFER_INTERNAL_FORMAT +	use ARB_framebuffer_object	    STENCIL_INDEX1 +	use ARB_framebuffer_object	    STENCIL_INDEX4 +	use ARB_framebuffer_object	    STENCIL_INDEX8 +	use ARB_framebuffer_object	    STENCIL_INDEX16 +	use ARB_framebuffer_object	    RENDERBUFFER_RED_SIZE +	use ARB_framebuffer_object	    RENDERBUFFER_GREEN_SIZE +	use ARB_framebuffer_object	    RENDERBUFFER_BLUE_SIZE +	use ARB_framebuffer_object	    RENDERBUFFER_ALPHA_SIZE +	use ARB_framebuffer_object	    RENDERBUFFER_DEPTH_SIZE +	use ARB_framebuffer_object	    RENDERBUFFER_STENCIL_SIZE +	use ARB_framebuffer_object	    FRAMEBUFFER_INCOMPLETE_MULTISAMPLE +	use ARB_framebuffer_object	    MAX_SAMPLES +passthru: /* Reuse tokens from ARB_framebuffer_sRGB */ +	use ARB_framebuffer_sRGB	    FRAMEBUFFER_SRGB +passthru: /* Reuse tokens from ARB_half_float_vertex */ +	use ARB_half_float_vertex	    HALF_FLOAT +passthru: /* Reuse tokens from ARB_map_buffer_range */ +	use ARB_map_buffer_range	    MAP_READ_BIT +	use ARB_map_buffer_range	    MAP_WRITE_BIT +	use ARB_map_buffer_range	    MAP_INVALIDATE_RANGE_BIT +	use ARB_map_buffer_range	    MAP_INVALIDATE_BUFFER_BIT +	use ARB_map_buffer_range	    MAP_FLUSH_EXPLICIT_BIT +	use ARB_map_buffer_range	    MAP_UNSYNCHRONIZED_BIT +passthru: /* Reuse tokens from ARB_texture_compression_rgtc */ +	use ARB_texture_compression_rgtc    COMPRESSED_RED_RGTC1 +	use ARB_texture_compression_rgtc    COMPRESSED_SIGNED_RED_RGTC1 +	use ARB_texture_compression_rgtc    COMPRESSED_RG_RGTC2 +	use ARB_texture_compression_rgtc    COMPRESSED_SIGNED_RG_RGTC2 +passthru: /* Reuse tokens from ARB_texture_rg */ +	use ARB_texture_rg		    RG +	use ARB_texture_rg		    RG_INTEGER +	use ARB_texture_rg		    R8 +	use ARB_texture_rg		    R16 +	use ARB_texture_rg		    RG8 +	use ARB_texture_rg		    RG16 +	use ARB_texture_rg		    R16F +	use ARB_texture_rg		    R32F +	use ARB_texture_rg		    RG16F +	use ARB_texture_rg		    RG32F +	use ARB_texture_rg		    R8I +	use ARB_texture_rg		    R8UI +	use ARB_texture_rg		    R16I +	use ARB_texture_rg		    R16UI +	use ARB_texture_rg		    R32I +	use ARB_texture_rg		    R32UI +	use ARB_texture_rg		    RG8I +	use ARB_texture_rg		    RG8UI +	use ARB_texture_rg		    RG16I +	use ARB_texture_rg		    RG16UI +	use ARB_texture_rg		    RG32I +	use ARB_texture_rg		    RG32UI +passthru: /* Reuse tokens from ARB_vertex_array_object */ +	use ARB_vertex_array_object	    VERTEX_ARRAY_BINDING + +VERSION_3_0_DEPRECATED enum: +	CLAMP_VERTEX_COLOR				= 0x891A +	CLAMP_FRAGMENT_COLOR				= 0x891B +	ALPHA_INTEGER					= 0x8D97 +passthru: /* Reuse tokens from ARB_framebuffer_object */ +	use ARB_framebuffer_object	    TEXTURE_LUMINANCE_TYPE +	use ARB_framebuffer_object	    TEXTURE_INTENSITY_TYPE + + +############################################################################### +# +# OpenGL 3.1 enums +# +############################################################################### + +VERSION_3_1 enum: +	SAMPLER_2D_RECT					= 0x8B63    # ARB_shader_objects + ARB_texture_rectangle +	SAMPLER_2D_RECT_SHADOW				= 0x8B64    # ARB_shader_objects + ARB_texture_rectangle +	SAMPLER_BUFFER					= 0x8DC2    # EXT_gpu_shader4 + ARB_texture_buffer_object +	INT_SAMPLER_2D_RECT				= 0x8DCD    # EXT_gpu_shader4 + ARB_texture_rectangle +	INT_SAMPLER_BUFFER				= 0x8DD0    # EXT_gpu_shader4 + ARB_texture_buffer_object +	UNSIGNED_INT_SAMPLER_2D_RECT			= 0x8DD5    # EXT_gpu_shader4 + ARB_texture_rectangle +	UNSIGNED_INT_SAMPLER_BUFFER			= 0x8DD8    # EXT_gpu_shader4 + ARB_texture_buffer_object +	TEXTURE_BUFFER					= 0x8C2A    # ARB_texture_buffer_object +	MAX_TEXTURE_BUFFER_SIZE				= 0x8C2B    # ARB_texture_buffer_object +	TEXTURE_BINDING_BUFFER				= 0x8C2C    # ARB_texture_buffer_object +	TEXTURE_BUFFER_DATA_STORE_BINDING		= 0x8C2D    # ARB_texture_buffer_object +	TEXTURE_BUFFER_FORMAT				= 0x8C2E    # ARB_texture_buffer_object +	TEXTURE_RECTANGLE				= 0x84F5    # ARB_texture_rectangle +	TEXTURE_BINDING_RECTANGLE			= 0x84F6    # ARB_texture_rectangle +	PROXY_TEXTURE_RECTANGLE				= 0x84F7    # ARB_texture_rectangle +	MAX_RECTANGLE_TEXTURE_SIZE			= 0x84F8    # ARB_texture_rectangle +	RED_SNORM					= 0x8F90    # 3.1 +	RG_SNORM					= 0x8F91    # 3.1 +	RGB_SNORM					= 0x8F92    # 3.1 +	RGBA_SNORM					= 0x8F93    # 3.1 +	R8_SNORM					= 0x8F94    # 3.1 +	RG8_SNORM					= 0x8F95    # 3.1 +	RGB8_SNORM					= 0x8F96    # 3.1 +	RGBA8_SNORM					= 0x8F97    # 3.1 +	R16_SNORM					= 0x8F98    # 3.1 +	RG16_SNORM					= 0x8F99    # 3.1 +	RGB16_SNORM					= 0x8F9A    # 3.1 +	RGBA16_SNORM					= 0x8F9B    # 3.1 +	SIGNED_NORMALIZED				= 0x8F9C    # 3.1 +	PRIMITIVE_RESTART				= 0x8F9D    # 3.1 (different from NV_primitive_restart) +	PRIMITIVE_RESTART_INDEX				= 0x8F9E    # 3.1 (different from NV_primitive_restart) +passthru: /* Reuse tokens from ARB_copy_buffer */ +	use ARB_copy_buffer		    COPY_READ_BUFFER +	use ARB_copy_buffer		    COPY_WRITE_BUFFER +passthru: /* Would reuse tokens from ARB_draw_instanced, but it has none */ +passthru: /* Reuse tokens from ARB_uniform_buffer_object */ +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER_BINDING +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER_START +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER_SIZE +	use ARB_uniform_buffer_object	    MAX_VERTEX_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    MAX_FRAGMENT_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    MAX_COMBINED_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    MAX_UNIFORM_BUFFER_BINDINGS +	use ARB_uniform_buffer_object	    MAX_UNIFORM_BLOCK_SIZE +	use ARB_uniform_buffer_object	    MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS +	use ARB_uniform_buffer_object	    MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS +	use ARB_uniform_buffer_object	    UNIFORM_BUFFER_OFFSET_ALIGNMENT +	use ARB_uniform_buffer_object	    ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH +	use ARB_uniform_buffer_object	    ACTIVE_UNIFORM_BLOCKS +	use ARB_uniform_buffer_object	    UNIFORM_TYPE +	use ARB_uniform_buffer_object	    UNIFORM_SIZE +	use ARB_uniform_buffer_object	    UNIFORM_NAME_LENGTH +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_INDEX +	use ARB_uniform_buffer_object	    UNIFORM_OFFSET +	use ARB_uniform_buffer_object	    UNIFORM_ARRAY_STRIDE +	use ARB_uniform_buffer_object	    UNIFORM_MATRIX_STRIDE +	use ARB_uniform_buffer_object	    UNIFORM_IS_ROW_MAJOR +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_BINDING +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_DATA_SIZE +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_NAME_LENGTH +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_ACTIVE_UNIFORMS +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER +	use ARB_uniform_buffer_object	    UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER +	use ARB_uniform_buffer_object	    INVALID_INDEX + + +############################################################################### +# +# OpenGL 3.2 enums +# +############################################################################### + +VERSION_3_2 enum: +	CONTEXT_CORE_PROFILE_BIT			= 0x00000001 +	CONTEXT_COMPATIBILITY_PROFILE_BIT		= 0x00000002 +	LINES_ADJACENCY					= 0x000A +	LINE_STRIP_ADJACENCY				= 0x000B +	TRIANGLES_ADJACENCY				= 0x000C +	TRIANGLE_STRIP_ADJACENCY			= 0x000D +	PROGRAM_POINT_SIZE				= 0x8642 +	MAX_GEOMETRY_TEXTURE_IMAGE_UNITS		= 0x8C29 +	FRAMEBUFFER_ATTACHMENT_LAYERED			= 0x8DA7 +	FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS		= 0x8DA8 +	GEOMETRY_SHADER					= 0x8DD9 +	GEOMETRY_VERTICES_OUT				= 0x8916 +	GEOMETRY_INPUT_TYPE				= 0x8917 +	GEOMETRY_OUTPUT_TYPE				= 0x8918 +	MAX_GEOMETRY_UNIFORM_COMPONENTS			= 0x8DDF +	MAX_GEOMETRY_OUTPUT_VERTICES			= 0x8DE0 +	MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS		= 0x8DE1 +	MAX_VERTEX_OUTPUT_COMPONENTS			= 0x9122 +	MAX_GEOMETRY_INPUT_COMPONENTS			= 0x9123 +	MAX_GEOMETRY_OUTPUT_COMPONENTS			= 0x9124 +	MAX_FRAGMENT_INPUT_COMPONENTS			= 0x9125 +	CONTEXT_PROFILE_MASK				= 0x9126 +	use VERSION_3_0			    MAX_VARYING_COMPONENTS +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER +passthru: /* Reuse tokens from ARB_depth_clamp */ +	use ARB_depth_clamp		    DEPTH_CLAMP +passthru: /* Would reuse tokens from ARB_draw_elements_base_vertex, but it has none */ +passthru: /* Would reuse tokens from ARB_fragment_coord_conventions, but it has none */ +passthru: /* Reuse tokens from ARB_provoking_vertex */ +	use ARB_provoking_vertex	    QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION +	use ARB_provoking_vertex	    FIRST_VERTEX_CONVENTION +	use ARB_provoking_vertex	    LAST_VERTEX_CONVENTION +	use ARB_provoking_vertex	    PROVOKING_VERTEX +passthru: /* Reuse tokens from ARB_seamless_cube_map */ +	use ARB_seamless_cube_map	    TEXTURE_CUBE_MAP_SEAMLESS +passthru: /* Reuse tokens from ARB_sync */ +	use ARB_sync			    MAX_SERVER_WAIT_TIMEOUT +	use ARB_sync			    OBJECT_TYPE +	use ARB_sync			    SYNC_CONDITION +	use ARB_sync			    SYNC_STATUS +	use ARB_sync			    SYNC_FLAGS +	use ARB_sync			    SYNC_FENCE +	use ARB_sync			    SYNC_GPU_COMMANDS_COMPLETE +	use ARB_sync			    UNSIGNALED +	use ARB_sync			    SIGNALED +	use ARB_sync			    ALREADY_SIGNALED +	use ARB_sync			    TIMEOUT_EXPIRED +	use ARB_sync			    CONDITION_SATISFIED +	use ARB_sync			    WAIT_FAILED +	use ARB_sync			    TIMEOUT_IGNORED +	use ARB_sync			    SYNC_FLUSH_COMMANDS_BIT +	use ARB_sync			    TIMEOUT_IGNORED +passthru: /* Reuse tokens from ARB_texture_multisample */ +	use ARB_texture_multisample	    SAMPLE_POSITION +	use ARB_texture_multisample	    SAMPLE_MASK +	use ARB_texture_multisample	    SAMPLE_MASK_VALUE +	use ARB_texture_multisample	    MAX_SAMPLE_MASK_WORDS +	use ARB_texture_multisample	    TEXTURE_2D_MULTISAMPLE +	use ARB_texture_multisample	    PROXY_TEXTURE_2D_MULTISAMPLE +	use ARB_texture_multisample	    TEXTURE_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    TEXTURE_BINDING_2D_MULTISAMPLE +	use ARB_texture_multisample	    TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    TEXTURE_SAMPLES +	use ARB_texture_multisample	    TEXTURE_FIXED_SAMPLE_LOCATIONS +	use ARB_texture_multisample	    SAMPLER_2D_MULTISAMPLE +	use ARB_texture_multisample	    INT_SAMPLER_2D_MULTISAMPLE +	use ARB_texture_multisample	    UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE +	use ARB_texture_multisample	    SAMPLER_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    INT_SAMPLER_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY +	use ARB_texture_multisample	    MAX_COLOR_TEXTURE_SAMPLES +	use ARB_texture_multisample	    MAX_DEPTH_TEXTURE_SAMPLES +	use ARB_texture_multisample	    MAX_INTEGER_SAMPLES +passthru: /* Don't need to reuse tokens from ARB_vertex_array_bgra since they're already in 1.2 core */ + +############################################################################### +# +# OpenGL 3.3 enums +# +############################################################################### + +VERSION_3_3 enum: +passthru: /* Reuse tokens from ARB_blend_func_extended */ +	use ARB_blend_func_extended	    SRC1_COLOR +	use ARB_blend_func_extended	    ONE_MINUS_SRC1_COLOR +	use ARB_blend_func_extended	    ONE_MINUS_SRC1_ALPHA +	use ARB_blend_func_extended	    MAX_DUAL_SOURCE_DRAW_BUFFERS +passthru: /* Would reuse tokens from ARB_explicit_attrib_location, but it has none */ +passthru: /* Reuse tokens from ARB_occlusion_query2 */ +	use ARB_occlusion_query2	    ANY_SAMPLES_PASSED +passthru: /* Reuse tokens from ARB_sampler_objects */ +	use ARB_sampler_objects		    SAMPLER_BINDING +passthru: /* Would reuse tokens from ARB_shader_bit_encoding, but it has none */ +passthru: /* Reuse tokens from ARB_texture_rgb10_a2ui */ +	use ARB_texture_rgb10_a2ui	    RGB10_A2UI +passthru: /* Reuse tokens from ARB_texture_swizzle */ +	use ARB_texture_swizzle		    TEXTURE_SWIZZLE_R +	use ARB_texture_swizzle		    TEXTURE_SWIZZLE_G +	use ARB_texture_swizzle		    TEXTURE_SWIZZLE_B +	use ARB_texture_swizzle		    TEXTURE_SWIZZLE_A +	use ARB_texture_swizzle		    TEXTURE_SWIZZLE_RGBA +passthru: /* Reuse tokens from ARB_timer_query */ +	use ARB_timer_query		    TIME_ELAPSED +	use ARB_timer_query		    TIMESTAMP +passthru: /* Reuse tokens from ARB_vertex_type_2_10_10_10_rev */ +	use ARB_vertex_type_2_10_10_10_rev  INT_2_10_10_10_REV + +############################################################################### +# +# OpenGL 4.0 enums +# +############################################################################### + +VERSION_4_0 enum: +passthru: /* Reuse tokens from ARB_draw_indirect */ +	use ARB_draw_indirect		    DRAW_INDIRECT_BUFFER +	use ARB_draw_indirect		    DRAW_INDIRECT_BUFFER_BINDING +passthru: /* Reuse tokens from ARB_gpu_shader5 */ +	use ARB_gpu_shader5		    GEOMETRY_SHADER_INVOCATIONS +	use ARB_gpu_shader5		    MAX_GEOMETRY_SHADER_INVOCATIONS +	use ARB_gpu_shader5		    MIN_FRAGMENT_INTERPOLATION_OFFSET +	use ARB_gpu_shader5		    MAX_FRAGMENT_INTERPOLATION_OFFSET +	use ARB_gpu_shader5		    FRAGMENT_INTERPOLATION_OFFSET_BITS +	use ARB_gpu_shader5		    MAX_VERTEX_STREAMS +passthru: /* Reuse tokens from ARB_gpu_shader_fp64 */ +	use ARB_gpu_shader_fp64		    DOUBLE_VEC2 +	use ARB_gpu_shader_fp64		    DOUBLE_VEC3 +	use ARB_gpu_shader_fp64		    DOUBLE_VEC4 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT2 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT3 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT4 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT2x3 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT2x4 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT3x2 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT3x4 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT4x2 +	use ARB_gpu_shader_fp64		    DOUBLE_MAT4x3 +passthru: /* Reuse tokens from ARB_shader_subroutine */ +	use ARB_shader_subroutine	    ACTIVE_SUBROUTINES +	use ARB_shader_subroutine	    ACTIVE_SUBROUTINE_UNIFORMS +	use ARB_shader_subroutine	    ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS +	use ARB_shader_subroutine	    ACTIVE_SUBROUTINE_MAX_LENGTH +	use ARB_shader_subroutine	    ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH +	use ARB_shader_subroutine	    MAX_SUBROUTINES +	use ARB_shader_subroutine	    MAX_SUBROUTINE_UNIFORM_LOCATIONS +	use ARB_shader_subroutine	    NUM_COMPATIBLE_SUBROUTINES +	use ARB_shader_subroutine	    COMPATIBLE_SUBROUTINES +passthru: /* Reuse tokens from ARB_tessellation_shader */ +	use ARB_tessellation_shader	    PATCHES +	use ARB_tessellation_shader	    PATCH_VERTICES +	use ARB_tessellation_shader	    PATCH_DEFAULT_INNER_LEVEL +	use ARB_tessellation_shader	    PATCH_DEFAULT_OUTER_LEVEL +	use ARB_tessellation_shader	    TESS_CONTROL_OUTPUT_VERTICES +	use ARB_tessellation_shader	    TESS_GEN_MODE +	use ARB_tessellation_shader	    TESS_GEN_SPACING +	use ARB_tessellation_shader	    TESS_GEN_VERTEX_ORDER +	use ARB_tessellation_shader	    TESS_GEN_POINT_MODE +	use ARB_tessellation_shader	    ISOLINES +	use ARB_tessellation_shader	    FRACTIONAL_ODD +	use ARB_tessellation_shader	    FRACTIONAL_EVEN +	use ARB_tessellation_shader	    MAX_PATCH_VERTICES +	use ARB_tessellation_shader	    MAX_TESS_GEN_LEVEL +	use ARB_tessellation_shader	    MAX_TESS_CONTROL_UNIFORM_COMPONENTS +	use ARB_tessellation_shader	    MAX_TESS_EVALUATION_UNIFORM_COMPONENTS +	use ARB_tessellation_shader	    MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS +	use ARB_tessellation_shader	    MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS +	use ARB_tessellation_shader	    MAX_TESS_CONTROL_OUTPUT_COMPONENTS +	use ARB_tessellation_shader	    MAX_TESS_PATCH_COMPONENTS +	use ARB_tessellation_shader	    MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS +	use ARB_tessellation_shader	    MAX_TESS_EVALUATION_OUTPUT_COMPONENTS +	use ARB_tessellation_shader	    MAX_TESS_CONTROL_UNIFORM_BLOCKS +	use ARB_tessellation_shader	    MAX_TESS_EVALUATION_UNIFORM_BLOCKS +	use ARB_tessellation_shader	    MAX_TESS_CONTROL_INPUT_COMPONENTS +	use ARB_tessellation_shader	    MAX_TESS_EVALUATION_INPUT_COMPONENTS +	use ARB_tessellation_shader	    MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS +	use ARB_tessellation_shader	    MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS +	use ARB_tessellation_shader	    UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER +	use ARB_tessellation_shader	    UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER +	use ARB_tessellation_shader	    TESS_EVALUATION_SHADER +	use ARB_tessellation_shader	    TESS_CONTROL_SHADER +passthru: /* Would reuse tokens from ARB_texture_buffer_object_rgb32, but it has none */ +passthru: /* Reuse tokens from ARB_transform_feedback2 */ +	use ARB_tessellation_shader	    TRANSFORM_FEEDBACK +	use ARB_tessellation_shader	    TRANSFORM_FEEDBACK_BUFFER_PAUSED +	use ARB_tessellation_shader	    TRANSFORM_FEEDBACK_BUFFER_ACTIVE +	use ARB_tessellation_shader	    TRANSFORM_FEEDBACK_BINDING +passthru: /* Reuse tokens from ARB_transform_feedback3 */ +	use ARB_tessellation_shader	    MAX_TRANSFORM_FEEDBACK_BUFFERS +	use ARB_tessellation_shader	    MAX_VERTEX_STREAMS + + +############################################################################### +# +# ARB extensions, in ARB extension order +# +############################################################################### + +############################################################################### + +# ARB Extension #1 +ARB_multitexture enum: +	TEXTURE0_ARB					= 0x84C0 +	TEXTURE1_ARB					= 0x84C1 +	TEXTURE2_ARB					= 0x84C2 +	TEXTURE3_ARB					= 0x84C3 +	TEXTURE4_ARB					= 0x84C4 +	TEXTURE5_ARB					= 0x84C5 +	TEXTURE6_ARB					= 0x84C6 +	TEXTURE7_ARB					= 0x84C7 +	TEXTURE8_ARB					= 0x84C8 +	TEXTURE9_ARB					= 0x84C9 +	TEXTURE10_ARB					= 0x84CA +	TEXTURE11_ARB					= 0x84CB +	TEXTURE12_ARB					= 0x84CC +	TEXTURE13_ARB					= 0x84CD +	TEXTURE14_ARB					= 0x84CE +	TEXTURE15_ARB					= 0x84CF +	TEXTURE16_ARB					= 0x84D0 +	TEXTURE17_ARB					= 0x84D1 +	TEXTURE18_ARB					= 0x84D2 +	TEXTURE19_ARB					= 0x84D3 +	TEXTURE20_ARB					= 0x84D4 +	TEXTURE21_ARB					= 0x84D5 +	TEXTURE22_ARB					= 0x84D6 +	TEXTURE23_ARB					= 0x84D7 +	TEXTURE24_ARB					= 0x84D8 +	TEXTURE25_ARB					= 0x84D9 +	TEXTURE26_ARB					= 0x84DA +	TEXTURE27_ARB					= 0x84DB +	TEXTURE28_ARB					= 0x84DC +	TEXTURE29_ARB					= 0x84DD +	TEXTURE30_ARB					= 0x84DE +	TEXTURE31_ARB					= 0x84DF +	ACTIVE_TEXTURE_ARB				= 0x84E0 # 1 I +	CLIENT_ACTIVE_TEXTURE_ARB			= 0x84E1 # 1 I +	MAX_TEXTURE_UNITS_ARB				= 0x84E2 # 1 I + +############################################################################### + +# No new tokens +# ARB Extension #2 - GLX_ARB_get_proc_address + +############################################################################### + +# ARB Extension #3 +ARB_transpose_matrix enum: +	TRANSPOSE_MODELVIEW_MATRIX_ARB			= 0x84E3 # 16 F +	TRANSPOSE_PROJECTION_MATRIX_ARB			= 0x84E4 # 16 F +	TRANSPOSE_TEXTURE_MATRIX_ARB			= 0x84E5 # 16 F +	TRANSPOSE_COLOR_MATRIX_ARB			= 0x84E6 # 16 F + +############################################################################### + +# No new tokens +# ARB Extension #4 - WGL_ARB_buffer_region + +############################################################################### + +# ARB Extension #5 +ARB_multisample enum: +	MULTISAMPLE_ARB					= 0x809D +	SAMPLE_ALPHA_TO_COVERAGE_ARB			= 0x809E +	SAMPLE_ALPHA_TO_ONE_ARB				= 0x809F +	SAMPLE_COVERAGE_ARB				= 0x80A0 +	SAMPLE_BUFFERS_ARB				= 0x80A8 +	SAMPLES_ARB					= 0x80A9 +	SAMPLE_COVERAGE_VALUE_ARB			= 0x80AA +	SAMPLE_COVERAGE_INVERT_ARB			= 0x80AB +	MULTISAMPLE_BIT_ARB				= 0x20000000 + +############################################################################### + +# No new tokens +# ARB Extension #6 +ARB_texture_env_add enum: + +############################################################################### + +# ARB Extension #7 +ARB_texture_cube_map enum: +	NORMAL_MAP_ARB					= 0x8511 +	REFLECTION_MAP_ARB				= 0x8512 +	TEXTURE_CUBE_MAP_ARB				= 0x8513 +	TEXTURE_BINDING_CUBE_MAP_ARB			= 0x8514 +	TEXTURE_CUBE_MAP_POSITIVE_X_ARB			= 0x8515 +	TEXTURE_CUBE_MAP_NEGATIVE_X_ARB			= 0x8516 +	TEXTURE_CUBE_MAP_POSITIVE_Y_ARB			= 0x8517 +	TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB			= 0x8518 +	TEXTURE_CUBE_MAP_POSITIVE_Z_ARB			= 0x8519 +	TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB			= 0x851A +	PROXY_TEXTURE_CUBE_MAP_ARB			= 0x851B +	MAX_CUBE_MAP_TEXTURE_SIZE_ARB			= 0x851C + +############################################################################### + +# No new tokens +# ARB Extension #8 - WGL_ARB_extensions_string +# ARB Extension #9 - WGL_ARB_pixel_format +# ARB Extension #10 - WGL_ARB_make_current_read +# ARB Extension #11 - WGL_ARB_pbuffer + +############################################################################### + +# ARB Extension #12 +ARB_texture_compression enum: +	COMPRESSED_ALPHA_ARB				= 0x84E9 +	COMPRESSED_LUMINANCE_ARB			= 0x84EA +	COMPRESSED_LUMINANCE_ALPHA_ARB			= 0x84EB +	COMPRESSED_INTENSITY_ARB			= 0x84EC +	COMPRESSED_RGB_ARB				= 0x84ED +	COMPRESSED_RGBA_ARB				= 0x84EE +	TEXTURE_COMPRESSION_HINT_ARB			= 0x84EF +	TEXTURE_COMPRESSED_IMAGE_SIZE_ARB		= 0x86A0 +	TEXTURE_COMPRESSED_ARB				= 0x86A1 +	NUM_COMPRESSED_TEXTURE_FORMATS_ARB		= 0x86A2 +	COMPRESSED_TEXTURE_FORMATS_ARB			= 0x86A3 + +############################################################################### + +# ARB Extension #13 +# Promoted from #36 SGIS_texture_border_clamp +ARB_texture_border_clamp enum: +	CLAMP_TO_BORDER_ARB				= 0x812D + +############################################################################### + +# ARB Extension #14 - promoted from #54 EXT_point_parameters +# Promoted from #54 {SGIS,EXT}_point_parameters +ARB_point_parameters enum: +	POINT_SIZE_MIN_ARB				= 0x8126 # 1 F +	POINT_SIZE_MAX_ARB				= 0x8127 # 1 F +	POINT_FADE_THRESHOLD_SIZE_ARB			= 0x8128 # 1 F +	POINT_DISTANCE_ATTENUATION_ARB			= 0x8129 # 3 F + +############################################################################### + +# ARB Extension #15 +ARB_vertex_blend enum: +	MAX_VERTEX_UNITS_ARB				= 0x86A4 +	ACTIVE_VERTEX_UNITS_ARB				= 0x86A5 +	WEIGHT_SUM_UNITY_ARB				= 0x86A6 +	VERTEX_BLEND_ARB				= 0x86A7 +	CURRENT_WEIGHT_ARB				= 0x86A8 +	WEIGHT_ARRAY_TYPE_ARB				= 0x86A9 +	WEIGHT_ARRAY_STRIDE_ARB				= 0x86AA +	WEIGHT_ARRAY_SIZE_ARB				= 0x86AB +	WEIGHT_ARRAY_POINTER_ARB			= 0x86AC +	WEIGHT_ARRAY_ARB				= 0x86AD +	MODELVIEW0_ARB					= 0x1700 +	MODELVIEW1_ARB					= 0x850A +	MODELVIEW2_ARB					= 0x8722 +	MODELVIEW3_ARB					= 0x8723 +	MODELVIEW4_ARB					= 0x8724 +	MODELVIEW5_ARB					= 0x8725 +	MODELVIEW6_ARB					= 0x8726 +	MODELVIEW7_ARB					= 0x8727 +	MODELVIEW8_ARB					= 0x8728 +	MODELVIEW9_ARB					= 0x8729 +	MODELVIEW10_ARB					= 0x872A +	MODELVIEW11_ARB					= 0x872B +	MODELVIEW12_ARB					= 0x872C +	MODELVIEW13_ARB					= 0x872D +	MODELVIEW14_ARB					= 0x872E +	MODELVIEW15_ARB					= 0x872F +	MODELVIEW16_ARB					= 0x8730 +	MODELVIEW17_ARB					= 0x8731 +	MODELVIEW18_ARB					= 0x8732 +	MODELVIEW19_ARB					= 0x8733 +	MODELVIEW20_ARB					= 0x8734 +	MODELVIEW21_ARB					= 0x8735 +	MODELVIEW22_ARB					= 0x8736 +	MODELVIEW23_ARB					= 0x8737 +	MODELVIEW24_ARB					= 0x8738 +	MODELVIEW25_ARB					= 0x8739 +	MODELVIEW26_ARB					= 0x873A +	MODELVIEW27_ARB					= 0x873B +	MODELVIEW28_ARB					= 0x873C +	MODELVIEW29_ARB					= 0x873D +	MODELVIEW30_ARB					= 0x873E +	MODELVIEW31_ARB					= 0x873F + +############################################################################### + +# ARB Extension #16 +ARB_matrix_palette enum: +	MATRIX_PALETTE_ARB				= 0x8840 +	MAX_MATRIX_PALETTE_STACK_DEPTH_ARB		= 0x8841 +	MAX_PALETTE_MATRICES_ARB			= 0x8842 +	CURRENT_PALETTE_MATRIX_ARB			= 0x8843 +	MATRIX_INDEX_ARRAY_ARB				= 0x8844 +	CURRENT_MATRIX_INDEX_ARB			= 0x8845 +	MATRIX_INDEX_ARRAY_SIZE_ARB			= 0x8846 +	MATRIX_INDEX_ARRAY_TYPE_ARB			= 0x8847 +	MATRIX_INDEX_ARRAY_STRIDE_ARB			= 0x8848 +	MATRIX_INDEX_ARRAY_POINTER_ARB			= 0x8849 + +############################################################################### + +# ARB Extension #17 +# Shares enum values with EXT_texture_env_combine +ARB_texture_env_combine enum: +	COMBINE_ARB					= 0x8570 +	COMBINE_RGB_ARB					= 0x8571 +	COMBINE_ALPHA_ARB				= 0x8572 +	SOURCE0_RGB_ARB					= 0x8580 +	SOURCE1_RGB_ARB					= 0x8581 +	SOURCE2_RGB_ARB					= 0x8582 +	SOURCE0_ALPHA_ARB				= 0x8588 +	SOURCE1_ALPHA_ARB				= 0x8589 +	SOURCE2_ALPHA_ARB				= 0x858A +	OPERAND0_RGB_ARB				= 0x8590 +	OPERAND1_RGB_ARB				= 0x8591 +	OPERAND2_RGB_ARB				= 0x8592 +	OPERAND0_ALPHA_ARB				= 0x8598 +	OPERAND1_ALPHA_ARB				= 0x8599 +	OPERAND2_ALPHA_ARB				= 0x859A +	RGB_SCALE_ARB					= 0x8573 +	ADD_SIGNED_ARB					= 0x8574 +	INTERPOLATE_ARB					= 0x8575 +	SUBTRACT_ARB					= 0x84E7 +	CONSTANT_ARB					= 0x8576 +	PRIMARY_COLOR_ARB				= 0x8577 +	PREVIOUS_ARB					= 0x8578 + +############################################################################### + +# No new tokens +# ARB Extension #18 +ARB_texture_env_crossbar enum: + +############################################################################### + +# ARB Extension #19 +# Promoted from #220 EXT_texture_env_dot3; enum values changed +ARB_texture_env_dot3 enum: +	DOT3_RGB_ARB					= 0x86AE +	DOT3_RGBA_ARB					= 0x86AF + +############################################################################### + +# No new tokens +# ARB Extension #20 - WGL_ARB_render_texture + +############################################################################### + +# ARB Extension #21 +ARB_texture_mirrored_repeat enum: +	MIRRORED_REPEAT_ARB				= 0x8370 + +############################################################################### + +# ARB Extension #22 +ARB_depth_texture enum: +	DEPTH_COMPONENT16_ARB				= 0x81A5 +	DEPTH_COMPONENT24_ARB				= 0x81A6 +	DEPTH_COMPONENT32_ARB				= 0x81A7 +	TEXTURE_DEPTH_SIZE_ARB				= 0x884A +	DEPTH_TEXTURE_MODE_ARB				= 0x884B + +############################################################################### + +# ARB Extension #23 +ARB_shadow enum: +       TEXTURE_COMPARE_MODE_ARB				= 0x884C +       TEXTURE_COMPARE_FUNC_ARB				= 0x884D +       COMPARE_R_TO_TEXTURE_ARB				= 0x884E + +############################################################################### + +# ARB Extension #24 +ARB_shadow_ambient enum: +	TEXTURE_COMPARE_FAIL_VALUE_ARB			= 0x80BF + +############################################################################### + +# No new tokens +# ARB Extension #25 +ARB_window_pos enum: + +############################################################################### + +# ARB Extension #26 +# ARB_vertex_program enums are shared by ARB_fragment_program are so marked. +# Unfortunately, PROGRAM_BINDING_ARB does accidentally reuse 0x8677 - +#   this was a spec editing typo that's now uncorrectable. +ARB_vertex_program enum: +	COLOR_SUM_ARB					= 0x8458 +	VERTEX_PROGRAM_ARB				= 0x8620 +	VERTEX_ATTRIB_ARRAY_ENABLED_ARB			= 0x8622 +	VERTEX_ATTRIB_ARRAY_SIZE_ARB			= 0x8623 +	VERTEX_ATTRIB_ARRAY_STRIDE_ARB			= 0x8624 +	VERTEX_ATTRIB_ARRAY_TYPE_ARB			= 0x8625 +	CURRENT_VERTEX_ATTRIB_ARB			= 0x8626 +	PROGRAM_LENGTH_ARB				= 0x8627    # shared +	PROGRAM_STRING_ARB				= 0x8628    # shared +	MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB		= 0x862E    # shared +	MAX_PROGRAM_MATRICES_ARB			= 0x862F    # shared +	CURRENT_MATRIX_STACK_DEPTH_ARB			= 0x8640    # shared +	CURRENT_MATRIX_ARB				= 0x8641    # shared +	VERTEX_PROGRAM_POINT_SIZE_ARB			= 0x8642 +	VERTEX_PROGRAM_TWO_SIDE_ARB			= 0x8643 +	VERTEX_ATTRIB_ARRAY_POINTER_ARB			= 0x8645 +	PROGRAM_ERROR_POSITION_ARB			= 0x864B    # shared +	PROGRAM_BINDING_ARB				= 0x8677    # shared +	MAX_VERTEX_ATTRIBS_ARB				= 0x8869 +	VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB		= 0x886A +	PROGRAM_ERROR_STRING_ARB			= 0x8874    # shared +	PROGRAM_FORMAT_ASCII_ARB			= 0x8875    # shared +	PROGRAM_FORMAT_ARB				= 0x8876    # shared +	PROGRAM_INSTRUCTIONS_ARB			= 0x88A0    # shared +	MAX_PROGRAM_INSTRUCTIONS_ARB			= 0x88A1    # shared +	PROGRAM_NATIVE_INSTRUCTIONS_ARB			= 0x88A2    # shared +	MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB		= 0x88A3    # shared +	PROGRAM_TEMPORARIES_ARB				= 0x88A4    # shared +	MAX_PROGRAM_TEMPORARIES_ARB			= 0x88A5    # shared +	PROGRAM_NATIVE_TEMPORARIES_ARB			= 0x88A6    # shared +	MAX_PROGRAM_NATIVE_TEMPORARIES_ARB		= 0x88A7    # shared +	PROGRAM_PARAMETERS_ARB				= 0x88A8    # shared +	MAX_PROGRAM_PARAMETERS_ARB			= 0x88A9    # shared +	PROGRAM_NATIVE_PARAMETERS_ARB			= 0x88AA    # shared +	MAX_PROGRAM_NATIVE_PARAMETERS_ARB		= 0x88AB    # shared +	PROGRAM_ATTRIBS_ARB				= 0x88AC    # shared +	MAX_PROGRAM_ATTRIBS_ARB				= 0x88AD    # shared +	PROGRAM_NATIVE_ATTRIBS_ARB			= 0x88AE    # shared +	MAX_PROGRAM_NATIVE_ATTRIBS_ARB			= 0x88AF    # shared +	PROGRAM_ADDRESS_REGISTERS_ARB			= 0x88B0    # shared +	MAX_PROGRAM_ADDRESS_REGISTERS_ARB		= 0x88B1    # shared +	PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB		= 0x88B2    # shared +	MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB	= 0x88B3    # shared +	MAX_PROGRAM_LOCAL_PARAMETERS_ARB		= 0x88B4    # shared +	MAX_PROGRAM_ENV_PARAMETERS_ARB			= 0x88B5    # shared +	PROGRAM_UNDER_NATIVE_LIMITS_ARB			= 0x88B6    # shared +	TRANSPOSE_CURRENT_MATRIX_ARB			= 0x88B7    # shared +	MATRIX0_ARB					= 0x88C0    # shared +	MATRIX1_ARB					= 0x88C1    # shared +	MATRIX2_ARB					= 0x88C2    # shared +	MATRIX3_ARB					= 0x88C3    # shared +	MATRIX4_ARB					= 0x88C4    # shared +	MATRIX5_ARB					= 0x88C5    # shared +	MATRIX6_ARB					= 0x88C6    # shared +	MATRIX7_ARB					= 0x88C7    # shared +	MATRIX8_ARB					= 0x88C8    # shared +	MATRIX9_ARB					= 0x88C9    # shared +	MATRIX10_ARB					= 0x88CA    # shared +	MATRIX11_ARB					= 0x88CB    # shared +	MATRIX12_ARB					= 0x88CC    # shared +	MATRIX13_ARB					= 0x88CD    # shared +	MATRIX14_ARB					= 0x88CE    # shared +	MATRIX15_ARB					= 0x88CF    # shared +	MATRIX16_ARB					= 0x88D0    # shared +	MATRIX17_ARB					= 0x88D1    # shared +	MATRIX18_ARB					= 0x88D2    # shared +	MATRIX19_ARB					= 0x88D3    # shared +	MATRIX20_ARB					= 0x88D4    # shared +	MATRIX21_ARB					= 0x88D5    # shared +	MATRIX22_ARB					= 0x88D6    # shared +	MATRIX23_ARB					= 0x88D7    # shared +	MATRIX24_ARB					= 0x88D8    # shared +	MATRIX25_ARB					= 0x88D9    # shared +	MATRIX26_ARB					= 0x88DA    # shared +	MATRIX27_ARB					= 0x88DB    # shared +	MATRIX28_ARB					= 0x88DC    # shared +	MATRIX29_ARB					= 0x88DD    # shared +	MATRIX30_ARB					= 0x88DE    # shared +	MATRIX31_ARB					= 0x88DF    # shared + +############################################################################### + +# ARB Extension #27 +# Some ARB_fragment_program enums are shared with ARB_vertex_program, +#   and are only included in that #define block, for now. +ARB_fragment_program enum: +#	PROGRAM_LENGTH_ARB				= 0x8627    # shared +#	PROGRAM_STRING_ARB				= 0x8628    # shared +#	MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB		= 0x862E    # shared +#	MAX_PROGRAM_MATRICES_ARB			= 0x862F    # shared +#	CURRENT_MATRIX_STACK_DEPTH_ARB			= 0x8640    # shared +#	CURRENT_MATRIX_ARB				= 0x8641    # shared +#	PROGRAM_ERROR_POSITION_ARB			= 0x864B    # shared +#	PROGRAM_BINDING_ARB				= 0x8677    # shared +	FRAGMENT_PROGRAM_ARB				= 0x8804 +	PROGRAM_ALU_INSTRUCTIONS_ARB			= 0x8805 +	PROGRAM_TEX_INSTRUCTIONS_ARB			= 0x8806 +	PROGRAM_TEX_INDIRECTIONS_ARB			= 0x8807 +	PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB		= 0x8808 +	PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB		= 0x8809 +	PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB		= 0x880A +	MAX_PROGRAM_ALU_INSTRUCTIONS_ARB		= 0x880B +	MAX_PROGRAM_TEX_INSTRUCTIONS_ARB		= 0x880C +	MAX_PROGRAM_TEX_INDIRECTIONS_ARB		= 0x880D +	MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB		= 0x880E +	MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB		= 0x880F +	MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB		= 0x8810 +	MAX_TEXTURE_COORDS_ARB				= 0x8871 +	MAX_TEXTURE_IMAGE_UNITS_ARB			= 0x8872 +#	PROGRAM_ERROR_STRING_ARB			= 0x8874    # shared +#	PROGRAM_FORMAT_ASCII_ARB			= 0x8875    # shared +#	PROGRAM_FORMAT_ARB				= 0x8876    # shared +#	PROGRAM_INSTRUCTIONS_ARB			= 0x88A0    # shared +#	MAX_PROGRAM_INSTRUCTIONS_ARB			= 0x88A1    # shared +#	PROGRAM_NATIVE_INSTRUCTIONS_ARB			= 0x88A2    # shared +#	MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB		= 0x88A3    # shared +#	PROGRAM_TEMPORARIES_ARB				= 0x88A4    # shared +#	MAX_PROGRAM_TEMPORARIES_ARB			= 0x88A5    # shared +#	PROGRAM_NATIVE_TEMPORARIES_ARB			= 0x88A6    # shared +#	MAX_PROGRAM_NATIVE_TEMPORARIES_ARB		= 0x88A7    # shared +#	PROGRAM_PARAMETERS_ARB				= 0x88A8    # shared +#	MAX_PROGRAM_PARAMETERS_ARB			= 0x88A9    # shared +#	PROGRAM_NATIVE_PARAMETERS_ARB			= 0x88AA    # shared +#	MAX_PROGRAM_NATIVE_PARAMETERS_ARB		= 0x88AB    # shared +#	PROGRAM_ATTRIBS_ARB				= 0x88AC    # shared +#	MAX_PROGRAM_ATTRIBS_ARB				= 0x88AD    # shared +#	PROGRAM_NATIVE_ATTRIBS_ARB			= 0x88AE    # shared +#	MAX_PROGRAM_NATIVE_ATTRIBS_ARB			= 0x88AF    # shared +#	PROGRAM_ADDRESS_REGISTERS_ARB			= 0x88B0    # shared +#	MAX_PROGRAM_ADDRESS_REGISTERS_ARB		= 0x88B1    # shared +#	PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB		= 0x88B2    # shared +#	MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB	= 0x88B3    # shared +#	MAX_PROGRAM_LOCAL_PARAMETERS_ARB		= 0x88B4    # shared +#	MAX_PROGRAM_ENV_PARAMETERS_ARB			= 0x88B5    # shared +#	PROGRAM_UNDER_NATIVE_LIMITS_ARB			= 0x88B6    # shared +#	TRANSPOSE_CURRENT_MATRIX_ARB			= 0x88B7    # shared +#	MATRIX0_ARB					= 0x88C0    # shared +#	MATRIX1_ARB					= 0x88C1    # shared +#	MATRIX2_ARB					= 0x88C2    # shared +#	MATRIX3_ARB					= 0x88C3    # shared +#	MATRIX4_ARB					= 0x88C4    # shared +#	MATRIX5_ARB					= 0x88C5    # shared +#	MATRIX6_ARB					= 0x88C6    # shared +#	MATRIX7_ARB					= 0x88C7    # shared +#	MATRIX8_ARB					= 0x88C8    # shared +#	MATRIX9_ARB					= 0x88C9    # shared +#	MATRIX10_ARB					= 0x88CA    # shared +#	MATRIX11_ARB					= 0x88CB    # shared +#	MATRIX12_ARB					= 0x88CC    # shared +#	MATRIX13_ARB					= 0x88CD    # shared +#	MATRIX14_ARB					= 0x88CE    # shared +#	MATRIX15_ARB					= 0x88CF    # shared +#	MATRIX16_ARB					= 0x88D0    # shared +#	MATRIX17_ARB					= 0x88D1    # shared +#	MATRIX18_ARB					= 0x88D2    # shared +#	MATRIX19_ARB					= 0x88D3    # shared +#	MATRIX20_ARB					= 0x88D4    # shared +#	MATRIX21_ARB					= 0x88D5    # shared +#	MATRIX22_ARB					= 0x88D6    # shared +#	MATRIX23_ARB					= 0x88D7    # shared +#	MATRIX24_ARB					= 0x88D8    # shared +#	MATRIX25_ARB					= 0x88D9    # shared +#	MATRIX26_ARB					= 0x88DA    # shared +#	MATRIX27_ARB					= 0x88DB    # shared +#	MATRIX28_ARB					= 0x88DC    # shared +#	MATRIX29_ARB					= 0x88DD    # shared +#	MATRIX30_ARB					= 0x88DE    # shared +#	MATRIX31_ARB					= 0x88DF    # shared + + +############################################################################### + +# ARB Extension #28 +ARB_vertex_buffer_object enum: +	BUFFER_SIZE_ARB					= 0x8764 +	BUFFER_USAGE_ARB				= 0x8765 +	ARRAY_BUFFER_ARB				= 0x8892 +	ELEMENT_ARRAY_BUFFER_ARB			= 0x8893 +	ARRAY_BUFFER_BINDING_ARB			= 0x8894 +	ELEMENT_ARRAY_BUFFER_BINDING_ARB		= 0x8895 +	VERTEX_ARRAY_BUFFER_BINDING_ARB			= 0x8896 +	NORMAL_ARRAY_BUFFER_BINDING_ARB			= 0x8897 +	COLOR_ARRAY_BUFFER_BINDING_ARB			= 0x8898 +	INDEX_ARRAY_BUFFER_BINDING_ARB			= 0x8899 +	TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB		= 0x889A +	EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB		= 0x889B +	SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB	= 0x889C +	FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB		= 0x889D +	WEIGHT_ARRAY_BUFFER_BINDING_ARB			= 0x889E +	VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB		= 0x889F +	READ_ONLY_ARB					= 0x88B8 +	WRITE_ONLY_ARB					= 0x88B9 +	READ_WRITE_ARB					= 0x88BA +	BUFFER_ACCESS_ARB				= 0x88BB +	BUFFER_MAPPED_ARB				= 0x88BC +	BUFFER_MAP_POINTER_ARB				= 0x88BD +	STREAM_DRAW_ARB					= 0x88E0 +	STREAM_READ_ARB					= 0x88E1 +	STREAM_COPY_ARB					= 0x88E2 +	STATIC_DRAW_ARB					= 0x88E4 +	STATIC_READ_ARB					= 0x88E5 +	STATIC_COPY_ARB					= 0x88E6 +	DYNAMIC_DRAW_ARB				= 0x88E8 +	DYNAMIC_READ_ARB				= 0x88E9 +	DYNAMIC_COPY_ARB				= 0x88EA + +############################################################################### + +# ARB Extension #29 +ARB_occlusion_query enum: +	QUERY_COUNTER_BITS_ARB				= 0x8864 +	CURRENT_QUERY_ARB				= 0x8865 +	QUERY_RESULT_ARB				= 0x8866 +	QUERY_RESULT_AVAILABLE_ARB			= 0x8867 +	SAMPLES_PASSED_ARB				= 0x8914 + +############################################################################### + +# ARB Extension #30 +ARB_shader_objects enum: +	PROGRAM_OBJECT_ARB				= 0x8B40 +	SHADER_OBJECT_ARB				= 0x8B48 +	OBJECT_TYPE_ARB					= 0x8B4E +	OBJECT_SUBTYPE_ARB				= 0x8B4F +	FLOAT_VEC2_ARB					= 0x8B50 +	FLOAT_VEC3_ARB					= 0x8B51 +	FLOAT_VEC4_ARB					= 0x8B52 +	INT_VEC2_ARB					= 0x8B53 +	INT_VEC3_ARB					= 0x8B54 +	INT_VEC4_ARB					= 0x8B55 +	BOOL_ARB					= 0x8B56 +	BOOL_VEC2_ARB					= 0x8B57 +	BOOL_VEC3_ARB					= 0x8B58 +	BOOL_VEC4_ARB					= 0x8B59 +	FLOAT_MAT2_ARB					= 0x8B5A +	FLOAT_MAT3_ARB					= 0x8B5B +	FLOAT_MAT4_ARB					= 0x8B5C +	SAMPLER_1D_ARB					= 0x8B5D +	SAMPLER_2D_ARB					= 0x8B5E +	SAMPLER_3D_ARB					= 0x8B5F +	SAMPLER_CUBE_ARB				= 0x8B60 +	SAMPLER_1D_SHADOW_ARB				= 0x8B61 +	SAMPLER_2D_SHADOW_ARB				= 0x8B62 +	SAMPLER_2D_RECT_ARB				= 0x8B63 +	SAMPLER_2D_RECT_SHADOW_ARB			= 0x8B64 +	OBJECT_DELETE_STATUS_ARB			= 0x8B80 +	OBJECT_COMPILE_STATUS_ARB			= 0x8B81 +	OBJECT_LINK_STATUS_ARB				= 0x8B82 +	OBJECT_VALIDATE_STATUS_ARB			= 0x8B83 +	OBJECT_INFO_LOG_LENGTH_ARB			= 0x8B84 +	OBJECT_ATTACHED_OBJECTS_ARB			= 0x8B85 +	OBJECT_ACTIVE_UNIFORMS_ARB			= 0x8B86 +	OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB		= 0x8B87 +	OBJECT_SHADER_SOURCE_LENGTH_ARB			= 0x8B88 + +############################################################################### + +# ARB Extension #31 +# Additional enums are reused from ARB_vertex/fragment_program and ARB_shader_objects +ARB_vertex_shader enum: +	VERTEX_SHADER_ARB				= 0x8B31 +	MAX_VERTEX_UNIFORM_COMPONENTS_ARB		= 0x8B4A +	MAX_VARYING_FLOATS_ARB				= 0x8B4B +	MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB		= 0x8B4C +	MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB		= 0x8B4D +	OBJECT_ACTIVE_ATTRIBUTES_ARB			= 0x8B89 +	OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB		= 0x8B8A + +############################################################################### + +# ARB Extension #32 +# Additional enums are reused from ARB_fragment_program and ARB_shader_objects +ARB_fragment_shader enum: +	FRAGMENT_SHADER_ARB				= 0x8B30 +	MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB		= 0x8B49 +	FRAGMENT_SHADER_DERIVATIVE_HINT_ARB		= 0x8B8B + +############################################################################### + +# ARB Extension #33 +ARB_shading_language_100 enum: +	SHADING_LANGUAGE_VERSION_ARB			= 0x8B8C + +############################################################################### + +# ARB Extension #34 +# No new tokens +ARB_texture_non_power_of_two enum: + +############################################################################### + +# ARB Extension #35 +ARB_point_sprite enum: +	POINT_SPRITE_ARB				= 0x8861 +	COORD_REPLACE_ARB				= 0x8862 + +############################################################################### + +# ARB Extension #36 +# No new tokens +ARB_fragment_program_shadow enum: + +############################################################################### + +# ARB Extension #37 +ARB_draw_buffers enum: +	MAX_DRAW_BUFFERS_ARB				= 0x8824 +	DRAW_BUFFER0_ARB				= 0x8825 +	DRAW_BUFFER1_ARB				= 0x8826 +	DRAW_BUFFER2_ARB				= 0x8827 +	DRAW_BUFFER3_ARB				= 0x8828 +	DRAW_BUFFER4_ARB				= 0x8829 +	DRAW_BUFFER5_ARB				= 0x882A +	DRAW_BUFFER6_ARB				= 0x882B +	DRAW_BUFFER7_ARB				= 0x882C +	DRAW_BUFFER8_ARB				= 0x882D +	DRAW_BUFFER9_ARB				= 0x882E +	DRAW_BUFFER10_ARB				= 0x882F +	DRAW_BUFFER11_ARB				= 0x8830 +	DRAW_BUFFER12_ARB				= 0x8831 +	DRAW_BUFFER13_ARB				= 0x8832 +	DRAW_BUFFER14_ARB				= 0x8833 +	DRAW_BUFFER15_ARB				= 0x8834 + +############################################################################### + +# ARB Extension #38 +ARB_texture_rectangle enum: +	TEXTURE_RECTANGLE_ARB				= 0x84F5 +	TEXTURE_BINDING_RECTANGLE_ARB			= 0x84F6 +	PROXY_TEXTURE_RECTANGLE_ARB			= 0x84F7 +	MAX_RECTANGLE_TEXTURE_SIZE_ARB			= 0x84F8 + +############################################################################### + +# ARB Extension #39 +ARB_color_buffer_float enum: +	RGBA_FLOAT_MODE_ARB				= 0x8820 +	CLAMP_VERTEX_COLOR_ARB				= 0x891A +	CLAMP_FRAGMENT_COLOR_ARB			= 0x891B +	CLAMP_READ_COLOR_ARB				= 0x891C +	FIXED_ONLY_ARB					= 0x891D + +############################################################################### + +# ARB Extension #40 +ARB_half_float_pixel enum: +	HALF_FLOAT_ARB					= 0x140B + +############################################################################### + +# ARB Extension #41 +ARB_texture_float enum: +	TEXTURE_RED_TYPE_ARB				= 0x8C10 +	TEXTURE_GREEN_TYPE_ARB				= 0x8C11 +	TEXTURE_BLUE_TYPE_ARB				= 0x8C12 +	TEXTURE_ALPHA_TYPE_ARB				= 0x8C13 +	TEXTURE_LUMINANCE_TYPE_ARB			= 0x8C14 +	TEXTURE_INTENSITY_TYPE_ARB			= 0x8C15 +	TEXTURE_DEPTH_TYPE_ARB				= 0x8C16 +	UNSIGNED_NORMALIZED_ARB				= 0x8C17 +	RGBA32F_ARB					= 0x8814 +	RGB32F_ARB					= 0x8815 +	ALPHA32F_ARB					= 0x8816 +	INTENSITY32F_ARB				= 0x8817 +	LUMINANCE32F_ARB				= 0x8818 +	LUMINANCE_ALPHA32F_ARB				= 0x8819 +	RGBA16F_ARB					= 0x881A +	RGB16F_ARB					= 0x881B +	ALPHA16F_ARB					= 0x881C +	INTENSITY16F_ARB				= 0x881D +	LUMINANCE16F_ARB				= 0x881E +	LUMINANCE_ALPHA16F_ARB				= 0x881F + +############################################################################### + +# ARB Extension #42 +ARB_pixel_buffer_object enum: +	PIXEL_PACK_BUFFER_ARB				= 0x88EB +	PIXEL_UNPACK_BUFFER_ARB				= 0x88EC +	PIXEL_PACK_BUFFER_BINDING_ARB			= 0x88ED +	PIXEL_UNPACK_BUFFER_BINDING_ARB			= 0x88EF + +############################################################################### + +# ARB Extension #43 +ARB_depth_buffer_float enum: +	DEPTH_COMPONENT32F				= 0x8CAC +	DEPTH32F_STENCIL8				= 0x8CAD +	FLOAT_32_UNSIGNED_INT_24_8_REV			= 0x8DAD + +############################################################################### + +# ARB Extension #44 +# No new tokens +ARB_draw_instanced enum: + +############################################################################### + +# ARB Extension #45 +ARB_framebuffer_object enum: +	INVALID_FRAMEBUFFER_OPERATION			= 0x0506 +	FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING		= 0x8210 +	FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE		= 0x8211 +	FRAMEBUFFER_ATTACHMENT_RED_SIZE			= 0x8212 +	FRAMEBUFFER_ATTACHMENT_GREEN_SIZE		= 0x8213 +	FRAMEBUFFER_ATTACHMENT_BLUE_SIZE		= 0x8214 +	FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE		= 0x8215 +	FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE		= 0x8216 +	FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE		= 0x8217 +	FRAMEBUFFER_DEFAULT				= 0x8218 +	FRAMEBUFFER_UNDEFINED				= 0x8219 +	DEPTH_STENCIL_ATTACHMENT			= 0x821A +	MAX_RENDERBUFFER_SIZE				= 0x84E8 +	DEPTH_STENCIL					= 0x84F9 +	UNSIGNED_INT_24_8				= 0x84FA +	DEPTH24_STENCIL8				= 0x88F0 +	TEXTURE_STENCIL_SIZE				= 0x88F1 +	TEXTURE_RED_TYPE				= 0x8C10 +	TEXTURE_GREEN_TYPE				= 0x8C11 +	TEXTURE_BLUE_TYPE				= 0x8C12 +	TEXTURE_ALPHA_TYPE				= 0x8C13 +	TEXTURE_DEPTH_TYPE				= 0x8C16 +	UNSIGNED_NORMALIZED				= 0x8C17 +	FRAMEBUFFER_BINDING				= 0x8CA6 +	DRAW_FRAMEBUFFER_BINDING			= GL_FRAMEBUFFER_BINDING +	RENDERBUFFER_BINDING				= 0x8CA7 +	READ_FRAMEBUFFER				= 0x8CA8 +	DRAW_FRAMEBUFFER				= 0x8CA9 +	READ_FRAMEBUFFER_BINDING			= 0x8CAA +	RENDERBUFFER_SAMPLES				= 0x8CAB +	FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE		= 0x8CD0 +	FRAMEBUFFER_ATTACHMENT_OBJECT_NAME		= 0x8CD1 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL		= 0x8CD2 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE	= 0x8CD3 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER		= 0x8CD4 +	FRAMEBUFFER_COMPLETE				= 0x8CD5 +	FRAMEBUFFER_INCOMPLETE_ATTACHMENT		= 0x8CD6 +	FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT	= 0x8CD7 +	FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER		= 0x8CDB +	FRAMEBUFFER_INCOMPLETE_READ_BUFFER		= 0x8CDC +	FRAMEBUFFER_UNSUPPORTED				= 0x8CDD +	MAX_COLOR_ATTACHMENTS				= 0x8CDF +	COLOR_ATTACHMENT0				= 0x8CE0 +	COLOR_ATTACHMENT1				= 0x8CE1 +	COLOR_ATTACHMENT2				= 0x8CE2 +	COLOR_ATTACHMENT3				= 0x8CE3 +	COLOR_ATTACHMENT4				= 0x8CE4 +	COLOR_ATTACHMENT5				= 0x8CE5 +	COLOR_ATTACHMENT6				= 0x8CE6 +	COLOR_ATTACHMENT7				= 0x8CE7 +	COLOR_ATTACHMENT8				= 0x8CE8 +	COLOR_ATTACHMENT9				= 0x8CE9 +	COLOR_ATTACHMENT10				= 0x8CEA +	COLOR_ATTACHMENT11				= 0x8CEB +	COLOR_ATTACHMENT12				= 0x8CEC +	COLOR_ATTACHMENT13				= 0x8CED +	COLOR_ATTACHMENT14				= 0x8CEE +	COLOR_ATTACHMENT15				= 0x8CEF +	DEPTH_ATTACHMENT				= 0x8D00 +	STENCIL_ATTACHMENT				= 0x8D20 +	FRAMEBUFFER					= 0x8D40 +	RENDERBUFFER					= 0x8D41 +	RENDERBUFFER_WIDTH				= 0x8D42 +	RENDERBUFFER_HEIGHT				= 0x8D43 +	RENDERBUFFER_INTERNAL_FORMAT			= 0x8D44 +	STENCIL_INDEX1					= 0x8D46 +	STENCIL_INDEX4					= 0x8D47 +	STENCIL_INDEX8					= 0x8D48 +	STENCIL_INDEX16					= 0x8D49 +	RENDERBUFFER_RED_SIZE				= 0x8D50 +	RENDERBUFFER_GREEN_SIZE				= 0x8D51 +	RENDERBUFFER_BLUE_SIZE				= 0x8D52 +	RENDERBUFFER_ALPHA_SIZE				= 0x8D53 +	RENDERBUFFER_DEPTH_SIZE				= 0x8D54 +	RENDERBUFFER_STENCIL_SIZE			= 0x8D55 +	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE		= 0x8D56 +	MAX_SAMPLES					= 0x8D57 + +ARB_framebuffer_object_DEPRECATED enum: +	INDEX						= 0x8222 +	TEXTURE_LUMINANCE_TYPE				= 0x8C14 +	TEXTURE_INTENSITY_TYPE				= 0x8C15 + +############################################################################### + +# ARB Extension #46 +ARB_framebuffer_sRGB enum: +	FRAMEBUFFER_SRGB				= 0x8DB9 + +############################################################################### + +# ARB Extension #47 +ARB_geometry_shader4 enum: +	LINES_ADJACENCY_ARB				= 0x000A +	LINE_STRIP_ADJACENCY_ARB			= 0x000B +	TRIANGLES_ADJACENCY_ARB				= 0x000C +	TRIANGLE_STRIP_ADJACENCY_ARB			= 0x000D +	PROGRAM_POINT_SIZE_ARB				= 0x8642 +	MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB		= 0x8C29 +	FRAMEBUFFER_ATTACHMENT_LAYERED_ARB		= 0x8DA7 +	FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB	= 0x8DA8 +	FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB		= 0x8DA9 +	GEOMETRY_SHADER_ARB				= 0x8DD9 +	GEOMETRY_VERTICES_OUT_ARB			= 0x8DDA +	GEOMETRY_INPUT_TYPE_ARB				= 0x8DDB +	GEOMETRY_OUTPUT_TYPE_ARB			= 0x8DDC +	MAX_GEOMETRY_VARYING_COMPONENTS_ARB		= 0x8DDD +	MAX_VERTEX_VARYING_COMPONENTS_ARB		= 0x8DDE +	MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB		= 0x8DDF +	MAX_GEOMETRY_OUTPUT_VERTICES_ARB		= 0x8DE0 +	MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB	= 0x8DE1 +	use VERSION_3_0			    MAX_VARYING_COMPONENTS +	use ARB_framebuffer_object	    FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER + +############################################################################### + +# ARB Extension #48 +ARB_half_float_vertex enum: +	HALF_FLOAT					= 0x140B + +############################################################################### + +# ARB Extension #49 +ARB_instanced_arrays enum: +       VERTEX_ATTRIB_ARRAY_DIVISOR_ARB			= 0x88FE + +############################################################################### + +# ARB Extension #50 +ARB_map_buffer_range enum: +	MAP_READ_BIT					= 0x0001 +	MAP_WRITE_BIT					= 0x0002 +	MAP_INVALIDATE_RANGE_BIT			= 0x0004 +	MAP_INVALIDATE_BUFFER_BIT			= 0x0008 +	MAP_FLUSH_EXPLICIT_BIT				= 0x0010 +	MAP_UNSYNCHRONIZED_BIT				= 0x0020 + +############################################################################### + +# ARB Extension #51 +ARB_texture_buffer_object enum: +	TEXTURE_BUFFER_ARB				= 0x8C2A +	MAX_TEXTURE_BUFFER_SIZE_ARB			= 0x8C2B +	TEXTURE_BINDING_BUFFER_ARB			= 0x8C2C +	TEXTURE_BUFFER_DATA_STORE_BINDING_ARB		= 0x8C2D +	TEXTURE_BUFFER_FORMAT_ARB			= 0x8C2E + +############################################################################### + +# ARB Extension #52 +ARB_texture_compression_rgtc enum: +	COMPRESSED_RED_RGTC1				= 0x8DBB +	COMPRESSED_SIGNED_RED_RGTC1			= 0x8DBC +	COMPRESSED_RG_RGTC2				= 0x8DBD +	COMPRESSED_SIGNED_RG_RGTC2			= 0x8DBE + +############################################################################### + +# ARB Extension #53 +ARB_texture_rg enum: +	RG						= 0x8227 +	RG_INTEGER					= 0x8228 +	R8						= 0x8229 +	R16						= 0x822A +	RG8						= 0x822B +	RG16						= 0x822C +	R16F						= 0x822D +	R32F						= 0x822E +	RG16F						= 0x822F +	RG32F						= 0x8230 +	R8I						= 0x8231 +	R8UI						= 0x8232 +	R16I						= 0x8233 +	R16UI						= 0x8234 +	R32I						= 0x8235 +	R32UI						= 0x8236 +	RG8I						= 0x8237 +	RG8UI						= 0x8238 +	RG16I						= 0x8239 +	RG16UI						= 0x823A +	RG32I						= 0x823B +	RG32UI						= 0x823C + +############################################################################### + +# ARB Extension #54 +ARB_vertex_array_object enum: +	VERTEX_ARRAY_BINDING				= 0x85B5 + +############################################################################### + +# No new tokens +# ARB Extension #55 - WGL_ARB_create_context +# ARB Extension #56 - GLX_ARB_create_context + +############################################################################### + +# ARB Extension #57 +ARB_uniform_buffer_object enum: +	UNIFORM_BUFFER					= 0x8A11 +	UNIFORM_BUFFER_BINDING				= 0x8A28 +	UNIFORM_BUFFER_START				= 0x8A29 +	UNIFORM_BUFFER_SIZE				= 0x8A2A +	MAX_VERTEX_UNIFORM_BLOCKS			= 0x8A2B +	MAX_GEOMETRY_UNIFORM_BLOCKS			= 0x8A2C +	MAX_FRAGMENT_UNIFORM_BLOCKS			= 0x8A2D +	MAX_COMBINED_UNIFORM_BLOCKS			= 0x8A2E +	MAX_UNIFORM_BUFFER_BINDINGS			= 0x8A2F +	MAX_UNIFORM_BLOCK_SIZE				= 0x8A30 +	MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS		= 0x8A31 +	MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS	= 0x8A32 +	MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS	= 0x8A33 +	UNIFORM_BUFFER_OFFSET_ALIGNMENT			= 0x8A34 +	ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH		= 0x8A35 +	ACTIVE_UNIFORM_BLOCKS				= 0x8A36 +	UNIFORM_TYPE					= 0x8A37 +	UNIFORM_SIZE					= 0x8A38 +	UNIFORM_NAME_LENGTH				= 0x8A39 +	UNIFORM_BLOCK_INDEX				= 0x8A3A +	UNIFORM_OFFSET					= 0x8A3B +	UNIFORM_ARRAY_STRIDE				= 0x8A3C +	UNIFORM_MATRIX_STRIDE				= 0x8A3D +	UNIFORM_IS_ROW_MAJOR				= 0x8A3E +	UNIFORM_BLOCK_BINDING				= 0x8A3F +	UNIFORM_BLOCK_DATA_SIZE				= 0x8A40 +	UNIFORM_BLOCK_NAME_LENGTH			= 0x8A41 +	UNIFORM_BLOCK_ACTIVE_UNIFORMS			= 0x8A42 +	UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES		= 0x8A43 +	UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER	= 0x8A44 +	UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER	= 0x8A45 +	UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER	= 0x8A46 +	INVALID_INDEX					= 0xFFFFFFFFu + +############################################################################### + +# ARB Extension #58 +# No new tokens +ARB_compatibility enum: +passthru: /* ARB_compatibility just defines tokens from core 3.0 */ + +############################################################################### + +# ARB Extension #59 +ARB_copy_buffer enum: +	COPY_READ_BUFFER				= 0x8F36 +	COPY_WRITE_BUFFER				= 0x8F37 + +############################################################################### + +# ARB Extension #60 +# No new tokens +ARB_shader_texture_lod enum: + +############################################################################### + +# ARB Extension #61 +ARB_depth_clamp enum: +	DEPTH_CLAMP					= 0x864F + +############################################################################### + +# No new tokens +# ARB Extension #62 +ARB_draw_elements_base_vertex enum: + +############################################################################### + +# No new tokens +# ARB Extension #63 +ARB_fragment_coord_conventions enum: + +############################################################################### + +# ARB Extension #64 +ARB_provoking_vertex enum: +	QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION	= 0x8E4C +	FIRST_VERTEX_CONVENTION				= 0x8E4D +	LAST_VERTEX_CONVENTION				= 0x8E4E +	PROVOKING_VERTEX				= 0x8E4F + +############################################################################### + +# ARB Extension #65 +ARB_seamless_cube_map enum: +	TEXTURE_CUBE_MAP_SEAMLESS			= 0x884F + +############################################################################### + +# ARB Extension #66 +ARB_sync enum: +	MAX_SERVER_WAIT_TIMEOUT				= 0x9111 +	OBJECT_TYPE					= 0x9112 +	SYNC_CONDITION					= 0x9113 +	SYNC_STATUS					= 0x9114 +	SYNC_FLAGS					= 0x9115 +	SYNC_FENCE					= 0x9116 +	SYNC_GPU_COMMANDS_COMPLETE			= 0x9117 +	UNSIGNALED					= 0x9118 +	SIGNALED					= 0x9119 +	ALREADY_SIGNALED				= 0x911A +	TIMEOUT_EXPIRED					= 0x911B +	CONDITION_SATISFIED				= 0x911C +	WAIT_FAILED					= 0x911D +	SYNC_FLUSH_COMMANDS_BIT				= 0x00000001 +	TIMEOUT_IGNORED					= 0xFFFFFFFFFFFFFFFFull + +############################################################################### + +# ARB Extension #67 +ARB_texture_multisample enum: +	SAMPLE_POSITION					= 0x8E50 +	SAMPLE_MASK					= 0x8E51 +	SAMPLE_MASK_VALUE				= 0x8E52 +	MAX_SAMPLE_MASK_WORDS				= 0x8E59 +	TEXTURE_2D_MULTISAMPLE				= 0x9100 +	PROXY_TEXTURE_2D_MULTISAMPLE			= 0x9101 +	TEXTURE_2D_MULTISAMPLE_ARRAY			= 0x9102 +	PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY		= 0x9103 +	TEXTURE_BINDING_2D_MULTISAMPLE			= 0x9104 +	TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY		= 0x9105 +	TEXTURE_SAMPLES					= 0x9106 +	TEXTURE_FIXED_SAMPLE_LOCATIONS			= 0x9107 +	SAMPLER_2D_MULTISAMPLE				= 0x9108 +	INT_SAMPLER_2D_MULTISAMPLE			= 0x9109 +	UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE		= 0x910A +	SAMPLER_2D_MULTISAMPLE_ARRAY			= 0x910B +	INT_SAMPLER_2D_MULTISAMPLE_ARRAY		= 0x910C +	UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY	= 0x910D +	MAX_COLOR_TEXTURE_SAMPLES			= 0x910E +	MAX_DEPTH_TEXTURE_SAMPLES			= 0x910F +	MAX_INTEGER_SAMPLES				= 0x9110 + +############################################################################### + +# ARB Extension #68 +ARB_vertex_array_bgra enum: +	use VERSION_1_2			    BGRA + +############################################################################### + +# No new tokens +# ARB Extension #69 +ARB_draw_buffers_blend enum: +#@@@ Add ARB suffixes here & functions! + +############################################################################### + +# ARB Extension #70 +#@@@ Add ARB suffixes here & functions! +ARB_sample_shading enum: +	SAMPLE_SHADING					= 0x8C36 +	MIN_SAMPLE_SHADING_VALUE			= 0x8C37 + +############################################################################### + +# ARB Extension #71 +#@@@ Add ARB suffixes here & functions! +ARB_texture_cube_map_array enum: +	TEXTURE_CUBE_MAP_ARRAY				= 0x9009 +	TEXTURE_BINDING_CUBE_MAP_ARRAY			= 0x900A +	PROXY_TEXTURE_CUBE_MAP_ARRAY			= 0x900B +	SAMPLER_CUBE_MAP_ARRAY				= 0x900C +	SAMPLER_CUBE_MAP_ARRAY_SHADOW			= 0x900D +	INT_SAMPLER_CUBE_MAP_ARRAY			= 0x900E +	UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY		= 0x900F + +############################################################################### + +# ARB Extension #72 +#@@@ Add ARB suffixes here & functions! +ARB_texture_gather enum: +	MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB		= 0x8E5E +	MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB		= 0x8E5F + +############################################################################### + +# No new tokens +# ARB Extension #73 +ARB_texture_query_lod enum: + +############################################################################### + +# No new tokens +# ARB Extension #74 - WGL_ARB_create_context_profile +# ARB Extension #75 - GLX_ARB_create_context_profile + +############################################################################### + +# ARB Extension #76 +ARB_shading_language_include enum: +	SHADER_INCLUDE_ARB				= 0x8DAE +	NAMED_STRING_LENGTH_ARB				= 0x8DE9 +	NAMED_STRING_TYPE_ARB				= 0x8DEA + +############################################################################### + +# ARB Extension #77 +ARB_texture_compression_bptc enum: +	COMPRESSED_RGBA_BPTC_UNORM_ARB			= 0x8E8C +	COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB		= 0x8E8D +	COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB		= 0x8E8E +	COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB		= 0x8E8F + +############################################################################### + +# ARB Extension #78 +ARB_blend_func_extended enum: +	SRC1_COLOR					= 0x88F9 +	use VERSION_1_5_DEPRECATED	    SRC1_ALPHA +	ONE_MINUS_SRC1_COLOR				= 0x88FA +	ONE_MINUS_SRC1_ALPHA				= 0x88FB +	MAX_DUAL_SOURCE_DRAW_BUFFERS			= 0x88FC + +############################################################################### + +# No new tokens +# ARB Extension #79 +ARB_explicit_attrib_location enum: + +############################################################################### + +# ARB Extension #80 +ARB_occlusion_query2 enum: +	ANY_SAMPLES_PASSED				= 0x8C2F + +############################################################################### + +# ARB Extension #81 +ARB_sampler_objects enum: +	SAMPLER_BINDING					= 0x8919 + +############################################################################### + +# No new tokens +# ARB Extension #82 +ARB_shader_bit_encoding enum: + +############################################################################### + +# ARB Extension #83 +ARB_texture_rgb10_a2ui enum: +	RGB10_A2UI					= 0x906F + +############################################################################### + +# ARB Extension #84 +ARB_texture_swizzle enum: +	TEXTURE_SWIZZLE_R				= 0x8E42 +	TEXTURE_SWIZZLE_G				= 0x8E43 +	TEXTURE_SWIZZLE_B				= 0x8E44 +	TEXTURE_SWIZZLE_A				= 0x8E45 +	TEXTURE_SWIZZLE_RGBA				= 0x8E46 + +############################################################################### + +# ARB Extension #85 +ARB_timer_query enum: +	TIME_ELAPSED					= 0x88BF +	TIMESTAMP					= 0x8E28 + +############################################################################### + +# ARB Extension #86 +ARB_vertex_type_2_10_10_10_rev enum: +	use VERSION_1_2			    UNSIGNED_INT_2_10_10_10_REV +	INT_2_10_10_10_REV				= 0x8D9F + +############################################################################### + +# ARB Extension #87 +ARB_draw_indirect enum: +	DRAW_INDIRECT_BUFFER				= 0x8F3F +	DRAW_INDIRECT_BUFFER_BINDING			= 0x8F43 + +############################################################################### + +# ARB Extension #88 +ARB_gpu_shader5 enum: +	GEOMETRY_SHADER_INVOCATIONS			= 0x887F +	MAX_GEOMETRY_SHADER_INVOCATIONS			= 0x8E5A +	MIN_FRAGMENT_INTERPOLATION_OFFSET		= 0x8E5B +	MAX_FRAGMENT_INTERPOLATION_OFFSET		= 0x8E5C +	FRAGMENT_INTERPOLATION_OFFSET_BITS		= 0x8E5D +	MAX_VERTEX_STREAMS				= 0x8E71 + +############################################################################### + +# ARB Extension #89 +ARB_gpu_shader_fp64 enum: +	use VERSION_1_1			    DOUBLE +	DOUBLE_VEC2					= 0x8FFC +	DOUBLE_VEC3					= 0x8FFD +	DOUBLE_VEC4					= 0x8FFE +	DOUBLE_MAT2					= 0x8F46 +	DOUBLE_MAT3					= 0x8F47 +	DOUBLE_MAT4					= 0x8F48 +	DOUBLE_MAT2x3					= 0x8F49 +	DOUBLE_MAT2x4					= 0x8F4A +	DOUBLE_MAT3x2					= 0x8F4B +	DOUBLE_MAT3x4					= 0x8F4C +	DOUBLE_MAT4x2					= 0x8F4D +	DOUBLE_MAT4x3					= 0x8F4E + +############################################################################### + +# ARB Extension #90 +ARB_shader_subroutine enum: +	ACTIVE_SUBROUTINES				= 0x8DE5 +	ACTIVE_SUBROUTINE_UNIFORMS			= 0x8DE6 +	ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS		= 0x8E47 +	ACTIVE_SUBROUTINE_MAX_LENGTH			= 0x8E48 +	ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH		= 0x8E49 +	MAX_SUBROUTINES					= 0x8DE7 +	MAX_SUBROUTINE_UNIFORM_LOCATIONS		= 0x8DE8 +	NUM_COMPATIBLE_SUBROUTINES			= 0x8E4A +	COMPATIBLE_SUBROUTINES				= 0x8E4B +	use ARB_uniform_buffer_object	    UNIFORM_SIZE +	use ARB_uniform_buffer_object	    UNIFORM_NAME_LENGTH + +############################################################################### + +# ARB Extension #91 +ARB_tessellation_shader enum: +	PATCHES						= 0x000E +	PATCH_VERTICES					= 0x8E72 +	PATCH_DEFAULT_INNER_LEVEL			= 0x8E73 +	PATCH_DEFAULT_OUTER_LEVEL			= 0x8E74 +	TESS_CONTROL_OUTPUT_VERTICES			= 0x8E75 +	TESS_GEN_MODE					= 0x8E76 +	TESS_GEN_SPACING				= 0x8E77 +	TESS_GEN_VERTEX_ORDER				= 0x8E78 +	TESS_GEN_POINT_MODE				= 0x8E79 +	use VERSION_1_1			    TRIANGLES +	use VERSION_1_1			    QUADS +	ISOLINES					= 0x8E7A +	use VERSION_1_1			    EQUAL +	FRACTIONAL_ODD					= 0x8E7B +	FRACTIONAL_EVEN					= 0x8E7C +	use VERSION_1_1			    CCW +	use VERSION_1_1			    CW +	MAX_PATCH_VERTICES				= 0x8E7D +	MAX_TESS_GEN_LEVEL				= 0x8E7E +	MAX_TESS_CONTROL_UNIFORM_COMPONENTS		= 0x8E7F +	MAX_TESS_EVALUATION_UNIFORM_COMPONENTS		= 0x8E80 +	MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS		= 0x8E81 +	MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS		= 0x8E82 +	MAX_TESS_CONTROL_OUTPUT_COMPONENTS		= 0x8E83 +	MAX_TESS_PATCH_COMPONENTS			= 0x8E84 +	MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS	= 0x8E85 +	MAX_TESS_EVALUATION_OUTPUT_COMPONENTS		= 0x8E86 +	MAX_TESS_CONTROL_UNIFORM_BLOCKS			= 0x8E89 +	MAX_TESS_EVALUATION_UNIFORM_BLOCKS		= 0x8E8A +	MAX_TESS_CONTROL_INPUT_COMPONENTS		= 0x886C +	MAX_TESS_EVALUATION_INPUT_COMPONENTS		= 0x886D +	MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS	= 0x8E1E +	MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F +	UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0 +	UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1 +	TESS_EVALUATION_SHADER				= 0x8E87 +	TESS_CONTROL_SHADER				= 0x8E88 + +############################################################################### + +# ARB Extension #92 +ARB_texture_buffer_object_rgb32 enum: +	use VERSION_3_0			    RGB32F +	use VERSION_3_0			    RGB32UI +	use VERSION_3_0			    RGB32I + +############################################################################### + +# ARB Extension #93 +ARB_transform_feedback2 enum: +	TRANSFORM_FEEDBACK				= 0x8E22 +	TRANSFORM_FEEDBACK_BUFFER_PAUSED		= 0x8E23 +	TRANSFORM_FEEDBACK_BUFFER_ACTIVE		= 0x8E24 +	TRANSFORM_FEEDBACK_BINDING			= 0x8E25 + +############################################################################### + +# ARB Extension #94 +ARB_transform_feedback3 enum: +	MAX_TRANSFORM_FEEDBACK_BUFFERS			= 0x8E70 +	MAX_VERTEX_STREAMS				= 0x8E71 + + +############################################################################### +# +# non-ARB extensions follow, in registry order +# +############################################################################### + +############################################################################### + +# Extension #1 +EXT_abgr enum: +	ABGR_EXT					= 0x8000 + +############################################################################### + +# Extension #2 +EXT_blend_color enum: +	CONSTANT_COLOR_EXT				= 0x8001 +	ONE_MINUS_CONSTANT_COLOR_EXT			= 0x8002 +	CONSTANT_ALPHA_EXT				= 0x8003 +	ONE_MINUS_CONSTANT_ALPHA_EXT			= 0x8004 +	BLEND_COLOR_EXT					= 0x8005 # 4 F + +############################################################################### + +# Extension #3 +EXT_polygon_offset enum: +	POLYGON_OFFSET_EXT				= 0x8037 +	POLYGON_OFFSET_FACTOR_EXT			= 0x8038 +	POLYGON_OFFSET_BIAS_EXT				= 0x8039 # 1 F + +############################################################################### + +# Extension #4 +EXT_texture enum: +	ALPHA4_EXT					= 0x803B +	ALPHA8_EXT					= 0x803C +	ALPHA12_EXT					= 0x803D +	ALPHA16_EXT					= 0x803E +	LUMINANCE4_EXT					= 0x803F +	LUMINANCE8_EXT					= 0x8040 +	LUMINANCE12_EXT					= 0x8041 +	LUMINANCE16_EXT					= 0x8042 +	LUMINANCE4_ALPHA4_EXT				= 0x8043 +	LUMINANCE6_ALPHA2_EXT				= 0x8044 +	LUMINANCE8_ALPHA8_EXT				= 0x8045 +	LUMINANCE12_ALPHA4_EXT				= 0x8046 +	LUMINANCE12_ALPHA12_EXT				= 0x8047 +	LUMINANCE16_ALPHA16_EXT				= 0x8048 +	INTENSITY_EXT					= 0x8049 +	INTENSITY4_EXT					= 0x804A +	INTENSITY8_EXT					= 0x804B +	INTENSITY12_EXT					= 0x804C +	INTENSITY16_EXT					= 0x804D +	RGB2_EXT					= 0x804E +	RGB4_EXT					= 0x804F +	RGB5_EXT					= 0x8050 +	RGB8_EXT					= 0x8051 +	RGB10_EXT					= 0x8052 +	RGB12_EXT					= 0x8053 +	RGB16_EXT					= 0x8054 +	RGBA2_EXT					= 0x8055 +	RGBA4_EXT					= 0x8056 +	RGB5_A1_EXT					= 0x8057 +	RGBA8_EXT					= 0x8058 +	RGB10_A2_EXT					= 0x8059 +	RGBA12_EXT					= 0x805A +	RGBA16_EXT					= 0x805B +	TEXTURE_RED_SIZE_EXT				= 0x805C +	TEXTURE_GREEN_SIZE_EXT				= 0x805D +	TEXTURE_BLUE_SIZE_EXT				= 0x805E +	TEXTURE_ALPHA_SIZE_EXT				= 0x805F +	TEXTURE_LUMINANCE_SIZE_EXT			= 0x8060 +	TEXTURE_INTENSITY_SIZE_EXT			= 0x8061 +	REPLACE_EXT					= 0x8062 +	PROXY_TEXTURE_1D_EXT				= 0x8063 +	PROXY_TEXTURE_2D_EXT				= 0x8064 +	TEXTURE_TOO_LARGE_EXT				= 0x8065 + +############################################################################### + +# Extension #5 - skipped + +############################################################################### + +# Extension #6 +EXT_texture3D enum: +	PACK_SKIP_IMAGES_EXT				= 0x806B # 1 I +	PACK_IMAGE_HEIGHT_EXT				= 0x806C # 1 F +	UNPACK_SKIP_IMAGES_EXT				= 0x806D # 1 I +	UNPACK_IMAGE_HEIGHT_EXT				= 0x806E # 1 F +	TEXTURE_3D_EXT					= 0x806F # 1 I +	PROXY_TEXTURE_3D_EXT				= 0x8070 +	TEXTURE_DEPTH_EXT				= 0x8071 +	TEXTURE_WRAP_R_EXT				= 0x8072 +	MAX_3D_TEXTURE_SIZE_EXT				= 0x8073 # 1 I + +############################################################################### + +# Extension #7 +SGIS_texture_filter4 enum: +	FILTER4_SGIS					= 0x8146 +	TEXTURE_FILTER4_SIZE_SGIS			= 0x8147 + +############################################################################### + +# Extension #8 - skipped + +############################################################################### + +# No new tokens +# Extension #9 +EXT_subtexture enum: + +############################################################################### + +# No new tokens +# Extension #10 +EXT_copy_texture enum: + +############################################################################### + +# Extension #11 +EXT_histogram enum: +	HISTOGRAM_EXT					= 0x8024 # 1 I +	PROXY_HISTOGRAM_EXT				= 0x8025 +	HISTOGRAM_WIDTH_EXT				= 0x8026 +	HISTOGRAM_FORMAT_EXT				= 0x8027 +	HISTOGRAM_RED_SIZE_EXT				= 0x8028 +	HISTOGRAM_GREEN_SIZE_EXT			= 0x8029 +	HISTOGRAM_BLUE_SIZE_EXT				= 0x802A +	HISTOGRAM_ALPHA_SIZE_EXT			= 0x802B +	HISTOGRAM_LUMINANCE_SIZE_EXT			= 0x802C +	HISTOGRAM_SINK_EXT				= 0x802D +	MINMAX_EXT					= 0x802E # 1 I +	MINMAX_FORMAT_EXT				= 0x802F +	MINMAX_SINK_EXT					= 0x8030 +	TABLE_TOO_LARGE_EXT				= 0x8031 + +############################################################################### + +# Extension #12 +EXT_convolution enum: +	CONVOLUTION_1D_EXT				= 0x8010 # 1 I +	CONVOLUTION_2D_EXT				= 0x8011 # 1 I +	SEPARABLE_2D_EXT				= 0x8012 # 1 I +	CONVOLUTION_BORDER_MODE_EXT			= 0x8013 +	CONVOLUTION_FILTER_SCALE_EXT			= 0x8014 +	CONVOLUTION_FILTER_BIAS_EXT			= 0x8015 +	REDUCE_EXT					= 0x8016 +	CONVOLUTION_FORMAT_EXT				= 0x8017 +	CONVOLUTION_WIDTH_EXT				= 0x8018 +	CONVOLUTION_HEIGHT_EXT				= 0x8019 +	MAX_CONVOLUTION_WIDTH_EXT			= 0x801A +	MAX_CONVOLUTION_HEIGHT_EXT			= 0x801B +	POST_CONVOLUTION_RED_SCALE_EXT			= 0x801C # 1 F +	POST_CONVOLUTION_GREEN_SCALE_EXT		= 0x801D # 1 F +	POST_CONVOLUTION_BLUE_SCALE_EXT			= 0x801E # 1 F +	POST_CONVOLUTION_ALPHA_SCALE_EXT		= 0x801F # 1 F +	POST_CONVOLUTION_RED_BIAS_EXT			= 0x8020 # 1 F +	POST_CONVOLUTION_GREEN_BIAS_EXT			= 0x8021 # 1 F +	POST_CONVOLUTION_BLUE_BIAS_EXT			= 0x8022 # 1 F +	POST_CONVOLUTION_ALPHA_BIAS_EXT			= 0x8023 # 1 F + +############################################################################### + +# Extension #13 +SGI_color_matrix enum: +	COLOR_MATRIX_SGI				= 0x80B1 # 16 F +	COLOR_MATRIX_STACK_DEPTH_SGI			= 0x80B2 # 1 I +	MAX_COLOR_MATRIX_STACK_DEPTH_SGI		= 0x80B3 # 1 I +	POST_COLOR_MATRIX_RED_SCALE_SGI			= 0x80B4 # 1 F +	POST_COLOR_MATRIX_GREEN_SCALE_SGI		= 0x80B5 # 1 F +	POST_COLOR_MATRIX_BLUE_SCALE_SGI		= 0x80B6 # 1 F +	POST_COLOR_MATRIX_ALPHA_SCALE_SGI		= 0x80B7 # 1 F +	POST_COLOR_MATRIX_RED_BIAS_SGI			= 0x80B8 # 1 F +	POST_COLOR_MATRIX_GREEN_BIAS_SGI		= 0x80B9 # 1 F +	POST_COLOR_MATRIX_BLUE_BIAS_SGI			= 0x80BA # 1 F +	POST_COLOR_MATRIX_ALPHA_BIAS_SGI		= 0x80BB # 1 F + +############################################################################### + +# Extension #14 +SGI_color_table enum: +	COLOR_TABLE_SGI					= 0x80D0 # 1 I +	POST_CONVOLUTION_COLOR_TABLE_SGI		= 0x80D1 # 1 I +	POST_COLOR_MATRIX_COLOR_TABLE_SGI		= 0x80D2 # 1 I +	PROXY_COLOR_TABLE_SGI				= 0x80D3 +	PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI		= 0x80D4 +	PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI		= 0x80D5 +	COLOR_TABLE_SCALE_SGI				= 0x80D6 +	COLOR_TABLE_BIAS_SGI				= 0x80D7 +	COLOR_TABLE_FORMAT_SGI				= 0x80D8 +	COLOR_TABLE_WIDTH_SGI				= 0x80D9 +	COLOR_TABLE_RED_SIZE_SGI			= 0x80DA +	COLOR_TABLE_GREEN_SIZE_SGI			= 0x80DB +	COLOR_TABLE_BLUE_SIZE_SGI			= 0x80DC +	COLOR_TABLE_ALPHA_SIZE_SGI			= 0x80DD +	COLOR_TABLE_LUMINANCE_SIZE_SGI			= 0x80DE +	COLOR_TABLE_INTENSITY_SIZE_SGI			= 0x80DF + +############################################################################### + +# Extension #15 +SGIS_pixel_texture enum: +	PIXEL_TEXTURE_SGIS				= 0x8353 # 1 I +	PIXEL_FRAGMENT_RGB_SOURCE_SGIS			= 0x8354 # 1 I +	PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS		= 0x8355 # 1 I +	PIXEL_GROUP_COLOR_SGIS				= 0x8356 # 1 I + +############################################################################### + +# Extension #15a +SGIX_pixel_texture enum: +	PIXEL_TEX_GEN_SGIX				= 0x8139 # 1 I +	PIXEL_TEX_GEN_MODE_SGIX				= 0x832B # 1 I + +############################################################################### + +# Extension #16 +SGIS_texture4D enum: +	PACK_SKIP_VOLUMES_SGIS				= 0x8130 # 1 I +	PACK_IMAGE_DEPTH_SGIS				= 0x8131 # 1 I +	UNPACK_SKIP_VOLUMES_SGIS			= 0x8132 # 1 I +	UNPACK_IMAGE_DEPTH_SGIS				= 0x8133 # 1 I +	TEXTURE_4D_SGIS					= 0x8134 # 1 I +	PROXY_TEXTURE_4D_SGIS				= 0x8135 +	TEXTURE_4DSIZE_SGIS				= 0x8136 +	TEXTURE_WRAP_Q_SGIS				= 0x8137 +	MAX_4D_TEXTURE_SIZE_SGIS			= 0x8138 # 1 I +	TEXTURE_4D_BINDING_SGIS				= 0x814F # 1 I + +############################################################################### + +# Extension #17 +SGI_texture_color_table enum: +	TEXTURE_COLOR_TABLE_SGI				= 0x80BC # 1 I +	PROXY_TEXTURE_COLOR_TABLE_SGI			= 0x80BD + +############################################################################### + +# Extension #18 +EXT_cmyka enum: +	CMYK_EXT					= 0x800C +	CMYKA_EXT					= 0x800D +	PACK_CMYK_HINT_EXT				= 0x800E # 1 I +	UNPACK_CMYK_HINT_EXT				= 0x800F # 1 I + +############################################################################### + +# Extension #19 - skipped + +############################################################################### + +# Extension #20 +EXT_texture_object enum: +	TEXTURE_PRIORITY_EXT				= 0x8066 +	TEXTURE_RESIDENT_EXT				= 0x8067 +	TEXTURE_1D_BINDING_EXT				= 0x8068 +	TEXTURE_2D_BINDING_EXT				= 0x8069 +	TEXTURE_3D_BINDING_EXT				= 0x806A # 1 I + +############################################################################### + +# Extension #21 +SGIS_detail_texture enum: +	DETAIL_TEXTURE_2D_SGIS				= 0x8095 +	DETAIL_TEXTURE_2D_BINDING_SGIS			= 0x8096 # 1 I +	LINEAR_DETAIL_SGIS				= 0x8097 +	LINEAR_DETAIL_ALPHA_SGIS			= 0x8098 +	LINEAR_DETAIL_COLOR_SGIS			= 0x8099 +	DETAIL_TEXTURE_LEVEL_SGIS			= 0x809A +	DETAIL_TEXTURE_MODE_SGIS			= 0x809B +	DETAIL_TEXTURE_FUNC_POINTS_SGIS			= 0x809C + +############################################################################### + +# Extension #22 +SGIS_sharpen_texture enum: +	LINEAR_SHARPEN_SGIS				= 0x80AD +	LINEAR_SHARPEN_ALPHA_SGIS			= 0x80AE +	LINEAR_SHARPEN_COLOR_SGIS			= 0x80AF +	SHARPEN_TEXTURE_FUNC_POINTS_SGIS		= 0x80B0 + +############################################################################### + +# Extension #23 +EXT_packed_pixels enum: +	UNSIGNED_BYTE_3_3_2_EXT				= 0x8032 +	UNSIGNED_SHORT_4_4_4_4_EXT			= 0x8033 +	UNSIGNED_SHORT_5_5_5_1_EXT			= 0x8034 +	UNSIGNED_INT_8_8_8_8_EXT			= 0x8035 +	UNSIGNED_INT_10_10_10_2_EXT			= 0x8036 + +############################################################################### + +# Extension #24 +SGIS_texture_lod enum: +	TEXTURE_MIN_LOD_SGIS				= 0x813A +	TEXTURE_MAX_LOD_SGIS				= 0x813B +	TEXTURE_BASE_LEVEL_SGIS				= 0x813C +	TEXTURE_MAX_LEVEL_SGIS				= 0x813D + +############################################################################### + +# Extension #25 +SGIS_multisample enum: +	MULTISAMPLE_SGIS				= 0x809D # 1 I +	SAMPLE_ALPHA_TO_MASK_SGIS			= 0x809E # 1 I +	SAMPLE_ALPHA_TO_ONE_SGIS			= 0x809F # 1 I +	SAMPLE_MASK_SGIS				= 0x80A0 # 1 I +	1PASS_SGIS					= 0x80A1 +	2PASS_0_SGIS					= 0x80A2 +	2PASS_1_SGIS					= 0x80A3 +	4PASS_0_SGIS					= 0x80A4 +	4PASS_1_SGIS					= 0x80A5 +	4PASS_2_SGIS					= 0x80A6 +	4PASS_3_SGIS					= 0x80A7 +	SAMPLE_BUFFERS_SGIS				= 0x80A8 # 1 I +	SAMPLES_SGIS					= 0x80A9 # 1 I +	SAMPLE_MASK_VALUE_SGIS				= 0x80AA # 1 F +	SAMPLE_MASK_INVERT_SGIS				= 0x80AB # 1 I +	SAMPLE_PATTERN_SGIS				= 0x80AC # 1 I + +############################################################################### + +# Extension #26 - no specification? +# SGIS_premultiply_blend enum: + +############################################################################## + +# Extension #27 +# Diamond ships an otherwise identical IBM_rescale_normal extension; +#  Dan Brokenshire says this is deprecated and should not be advertised. +EXT_rescale_normal enum: +	RESCALE_NORMAL_EXT				= 0x803A # 1 I + +############################################################################### + +# Extension #28 - GLX_EXT_visual_info + +############################################################################### + +# Extension #29 - skipped + +############################################################################### + +# Extension #30 +EXT_vertex_array enum: +	VERTEX_ARRAY_EXT				= 0x8074 +	NORMAL_ARRAY_EXT				= 0x8075 +	COLOR_ARRAY_EXT					= 0x8076 +	INDEX_ARRAY_EXT					= 0x8077 +	TEXTURE_COORD_ARRAY_EXT				= 0x8078 +	EDGE_FLAG_ARRAY_EXT				= 0x8079 +	VERTEX_ARRAY_SIZE_EXT				= 0x807A +	VERTEX_ARRAY_TYPE_EXT				= 0x807B +	VERTEX_ARRAY_STRIDE_EXT				= 0x807C +	VERTEX_ARRAY_COUNT_EXT				= 0x807D # 1 I +	NORMAL_ARRAY_TYPE_EXT				= 0x807E +	NORMAL_ARRAY_STRIDE_EXT				= 0x807F +	NORMAL_ARRAY_COUNT_EXT				= 0x8080 # 1 I +	COLOR_ARRAY_SIZE_EXT				= 0x8081 +	COLOR_ARRAY_TYPE_EXT				= 0x8082 +	COLOR_ARRAY_STRIDE_EXT				= 0x8083 +	COLOR_ARRAY_COUNT_EXT				= 0x8084 # 1 I +	INDEX_ARRAY_TYPE_EXT				= 0x8085 +	INDEX_ARRAY_STRIDE_EXT				= 0x8086 +	INDEX_ARRAY_COUNT_EXT				= 0x8087 # 1 I +	TEXTURE_COORD_ARRAY_SIZE_EXT			= 0x8088 +	TEXTURE_COORD_ARRAY_TYPE_EXT			= 0x8089 +	TEXTURE_COORD_ARRAY_STRIDE_EXT			= 0x808A +	TEXTURE_COORD_ARRAY_COUNT_EXT			= 0x808B # 1 I +	EDGE_FLAG_ARRAY_STRIDE_EXT			= 0x808C +	EDGE_FLAG_ARRAY_COUNT_EXT			= 0x808D # 1 I +	VERTEX_ARRAY_POINTER_EXT			= 0x808E +	NORMAL_ARRAY_POINTER_EXT			= 0x808F +	COLOR_ARRAY_POINTER_EXT				= 0x8090 +	INDEX_ARRAY_POINTER_EXT				= 0x8091 +	TEXTURE_COORD_ARRAY_POINTER_EXT			= 0x8092 +	EDGE_FLAG_ARRAY_POINTER_EXT			= 0x8093 + +############################################################################### + +# Extension #31 +EXT_misc_attribute enum: +#	 MISC_BIT					 = 0x???? + +############################################################################### + +# Extension #32 +SGIS_generate_mipmap enum: +	GENERATE_MIPMAP_SGIS				= 0x8191 +	GENERATE_MIPMAP_HINT_SGIS			= 0x8192 # 1 I + +############################################################################### + +# Extension #33 +SGIX_clipmap enum: +	LINEAR_CLIPMAP_LINEAR_SGIX			= 0x8170 +	TEXTURE_CLIPMAP_CENTER_SGIX			= 0x8171 +	TEXTURE_CLIPMAP_FRAME_SGIX			= 0x8172 +	TEXTURE_CLIPMAP_OFFSET_SGIX			= 0x8173 +	TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX		= 0x8174 +	TEXTURE_CLIPMAP_LOD_OFFSET_SGIX			= 0x8175 +	TEXTURE_CLIPMAP_DEPTH_SGIX			= 0x8176 +	MAX_CLIPMAP_DEPTH_SGIX				= 0x8177 # 1 I +	MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX			= 0x8178 # 1 I +	NEAREST_CLIPMAP_NEAREST_SGIX			= 0x844D +	NEAREST_CLIPMAP_LINEAR_SGIX			= 0x844E +	LINEAR_CLIPMAP_NEAREST_SGIX			= 0x844F + +############################################################################### + +# Extension #34 +SGIX_shadow enum: +	TEXTURE_COMPARE_SGIX				= 0x819A +	TEXTURE_COMPARE_OPERATOR_SGIX			= 0x819B +	TEXTURE_LEQUAL_R_SGIX				= 0x819C +	TEXTURE_GEQUAL_R_SGIX				= 0x819D + +############################################################################### + +# Extension #35 +SGIS_texture_edge_clamp enum: +	CLAMP_TO_EDGE_SGIS				= 0x812F + +############################################################################### + +# Extension #36 +# Promoted to ARB_texture_border_clamp +SGIS_texture_border_clamp enum: +	CLAMP_TO_BORDER_SGIS				= 0x812D + +############################################################################### + +# Extension #37 +EXT_blend_minmax enum: +	FUNC_ADD_EXT					= 0x8006 +	MIN_EXT						= 0x8007 +	MAX_EXT						= 0x8008 +	BLEND_EQUATION_EXT				= 0x8009 # 1 I + +############################################################################### + +# Extension #38 +EXT_blend_subtract enum: +	FUNC_SUBTRACT_EXT				= 0x800A +	FUNC_REVERSE_SUBTRACT_EXT			= 0x800B + +############################################################################### + +# No new tokens +# Extension #39 +EXT_blend_logic_op enum: + +############################################################################### + +# Extension #40 - GLX_SGI_swap_control +# Extension #41 - GLX_SGI_video_sync +# Extension #42 - GLX_SGI_make_current_read +# Extension #43 - GLX_SGIX_video_source +# Extension #44 - GLX_EXT_visual_rating + +############################################################################### + +# Extension #45 +SGIX_interlace enum: +	INTERLACE_SGIX					= 0x8094 # 1 I + +############################################################################### + +# Extension #46 +SGIX_pixel_tiles enum: +	PIXEL_TILE_BEST_ALIGNMENT_SGIX			= 0x813E # 1 I +	PIXEL_TILE_CACHE_INCREMENT_SGIX			= 0x813F # 1 I +	PIXEL_TILE_WIDTH_SGIX				= 0x8140 # 1 I +	PIXEL_TILE_HEIGHT_SGIX				= 0x8141 # 1 I +	PIXEL_TILE_GRID_WIDTH_SGIX			= 0x8142 # 1 I +	PIXEL_TILE_GRID_HEIGHT_SGIX			= 0x8143 # 1 I +	PIXEL_TILE_GRID_DEPTH_SGIX			= 0x8144 # 1 I +	PIXEL_TILE_CACHE_SIZE_SGIX			= 0x8145 # 1 I + +############################################################################### + +# Extension #47 - GLX_EXT_import_context + +############################################################################### + +# Extension #48 - skipped + +############################################################################### + +# Extension #49 - GLX_SGIX_fbconfig +# Extension #50 - GLX_SGIX_pbuffer + +############################################################################### + +# Extension #51 +SGIS_texture_select enum: +	DUAL_ALPHA4_SGIS				= 0x8110 +	DUAL_ALPHA8_SGIS				= 0x8111 +	DUAL_ALPHA12_SGIS				= 0x8112 +	DUAL_ALPHA16_SGIS				= 0x8113 +	DUAL_LUMINANCE4_SGIS				= 0x8114 +	DUAL_LUMINANCE8_SGIS				= 0x8115 +	DUAL_LUMINANCE12_SGIS				= 0x8116 +	DUAL_LUMINANCE16_SGIS				= 0x8117 +	DUAL_INTENSITY4_SGIS				= 0x8118 +	DUAL_INTENSITY8_SGIS				= 0x8119 +	DUAL_INTENSITY12_SGIS				= 0x811A +	DUAL_INTENSITY16_SGIS				= 0x811B +	DUAL_LUMINANCE_ALPHA4_SGIS			= 0x811C +	DUAL_LUMINANCE_ALPHA8_SGIS			= 0x811D +	QUAD_ALPHA4_SGIS				= 0x811E +	QUAD_ALPHA8_SGIS				= 0x811F +	QUAD_LUMINANCE4_SGIS				= 0x8120 +	QUAD_LUMINANCE8_SGIS				= 0x8121 +	QUAD_INTENSITY4_SGIS				= 0x8122 +	QUAD_INTENSITY8_SGIS				= 0x8123 +	DUAL_TEXTURE_SELECT_SGIS			= 0x8124 +	QUAD_TEXTURE_SELECT_SGIS			= 0x8125 + +############################################################################### + +# Extension #52 +SGIX_sprite enum: +	SPRITE_SGIX					= 0x8148 # 1 I +	SPRITE_MODE_SGIX				= 0x8149 # 1 I +	SPRITE_AXIS_SGIX				= 0x814A # 3 F +	SPRITE_TRANSLATION_SGIX				= 0x814B # 3 F +	SPRITE_AXIAL_SGIX				= 0x814C +	SPRITE_OBJECT_ALIGNED_SGIX			= 0x814D +	SPRITE_EYE_ALIGNED_SGIX				= 0x814E + +############################################################################### + +# Extension #53 +SGIX_texture_multi_buffer enum: +	TEXTURE_MULTI_BUFFER_HINT_SGIX			= 0x812E + +############################################################################### + +# Extension #54 +# EXT form promoted from SGIS form; both are included +EXT_point_parameters enum: +	POINT_SIZE_MIN_EXT				= 0x8126 # 1 F +	POINT_SIZE_MAX_EXT				= 0x8127 # 1 F +	POINT_FADE_THRESHOLD_SIZE_EXT			= 0x8128 # 1 F +	DISTANCE_ATTENUATION_EXT			= 0x8129 # 3 F + +SGIS_point_parameters enum: +	POINT_SIZE_MIN_SGIS				= 0x8126 # 1 F +	POINT_SIZE_MAX_SGIS				= 0x8127 # 1 F +	POINT_FADE_THRESHOLD_SIZE_SGIS			= 0x8128 # 1 F +	DISTANCE_ATTENUATION_SGIS			= 0x8129 # 3 F + +############################################################################### + +# Extension #55 +SGIX_instruments enum: +	INSTRUMENT_BUFFER_POINTER_SGIX			= 0x8180 +	INSTRUMENT_MEASUREMENTS_SGIX			= 0x8181 # 1 I + +############################################################################### + +# Extension #56 +SGIX_texture_scale_bias enum: +	POST_TEXTURE_FILTER_BIAS_SGIX			= 0x8179 +	POST_TEXTURE_FILTER_SCALE_SGIX			= 0x817A +	POST_TEXTURE_FILTER_BIAS_RANGE_SGIX		= 0x817B # 2 F +	POST_TEXTURE_FILTER_SCALE_RANGE_SGIX		= 0x817C # 2 F + +############################################################################### + +# Extension #57 +SGIX_framezoom enum: +	FRAMEZOOM_SGIX					= 0x818B # 1 I +	FRAMEZOOM_FACTOR_SGIX				= 0x818C # 1 I +	MAX_FRAMEZOOM_FACTOR_SGIX			= 0x818D # 1 I + +############################################################################### + +# No new tokens +# Extension #58 +SGIX_tag_sample_buffer enum: + +############################################################################### + +# Extension #59 +FfdMaskSGIX enum: +	TEXTURE_DEFORMATION_BIT_SGIX			= 0x00000001 +	GEOMETRY_DEFORMATION_BIT_SGIX			= 0x00000002 +SGIX_polynomial_ffd enum: +	GEOMETRY_DEFORMATION_SGIX			= 0x8194 +	TEXTURE_DEFORMATION_SGIX			= 0x8195 +	DEFORMATIONS_MASK_SGIX				= 0x8196 # 1 I +	MAX_DEFORMATION_ORDER_SGIX			= 0x8197 + +############################################################################### + +# Extension #60 +SGIX_reference_plane enum: +	REFERENCE_PLANE_SGIX				= 0x817D # 1 I +	REFERENCE_PLANE_EQUATION_SGIX			= 0x817E # 4 F + +############################################################################### + +# No new tokens +# Extension #61 +SGIX_flush_raster enum: + +############################################################################### + +# Extension #62 - GLX_SGIX_cushion + +############################################################################### + +# Extension #63 +SGIX_depth_texture enum: +	DEPTH_COMPONENT16_SGIX				= 0x81A5 +	DEPTH_COMPONENT24_SGIX				= 0x81A6 +	DEPTH_COMPONENT32_SGIX				= 0x81A7 + +############################################################################### + +# Extension #64 +SGIS_fog_function enum: +	FOG_FUNC_SGIS					= 0x812A +	FOG_FUNC_POINTS_SGIS				= 0x812B # 1 I +	MAX_FOG_FUNC_POINTS_SGIS			= 0x812C # 1 I + +############################################################################### + +# Extension #65 +SGIX_fog_offset enum: +	FOG_OFFSET_SGIX					= 0x8198 # 1 I +	FOG_OFFSET_VALUE_SGIX				= 0x8199 # 4 F + +############################################################################### + +# Extension #66 +HP_image_transform enum: +	IMAGE_SCALE_X_HP				= 0x8155 +	IMAGE_SCALE_Y_HP				= 0x8156 +	IMAGE_TRANSLATE_X_HP				= 0x8157 +	IMAGE_TRANSLATE_Y_HP				= 0x8158 +	IMAGE_ROTATE_ANGLE_HP				= 0x8159 +	IMAGE_ROTATE_ORIGIN_X_HP			= 0x815A +	IMAGE_ROTATE_ORIGIN_Y_HP			= 0x815B +	IMAGE_MAG_FILTER_HP				= 0x815C +	IMAGE_MIN_FILTER_HP				= 0x815D +	IMAGE_CUBIC_WEIGHT_HP				= 0x815E +	CUBIC_HP					= 0x815F +	AVERAGE_HP					= 0x8160 +	IMAGE_TRANSFORM_2D_HP				= 0x8161 +	POST_IMAGE_TRANSFORM_COLOR_TABLE_HP		= 0x8162 +	PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP	= 0x8163 + +############################################################################### + +# Extension #67 +HP_convolution_border_modes enum: +	IGNORE_BORDER_HP				= 0x8150 +	CONSTANT_BORDER_HP				= 0x8151 +	REPLICATE_BORDER_HP				= 0x8153 +	CONVOLUTION_BORDER_COLOR_HP			= 0x8154 + +############################################################################### + +# Extension #68 +# (Unknown token values???) +INGR_palette_buffer enum: + +############################################################################### + +# Extension #69 +SGIX_texture_add_env enum: +	TEXTURE_ENV_BIAS_SGIX				= 0x80BE + +############################################################################### + +# Extension #70 - skipped +# Extension #71 - skipped +# Extension #72 - skipped +# Extension #73 - skipped + +############################################################################### + +# No new tokens +# Extension #74 +EXT_color_subtable enum: + +############################################################################### + +# Extension #75 - GLU_EXT_object_space_tess + +############################################################################### + +# Extension #76 +PGI_vertex_hints enum: +	VERTEX_DATA_HINT_PGI				= 0x1A22A +	VERTEX_CONSISTENT_HINT_PGI			= 0x1A22B +	MATERIAL_SIDE_HINT_PGI				= 0x1A22C +	MAX_VERTEX_HINT_PGI				= 0x1A22D +	COLOR3_BIT_PGI					= 0x00010000 +	COLOR4_BIT_PGI					= 0x00020000 +	EDGEFLAG_BIT_PGI				= 0x00040000 +	INDEX_BIT_PGI					= 0x00080000 +	MAT_AMBIENT_BIT_PGI				= 0x00100000 +	MAT_AMBIENT_AND_DIFFUSE_BIT_PGI			= 0x00200000 +	MAT_DIFFUSE_BIT_PGI				= 0x00400000 +	MAT_EMISSION_BIT_PGI				= 0x00800000 +	MAT_COLOR_INDEXES_BIT_PGI			= 0x01000000 +	MAT_SHININESS_BIT_PGI				= 0x02000000 +	MAT_SPECULAR_BIT_PGI				= 0x04000000 +	NORMAL_BIT_PGI					= 0x08000000 +	TEXCOORD1_BIT_PGI				= 0x10000000 +	TEXCOORD2_BIT_PGI				= 0x20000000 +	TEXCOORD3_BIT_PGI				= 0x40000000 +	TEXCOORD4_BIT_PGI				= 0x80000000 +	VERTEX23_BIT_PGI				= 0x00000004 +	VERTEX4_BIT_PGI					= 0x00000008 + +############################################################################### + +# Extension #77 +PGI_misc_hints enum: +	PREFER_DOUBLEBUFFER_HINT_PGI			= 0x1A1F8 +	CONSERVE_MEMORY_HINT_PGI			= 0x1A1FD +	RECLAIM_MEMORY_HINT_PGI				= 0x1A1FE +	NATIVE_GRAPHICS_HANDLE_PGI			= 0x1A202 +	NATIVE_GRAPHICS_BEGIN_HINT_PGI			= 0x1A203 +	NATIVE_GRAPHICS_END_HINT_PGI			= 0x1A204 +	ALWAYS_FAST_HINT_PGI				= 0x1A20C +	ALWAYS_SOFT_HINT_PGI				= 0x1A20D +	ALLOW_DRAW_OBJ_HINT_PGI				= 0x1A20E +	ALLOW_DRAW_WIN_HINT_PGI				= 0x1A20F +	ALLOW_DRAW_FRG_HINT_PGI				= 0x1A210 +	ALLOW_DRAW_MEM_HINT_PGI				= 0x1A211 +	STRICT_DEPTHFUNC_HINT_PGI			= 0x1A216 +	STRICT_LIGHTING_HINT_PGI			= 0x1A217 +	STRICT_SCISSOR_HINT_PGI				= 0x1A218 +	FULL_STIPPLE_HINT_PGI				= 0x1A219 +	CLIP_NEAR_HINT_PGI				= 0x1A220 +	CLIP_FAR_HINT_PGI				= 0x1A221 +	WIDE_LINE_HINT_PGI				= 0x1A222 +	BACK_NORMALS_HINT_PGI				= 0x1A223 + +############################################################################### + +# Extension #78 +EXT_paletted_texture enum: +	COLOR_INDEX1_EXT				= 0x80E2 +	COLOR_INDEX2_EXT				= 0x80E3 +	COLOR_INDEX4_EXT				= 0x80E4 +	COLOR_INDEX8_EXT				= 0x80E5 +	COLOR_INDEX12_EXT				= 0x80E6 +	COLOR_INDEX16_EXT				= 0x80E7 +	TEXTURE_INDEX_SIZE_EXT				= 0x80ED + +############################################################################### + +# Extension #79 +EXT_clip_volume_hint enum: +	CLIP_VOLUME_CLIPPING_HINT_EXT			= 0x80F0 + +############################################################################### + +# Extension #80 +SGIX_list_priority enum: +	LIST_PRIORITY_SGIX				= 0x8182 + +############################################################################### + +# Extension #81 +SGIX_ir_instrument1 enum: +	IR_INSTRUMENT1_SGIX				= 0x817F # 1 I + +############################################################################### + +# Extension #82 +SGIX_calligraphic_fragment enum: +	CALLIGRAPHIC_FRAGMENT_SGIX			= 0x8183 # 1 I + +############################################################################### + +# Extension #83 - GLX_SGIX_video_resize + +############################################################################### + +# Extension #84 +SGIX_texture_lod_bias enum: +	TEXTURE_LOD_BIAS_S_SGIX				= 0x818E +	TEXTURE_LOD_BIAS_T_SGIX				= 0x818F +	TEXTURE_LOD_BIAS_R_SGIX				= 0x8190 + +############################################################################### + +# Extension #85 - skipped + +############################################################################### + +# Extension #86 - GLX_SGIX_dmbuffer + +############################################################################### + +# Extension #87 - skipped +# Extension #88 - skipped +# Extension #89 - skipped + +############################################################################### + +# Extension #90 +SGIX_shadow_ambient enum: +	SHADOW_AMBIENT_SGIX				= 0x80BF + +############################################################################### + +# Extension #91 - GLX_SGIX_swap_group +# Extension #92 - GLX_SGIX_swap_barrier + +############################################################################### + +# No new tokens +# Extension #93 +EXT_index_texture enum: + +############################################################################### + +# Extension #94 +# Promoted from SGI? +EXT_index_material enum: +	INDEX_MATERIAL_EXT				= 0x81B8 +	INDEX_MATERIAL_PARAMETER_EXT			= 0x81B9 +	INDEX_MATERIAL_FACE_EXT				= 0x81BA + +############################################################################### + +# Extension #95 +# Promoted from SGI? +EXT_index_func enum: +	INDEX_TEST_EXT					= 0x81B5 +	INDEX_TEST_FUNC_EXT				= 0x81B6 +	INDEX_TEST_REF_EXT				= 0x81B7 + +############################################################################### + +# Extension #96 +# Promoted from SGI? +EXT_index_array_formats enum: +	IUI_V2F_EXT					= 0x81AD +	IUI_V3F_EXT					= 0x81AE +	IUI_N3F_V2F_EXT					= 0x81AF +	IUI_N3F_V3F_EXT					= 0x81B0 +	T2F_IUI_V2F_EXT					= 0x81B1 +	T2F_IUI_V3F_EXT					= 0x81B2 +	T2F_IUI_N3F_V2F_EXT				= 0x81B3 +	T2F_IUI_N3F_V3F_EXT				= 0x81B4 + +############################################################################### + +# Extension #97 +# Promoted from SGI? +EXT_compiled_vertex_array enum: +	ARRAY_ELEMENT_LOCK_FIRST_EXT			= 0x81A8 +	ARRAY_ELEMENT_LOCK_COUNT_EXT			= 0x81A9 + +############################################################################### + +# Extension #98 +# Promoted from SGI? +EXT_cull_vertex enum: +	CULL_VERTEX_EXT					= 0x81AA +	CULL_VERTEX_EYE_POSITION_EXT			= 0x81AB +	CULL_VERTEX_OBJECT_POSITION_EXT			= 0x81AC + +############################################################################### + +# Extension #99 - skipped + +############################################################################### + +# Extension #100 - GLU_EXT_nurbs_tessellator + +############################################################################### + +# Extension #101 +SGIX_ycrcb enum: +	YCRCB_422_SGIX					= 0x81BB +	YCRCB_444_SGIX					= 0x81BC + +############################################################################### + +# Extension #102 +SGIX_fragment_lighting enum: +	FRAGMENT_LIGHTING_SGIX				= 0x8400 # 1 I +	FRAGMENT_COLOR_MATERIAL_SGIX			= 0x8401 # 1 I +	FRAGMENT_COLOR_MATERIAL_FACE_SGIX		= 0x8402 # 1 I +	FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX		= 0x8403 # 1 I +	MAX_FRAGMENT_LIGHTS_SGIX			= 0x8404 # 1 I +	MAX_ACTIVE_LIGHTS_SGIX				= 0x8405 # 1 I +	CURRENT_RASTER_NORMAL_SGIX			= 0x8406 # 1 I +	LIGHT_ENV_MODE_SGIX				= 0x8407 # 1 I +	FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX		= 0x8408 # 1 I +	FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX		= 0x8409 # 1 I +	FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX		= 0x840A # 4 F +	FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX	= 0x840B # 1 I +	FRAGMENT_LIGHT0_SGIX				= 0x840C # 1 I +	FRAGMENT_LIGHT1_SGIX				= 0x840D +	FRAGMENT_LIGHT2_SGIX				= 0x840E +	FRAGMENT_LIGHT3_SGIX				= 0x840F +	FRAGMENT_LIGHT4_SGIX				= 0x8410 +	FRAGMENT_LIGHT5_SGIX				= 0x8411 +	FRAGMENT_LIGHT6_SGIX				= 0x8412 +	FRAGMENT_LIGHT7_SGIX				= 0x8413 + +############################################################################### + +# Extension #103 - skipped +# Extension #104 - skipped +# Extension #105 - skipped +# Extension #106 - skipped +# Extension #107 - skipped +# Extension #108 - skipped +# Extension #109 - skipped + +############################################################################### + +# Extension #110 +IBM_rasterpos_clip enum: +	RASTER_POSITION_UNCLIPPED_IBM			= 0x19262 + +############################################################################### + +# Extension #111 +HP_texture_lighting enum: +	TEXTURE_LIGHTING_MODE_HP			= 0x8167 +	TEXTURE_POST_SPECULAR_HP			= 0x8168 +	TEXTURE_PRE_SPECULAR_HP				= 0x8169 + +############################################################################### + +# Extension #112 +EXT_draw_range_elements enum: +	MAX_ELEMENTS_VERTICES_EXT			= 0x80E8 +	MAX_ELEMENTS_INDICES_EXT			= 0x80E9 + +############################################################################### + +# Extension #113 +WIN_phong_shading enum: +	PHONG_WIN					= 0x80EA +	PHONG_HINT_WIN					= 0x80EB + +############################################################################### + +# Extension #114 +WIN_specular_fog enum: +	FOG_SPECULAR_TEXTURE_WIN			= 0x80EC + +############################################################################### + +# Extension #115 - skipped +# Extension #116 - skipped + +############################################################################### + +# Extension #117 +EXT_light_texture enum: +	FRAGMENT_MATERIAL_EXT				= 0x8349 +	FRAGMENT_NORMAL_EXT				= 0x834A +	FRAGMENT_COLOR_EXT				= 0x834C +	ATTENUATION_EXT					= 0x834D +	SHADOW_ATTENUATION_EXT				= 0x834E +	TEXTURE_APPLICATION_MODE_EXT			= 0x834F # 1 I +	TEXTURE_LIGHT_EXT				= 0x8350 # 1 I +	TEXTURE_MATERIAL_FACE_EXT			= 0x8351 # 1 I +	TEXTURE_MATERIAL_PARAMETER_EXT			= 0x8352 # 1 I +	use EXT_fog_coord		    FRAGMENT_DEPTH_EXT + +############################################################################### + +# Extension #118 - skipped + +############################################################################### + +# Extension #119 +SGIX_blend_alpha_minmax enum: +	ALPHA_MIN_SGIX					= 0x8320 +	ALPHA_MAX_SGIX					= 0x8321 + +############################################################################### + +# Extension #120 - skipped +# Extension #121 - skipped +# Extension #122 - skipped +# Extension #123 - skipped +# Extension #124 - skipped +# Extension #125 - skipped + +############################################################################### + +# Extension #126 +SGIX_impact_pixel_texture enum: +	PIXEL_TEX_GEN_Q_CEILING_SGIX			= 0x8184 +	PIXEL_TEX_GEN_Q_ROUND_SGIX			= 0x8185 +	PIXEL_TEX_GEN_Q_FLOOR_SGIX			= 0x8186 +	PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX		= 0x8187 +	PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX		= 0x8188 +	PIXEL_TEX_GEN_ALPHA_LS_SGIX			= 0x8189 +	PIXEL_TEX_GEN_ALPHA_MS_SGIX			= 0x818A + +############################################################################### + +# Extension #127 - skipped +# Extension #128 - skipped + +############################################################################### + +# Extension #129 +EXT_bgra enum: +	BGR_EXT						= 0x80E0 +	BGRA_EXT					= 0x80E1 + +############################################################################### + +# Extension #130 - skipped +# Extension #131 - skipped + +############################################################################### + +# Extension #132 +SGIX_async enum: +	ASYNC_MARKER_SGIX				= 0x8329 + +############################################################################### + +# Extension #133 +SGIX_async_pixel enum: +	ASYNC_TEX_IMAGE_SGIX				= 0x835C +	ASYNC_DRAW_PIXELS_SGIX				= 0x835D +	ASYNC_READ_PIXELS_SGIX				= 0x835E +	MAX_ASYNC_TEX_IMAGE_SGIX			= 0x835F +	MAX_ASYNC_DRAW_PIXELS_SGIX			= 0x8360 +	MAX_ASYNC_READ_PIXELS_SGIX			= 0x8361 + +############################################################################### + +# Extension #134 +SGIX_async_histogram enum: +	ASYNC_HISTOGRAM_SGIX				= 0x832C +	MAX_ASYNC_HISTOGRAM_SGIX			= 0x832D + +############################################################################### + +# Intel has not implemented this; enums never assigned +# Extension #135 +INTEL_texture_scissor enum: +#	 TEXTURE_SCISSOR_INTEL				 = 0x???? +#	 TEXTURE_SCISSOR_INTEL				 = 0x???? +#	 TEXTURE_SCISSOR_FUNC_INTEL			 = 0x???? +#	 TEXTURE_SCISSOR_S_INTEL			 = 0x???? +#	 TEXTURE_SCISSOR_T_INTEL			 = 0x???? +#	 TEXTURE_SCISSOR_R_INTEL			 = 0x???? + +############################################################################### + +# Extension #136 +INTEL_parallel_arrays enum: +	PARALLEL_ARRAYS_INTEL				= 0x83F4 +	VERTEX_ARRAY_PARALLEL_POINTERS_INTEL		= 0x83F5 +	NORMAL_ARRAY_PARALLEL_POINTERS_INTEL		= 0x83F6 +	COLOR_ARRAY_PARALLEL_POINTERS_INTEL		= 0x83F7 +	TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL	= 0x83F8 + +############################################################################### + +# Extension #137 +HP_occlusion_test enum: +	OCCLUSION_TEST_HP				= 0x8165 +	OCCLUSION_TEST_RESULT_HP			= 0x8166 + +############################################################################### + +# Extension #138 +EXT_pixel_transform enum: +	PIXEL_TRANSFORM_2D_EXT				= 0x8330 +	PIXEL_MAG_FILTER_EXT				= 0x8331 +	PIXEL_MIN_FILTER_EXT				= 0x8332 +	PIXEL_CUBIC_WEIGHT_EXT				= 0x8333 +	CUBIC_EXT					= 0x8334 +	AVERAGE_EXT					= 0x8335 +	PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT		= 0x8336 +	MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT		= 0x8337 +	PIXEL_TRANSFORM_2D_MATRIX_EXT			= 0x8338 + +############################################################################### + +# Unknown enum values +# Extension #139 +EXT_pixel_transform_color_table enum: + +#	 PIXEL_TRANSFORM_COLOR_TABLE_EXT +#	 PROXY_PIXEL_TRANSFORM_COLOR_TABLE_EXT + +############################################################################### + +# Extension #140 - skipped + +############################################################################### + +# Extension #141 +EXT_shared_texture_palette enum: +	SHARED_TEXTURE_PALETTE_EXT			= 0x81FB + +############################################################################### + +# Extension #142 - GLX_SGIS_blended_overlay + +############################################################################### + +# Extension #143 - SGIS_shared_multisample +#	MULTISAMPLE_SUB_RECT_POSITION_SGIS		= <TBD> +#	MULTISAMPLE_SUB_RECT_DIMS_SGIS			= <TBD> + +############################################################################### + +# Extension #144 +EXT_separate_specular_color enum: +	LIGHT_MODEL_COLOR_CONTROL_EXT			= 0x81F8 +	SINGLE_COLOR_EXT				= 0x81F9 +	SEPARATE_SPECULAR_COLOR_EXT			= 0x81FA + +############################################################################### + +# Extension #145 +EXT_secondary_color enum: +	COLOR_SUM_EXT					= 0x8458 # 1 I +	CURRENT_SECONDARY_COLOR_EXT			= 0x8459 # 3 F +	SECONDARY_COLOR_ARRAY_SIZE_EXT			= 0x845A # 1 I +	SECONDARY_COLOR_ARRAY_TYPE_EXT			= 0x845B # 1 I +	SECONDARY_COLOR_ARRAY_STRIDE_EXT		= 0x845C # 1 I +	SECONDARY_COLOR_ARRAY_POINTER_EXT		= 0x845D +	SECONDARY_COLOR_ARRAY_EXT			= 0x845E # 1 I + +############################################################################### + +# Dead extension - EXT_texture_env_combine was finished instead +# Extension #146 +#EXT_texture_env enum: + +############################################################################### + +# Extension #147 +EXT_texture_perturb_normal enum: +	PERTURB_EXT					= 0x85AE +	TEXTURE_NORMAL_EXT				= 0x85AF + +############################################################################### + +# No new tokens +# Extension #148 +# Diamond ships an otherwise identical IBM_multi_draw_arrays extension; +#  Dan Brokenshire says this is deprecated and should not be advertised. +EXT_multi_draw_arrays enum: + +############################################################################### + +# Extension #149 +EXT_fog_coord enum: +	FOG_COORDINATE_SOURCE_EXT			= 0x8450 # 1 I +	FOG_COORDINATE_EXT				= 0x8451 +	FRAGMENT_DEPTH_EXT				= 0x8452 +	CURRENT_FOG_COORDINATE_EXT			= 0x8453 # 1 F +	FOG_COORDINATE_ARRAY_TYPE_EXT			= 0x8454 # 1 I +	FOG_COORDINATE_ARRAY_STRIDE_EXT			= 0x8455 # 1 I +	FOG_COORDINATE_ARRAY_POINTER_EXT		= 0x8456 +	FOG_COORDINATE_ARRAY_EXT			= 0x8457 # 1 I + +############################################################################### + +# Extension #150 - skipped +# Extension #151 - skipped +# Extension #152 - skipped +# Extension #153 - skipped +# Extension #154 - skipped + +############################################################################### + +# Extension #155 +REND_screen_coordinates enum: +	SCREEN_COORDINATES_REND				= 0x8490 +	INVERTED_SCREEN_W_REND				= 0x8491 + +############################################################################### + +# Extension #156 +EXT_coordinate_frame enum: +	TANGENT_ARRAY_EXT				= 0x8439 +	BINORMAL_ARRAY_EXT				= 0x843A +	CURRENT_TANGENT_EXT				= 0x843B +	CURRENT_BINORMAL_EXT				= 0x843C +	TANGENT_ARRAY_TYPE_EXT				= 0x843E +	TANGENT_ARRAY_STRIDE_EXT			= 0x843F +	BINORMAL_ARRAY_TYPE_EXT				= 0x8440 +	BINORMAL_ARRAY_STRIDE_EXT			= 0x8441 +	TANGENT_ARRAY_POINTER_EXT			= 0x8442 +	BINORMAL_ARRAY_POINTER_EXT			= 0x8443 +	MAP1_TANGENT_EXT				= 0x8444 +	MAP2_TANGENT_EXT				= 0x8445 +	MAP1_BINORMAL_EXT				= 0x8446 +	MAP2_BINORMAL_EXT				= 0x8447 + +############################################################################### + +# Extension #157 - skipped + +############################################################################### + +# Extension #158 +EXT_texture_env_combine enum: +	COMBINE_EXT					= 0x8570 +	COMBINE_RGB_EXT					= 0x8571 +	COMBINE_ALPHA_EXT				= 0x8572 +	RGB_SCALE_EXT					= 0x8573 +	ADD_SIGNED_EXT					= 0x8574 +	INTERPOLATE_EXT					= 0x8575 +	CONSTANT_EXT					= 0x8576 +	PRIMARY_COLOR_EXT				= 0x8577 +	PREVIOUS_EXT					= 0x8578 +	SOURCE0_RGB_EXT					= 0x8580 +	SOURCE1_RGB_EXT					= 0x8581 +	SOURCE2_RGB_EXT					= 0x8582 +	SOURCE0_ALPHA_EXT				= 0x8588 +	SOURCE1_ALPHA_EXT				= 0x8589 +	SOURCE2_ALPHA_EXT				= 0x858A +	OPERAND0_RGB_EXT				= 0x8590 +	OPERAND1_RGB_EXT				= 0x8591 +	OPERAND2_RGB_EXT				= 0x8592 +	OPERAND0_ALPHA_EXT				= 0x8598 +	OPERAND1_ALPHA_EXT				= 0x8599 +	OPERAND2_ALPHA_EXT				= 0x859A + +############################################################################### + +# Extension #159 +APPLE_specular_vector enum: +	LIGHT_MODEL_SPECULAR_VECTOR_APPLE		= 0x85B0 + +############################################################################### + +# Extension #160 +APPLE_transform_hint enum: +	TRANSFORM_HINT_APPLE				= 0x85B1 + +############################################################################### + +# Extension #161 +SGIX_fog_scale enum: +	FOG_SCALE_SGIX					= 0x81FC +	FOG_SCALE_VALUE_SGIX				= 0x81FD + +############################################################################### + +# Extension #162 - skipped + +############################################################################### + +# Extension #163 +SUNX_constant_data enum: +	UNPACK_CONSTANT_DATA_SUNX			= 0x81D5 +	TEXTURE_CONSTANT_DATA_SUNX			= 0x81D6 + +############################################################################### + +# Extension #164 +SUN_global_alpha enum: +	GLOBAL_ALPHA_SUN				= 0x81D9 +	GLOBAL_ALPHA_FACTOR_SUN				= 0x81DA + +############################################################################### + +# Extension #165 +SUN_triangle_list enum: +	RESTART_SUN					= 0x0001 +	REPLACE_MIDDLE_SUN				= 0x0002 +	REPLACE_OLDEST_SUN				= 0x0003 +	TRIANGLE_LIST_SUN				= 0x81D7 +	REPLACEMENT_CODE_SUN				= 0x81D8 +	REPLACEMENT_CODE_ARRAY_SUN			= 0x85C0 +	REPLACEMENT_CODE_ARRAY_TYPE_SUN			= 0x85C1 +	REPLACEMENT_CODE_ARRAY_STRIDE_SUN		= 0x85C2 +	REPLACEMENT_CODE_ARRAY_POINTER_SUN		= 0x85C3 +	R1UI_V3F_SUN					= 0x85C4 +	R1UI_C4UB_V3F_SUN				= 0x85C5 +	R1UI_C3F_V3F_SUN				= 0x85C6 +	R1UI_N3F_V3F_SUN				= 0x85C7 +	R1UI_C4F_N3F_V3F_SUN				= 0x85C8 +	R1UI_T2F_V3F_SUN				= 0x85C9 +	R1UI_T2F_N3F_V3F_SUN				= 0x85CA +	R1UI_T2F_C4F_N3F_V3F_SUN			= 0x85CB + +############################################################################### + +# No new tokens +# Extension #166 +SUN_vertex enum: + +############################################################################### + +# Extension #167 - WGL_EXT_display_color_table +# Extension #168 - WGL_EXT_extensions_string +# Extension #169 - WGL_EXT_make_current_read +# Extension #170 - WGL_EXT_pixel_format +# Extension #171 - WGL_EXT_pbuffer +# Extension #172 - WGL_EXT_swap_control + +############################################################################### + +# Extension #173 +EXT_blend_func_separate enum: +	BLEND_DST_RGB_EXT				= 0x80C8 +	BLEND_SRC_RGB_EXT				= 0x80C9 +	BLEND_DST_ALPHA_EXT				= 0x80CA +	BLEND_SRC_ALPHA_EXT				= 0x80CB + +############################################################################### + +# Extension #174 +INGR_color_clamp enum: +	RED_MIN_CLAMP_INGR				= 0x8560 +	GREEN_MIN_CLAMP_INGR				= 0x8561 +	BLUE_MIN_CLAMP_INGR				= 0x8562 +	ALPHA_MIN_CLAMP_INGR				= 0x8563 +	RED_MAX_CLAMP_INGR				= 0x8564 +	GREEN_MAX_CLAMP_INGR				= 0x8565 +	BLUE_MAX_CLAMP_INGR				= 0x8566 +	ALPHA_MAX_CLAMP_INGR				= 0x8567 + +############################################################################### + +# Extension #175 +INGR_interlace_read enum: +	INTERLACE_READ_INGR				= 0x8568 + +############################################################################### + +# Extension #176 +EXT_stencil_wrap enum: +	INCR_WRAP_EXT					= 0x8507 +	DECR_WRAP_EXT					= 0x8508 + +############################################################################### + +# Extension #177 - skipped + +############################################################################### + +# Extension #178 +EXT_422_pixels enum: +	422_EXT						= 0x80CC +	422_REV_EXT					= 0x80CD +	422_AVERAGE_EXT					= 0x80CE +	422_REV_AVERAGE_EXT				= 0x80CF + +############################################################################### + +# Extension #179 +NV_texgen_reflection enum: +	NORMAL_MAP_NV					= 0x8511 +	REFLECTION_MAP_NV				= 0x8512 + +############################################################################### + +# Extension #180 - skipped +# Extension #181 - skipped + +############################################################################### + +# Is this shipping? No extension number assigned. +# Extension #? +EXT_texture_cube_map enum: +	NORMAL_MAP_EXT					= 0x8511 +	REFLECTION_MAP_EXT				= 0x8512 +	TEXTURE_CUBE_MAP_EXT				= 0x8513 +	TEXTURE_BINDING_CUBE_MAP_EXT			= 0x8514 +	TEXTURE_CUBE_MAP_POSITIVE_X_EXT			= 0x8515 +	TEXTURE_CUBE_MAP_NEGATIVE_X_EXT			= 0x8516 +	TEXTURE_CUBE_MAP_POSITIVE_Y_EXT			= 0x8517 +	TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT			= 0x8518 +	TEXTURE_CUBE_MAP_POSITIVE_Z_EXT			= 0x8519 +	TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT			= 0x851A +	PROXY_TEXTURE_CUBE_MAP_EXT			= 0x851B +	MAX_CUBE_MAP_TEXTURE_SIZE_EXT			= 0x851C + +############################################################################### + +# Extension #182 +SUN_convolution_border_modes enum: +	WRAP_BORDER_SUN					= 0x81D4 + +############################################################################### + +# Extension #183 - GLX_SUN_transparent_index + +############################################################################### + +# Extension #184 - skipped + +############################################################################### + +# No new tokens +# Extension #185 +EXT_texture_env_add enum: + +############################################################################### + +# Extension #186 +EXT_texture_lod_bias enum: +	MAX_TEXTURE_LOD_BIAS_EXT			= 0x84FD +	TEXTURE_FILTER_CONTROL_EXT			= 0x8500 +	TEXTURE_LOD_BIAS_EXT				= 0x8501 + +############################################################################### + +# Extension #187 +EXT_texture_filter_anisotropic enum: +	TEXTURE_MAX_ANISOTROPY_EXT			= 0x84FE +	MAX_TEXTURE_MAX_ANISOTROPY_EXT			= 0x84FF + +############################################################################### + +# Extension #188 +EXT_vertex_weighting enum: +	MODELVIEW0_STACK_DEPTH_EXT			= GL_MODELVIEW_STACK_DEPTH +	MODELVIEW1_STACK_DEPTH_EXT			= 0x8502 +	MODELVIEW0_MATRIX_EXT				= GL_MODELVIEW_MATRIX +	MODELVIEW1_MATRIX_EXT				= 0x8506 +	VERTEX_WEIGHTING_EXT				= 0x8509 +	MODELVIEW0_EXT					= GL_MODELVIEW +	MODELVIEW1_EXT					= 0x850A +	CURRENT_VERTEX_WEIGHT_EXT			= 0x850B +	VERTEX_WEIGHT_ARRAY_EXT				= 0x850C +	VERTEX_WEIGHT_ARRAY_SIZE_EXT			= 0x850D +	VERTEX_WEIGHT_ARRAY_TYPE_EXT			= 0x850E +	VERTEX_WEIGHT_ARRAY_STRIDE_EXT			= 0x850F +	VERTEX_WEIGHT_ARRAY_POINTER_EXT			= 0x8510 + +############################################################################### + +# Extension #189 +NV_light_max_exponent enum: +	MAX_SHININESS_NV				= 0x8504 +	MAX_SPOT_EXPONENT_NV				= 0x8505 + +############################################################################### + +# Extension #190 +NV_vertex_array_range enum: +	VERTEX_ARRAY_RANGE_NV				= 0x851D +	VERTEX_ARRAY_RANGE_LENGTH_NV			= 0x851E +	VERTEX_ARRAY_RANGE_VALID_NV			= 0x851F +	MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV		= 0x8520 +	VERTEX_ARRAY_RANGE_POINTER_NV			= 0x8521 + +############################################################################### + +# Extension #191 +NV_register_combiners enum: +	REGISTER_COMBINERS_NV				= 0x8522 +	VARIABLE_A_NV					= 0x8523 +	VARIABLE_B_NV					= 0x8524 +	VARIABLE_C_NV					= 0x8525 +	VARIABLE_D_NV					= 0x8526 +	VARIABLE_E_NV					= 0x8527 +	VARIABLE_F_NV					= 0x8528 +	VARIABLE_G_NV					= 0x8529 +	CONSTANT_COLOR0_NV				= 0x852A +	CONSTANT_COLOR1_NV				= 0x852B +	PRIMARY_COLOR_NV				= 0x852C +	SECONDARY_COLOR_NV				= 0x852D +	SPARE0_NV					= 0x852E +	SPARE1_NV					= 0x852F +	DISCARD_NV					= 0x8530 +	E_TIMES_F_NV					= 0x8531 +	SPARE0_PLUS_SECONDARY_COLOR_NV			= 0x8532 +	UNSIGNED_IDENTITY_NV				= 0x8536 +	UNSIGNED_INVERT_NV				= 0x8537 +	EXPAND_NORMAL_NV				= 0x8538 +	EXPAND_NEGATE_NV				= 0x8539 +	HALF_BIAS_NORMAL_NV				= 0x853A +	HALF_BIAS_NEGATE_NV				= 0x853B +	SIGNED_IDENTITY_NV				= 0x853C +	SIGNED_NEGATE_NV				= 0x853D +	SCALE_BY_TWO_NV					= 0x853E +	SCALE_BY_FOUR_NV				= 0x853F +	SCALE_BY_ONE_HALF_NV				= 0x8540 +	BIAS_BY_NEGATIVE_ONE_HALF_NV			= 0x8541 +	COMBINER_INPUT_NV				= 0x8542 +	COMBINER_MAPPING_NV				= 0x8543 +	COMBINER_COMPONENT_USAGE_NV			= 0x8544 +	COMBINER_AB_DOT_PRODUCT_NV			= 0x8545 +	COMBINER_CD_DOT_PRODUCT_NV			= 0x8546 +	COMBINER_MUX_SUM_NV				= 0x8547 +	COMBINER_SCALE_NV				= 0x8548 +	COMBINER_BIAS_NV				= 0x8549 +	COMBINER_AB_OUTPUT_NV				= 0x854A +	COMBINER_CD_OUTPUT_NV				= 0x854B +	COMBINER_SUM_OUTPUT_NV				= 0x854C +	MAX_GENERAL_COMBINERS_NV			= 0x854D +	NUM_GENERAL_COMBINERS_NV			= 0x854E +	COLOR_SUM_CLAMP_NV				= 0x854F +	COMBINER0_NV					= 0x8550 +	COMBINER1_NV					= 0x8551 +	COMBINER2_NV					= 0x8552 +	COMBINER3_NV					= 0x8553 +	COMBINER4_NV					= 0x8554 +	COMBINER5_NV					= 0x8555 +	COMBINER6_NV					= 0x8556 +	COMBINER7_NV					= 0x8557 +	use ARB_multitexture		    TEXTURE0_ARB +	use ARB_multitexture		    TEXTURE1_ARB +	use BlendingFactorDest		    ZERO +	use DrawBufferMode		    NONE +	use GetPName			    FOG + +############################################################################### + +# Extension #192 +NV_fog_distance enum: +	FOG_DISTANCE_MODE_NV				= 0x855A +	EYE_RADIAL_NV					= 0x855B +	EYE_PLANE_ABSOLUTE_NV				= 0x855C +	use TextureGenParameter		    EYE_PLANE + +############################################################################### + +# Extension #193 +NV_texgen_emboss enum: +	EMBOSS_LIGHT_NV					= 0x855D +	EMBOSS_CONSTANT_NV				= 0x855E +	EMBOSS_MAP_NV					= 0x855F + +############################################################################### + +# No new tokens +# Extension #194 +NV_blend_square enum: + +############################################################################### + +# Extension #195 +NV_texture_env_combine4 enum: +	COMBINE4_NV					= 0x8503 +	SOURCE3_RGB_NV					= 0x8583 +	SOURCE3_ALPHA_NV				= 0x858B +	OPERAND3_RGB_NV					= 0x8593 +	OPERAND3_ALPHA_NV				= 0x859B + +############################################################################### + +# No new tokens +# Extension #196 +MESA_resize_buffers enum: + +############################################################################### + +# No new tokens +# Extension #197 +MESA_window_pos enum: + +############################################################################### + +# Extension #198 +EXT_texture_compression_s3tc enum: +	COMPRESSED_RGB_S3TC_DXT1_EXT			= 0x83F0 +	COMPRESSED_RGBA_S3TC_DXT1_EXT			= 0x83F1 +	COMPRESSED_RGBA_S3TC_DXT3_EXT			= 0x83F2 +	COMPRESSED_RGBA_S3TC_DXT5_EXT			= 0x83F3 + +############################################################################### + +# Extension #199 +IBM_cull_vertex enum: +	CULL_VERTEX_IBM					= 103050 + +############################################################################### + +# No new tokens +# Extension #200 +IBM_multimode_draw_arrays enum: + +############################################################################### + +# Extension #201 +IBM_vertex_array_lists enum: +	VERTEX_ARRAY_LIST_IBM				= 103070 +	NORMAL_ARRAY_LIST_IBM				= 103071 +	COLOR_ARRAY_LIST_IBM				= 103072 +	INDEX_ARRAY_LIST_IBM				= 103073 +	TEXTURE_COORD_ARRAY_LIST_IBM			= 103074 +	EDGE_FLAG_ARRAY_LIST_IBM			= 103075 +	FOG_COORDINATE_ARRAY_LIST_IBM			= 103076 +	SECONDARY_COLOR_ARRAY_LIST_IBM			= 103077 +	VERTEX_ARRAY_LIST_STRIDE_IBM			= 103080 +	NORMAL_ARRAY_LIST_STRIDE_IBM			= 103081 +	COLOR_ARRAY_LIST_STRIDE_IBM			= 103082 +	INDEX_ARRAY_LIST_STRIDE_IBM			= 103083 +	TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM		= 103084 +	EDGE_FLAG_ARRAY_LIST_STRIDE_IBM			= 103085 +	FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM		= 103086 +	SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM		= 103087 + +############################################################################### + +# Extension #202 +SGIX_subsample enum: +	PACK_SUBSAMPLE_RATE_SGIX			= 0x85A0 +	UNPACK_SUBSAMPLE_RATE_SGIX			= 0x85A1 +	PIXEL_SUBSAMPLE_4444_SGIX			= 0x85A2 +	PIXEL_SUBSAMPLE_2424_SGIX			= 0x85A3 +	PIXEL_SUBSAMPLE_4242_SGIX			= 0x85A4 + +############################################################################### + +# Extension #203 +SGIX_ycrcb_subsample enum: +	PACK_SUBSAMPLE_RATE_SGIX			= 0x85A0 +	UNPACK_SUBSAMPLE_RATE_SGIX			= 0x85A1 +	PIXEL_SUBSAMPLE_4444_SGIX			= 0x85A2 +	PIXEL_SUBSAMPLE_2424_SGIX			= 0x85A3 +	PIXEL_SUBSAMPLE_4242_SGIX			= 0x85A4 + +############################################################################### + +# Extension #204 +SGIX_ycrcba enum: +	YCRCB_SGIX					= 0x8318 +	YCRCBA_SGIX					= 0x8319 + +############################################################################### + +# Extension #205 +SGI_depth_pass_instrument enum: +	DEPTH_PASS_INSTRUMENT_SGIX			= 0x8310 +	DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX		= 0x8311 +	DEPTH_PASS_INSTRUMENT_MAX_SGIX			= 0x8312 + +############################################################################### + +# Extension #206 +3DFX_texture_compression_FXT1 enum: +	COMPRESSED_RGB_FXT1_3DFX			= 0x86B0 +	COMPRESSED_RGBA_FXT1_3DFX			= 0x86B1 + +############################################################################### + +# Extension #207 +3DFX_multisample enum: +	MULTISAMPLE_3DFX				= 0x86B2 +	SAMPLE_BUFFERS_3DFX				= 0x86B3 +	SAMPLES_3DFX					= 0x86B4 +	MULTISAMPLE_BIT_3DFX				= 0x20000000 + +############################################################################### + +# No new tokens +# Extension #208 +3DFX_tbuffer enum: + +############################################################################### + +# Extension #209 +EXT_multisample enum: +	MULTISAMPLE_EXT					= 0x809D +	SAMPLE_ALPHA_TO_MASK_EXT			= 0x809E +	SAMPLE_ALPHA_TO_ONE_EXT				= 0x809F +	SAMPLE_MASK_EXT					= 0x80A0 +	1PASS_EXT					= 0x80A1 +	2PASS_0_EXT					= 0x80A2 +	2PASS_1_EXT					= 0x80A3 +	4PASS_0_EXT					= 0x80A4 +	4PASS_1_EXT					= 0x80A5 +	4PASS_2_EXT					= 0x80A6 +	4PASS_3_EXT					= 0x80A7 +	SAMPLE_BUFFERS_EXT				= 0x80A8 # 1 I +	SAMPLES_EXT					= 0x80A9 # 1 I +	SAMPLE_MASK_VALUE_EXT				= 0x80AA # 1 F +	SAMPLE_MASK_INVERT_EXT				= 0x80AB # 1 I +	SAMPLE_PATTERN_EXT				= 0x80AC # 1 I +	MULTISAMPLE_BIT_EXT				= 0x20000000 + +############################################################################### + +# Extension #210 +SGIX_vertex_preclip enum: +	VERTEX_PRECLIP_SGIX				= 0x83EE +	VERTEX_PRECLIP_HINT_SGIX			= 0x83EF + +############################################################################### + +# Extension #211 +SGIX_convolution_accuracy enum: +	CONVOLUTION_HINT_SGIX				= 0x8316 # 1 I + +############################################################################### + +# Extension #212 +SGIX_resample enum: +	PACK_RESAMPLE_SGIX				= 0x842C +	UNPACK_RESAMPLE_SGIX				= 0x842D +	RESAMPLE_REPLICATE_SGIX				= 0x842E +	RESAMPLE_ZERO_FILL_SGIX				= 0x842F +	RESAMPLE_DECIMATE_SGIX				= 0x8430 + +############################################################################### + +# Extension #213 +SGIS_point_line_texgen enum: +	EYE_DISTANCE_TO_POINT_SGIS			= 0x81F0 +	OBJECT_DISTANCE_TO_POINT_SGIS			= 0x81F1 +	EYE_DISTANCE_TO_LINE_SGIS			= 0x81F2 +	OBJECT_DISTANCE_TO_LINE_SGIS			= 0x81F3 +	EYE_POINT_SGIS					= 0x81F4 +	OBJECT_POINT_SGIS				= 0x81F5 +	EYE_LINE_SGIS					= 0x81F6 +	OBJECT_LINE_SGIS				= 0x81F7 + +############################################################################### + +# Extension #214 +SGIS_texture_color_mask enum: +	TEXTURE_COLOR_WRITEMASK_SGIS			= 0x81EF + +############################################################################### + +# Extension #220 +# Promoted to ARB_texture_env_dot3, enum values changed +EXT_texture_env_dot3 enum: +	DOT3_RGB_EXT					= 0x8740 +	DOT3_RGBA_EXT					= 0x8741 + +############################################################################### + +# Extension #221 +ATI_texture_mirror_once enum: +	MIRROR_CLAMP_ATI				= 0x8742 +	MIRROR_CLAMP_TO_EDGE_ATI			= 0x8743 + +############################################################################### + +# Extension #222 +NV_fence enum: +	ALL_COMPLETED_NV				= 0x84F2 +	FENCE_STATUS_NV					= 0x84F3 +	FENCE_CONDITION_NV				= 0x84F4 + +############################################################################### + +# Extension #224 +IBM_texture_mirrored_repeat enum: +	MIRRORED_REPEAT_IBM				= 0x8370 + +############################################################################### + +# Extension #225 +NV_evaluators enum: +	EVAL_2D_NV					= 0x86C0 +	EVAL_TRIANGULAR_2D_NV				= 0x86C1 +	MAP_TESSELLATION_NV				= 0x86C2 +	MAP_ATTRIB_U_ORDER_NV				= 0x86C3 +	MAP_ATTRIB_V_ORDER_NV				= 0x86C4 +	EVAL_FRACTIONAL_TESSELLATION_NV			= 0x86C5 +	EVAL_VERTEX_ATTRIB0_NV				= 0x86C6 +	EVAL_VERTEX_ATTRIB1_NV				= 0x86C7 +	EVAL_VERTEX_ATTRIB2_NV				= 0x86C8 +	EVAL_VERTEX_ATTRIB3_NV				= 0x86C9 +	EVAL_VERTEX_ATTRIB4_NV				= 0x86CA +	EVAL_VERTEX_ATTRIB5_NV				= 0x86CB +	EVAL_VERTEX_ATTRIB6_NV				= 0x86CC +	EVAL_VERTEX_ATTRIB7_NV				= 0x86CD +	EVAL_VERTEX_ATTRIB8_NV				= 0x86CE +	EVAL_VERTEX_ATTRIB9_NV				= 0x86CF +	EVAL_VERTEX_ATTRIB10_NV				= 0x86D0 +	EVAL_VERTEX_ATTRIB11_NV				= 0x86D1 +	EVAL_VERTEX_ATTRIB12_NV				= 0x86D2 +	EVAL_VERTEX_ATTRIB13_NV				= 0x86D3 +	EVAL_VERTEX_ATTRIB14_NV				= 0x86D4 +	EVAL_VERTEX_ATTRIB15_NV				= 0x86D5 +	MAX_MAP_TESSELLATION_NV				= 0x86D6 +	MAX_RATIONAL_EVAL_ORDER_NV			= 0x86D7 + +############################################################################### + +# Extension #226 +NV_packed_depth_stencil enum: +	DEPTH_STENCIL_NV				= 0x84F9 +	UNSIGNED_INT_24_8_NV				= 0x84FA + +############################################################################### + +# Extension #227 +NV_register_combiners2 enum: +	PER_STAGE_CONSTANTS_NV				= 0x8535 + +############################################################################### + +# No new tokens +# Extension #228 +NV_texture_compression_vtc enum: + +############################################################################### + +# Extension #229 +NV_texture_rectangle enum: +	TEXTURE_RECTANGLE_NV				= 0x84F5 +	TEXTURE_BINDING_RECTANGLE_NV			= 0x84F6 +	PROXY_TEXTURE_RECTANGLE_NV			= 0x84F7 +	MAX_RECTANGLE_TEXTURE_SIZE_NV			= 0x84F8 + +############################################################################### + +# Extension #230 +NV_texture_shader enum: +	OFFSET_TEXTURE_RECTANGLE_NV			= 0x864C +	OFFSET_TEXTURE_RECTANGLE_SCALE_NV		= 0x864D +	DOT_PRODUCT_TEXTURE_RECTANGLE_NV		= 0x864E +	RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV		= 0x86D9 +	UNSIGNED_INT_S8_S8_8_8_NV			= 0x86DA +	UNSIGNED_INT_8_8_S8_S8_REV_NV			= 0x86DB +	DSDT_MAG_INTENSITY_NV				= 0x86DC +	SHADER_CONSISTENT_NV				= 0x86DD +	TEXTURE_SHADER_NV				= 0x86DE +	SHADER_OPERATION_NV				= 0x86DF +	CULL_MODES_NV					= 0x86E0 +	OFFSET_TEXTURE_MATRIX_NV			= 0x86E1 +	OFFSET_TEXTURE_SCALE_NV				= 0x86E2 +	OFFSET_TEXTURE_BIAS_NV				= 0x86E3 +	OFFSET_TEXTURE_2D_MATRIX_NV			= GL_OFFSET_TEXTURE_MATRIX_NV +	OFFSET_TEXTURE_2D_SCALE_NV			= GL_OFFSET_TEXTURE_SCALE_NV +	OFFSET_TEXTURE_2D_BIAS_NV			= GL_OFFSET_TEXTURE_BIAS_NV +	PREVIOUS_TEXTURE_INPUT_NV			= 0x86E4 +	CONST_EYE_NV					= 0x86E5 +	PASS_THROUGH_NV					= 0x86E6 +	CULL_FRAGMENT_NV				= 0x86E7 +	OFFSET_TEXTURE_2D_NV				= 0x86E8 +	DEPENDENT_AR_TEXTURE_2D_NV			= 0x86E9 +	DEPENDENT_GB_TEXTURE_2D_NV			= 0x86EA +	DOT_PRODUCT_NV					= 0x86EC +	DOT_PRODUCT_DEPTH_REPLACE_NV			= 0x86ED +	DOT_PRODUCT_TEXTURE_2D_NV			= 0x86EE +	DOT_PRODUCT_TEXTURE_CUBE_MAP_NV			= 0x86F0 +	DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV			= 0x86F1 +	DOT_PRODUCT_REFLECT_CUBE_MAP_NV			= 0x86F2 +	DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV	= 0x86F3 +	HILO_NV						= 0x86F4 +	DSDT_NV						= 0x86F5 +	DSDT_MAG_NV					= 0x86F6 +	DSDT_MAG_VIB_NV					= 0x86F7 +	HILO16_NV					= 0x86F8 +	SIGNED_HILO_NV					= 0x86F9 +	SIGNED_HILO16_NV				= 0x86FA +	SIGNED_RGBA_NV					= 0x86FB +	SIGNED_RGBA8_NV					= 0x86FC +	SIGNED_RGB_NV					= 0x86FE +	SIGNED_RGB8_NV					= 0x86FF +	SIGNED_LUMINANCE_NV				= 0x8701 +	SIGNED_LUMINANCE8_NV				= 0x8702 +	SIGNED_LUMINANCE_ALPHA_NV			= 0x8703 +	SIGNED_LUMINANCE8_ALPHA8_NV			= 0x8704 +	SIGNED_ALPHA_NV					= 0x8705 +	SIGNED_ALPHA8_NV				= 0x8706 +	SIGNED_INTENSITY_NV				= 0x8707 +	SIGNED_INTENSITY8_NV				= 0x8708 +	DSDT8_NV					= 0x8709 +	DSDT8_MAG8_NV					= 0x870A +	DSDT8_MAG8_INTENSITY8_NV			= 0x870B +	SIGNED_RGB_UNSIGNED_ALPHA_NV			= 0x870C +	SIGNED_RGB8_UNSIGNED_ALPHA8_NV			= 0x870D +	HI_SCALE_NV					= 0x870E +	LO_SCALE_NV					= 0x870F +	DS_SCALE_NV					= 0x8710 +	DT_SCALE_NV					= 0x8711 +	MAGNITUDE_SCALE_NV				= 0x8712 +	VIBRANCE_SCALE_NV				= 0x8713 +	HI_BIAS_NV					= 0x8714 +	LO_BIAS_NV					= 0x8715 +	DS_BIAS_NV					= 0x8716 +	DT_BIAS_NV					= 0x8717 +	MAGNITUDE_BIAS_NV				= 0x8718 +	VIBRANCE_BIAS_NV				= 0x8719 +	TEXTURE_BORDER_VALUES_NV			= 0x871A +	TEXTURE_HI_SIZE_NV				= 0x871B +	TEXTURE_LO_SIZE_NV				= 0x871C +	TEXTURE_DS_SIZE_NV				= 0x871D +	TEXTURE_DT_SIZE_NV				= 0x871E +	TEXTURE_MAG_SIZE_NV				= 0x871F + +############################################################################### + +# Extension #231 +NV_texture_shader2 enum: +	DOT_PRODUCT_TEXTURE_3D_NV			= 0x86EF + +############################################################################### + +# Extension #232 +NV_vertex_array_range2 enum: +	VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV		= 0x8533 + +############################################################################### + +# Extension #233 +NV_vertex_program enum: +	VERTEX_PROGRAM_NV				= 0x8620 +	VERTEX_STATE_PROGRAM_NV				= 0x8621 +	ATTRIB_ARRAY_SIZE_NV				= 0x8623 +	ATTRIB_ARRAY_STRIDE_NV				= 0x8624 +	ATTRIB_ARRAY_TYPE_NV				= 0x8625 +	CURRENT_ATTRIB_NV				= 0x8626 +	PROGRAM_LENGTH_NV				= 0x8627 +	PROGRAM_STRING_NV				= 0x8628 +	MODELVIEW_PROJECTION_NV				= 0x8629 +	IDENTITY_NV					= 0x862A +	INVERSE_NV					= 0x862B +	TRANSPOSE_NV					= 0x862C +	INVERSE_TRANSPOSE_NV				= 0x862D +	MAX_TRACK_MATRIX_STACK_DEPTH_NV			= 0x862E +	MAX_TRACK_MATRICES_NV				= 0x862F +	MATRIX0_NV					= 0x8630 +	MATRIX1_NV					= 0x8631 +	MATRIX2_NV					= 0x8632 +	MATRIX3_NV					= 0x8633 +	MATRIX4_NV					= 0x8634 +	MATRIX5_NV					= 0x8635 +	MATRIX6_NV					= 0x8636 +	MATRIX7_NV					= 0x8637 +################## +# +#	Reserved: +# +#	MATRIX8_NV					= 0x8638 +#	MATRIX9_NV					= 0x8639 +#	MATRIX10_NV					= 0x863A +#	MATRIX11_NV					= 0x863B +#	MATRIX12_NV					= 0x863C +#	MATRIX13_NV					= 0x863D +#	MATRIX14_NV					= 0x863E +#	MATRIX15_NV					= 0x863F +# +################### +	CURRENT_MATRIX_STACK_DEPTH_NV			= 0x8640 +	CURRENT_MATRIX_NV				= 0x8641 +	VERTEX_PROGRAM_POINT_SIZE_NV			= 0x8642 +	VERTEX_PROGRAM_TWO_SIDE_NV			= 0x8643 +	PROGRAM_PARAMETER_NV				= 0x8644 +	ATTRIB_ARRAY_POINTER_NV				= 0x8645 +	PROGRAM_TARGET_NV				= 0x8646 +	PROGRAM_RESIDENT_NV				= 0x8647 +	TRACK_MATRIX_NV					= 0x8648 +	TRACK_MATRIX_TRANSFORM_NV			= 0x8649 +	VERTEX_PROGRAM_BINDING_NV			= 0x864A +	PROGRAM_ERROR_POSITION_NV			= 0x864B +	VERTEX_ATTRIB_ARRAY0_NV				= 0x8650 +	VERTEX_ATTRIB_ARRAY1_NV				= 0x8651 +	VERTEX_ATTRIB_ARRAY2_NV				= 0x8652 +	VERTEX_ATTRIB_ARRAY3_NV				= 0x8653 +	VERTEX_ATTRIB_ARRAY4_NV				= 0x8654 +	VERTEX_ATTRIB_ARRAY5_NV				= 0x8655 +	VERTEX_ATTRIB_ARRAY6_NV				= 0x8656 +	VERTEX_ATTRIB_ARRAY7_NV				= 0x8657 +	VERTEX_ATTRIB_ARRAY8_NV				= 0x8658 +	VERTEX_ATTRIB_ARRAY9_NV				= 0x8659 +	VERTEX_ATTRIB_ARRAY10_NV			= 0x865A +	VERTEX_ATTRIB_ARRAY11_NV			= 0x865B +	VERTEX_ATTRIB_ARRAY12_NV			= 0x865C +	VERTEX_ATTRIB_ARRAY13_NV			= 0x865D +	VERTEX_ATTRIB_ARRAY14_NV			= 0x865E +	VERTEX_ATTRIB_ARRAY15_NV			= 0x865F +	MAP1_VERTEX_ATTRIB0_4_NV			= 0x8660 +	MAP1_VERTEX_ATTRIB1_4_NV			= 0x8661 +	MAP1_VERTEX_ATTRIB2_4_NV			= 0x8662 +	MAP1_VERTEX_ATTRIB3_4_NV			= 0x8663 +	MAP1_VERTEX_ATTRIB4_4_NV			= 0x8664 +	MAP1_VERTEX_ATTRIB5_4_NV			= 0x8665 +	MAP1_VERTEX_ATTRIB6_4_NV			= 0x8666 +	MAP1_VERTEX_ATTRIB7_4_NV			= 0x8667 +	MAP1_VERTEX_ATTRIB8_4_NV			= 0x8668 +	MAP1_VERTEX_ATTRIB9_4_NV			= 0x8669 +	MAP1_VERTEX_ATTRIB10_4_NV			= 0x866A +	MAP1_VERTEX_ATTRIB11_4_NV			= 0x866B +	MAP1_VERTEX_ATTRIB12_4_NV			= 0x866C +	MAP1_VERTEX_ATTRIB13_4_NV			= 0x866D +	MAP1_VERTEX_ATTRIB14_4_NV			= 0x866E +	MAP1_VERTEX_ATTRIB15_4_NV			= 0x866F +	MAP2_VERTEX_ATTRIB0_4_NV			= 0x8670 +	MAP2_VERTEX_ATTRIB1_4_NV			= 0x8671 +	MAP2_VERTEX_ATTRIB2_4_NV			= 0x8672 +	MAP2_VERTEX_ATTRIB3_4_NV			= 0x8673 +	MAP2_VERTEX_ATTRIB4_4_NV			= 0x8674 +	MAP2_VERTEX_ATTRIB5_4_NV			= 0x8675 +	MAP2_VERTEX_ATTRIB6_4_NV			= 0x8676 +	MAP2_VERTEX_ATTRIB7_4_NV			= 0x8677 +	MAP2_VERTEX_ATTRIB8_4_NV			= 0x8678 +	MAP2_VERTEX_ATTRIB9_4_NV			= 0x8679 +	MAP2_VERTEX_ATTRIB10_4_NV			= 0x867A +	MAP2_VERTEX_ATTRIB11_4_NV			= 0x867B +	MAP2_VERTEX_ATTRIB12_4_NV			= 0x867C +	MAP2_VERTEX_ATTRIB13_4_NV			= 0x867D +	MAP2_VERTEX_ATTRIB14_4_NV			= 0x867E +	MAP2_VERTEX_ATTRIB15_4_NV			= 0x867F + +############################################################################### + +# Extension #235 +SGIX_texture_coordinate_clamp enum: +	TEXTURE_MAX_CLAMP_S_SGIX			= 0x8369 +	TEXTURE_MAX_CLAMP_T_SGIX			= 0x836A +	TEXTURE_MAX_CLAMP_R_SGIX			= 0x836B + +############################################################################### + +# Extension #236 +SGIX_scalebias_hint enum: +	SCALEBIAS_HINT_SGIX				= 0x8322 + +############################################################################### + +# Extension #237 - GLX_OML_swap_method +# Extension #238 - GLX_OML_sync_control + +############################################################################### + +# Extension #239 +OML_interlace enum: +	INTERLACE_OML					= 0x8980 +	INTERLACE_READ_OML				= 0x8981 + +############################################################################### + +# Extension #240 +OML_subsample enum: +	FORMAT_SUBSAMPLE_24_24_OML			= 0x8982 +	FORMAT_SUBSAMPLE_244_244_OML			= 0x8983 + +############################################################################### + +# Extension #241 +OML_resample enum: +	PACK_RESAMPLE_OML				= 0x8984 +	UNPACK_RESAMPLE_OML				= 0x8985 +	RESAMPLE_REPLICATE_OML				= 0x8986 +	RESAMPLE_ZERO_FILL_OML				= 0x8987 +	RESAMPLE_AVERAGE_OML				= 0x8988 +	RESAMPLE_DECIMATE_OML				= 0x8989 + +############################################################################### + +# Extension #242 - WGL_OML_sync_control + +############################################################################### + +# Extension #243 +NV_copy_depth_to_color enum: +	DEPTH_STENCIL_TO_RGBA_NV			= 0x886E +	DEPTH_STENCIL_TO_BGRA_NV			= 0x886F + +############################################################################### + +# Extension #244 +ATI_envmap_bumpmap enum: +	BUMP_ROT_MATRIX_ATI				= 0x8775 +	BUMP_ROT_MATRIX_SIZE_ATI			= 0x8776 +	BUMP_NUM_TEX_UNITS_ATI				= 0x8777 +	BUMP_TEX_UNITS_ATI				= 0x8778 +	DUDV_ATI					= 0x8779 +	DU8DV8_ATI					= 0x877A +	BUMP_ENVMAP_ATI					= 0x877B +	BUMP_TARGET_ATI					= 0x877C + +############################################################################### + +# Extension #245 +ATI_fragment_shader enum: +	FRAGMENT_SHADER_ATI				= 0x8920 +	REG_0_ATI					= 0x8921 +	REG_1_ATI					= 0x8922 +	REG_2_ATI					= 0x8923 +	REG_3_ATI					= 0x8924 +	REG_4_ATI					= 0x8925 +	REG_5_ATI					= 0x8926 +	REG_6_ATI					= 0x8927 +	REG_7_ATI					= 0x8928 +	REG_8_ATI					= 0x8929 +	REG_9_ATI					= 0x892A +	REG_10_ATI					= 0x892B +	REG_11_ATI					= 0x892C +	REG_12_ATI					= 0x892D +	REG_13_ATI					= 0x892E +	REG_14_ATI					= 0x892F +	REG_15_ATI					= 0x8930 +	REG_16_ATI					= 0x8931 +	REG_17_ATI					= 0x8932 +	REG_18_ATI					= 0x8933 +	REG_19_ATI					= 0x8934 +	REG_20_ATI					= 0x8935 +	REG_21_ATI					= 0x8936 +	REG_22_ATI					= 0x8937 +	REG_23_ATI					= 0x8938 +	REG_24_ATI					= 0x8939 +	REG_25_ATI					= 0x893A +	REG_26_ATI					= 0x893B +	REG_27_ATI					= 0x893C +	REG_28_ATI					= 0x893D +	REG_29_ATI					= 0x893E +	REG_30_ATI					= 0x893F +	REG_31_ATI					= 0x8940 +	CON_0_ATI					= 0x8941 +	CON_1_ATI					= 0x8942 +	CON_2_ATI					= 0x8943 +	CON_3_ATI					= 0x8944 +	CON_4_ATI					= 0x8945 +	CON_5_ATI					= 0x8946 +	CON_6_ATI					= 0x8947 +	CON_7_ATI					= 0x8948 +	CON_8_ATI					= 0x8949 +	CON_9_ATI					= 0x894A +	CON_10_ATI					= 0x894B +	CON_11_ATI					= 0x894C +	CON_12_ATI					= 0x894D +	CON_13_ATI					= 0x894E +	CON_14_ATI					= 0x894F +	CON_15_ATI					= 0x8950 +	CON_16_ATI					= 0x8951 +	CON_17_ATI					= 0x8952 +	CON_18_ATI					= 0x8953 +	CON_19_ATI					= 0x8954 +	CON_20_ATI					= 0x8955 +	CON_21_ATI					= 0x8956 +	CON_22_ATI					= 0x8957 +	CON_23_ATI					= 0x8958 +	CON_24_ATI					= 0x8959 +	CON_25_ATI					= 0x895A +	CON_26_ATI					= 0x895B +	CON_27_ATI					= 0x895C +	CON_28_ATI					= 0x895D +	CON_29_ATI					= 0x895E +	CON_30_ATI					= 0x895F +	CON_31_ATI					= 0x8960 +	MOV_ATI						= 0x8961 +	ADD_ATI						= 0x8963 +	MUL_ATI						= 0x8964 +	SUB_ATI						= 0x8965 +	DOT3_ATI					= 0x8966 +	DOT4_ATI					= 0x8967 +	MAD_ATI						= 0x8968 +	LERP_ATI					= 0x8969 +	CND_ATI						= 0x896A +	CND0_ATI					= 0x896B +	DOT2_ADD_ATI					= 0x896C +	SECONDARY_INTERPOLATOR_ATI			= 0x896D +	NUM_FRAGMENT_REGISTERS_ATI			= 0x896E +	NUM_FRAGMENT_CONSTANTS_ATI			= 0x896F +	NUM_PASSES_ATI					= 0x8970 +	NUM_INSTRUCTIONS_PER_PASS_ATI			= 0x8971 +	NUM_INSTRUCTIONS_TOTAL_ATI			= 0x8972 +	NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI		= 0x8973 +	NUM_LOOPBACK_COMPONENTS_ATI			= 0x8974 +	COLOR_ALPHA_PAIRING_ATI				= 0x8975 +	SWIZZLE_STR_ATI					= 0x8976 +	SWIZZLE_STQ_ATI					= 0x8977 +	SWIZZLE_STR_DR_ATI				= 0x8978 +	SWIZZLE_STQ_DQ_ATI				= 0x8979 +	SWIZZLE_STRQ_ATI				= 0x897A +	SWIZZLE_STRQ_DQ_ATI				= 0x897B +	RED_BIT_ATI					= 0x00000001 +	GREEN_BIT_ATI					= 0x00000002 +	BLUE_BIT_ATI					= 0x00000004 +	2X_BIT_ATI					= 0x00000001 +	4X_BIT_ATI					= 0x00000002 +	8X_BIT_ATI					= 0x00000004 +	HALF_BIT_ATI					= 0x00000008 +	QUARTER_BIT_ATI					= 0x00000010 +	EIGHTH_BIT_ATI					= 0x00000020 +	SATURATE_BIT_ATI				= 0x00000040 +	2X_BIT_ATI					= 0x00000001 +	COMP_BIT_ATI					= 0x00000002 +	NEGATE_BIT_ATI					= 0x00000004 +	BIAS_BIT_ATI					= 0x00000008 + +############################################################################### + +# Extension #246 +ATI_pn_triangles enum: +	PN_TRIANGLES_ATI				= 0x87F0 +	MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI		= 0x87F1 +	PN_TRIANGLES_POINT_MODE_ATI			= 0x87F2 +	PN_TRIANGLES_NORMAL_MODE_ATI			= 0x87F3 +	PN_TRIANGLES_TESSELATION_LEVEL_ATI		= 0x87F4 +	PN_TRIANGLES_POINT_MODE_LINEAR_ATI		= 0x87F5 +	PN_TRIANGLES_POINT_MODE_CUBIC_ATI		= 0x87F6 +	PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI		= 0x87F7 +	PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI		= 0x87F8 + +############################################################################### + +# Extension #247 +ATI_vertex_array_object enum: +	STATIC_ATI					= 0x8760 +	DYNAMIC_ATI					= 0x8761 +	PRESERVE_ATI					= 0x8762 +	DISCARD_ATI					= 0x8763 +	OBJECT_BUFFER_SIZE_ATI				= 0x8764 +	OBJECT_BUFFER_USAGE_ATI				= 0x8765 +	ARRAY_OBJECT_BUFFER_ATI				= 0x8766 +	ARRAY_OBJECT_OFFSET_ATI				= 0x8767 + +############################################################################### + +# Extension #248 +EXT_vertex_shader enum: +	VERTEX_SHADER_EXT				= 0x8780 +	VERTEX_SHADER_BINDING_EXT			= 0x8781 +	OP_INDEX_EXT					= 0x8782 +	OP_NEGATE_EXT					= 0x8783 +	OP_DOT3_EXT					= 0x8784 +	OP_DOT4_EXT					= 0x8785 +	OP_MUL_EXT					= 0x8786 +	OP_ADD_EXT					= 0x8787 +	OP_MADD_EXT					= 0x8788 +	OP_FRAC_EXT					= 0x8789 +	OP_MAX_EXT					= 0x878A +	OP_MIN_EXT					= 0x878B +	OP_SET_GE_EXT					= 0x878C +	OP_SET_LT_EXT					= 0x878D +	OP_CLAMP_EXT					= 0x878E +	OP_FLOOR_EXT					= 0x878F +	OP_ROUND_EXT					= 0x8790 +	OP_EXP_BASE_2_EXT				= 0x8791 +	OP_LOG_BASE_2_EXT				= 0x8792 +	OP_POWER_EXT					= 0x8793 +	OP_RECIP_EXT					= 0x8794 +	OP_RECIP_SQRT_EXT				= 0x8795 +	OP_SUB_EXT					= 0x8796 +	OP_CROSS_PRODUCT_EXT				= 0x8797 +	OP_MULTIPLY_MATRIX_EXT				= 0x8798 +	OP_MOV_EXT					= 0x8799 +	OUTPUT_VERTEX_EXT				= 0x879A +	OUTPUT_COLOR0_EXT				= 0x879B +	OUTPUT_COLOR1_EXT				= 0x879C +	OUTPUT_TEXTURE_COORD0_EXT			= 0x879D +	OUTPUT_TEXTURE_COORD1_EXT			= 0x879E +	OUTPUT_TEXTURE_COORD2_EXT			= 0x879F +	OUTPUT_TEXTURE_COORD3_EXT			= 0x87A0 +	OUTPUT_TEXTURE_COORD4_EXT			= 0x87A1 +	OUTPUT_TEXTURE_COORD5_EXT			= 0x87A2 +	OUTPUT_TEXTURE_COORD6_EXT			= 0x87A3 +	OUTPUT_TEXTURE_COORD7_EXT			= 0x87A4 +	OUTPUT_TEXTURE_COORD8_EXT			= 0x87A5 +	OUTPUT_TEXTURE_COORD9_EXT			= 0x87A6 +	OUTPUT_TEXTURE_COORD10_EXT			= 0x87A7 +	OUTPUT_TEXTURE_COORD11_EXT			= 0x87A8 +	OUTPUT_TEXTURE_COORD12_EXT			= 0x87A9 +	OUTPUT_TEXTURE_COORD13_EXT			= 0x87AA +	OUTPUT_TEXTURE_COORD14_EXT			= 0x87AB +	OUTPUT_TEXTURE_COORD15_EXT			= 0x87AC +	OUTPUT_TEXTURE_COORD16_EXT			= 0x87AD +	OUTPUT_TEXTURE_COORD17_EXT			= 0x87AE +	OUTPUT_TEXTURE_COORD18_EXT			= 0x87AF +	OUTPUT_TEXTURE_COORD19_EXT			= 0x87B0 +	OUTPUT_TEXTURE_COORD20_EXT			= 0x87B1 +	OUTPUT_TEXTURE_COORD21_EXT			= 0x87B2 +	OUTPUT_TEXTURE_COORD22_EXT			= 0x87B3 +	OUTPUT_TEXTURE_COORD23_EXT			= 0x87B4 +	OUTPUT_TEXTURE_COORD24_EXT			= 0x87B5 +	OUTPUT_TEXTURE_COORD25_EXT			= 0x87B6 +	OUTPUT_TEXTURE_COORD26_EXT			= 0x87B7 +	OUTPUT_TEXTURE_COORD27_EXT			= 0x87B8 +	OUTPUT_TEXTURE_COORD28_EXT			= 0x87B9 +	OUTPUT_TEXTURE_COORD29_EXT			= 0x87BA +	OUTPUT_TEXTURE_COORD30_EXT			= 0x87BB +	OUTPUT_TEXTURE_COORD31_EXT			= 0x87BC +	OUTPUT_FOG_EXT					= 0x87BD +	SCALAR_EXT					= 0x87BE +	VECTOR_EXT					= 0x87BF +	MATRIX_EXT					= 0x87C0 +	VARIANT_EXT					= 0x87C1 +	INVARIANT_EXT					= 0x87C2 +	LOCAL_CONSTANT_EXT				= 0x87C3 +	LOCAL_EXT					= 0x87C4 +	MAX_VERTEX_SHADER_INSTRUCTIONS_EXT		= 0x87C5 +	MAX_VERTEX_SHADER_VARIANTS_EXT			= 0x87C6 +	MAX_VERTEX_SHADER_INVARIANTS_EXT		= 0x87C7 +	MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT		= 0x87C8 +	MAX_VERTEX_SHADER_LOCALS_EXT			= 0x87C9 +	MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT	= 0x87CA +	MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT	= 0x87CB +	MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC +	MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT	= 0x87CD +	MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT		= 0x87CE +	VERTEX_SHADER_INSTRUCTIONS_EXT			= 0x87CF +	VERTEX_SHADER_VARIANTS_EXT			= 0x87D0 +	VERTEX_SHADER_INVARIANTS_EXT			= 0x87D1 +	VERTEX_SHADER_LOCAL_CONSTANTS_EXT		= 0x87D2 +	VERTEX_SHADER_LOCALS_EXT			= 0x87D3 +	VERTEX_SHADER_OPTIMIZED_EXT			= 0x87D4 +	X_EXT						= 0x87D5 +	Y_EXT						= 0x87D6 +	Z_EXT						= 0x87D7 +	W_EXT						= 0x87D8 +	NEGATIVE_X_EXT					= 0x87D9 +	NEGATIVE_Y_EXT					= 0x87DA +	NEGATIVE_Z_EXT					= 0x87DB +	NEGATIVE_W_EXT					= 0x87DC +	ZERO_EXT					= 0x87DD +	ONE_EXT						= 0x87DE +	NEGATIVE_ONE_EXT				= 0x87DF +	NORMALIZED_RANGE_EXT				= 0x87E0 +	FULL_RANGE_EXT					= 0x87E1 +	CURRENT_VERTEX_EXT				= 0x87E2 +	MVP_MATRIX_EXT					= 0x87E3 +	VARIANT_VALUE_EXT				= 0x87E4 +	VARIANT_DATATYPE_EXT				= 0x87E5 +	VARIANT_ARRAY_STRIDE_EXT			= 0x87E6 +	VARIANT_ARRAY_TYPE_EXT				= 0x87E7 +	VARIANT_ARRAY_EXT				= 0x87E8 +	VARIANT_ARRAY_POINTER_EXT			= 0x87E9 +	INVARIANT_VALUE_EXT				= 0x87EA +	INVARIANT_DATATYPE_EXT				= 0x87EB +	LOCAL_CONSTANT_VALUE_EXT			= 0x87EC +	LOCAL_CONSTANT_DATATYPE_EXT			= 0x87ED + +############################################################################### + +# Extension #249 +ATI_vertex_streams enum: +	MAX_VERTEX_STREAMS_ATI				= 0x876B +	VERTEX_STREAM0_ATI				= 0x876C +	VERTEX_STREAM1_ATI				= 0x876D +	VERTEX_STREAM2_ATI				= 0x876E +	VERTEX_STREAM3_ATI				= 0x876F +	VERTEX_STREAM4_ATI				= 0x8770 +	VERTEX_STREAM5_ATI				= 0x8771 +	VERTEX_STREAM6_ATI				= 0x8772 +	VERTEX_STREAM7_ATI				= 0x8773 +	VERTEX_SOURCE_ATI				= 0x8774 + +############################################################################### + +# Extension #250 - WGL_I3D_digital_video_control +# Extension #251 - WGL_I3D_gamma +# Extension #252 - WGL_I3D_genlock +# Extension #253 - WGL_I3D_image_buffer +# Extension #254 - WGL_I3D_swap_frame_lock +# Extension #255 - WGL_I3D_swap_frame_usage + +############################################################################### + +# Extension #256 +ATI_element_array enum: +	ELEMENT_ARRAY_ATI				= 0x8768 +	ELEMENT_ARRAY_TYPE_ATI				= 0x8769 +	ELEMENT_ARRAY_POINTER_ATI			= 0x876A + +############################################################################### + +# Extension #257 +SUN_mesh_array enum: +	QUAD_MESH_SUN					= 0x8614 +	TRIANGLE_MESH_SUN				= 0x8615 + +############################################################################### + +# Extension #258 +SUN_slice_accum enum: +	SLICE_ACCUM_SUN					= 0x85CC + +############################################################################### + +# Extension #259 +NV_multisample_filter_hint enum: +	MULTISAMPLE_FILTER_HINT_NV			= 0x8534 + +############################################################################### + +# Extension #260 +NV_depth_clamp enum: +	DEPTH_CLAMP_NV					= 0x864F + +############################################################################### + +# Extension #261 +NV_occlusion_query enum: +	PIXEL_COUNTER_BITS_NV				= 0x8864 +	CURRENT_OCCLUSION_QUERY_ID_NV			= 0x8865 +	PIXEL_COUNT_NV					= 0x8866 +	PIXEL_COUNT_AVAILABLE_NV			= 0x8867 + +############################################################################### + +# Extension #262 +NV_point_sprite enum: +	POINT_SPRITE_NV					= 0x8861 +	COORD_REPLACE_NV				= 0x8862 +	POINT_SPRITE_R_MODE_NV				= 0x8863 + +############################################################################### + +# Extension #263 - WGL_NV_render_depth_texture +# Extension #264 - WGL_NV_render_texture_rectangle + +############################################################################### + +# Extension #265 +NV_texture_shader3 enum: +	OFFSET_PROJECTIVE_TEXTURE_2D_NV			= 0x8850 +	OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV		= 0x8851 +	OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV		= 0x8852 +	OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV	= 0x8853 +	OFFSET_HILO_TEXTURE_2D_NV			= 0x8854 +	OFFSET_HILO_TEXTURE_RECTANGLE_NV		= 0x8855 +	OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV		= 0x8856 +	OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV	= 0x8857 +	DEPENDENT_HILO_TEXTURE_2D_NV			= 0x8858 +	DEPENDENT_RGB_TEXTURE_3D_NV			= 0x8859 +	DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV		= 0x885A +	DOT_PRODUCT_PASS_THROUGH_NV			= 0x885B +	DOT_PRODUCT_TEXTURE_1D_NV			= 0x885C +	DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV		= 0x885D +	HILO8_NV					= 0x885E +	SIGNED_HILO8_NV					= 0x885F +	FORCE_BLUE_TO_ONE_NV				= 0x8860 + +############################################################################### + +# No new tokens +# Extension #266 +NV_vertex_program1_1 enum: + +############################################################################### + +# No new tokens +# Extension #267 +EXT_shadow_funcs enum: + +############################################################################### + +# Extension #268 +EXT_stencil_two_side enum: +	STENCIL_TEST_TWO_SIDE_EXT			= 0x8910 +	ACTIVE_STENCIL_FACE_EXT				= 0x8911 + +############################################################################### + +# Extension #269 +ATI_text_fragment_shader enum: +	TEXT_FRAGMENT_SHADER_ATI			= 0x8200 + +############################################################################### + +# Extension #270 +APPLE_client_storage enum: +	UNPACK_CLIENT_STORAGE_APPLE			= 0x85B2 + +############################################################################### + +# Extension #271 +# (extends ATI_element_array???) +APPLE_element_array enum: +	ELEMENT_ARRAY_APPLE				= 0x8768 +	ELEMENT_ARRAY_TYPE_APPLE			= 0x8769 +	ELEMENT_ARRAY_POINTER_APPLE			= 0x876A + +############################################################################### + +# Extension #272 +# ??? BUFFER_OBJECT_APPLE appears to be part of the shipping extension, +# but is not in the spec in the registry. Also appears in +# APPLE_object_purgeable below. +APPLE_fence enum: +	DRAW_PIXELS_APPLE				= 0x8A0A +	FENCE_APPLE					= 0x8A0B + +############################################################################### + +# Extension #273 +APPLE_vertex_array_object enum: +	VERTEX_ARRAY_BINDING_APPLE			= 0x85B5 + +############################################################################### + +# Extension #274 +# (How does this interact with NV_vertex_array_range???) +APPLE_vertex_array_range enum: +	VERTEX_ARRAY_RANGE_APPLE			= 0x851D +	VERTEX_ARRAY_RANGE_LENGTH_APPLE			= 0x851E +	VERTEX_ARRAY_STORAGE_HINT_APPLE			= 0x851F +	VERTEX_ARRAY_RANGE_POINTER_APPLE		= 0x8521 +	STORAGE_CACHED_APPLE				= 0x85BE +	STORAGE_SHARED_APPLE				= 0x85BF + +############################################################################### + +# Extension #275 +APPLE_ycbcr_422 enum: +	YCBCR_422_APPLE					= 0x85B9 +	UNSIGNED_SHORT_8_8_APPLE			= 0x85BA +	UNSIGNED_SHORT_8_8_REV_APPLE			= 0x85BB + +############################################################################### + +# Extension #276 +S3_s3tc enum: +	RGB_S3TC					= 0x83A0 +	RGB4_S3TC					= 0x83A1 +	RGBA_S3TC					= 0x83A2 +	RGBA4_S3TC					= 0x83A3 + +############################################################################### + +# Extension #277 +ATI_draw_buffers enum: +	MAX_DRAW_BUFFERS_ATI				= 0x8824 +	DRAW_BUFFER0_ATI				= 0x8825 +	DRAW_BUFFER1_ATI				= 0x8826 +	DRAW_BUFFER2_ATI				= 0x8827 +	DRAW_BUFFER3_ATI				= 0x8828 +	DRAW_BUFFER4_ATI				= 0x8829 +	DRAW_BUFFER5_ATI				= 0x882A +	DRAW_BUFFER6_ATI				= 0x882B +	DRAW_BUFFER7_ATI				= 0x882C +	DRAW_BUFFER8_ATI				= 0x882D +	DRAW_BUFFER9_ATI				= 0x882E +	DRAW_BUFFER10_ATI				= 0x882F +	DRAW_BUFFER11_ATI				= 0x8830 +	DRAW_BUFFER12_ATI				= 0x8831 +	DRAW_BUFFER13_ATI				= 0x8832 +	DRAW_BUFFER14_ATI				= 0x8833 +	DRAW_BUFFER15_ATI				= 0x8834 + +############################################################################### + +# Extension #278 +# This is really a WGL extension, but if defined there are +# some associated GL enumerants. +ATI_pixel_format_float enum: +	TYPE_RGBA_FLOAT_ATI				= 0x8820 +	COLOR_CLEAR_UNCLAMPED_VALUE_ATI			= 0x8835 + +############################################################################### + +# Extension #279 +ATI_texture_env_combine3 enum: +	MODULATE_ADD_ATI				= 0x8744 +	MODULATE_SIGNED_ADD_ATI				= 0x8745 +	MODULATE_SUBTRACT_ATI				= 0x8746 + +############################################################################### + +# Extension #280 +ATI_texture_float enum: +	RGBA_FLOAT32_ATI				= 0x8814 +	RGB_FLOAT32_ATI					= 0x8815 +	ALPHA_FLOAT32_ATI				= 0x8816 +	INTENSITY_FLOAT32_ATI				= 0x8817 +	LUMINANCE_FLOAT32_ATI				= 0x8818 +	LUMINANCE_ALPHA_FLOAT32_ATI			= 0x8819 +	RGBA_FLOAT16_ATI				= 0x881A +	RGB_FLOAT16_ATI					= 0x881B +	ALPHA_FLOAT16_ATI				= 0x881C +	INTENSITY_FLOAT16_ATI				= 0x881D +	LUMINANCE_FLOAT16_ATI				= 0x881E +	LUMINANCE_ALPHA_FLOAT16_ATI			= 0x881F + +############################################################################### + +# Extension #281 (also WGL_NV_float_buffer) +NV_float_buffer enum: +	FLOAT_R_NV					= 0x8880 +	FLOAT_RG_NV					= 0x8881 +	FLOAT_RGB_NV					= 0x8882 +	FLOAT_RGBA_NV					= 0x8883 +	FLOAT_R16_NV					= 0x8884 +	FLOAT_R32_NV					= 0x8885 +	FLOAT_RG16_NV					= 0x8886 +	FLOAT_RG32_NV					= 0x8887 +	FLOAT_RGB16_NV					= 0x8888 +	FLOAT_RGB32_NV					= 0x8889 +	FLOAT_RGBA16_NV					= 0x888A +	FLOAT_RGBA32_NV					= 0x888B +	TEXTURE_FLOAT_COMPONENTS_NV			= 0x888C +	FLOAT_CLEAR_COLOR_VALUE_NV			= 0x888D +	FLOAT_RGBA_MODE_NV				= 0x888E + +############################################################################### + +# Extension #282 +NV_fragment_program enum: +	MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV	= 0x8868 +	FRAGMENT_PROGRAM_NV				= 0x8870 +	MAX_TEXTURE_COORDS_NV				= 0x8871 +	MAX_TEXTURE_IMAGE_UNITS_NV			= 0x8872 +	FRAGMENT_PROGRAM_BINDING_NV			= 0x8873 +	PROGRAM_ERROR_STRING_NV				= 0x8874 + +############################################################################### + +# Extension #283 +NV_half_float enum: +	HALF_FLOAT_NV					= 0x140B + +############################################################################### + +# Extension #284 +NV_pixel_data_range enum: +	WRITE_PIXEL_DATA_RANGE_NV			= 0x8878 +	READ_PIXEL_DATA_RANGE_NV			= 0x8879 +	WRITE_PIXEL_DATA_RANGE_LENGTH_NV		= 0x887A +	READ_PIXEL_DATA_RANGE_LENGTH_NV			= 0x887B +	WRITE_PIXEL_DATA_RANGE_POINTER_NV		= 0x887C +	READ_PIXEL_DATA_RANGE_POINTER_NV		= 0x887D + +############################################################################### + +# Extension #285 +NV_primitive_restart enum: +	PRIMITIVE_RESTART_NV				= 0x8558 +	PRIMITIVE_RESTART_INDEX_NV			= 0x8559 + +############################################################################### + +# Extension #286 +NV_texture_expand_normal enum: +	TEXTURE_UNSIGNED_REMAP_MODE_NV			= 0x888F + +############################################################################### + +# No new tokens +# Extension #287 +NV_vertex_program2 enum: + +############################################################################### + +# No new tokens +# Extension #288 +ATI_map_object_buffer enum: + +############################################################################### + +# Extension #289 +ATI_separate_stencil enum: +	STENCIL_BACK_FUNC_ATI				= 0x8800 +	STENCIL_BACK_FAIL_ATI				= 0x8801 +	STENCIL_BACK_PASS_DEPTH_FAIL_ATI		= 0x8802 +	STENCIL_BACK_PASS_DEPTH_PASS_ATI		= 0x8803 + +############################################################################### + +# No new tokens +# Extension #290 +ATI_vertex_attrib_array_object enum: + +############################################################################### + +# No new tokens +# Extension #291 - OpenGL ES only, not in glext.h +# OES_byte_coordinates enum: + +############################################################################### + +# Extension #292 - OpenGL ES only, not in glext.h +# OES_fixed_point enum: +#	FIXED_OES					= 0x140C + +############################################################################### + +# No new tokens +# Extension #293 - OpenGL ES only, not in glext.h +# OES_single_precision enum: + +############################################################################### + +# Extension #294 - OpenGL ES only, not in glext.h +# OES_compressed_paletted_texture enum: +#	PALETTE4_RGB8_OES				= 0x8B90 +#	PALETTE4_RGBA8_OES				= 0x8B91 +#	PALETTE4_R5_G6_B5_OES				= 0x8B92 +#	PALETTE4_RGBA4_OES				= 0x8B93 +#	PALETTE4_RGB5_A1_OES				= 0x8B94 +#	PALETTE8_RGB8_OES				= 0x8B95 +#	PALETTE8_RGBA8_OES				= 0x8B96 +#	PALETTE8_R5_G6_B5_OES				= 0x8B97 +#	PALETTE8_RGBA4_OES				= 0x8B98 +#	PALETTE8_RGB5_A1_OES				= 0x8B99 + +############################################################################### + +# Extension #295 - This is an OpenGL ES extension, but also implemented in Mesa +OES_read_format enum: +	IMPLEMENTATION_COLOR_READ_TYPE_OES		= 0x8B9A +	IMPLEMENTATION_COLOR_READ_FORMAT_OES		= 0x8B9B + +############################################################################### + +# No new tokens +# Extension #296 - OpenGL ES only, not in glext.h +# OES_query_matrix enum: + +############################################################################### + +# Extension #297 +EXT_depth_bounds_test enum: +	DEPTH_BOUNDS_TEST_EXT				= 0x8890 +	DEPTH_BOUNDS_EXT				= 0x8891 + +############################################################################### + +# Extension #298 +EXT_texture_mirror_clamp enum: +	MIRROR_CLAMP_EXT				= 0x8742 +	MIRROR_CLAMP_TO_EDGE_EXT			= 0x8743 +	MIRROR_CLAMP_TO_BORDER_EXT			= 0x8912 + +############################################################################### + +# Extension #299 +EXT_blend_equation_separate enum: +	BLEND_EQUATION_RGB_EXT				= 0x8009    # alias GL_BLEND_EQUATION_EXT +	BLEND_EQUATION_ALPHA_EXT			= 0x883D + +############################################################################### + +# Extension #300 +MESA_pack_invert enum: +	PACK_INVERT_MESA				= 0x8758 + +############################################################################### + +# Extension #301 +MESA_ycbcr_texture enum: +	UNSIGNED_SHORT_8_8_MESA				= 0x85BA +	UNSIGNED_SHORT_8_8_REV_MESA			= 0x85BB +	YCBCR_MESA					= 0x8757 + +############################################################################### + +# Extension #302 +EXT_pixel_buffer_object enum: +	PIXEL_PACK_BUFFER_EXT				= 0x88EB +	PIXEL_UNPACK_BUFFER_EXT				= 0x88EC +	PIXEL_PACK_BUFFER_BINDING_EXT			= 0x88ED +	PIXEL_UNPACK_BUFFER_BINDING_EXT			= 0x88EF + +############################################################################### + +# No new tokens +# Extension #303 +NV_fragment_program_option enum: + +############################################################################### + +# Extension #304 +NV_fragment_program2 enum: +	MAX_PROGRAM_EXEC_INSTRUCTIONS_NV		= 0x88F4 +	MAX_PROGRAM_CALL_DEPTH_NV			= 0x88F5 +	MAX_PROGRAM_IF_DEPTH_NV				= 0x88F6 +	MAX_PROGRAM_LOOP_DEPTH_NV			= 0x88F7 +	MAX_PROGRAM_LOOP_COUNT_NV			= 0x88F8 + +############################################################################### + +# Extension #305 +NV_vertex_program2_option enum: +	use NV_fragment_program2	    MAX_PROGRAM_EXEC_INSTRUCTIONS_NV +	use NV_fragment_program2	    MAX_PROGRAM_CALL_DEPTH_NV + +############################################################################### + +# Extension #306 +NV_vertex_program3 enum: +	use ARB_vertex_shader		    MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB + +############################################################################### + +# Extension #307 - GLX_SGIX_hyperpipe +# Extension #308 - GLX_MESA_agp_offset + +# Extension #309 - GL_EXT_texture_compression_dxt1 (OpenGL ES only, subset of _s3tc version) +#	 use EXT_texture_compression_s3tc    COMPRESSED_RGB_S3TC_DXT1_EXT +#	 use EXT_texture_compression_s3tc    COMPRESSED_RGBA_S3TC_DXT1_EXT + +############################################################################### + +# Extension #310 +EXT_framebuffer_object enum: +	INVALID_FRAMEBUFFER_OPERATION_EXT		= 0x0506 +	MAX_RENDERBUFFER_SIZE_EXT			= 0x84E8 +	FRAMEBUFFER_BINDING_EXT				= 0x8CA6 +	RENDERBUFFER_BINDING_EXT			= 0x8CA7 +	FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT		= 0x8CD0 +	FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT		= 0x8CD1 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT	= 0x8CD2 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT	= 0x8CD4 +	FRAMEBUFFER_COMPLETE_EXT			= 0x8CD5 +	FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT		= 0x8CD6 +	FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT	= 0x8CD7 +## Removed 2005/09/26 in revision #117 of the extension: +##	  FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = 0x8CD8 +	FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT		= 0x8CD9 +	FRAMEBUFFER_INCOMPLETE_FORMATS_EXT		= 0x8CDA +	FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT		= 0x8CDB +	FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT		= 0x8CDC +	FRAMEBUFFER_UNSUPPORTED_EXT			= 0x8CDD +## Removed 2005/05/31 in revision #113 of the extension: +##	  FRAMEBUFFER_STATUS_ERROR_EXT			  = 0x8CDE +	MAX_COLOR_ATTACHMENTS_EXT			= 0x8CDF +	COLOR_ATTACHMENT0_EXT				= 0x8CE0 +	COLOR_ATTACHMENT1_EXT				= 0x8CE1 +	COLOR_ATTACHMENT2_EXT				= 0x8CE2 +	COLOR_ATTACHMENT3_EXT				= 0x8CE3 +	COLOR_ATTACHMENT4_EXT				= 0x8CE4 +	COLOR_ATTACHMENT5_EXT				= 0x8CE5 +	COLOR_ATTACHMENT6_EXT				= 0x8CE6 +	COLOR_ATTACHMENT7_EXT				= 0x8CE7 +	COLOR_ATTACHMENT8_EXT				= 0x8CE8 +	COLOR_ATTACHMENT9_EXT				= 0x8CE9 +	COLOR_ATTACHMENT10_EXT				= 0x8CEA +	COLOR_ATTACHMENT11_EXT				= 0x8CEB +	COLOR_ATTACHMENT12_EXT				= 0x8CEC +	COLOR_ATTACHMENT13_EXT				= 0x8CED +	COLOR_ATTACHMENT14_EXT				= 0x8CEE +	COLOR_ATTACHMENT15_EXT				= 0x8CEF +	DEPTH_ATTACHMENT_EXT				= 0x8D00 +	STENCIL_ATTACHMENT_EXT				= 0x8D20 +	FRAMEBUFFER_EXT					= 0x8D40 +	RENDERBUFFER_EXT				= 0x8D41 +	RENDERBUFFER_WIDTH_EXT				= 0x8D42 +	RENDERBUFFER_HEIGHT_EXT				= 0x8D43 +	RENDERBUFFER_INTERNAL_FORMAT_EXT		= 0x8D44 +# removed STENCIL_INDEX_EXT = 0x8D45 in rev. #114 of the spec +	STENCIL_INDEX1_EXT				= 0x8D46 +	STENCIL_INDEX4_EXT				= 0x8D47 +	STENCIL_INDEX8_EXT				= 0x8D48 +	STENCIL_INDEX16_EXT				= 0x8D49 +	RENDERBUFFER_RED_SIZE_EXT			= 0x8D50 +	RENDERBUFFER_GREEN_SIZE_EXT			= 0x8D51 +	RENDERBUFFER_BLUE_SIZE_EXT			= 0x8D52 +	RENDERBUFFER_ALPHA_SIZE_EXT			= 0x8D53 +	RENDERBUFFER_DEPTH_SIZE_EXT			= 0x8D54 +	RENDERBUFFER_STENCIL_SIZE_EXT			= 0x8D55 + +############################################################################### + +# No new tokens +# Extension #311 +GREMEDY_string_marker enum: + +############################################################################### + +# Extension #312 +EXT_packed_depth_stencil enum: +	DEPTH_STENCIL_EXT				= 0x84F9 +	UNSIGNED_INT_24_8_EXT				= 0x84FA +	DEPTH24_STENCIL8_EXT				= 0x88F0 +	TEXTURE_STENCIL_SIZE_EXT			= 0x88F1 + +############################################################################### + +# Extension #313 - WGL_3DL_stereo_control + +############################################################################### + +# Extension #314 +EXT_stencil_clear_tag enum: +	STENCIL_TAG_BITS_EXT				= 0x88F2 +	STENCIL_CLEAR_TAG_VALUE_EXT			= 0x88F3 + +############################################################################### + +# Extension #315 +EXT_texture_sRGB enum: +	SRGB_EXT					= 0x8C40 +	SRGB8_EXT					= 0x8C41 +	SRGB_ALPHA_EXT					= 0x8C42 +	SRGB8_ALPHA8_EXT				= 0x8C43 +	SLUMINANCE_ALPHA_EXT				= 0x8C44 +	SLUMINANCE8_ALPHA8_EXT				= 0x8C45 +	SLUMINANCE_EXT					= 0x8C46 +	SLUMINANCE8_EXT					= 0x8C47 +	COMPRESSED_SRGB_EXT				= 0x8C48 +	COMPRESSED_SRGB_ALPHA_EXT			= 0x8C49 +	COMPRESSED_SLUMINANCE_EXT			= 0x8C4A +	COMPRESSED_SLUMINANCE_ALPHA_EXT			= 0x8C4B +	COMPRESSED_SRGB_S3TC_DXT1_EXT			= 0x8C4C +	COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT		= 0x8C4D +	COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT		= 0x8C4E +	COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT		= 0x8C4F + +############################################################################### + +# Extension #316 +EXT_framebuffer_blit enum: +	READ_FRAMEBUFFER_EXT				= 0x8CA8 +	DRAW_FRAMEBUFFER_EXT				= 0x8CA9 +	DRAW_FRAMEBUFFER_BINDING_EXT			= GL_FRAMEBUFFER_BINDING_EXT +	READ_FRAMEBUFFER_BINDING_EXT			= 0x8CAA + +############################################################################### + +# Extension #317 +EXT_framebuffer_multisample enum: +	RENDERBUFFER_SAMPLES_EXT			= 0x8CAB +	FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT		= 0x8D56 +	MAX_SAMPLES_EXT					= 0x8D57 + +############################################################################### + +# Extension #318 +MESAX_texture_stack enum: +	TEXTURE_1D_STACK_MESAX				= 0x8759 +	TEXTURE_2D_STACK_MESAX				= 0x875A +	PROXY_TEXTURE_1D_STACK_MESAX			= 0x875B +	PROXY_TEXTURE_2D_STACK_MESAX			= 0x875C +	TEXTURE_1D_STACK_BINDING_MESAX			= 0x875D +	TEXTURE_2D_STACK_BINDING_MESAX			= 0x875E + +############################################################################### + +# Extension #319 +EXT_timer_query enum: +	TIME_ELAPSED_EXT				= 0x88BF + +############################################################################### + +# No new tokens +# Extension #320 +EXT_gpu_program_parameters enum: + +############################################################################### + +# Extension #321 +APPLE_flush_buffer_range enum: +	BUFFER_SERIALIZED_MODIFY_APPLE			= 0x8A12 +	BUFFER_FLUSHING_UNMAP_APPLE			= 0x8A13 + +############################################################################### + +# Extension #322 +NV_gpu_program4 enum: +	MIN_PROGRAM_TEXEL_OFFSET_NV			= 0x8904 +	MAX_PROGRAM_TEXEL_OFFSET_NV			= 0x8905 +	PROGRAM_ATTRIB_COMPONENTS_NV			= 0x8906 +	PROGRAM_RESULT_COMPONENTS_NV			= 0x8907 +	MAX_PROGRAM_ATTRIB_COMPONENTS_NV		= 0x8908 +	MAX_PROGRAM_RESULT_COMPONENTS_NV		= 0x8909 +	MAX_PROGRAM_GENERIC_ATTRIBS_NV			= 0x8DA5 +	MAX_PROGRAM_GENERIC_RESULTS_NV			= 0x8DA6 + +############################################################################### + +# Extension #323 +NV_geometry_program4 enum: +	LINES_ADJACENCY_EXT				= 0x000A +	LINE_STRIP_ADJACENCY_EXT			= 0x000B +	TRIANGLES_ADJACENCY_EXT				= 0x000C +	TRIANGLE_STRIP_ADJACENCY_EXT			= 0x000D +	GEOMETRY_PROGRAM_NV				= 0x8C26 +	MAX_PROGRAM_OUTPUT_VERTICES_NV			= 0x8C27 +	MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV		= 0x8C28 +	GEOMETRY_VERTICES_OUT_EXT			= 0x8DDA +	GEOMETRY_INPUT_TYPE_EXT				= 0x8DDB +	GEOMETRY_OUTPUT_TYPE_EXT			= 0x8DDC +	MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT		= 0x8C29 +	FRAMEBUFFER_ATTACHMENT_LAYERED_EXT		= 0x8DA7 +	FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT	= 0x8DA8 +	FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT		= 0x8DA9 +	FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT	= 0x8CD4 +	PROGRAM_POINT_SIZE_EXT				= 0x8642 + +############################################################################### + +# Extension #324 +EXT_geometry_shader4 enum: +	GEOMETRY_SHADER_EXT				= 0x8DD9 +	use NV_geometry_program4	    GEOMETRY_VERTICES_OUT_EXT +	use NV_geometry_program4	    GEOMETRY_INPUT_TYPE_EXT +	use NV_geometry_program4	    GEOMETRY_OUTPUT_TYPE_EXT +	use NV_geometry_program4	    MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT +	MAX_GEOMETRY_VARYING_COMPONENTS_EXT		= 0x8DDD +	MAX_VERTEX_VARYING_COMPONENTS_EXT		= 0x8DDE +	MAX_VARYING_COMPONENTS_EXT			= 0x8B4B +	MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT		= 0x8DDF +	MAX_GEOMETRY_OUTPUT_VERTICES_EXT		= 0x8DE0 +	MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT	= 0x8DE1 +	use NV_geometry_program4	    LINES_ADJACENCY_EXT +	use NV_geometry_program4	    LINE_STRIP_ADJACENCY_EXT +	use NV_geometry_program4	    TRIANGLES_ADJACENCY_EXT +	use NV_geometry_program4	    TRIANGLE_STRIP_ADJACENCY_EXT +	use NV_geometry_program4	    FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT +	use NV_geometry_program4	    FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT +	use NV_geometry_program4	    FRAMEBUFFER_ATTACHMENT_LAYERED_EXT +	use NV_geometry_program4	    FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT +	use NV_geometry_program4	    PROGRAM_POINT_SIZE_EXT + +############################################################################### + +# Extension #325 +NV_vertex_program4 enum: +	VERTEX_ATTRIB_ARRAY_INTEGER_NV			= 0x88FD + +############################################################################### + +# Extension #326 +EXT_gpu_shader4 enum: +	SAMPLER_1D_ARRAY_EXT				= 0x8DC0 +	SAMPLER_2D_ARRAY_EXT				= 0x8DC1 +	SAMPLER_BUFFER_EXT				= 0x8DC2 +	SAMPLER_1D_ARRAY_SHADOW_EXT			= 0x8DC3 +	SAMPLER_2D_ARRAY_SHADOW_EXT			= 0x8DC4 +	SAMPLER_CUBE_SHADOW_EXT				= 0x8DC5 +	UNSIGNED_INT_VEC2_EXT				= 0x8DC6 +	UNSIGNED_INT_VEC3_EXT				= 0x8DC7 +	UNSIGNED_INT_VEC4_EXT				= 0x8DC8 +	INT_SAMPLER_1D_EXT				= 0x8DC9 +	INT_SAMPLER_2D_EXT				= 0x8DCA +	INT_SAMPLER_3D_EXT				= 0x8DCB +	INT_SAMPLER_CUBE_EXT				= 0x8DCC +	INT_SAMPLER_2D_RECT_EXT				= 0x8DCD +	INT_SAMPLER_1D_ARRAY_EXT			= 0x8DCE +	INT_SAMPLER_2D_ARRAY_EXT			= 0x8DCF +	INT_SAMPLER_BUFFER_EXT				= 0x8DD0 +	UNSIGNED_INT_SAMPLER_1D_EXT			= 0x8DD1 +	UNSIGNED_INT_SAMPLER_2D_EXT			= 0x8DD2 +	UNSIGNED_INT_SAMPLER_3D_EXT			= 0x8DD3 +	UNSIGNED_INT_SAMPLER_CUBE_EXT			= 0x8DD4 +	UNSIGNED_INT_SAMPLER_2D_RECT_EXT		= 0x8DD5 +	UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT		= 0x8DD6 +	UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT		= 0x8DD7 +	UNSIGNED_INT_SAMPLER_BUFFER_EXT			= 0x8DD8 + +############################################################################### + +# No new tokens +# Extension #327 +EXT_draw_instanced enum: + +############################################################################### + +# Extension #328 +EXT_packed_float enum: +	R11F_G11F_B10F_EXT				= 0x8C3A +	UNSIGNED_INT_10F_11F_11F_REV_EXT		= 0x8C3B +	RGBA_SIGNED_COMPONENTS_EXT			= 0x8C3C + +############################################################################### + +# Extension #329 +EXT_texture_array enum: +	TEXTURE_1D_ARRAY_EXT				= 0x8C18 +	PROXY_TEXTURE_1D_ARRAY_EXT			= 0x8C19 +	TEXTURE_2D_ARRAY_EXT				= 0x8C1A +	PROXY_TEXTURE_2D_ARRAY_EXT			= 0x8C1B +	TEXTURE_BINDING_1D_ARRAY_EXT			= 0x8C1C +	TEXTURE_BINDING_2D_ARRAY_EXT			= 0x8C1D +	MAX_ARRAY_TEXTURE_LAYERS_EXT			= 0x88FF +	COMPARE_REF_DEPTH_TO_TEXTURE_EXT		= 0x884E +	use NV_geometry_program4	    FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT + +############################################################################### + +# Extension #330 +EXT_texture_buffer_object enum: +	TEXTURE_BUFFER_EXT				= 0x8C2A +	MAX_TEXTURE_BUFFER_SIZE_EXT			= 0x8C2B +	TEXTURE_BINDING_BUFFER_EXT			= 0x8C2C +	TEXTURE_BUFFER_DATA_STORE_BINDING_EXT		= 0x8C2D +	TEXTURE_BUFFER_FORMAT_EXT			= 0x8C2E + +############################################################################### + +# Extension #331 +EXT_texture_compression_latc enum: +	COMPRESSED_LUMINANCE_LATC1_EXT			= 0x8C70 +	COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT		= 0x8C71 +	COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT		= 0x8C72 +	COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT	= 0x8C73 + +############################################################################### + +# Extension #332 +EXT_texture_compression_rgtc enum: +	COMPRESSED_RED_RGTC1_EXT			= 0x8DBB +	COMPRESSED_SIGNED_RED_RGTC1_EXT			= 0x8DBC +	COMPRESSED_RED_GREEN_RGTC2_EXT			= 0x8DBD +	COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT		= 0x8DBE + +############################################################################### + +# Extension #333 +EXT_texture_shared_exponent enum: +	RGB9_E5_EXT					= 0x8C3D +	UNSIGNED_INT_5_9_9_9_REV_EXT			= 0x8C3E +	TEXTURE_SHARED_SIZE_EXT				= 0x8C3F + +############################################################################### + +# Extension #334 +NV_depth_buffer_float enum: +	DEPTH_COMPONENT32F_NV				= 0x8DAB +	DEPTH32F_STENCIL8_NV				= 0x8DAC +	FLOAT_32_UNSIGNED_INT_24_8_REV_NV		= 0x8DAD +	DEPTH_BUFFER_FLOAT_MODE_NV			= 0x8DAF + +############################################################################### + +# No new tokens +# Extension #335 +NV_fragment_program4 enum: + +############################################################################### + +# Extension #336 +NV_framebuffer_multisample_coverage enum: +	RENDERBUFFER_COVERAGE_SAMPLES_NV		= 0x8CAB +	RENDERBUFFER_COLOR_SAMPLES_NV			= 0x8E10 +	MAX_MULTISAMPLE_COVERAGE_MODES_NV		= 0x8E11 +	MULTISAMPLE_COVERAGE_MODES_NV			= 0x8E12 + +############################################################################### + +# Extension #337 +# ??? Also WGL/GLX extensions ??? +EXT_framebuffer_sRGB enum: +	FRAMEBUFFER_SRGB_EXT				= 0x8DB9 +	FRAMEBUFFER_SRGB_CAPABLE_EXT			= 0x8DBA + +############################################################################### + +# No new tokens +# Extension #338 +NV_geometry_shader4 enum: + +############################################################################### + +# Extension #339 +NV_parameter_buffer_object enum: +	MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV	= 0x8DA0 +	MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV		= 0x8DA1 +	VERTEX_PROGRAM_PARAMETER_BUFFER_NV		= 0x8DA2 +	GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV		= 0x8DA3 +	FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV		= 0x8DA4 + +############################################################################### + +# No new tokens +# Extension #340 +EXT_draw_buffers2 enum: + +############################################################################### + +# Extension #341 +NV_transform_feedback enum: +	BACK_PRIMARY_COLOR_NV				= 0x8C77 +	BACK_SECONDARY_COLOR_NV				= 0x8C78 +	TEXTURE_COORD_NV				= 0x8C79 +	CLIP_DISTANCE_NV				= 0x8C7A +	VERTEX_ID_NV					= 0x8C7B +	PRIMITIVE_ID_NV					= 0x8C7C +	GENERIC_ATTRIB_NV				= 0x8C7D +	TRANSFORM_FEEDBACK_ATTRIBS_NV			= 0x8C7E +	TRANSFORM_FEEDBACK_BUFFER_MODE_NV		= 0x8C7F +	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV	= 0x8C80 +	ACTIVE_VARYINGS_NV				= 0x8C81 +	ACTIVE_VARYING_MAX_LENGTH_NV			= 0x8C82 +	TRANSFORM_FEEDBACK_VARYINGS_NV			= 0x8C83 +	TRANSFORM_FEEDBACK_BUFFER_START_NV		= 0x8C84 +	TRANSFORM_FEEDBACK_BUFFER_SIZE_NV		= 0x8C85 +	TRANSFORM_FEEDBACK_RECORD_NV			= 0x8C86 +	PRIMITIVES_GENERATED_NV				= 0x8C87 +	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV	= 0x8C88 +	RASTERIZER_DISCARD_NV				= 0x8C89 +	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV	= 0x8C8A +	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV	= 0x8C8B +	INTERLEAVED_ATTRIBS_NV				= 0x8C8C +	SEPARATE_ATTRIBS_NV				= 0x8C8D +	TRANSFORM_FEEDBACK_BUFFER_NV			= 0x8C8E +	TRANSFORM_FEEDBACK_BUFFER_BINDING_NV		= 0x8C8F + +############################################################################### + +# Extension #342 +EXT_bindable_uniform enum: +	MAX_VERTEX_BINDABLE_UNIFORMS_EXT		= 0x8DE2 +	MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT		= 0x8DE3 +	MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT		= 0x8DE4 +	MAX_BINDABLE_UNIFORM_SIZE_EXT			= 0x8DED +	UNIFORM_BUFFER_EXT				= 0x8DEE +	UNIFORM_BUFFER_BINDING_EXT			= 0x8DEF + +############################################################################### + +# Extension #343 +EXT_texture_integer enum: +	RGBA32UI_EXT					= 0x8D70 +	RGB32UI_EXT					= 0x8D71 +	ALPHA32UI_EXT					= 0x8D72 +	INTENSITY32UI_EXT				= 0x8D73 +	LUMINANCE32UI_EXT				= 0x8D74 +	LUMINANCE_ALPHA32UI_EXT				= 0x8D75 +	RGBA16UI_EXT					= 0x8D76 +	RGB16UI_EXT					= 0x8D77 +	ALPHA16UI_EXT					= 0x8D78 +	INTENSITY16UI_EXT				= 0x8D79 +	LUMINANCE16UI_EXT				= 0x8D7A +	LUMINANCE_ALPHA16UI_EXT				= 0x8D7B +	RGBA8UI_EXT					= 0x8D7C +	RGB8UI_EXT					= 0x8D7D +	ALPHA8UI_EXT					= 0x8D7E +	INTENSITY8UI_EXT				= 0x8D7F +	LUMINANCE8UI_EXT				= 0x8D80 +	LUMINANCE_ALPHA8UI_EXT				= 0x8D81 +	RGBA32I_EXT					= 0x8D82 +	RGB32I_EXT					= 0x8D83 +	ALPHA32I_EXT					= 0x8D84 +	INTENSITY32I_EXT				= 0x8D85 +	LUMINANCE32I_EXT				= 0x8D86 +	LUMINANCE_ALPHA32I_EXT				= 0x8D87 +	RGBA16I_EXT					= 0x8D88 +	RGB16I_EXT					= 0x8D89 +	ALPHA16I_EXT					= 0x8D8A +	INTENSITY16I_EXT				= 0x8D8B +	LUMINANCE16I_EXT				= 0x8D8C +	LUMINANCE_ALPHA16I_EXT				= 0x8D8D +	RGBA8I_EXT					= 0x8D8E +	RGB8I_EXT					= 0x8D8F +	ALPHA8I_EXT					= 0x8D90 +	INTENSITY8I_EXT					= 0x8D91 +	LUMINANCE8I_EXT					= 0x8D92 +	LUMINANCE_ALPHA8I_EXT				= 0x8D93 +	RED_INTEGER_EXT					= 0x8D94 +	GREEN_INTEGER_EXT				= 0x8D95 +	BLUE_INTEGER_EXT				= 0x8D96 +	ALPHA_INTEGER_EXT				= 0x8D97 +	RGB_INTEGER_EXT					= 0x8D98 +	RGBA_INTEGER_EXT				= 0x8D99 +	BGR_INTEGER_EXT					= 0x8D9A +	BGRA_INTEGER_EXT				= 0x8D9B +	LUMINANCE_INTEGER_EXT				= 0x8D9C +	LUMINANCE_ALPHA_INTEGER_EXT			= 0x8D9D +	RGBA_INTEGER_MODE_EXT				= 0x8D9E + +############################################################################### + +# Extension #344 - GLX_EXT_texture_from_pixmap + +############################################################################### + +# No new tokens +# Extension #345 +GREMEDY_frame_terminator enum: + +############################################################################### + +# Extension #346 +NV_conditional_render enum: +	QUERY_WAIT_NV					= 0x8E13 +	QUERY_NO_WAIT_NV				= 0x8E14 +	QUERY_BY_REGION_WAIT_NV				= 0x8E15 +	QUERY_BY_REGION_NO_WAIT_NV			= 0x8E16 + +############################################################################### + +# Extension #347 +NV_present_video enum: +	FRAME_NV					= 0x8E26 +	FIELDS_NV					= 0x8E27 +	CURRENT_TIME_NV					= 0x8E28 +	NUM_FILL_STREAMS_NV				= 0x8E29 +	PRESENT_TIME_NV					= 0x8E2A +	PRESENT_DURATION_NV				= 0x8E2B + +############################################################################### + +# Extension #348 - GLX_NV_video_out +# Extension #349 - WGL_NV_video_out +# Extension #350 - GLX_NV_swap_group +# Extension #351 - WGL_NV_swap_group + +############################################################################### + +# Extension #352 +EXT_transform_feedback enum: +	TRANSFORM_FEEDBACK_BUFFER_EXT			= 0x8C8E +	TRANSFORM_FEEDBACK_BUFFER_START_EXT		= 0x8C84 +	TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT		= 0x8C85 +	TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT		= 0x8C8F +	INTERLEAVED_ATTRIBS_EXT				= 0x8C8C +	SEPARATE_ATTRIBS_EXT				= 0x8C8D +	PRIMITIVES_GENERATED_EXT			= 0x8C87 +	TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT	= 0x8C88 +	RASTERIZER_DISCARD_EXT				= 0x8C89 +	MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A +	MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT	= 0x8C8B +	MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT	= 0x8C80 +	TRANSFORM_FEEDBACK_VARYINGS_EXT			= 0x8C83 +	TRANSFORM_FEEDBACK_BUFFER_MODE_EXT		= 0x8C7F +	TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT	= 0x8C76 + +############################################################################### + +# Extension #353 +EXT_direct_state_access enum: +	PROGRAM_MATRIX_EXT				= 0x8E2D +	TRANSPOSE_PROGRAM_MATRIX_EXT			= 0x8E2E +	PROGRAM_MATRIX_STACK_DEPTH_EXT			= 0x8E2F + +############################################################################### + +# Extension #354 +EXT_vertex_array_bgra enum: +	use VERSION_1_2			    BGRA + +############################################################################### + +# Extension #355 - WGL_NV_gpu_affinity + +############################################################################### + +# Extension #356 +EXT_texture_swizzle enum: +	TEXTURE_SWIZZLE_R_EXT				= 0x8E42 +	TEXTURE_SWIZZLE_G_EXT				= 0x8E43 +	TEXTURE_SWIZZLE_B_EXT				= 0x8E44 +	TEXTURE_SWIZZLE_A_EXT				= 0x8E45 +	TEXTURE_SWIZZLE_RGBA_EXT			= 0x8E46 + +############################################################################### + +# Extension #357 +NV_explicit_multisample enum: +	SAMPLE_POSITION_NV				= 0x8E50 +	SAMPLE_MASK_NV					= 0x8E51 +	SAMPLE_MASK_VALUE_NV				= 0x8E52 +	TEXTURE_BINDING_RENDERBUFFER_NV			= 0x8E53 +	TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV	= 0x8E54 +	TEXTURE_RENDERBUFFER_NV				= 0x8E55 +	SAMPLER_RENDERBUFFER_NV				= 0x8E56 +	INT_SAMPLER_RENDERBUFFER_NV			= 0x8E57 +	UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV		= 0x8E58 +	MAX_SAMPLE_MASK_WORDS_NV			= 0x8E59 + +############################################################################### + +# Extension #358 +NV_transform_feedback2 enum: +	TRANSFORM_FEEDBACK_NV				= 0x8E22 +	TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV		= 0x8E23 +	TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV		= 0x8E24 +	TRANSFORM_FEEDBACK_BINDING_NV			= 0x8E25 + +############################################################################### + +# Extension #359 +ATI_meminfo enum: +	VBO_FREE_MEMORY_ATI				= 0x87FB +	TEXTURE_FREE_MEMORY_ATI				= 0x87FC +	RENDERBUFFER_FREE_MEMORY_ATI			= 0x87FD + +############################################################################### + +# Extension #360 +AMD_performance_monitor enum: +	COUNTER_TYPE_AMD				= 0x8BC0 +	COUNTER_RANGE_AMD				= 0x8BC1 +	UNSIGNED_INT64_AMD				= 0x8BC2 +	PERCENTAGE_AMD					= 0x8BC3 +	PERFMON_RESULT_AVAILABLE_AMD			= 0x8BC4 +	PERFMON_RESULT_SIZE_AMD				= 0x8BC5 +	PERFMON_RESULT_AMD				= 0x8BC6 + +############################################################################### + +# Extension #361 - WGL_AMD_gpu_association + +############################################################################### + +# No new tokens +# Extension #362 +AMD_texture_texture4 enum: + +############################################################################### + +# Extension #363 +AMD_vertex_shader_tesselator enum: +	SAMPLER_BUFFER_AMD				= 0x9001 +	INT_SAMPLER_BUFFER_AMD				= 0x9002 +	UNSIGNED_INT_SAMPLER_BUFFER_AMD			= 0x9003 +	TESSELLATION_MODE_AMD				= 0x9004 +	TESSELLATION_FACTOR_AMD				= 0x9005 +	DISCRETE_AMD					= 0x9006 +	CONTINUOUS_AMD					= 0x9007 + +############################################################################### + +# Extension #364 +EXT_provoking_vertex enum: +	QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT	= 0x8E4C +	FIRST_VERTEX_CONVENTION_EXT			= 0x8E4D +	LAST_VERTEX_CONVENTION_EXT			= 0x8E4E +	PROVOKING_VERTEX_EXT				= 0x8E4F + +############################################################################### + +# Extension #365 +EXT_texture_snorm enum: +	ALPHA_SNORM					= 0x9010 +	LUMINANCE_SNORM					= 0x9011 +	LUMINANCE_ALPHA_SNORM				= 0x9012 +	INTENSITY_SNORM					= 0x9013 +	ALPHA8_SNORM					= 0x9014 +	LUMINANCE8_SNORM				= 0x9015 +	LUMINANCE8_ALPHA8_SNORM				= 0x9016 +	INTENSITY8_SNORM				= 0x9017 +	ALPHA16_SNORM					= 0x9018 +	LUMINANCE16_SNORM				= 0x9019 +	LUMINANCE16_ALPHA16_SNORM			= 0x901A +	INTENSITY16_SNORM				= 0x901B +	use VERSION_3_1			    RED_SNORM +	use VERSION_3_1			    RG_SNORM +	use VERSION_3_1			    RGB_SNORM +	use VERSION_3_1			    RGBA_SNORM +	use VERSION_3_1			    R8_SNORM +	use VERSION_3_1			    RG8_SNORM +	use VERSION_3_1			    RGB8_SNORM +	use VERSION_3_1			    RGBA8_SNORM +	use VERSION_3_1			    R16_SNORM +	use VERSION_3_1			    RG16_SNORM +	use VERSION_3_1			    RGB16_SNORM +	use VERSION_3_1			    RGBA16_SNORM +	use VERSION_3_1			    SIGNED_NORMALIZED + +############################################################################### + +# No new tokens +# Extension #366 +AMD_draw_buffers_blend enum: + +############################################################################### + +# Extension #367 +APPLE_texture_range enum: +	TEXTURE_RANGE_LENGTH_APPLE			= 0x85B7 +	TEXTURE_RANGE_POINTER_APPLE			= 0x85B8 +	TEXTURE_STORAGE_HINT_APPLE			= 0x85BC +	STORAGE_PRIVATE_APPLE				= 0x85BD +	use APPLE_vertex_array_range	    STORAGE_CACHED_APPLE +	use APPLE_vertex_array_range	    STORAGE_SHARED_APPLE + +############################################################################### + +# Extension #368 +APPLE_float_pixels enum: +	HALF_APPLE					= 0x140B +	RGBA_FLOAT32_APPLE				= 0x8814 +	RGB_FLOAT32_APPLE				= 0x8815 +	ALPHA_FLOAT32_APPLE				= 0x8816 +	INTENSITY_FLOAT32_APPLE				= 0x8817 +	LUMINANCE_FLOAT32_APPLE				= 0x8818 +	LUMINANCE_ALPHA_FLOAT32_APPLE			= 0x8819 +	RGBA_FLOAT16_APPLE				= 0x881A +	RGB_FLOAT16_APPLE				= 0x881B +	ALPHA_FLOAT16_APPLE				= 0x881C +	INTENSITY_FLOAT16_APPLE				= 0x881D +	LUMINANCE_FLOAT16_APPLE				= 0x881E +	LUMINANCE_ALPHA_FLOAT16_APPLE			= 0x881F +	COLOR_FLOAT_APPLE				= 0x8A0F + +############################################################################### + +# Extension #369 +APPLE_vertex_program_evaluators enum: +	VERTEX_ATTRIB_MAP1_APPLE			= 0x8A00 +	VERTEX_ATTRIB_MAP2_APPLE			= 0x8A01 +	VERTEX_ATTRIB_MAP1_SIZE_APPLE			= 0x8A02 +	VERTEX_ATTRIB_MAP1_COEFF_APPLE			= 0x8A03 +	VERTEX_ATTRIB_MAP1_ORDER_APPLE			= 0x8A04 +	VERTEX_ATTRIB_MAP1_DOMAIN_APPLE			= 0x8A05 +	VERTEX_ATTRIB_MAP2_SIZE_APPLE			= 0x8A06 +	VERTEX_ATTRIB_MAP2_COEFF_APPLE			= 0x8A07 +	VERTEX_ATTRIB_MAP2_ORDER_APPLE			= 0x8A08 +	VERTEX_ATTRIB_MAP2_DOMAIN_APPLE			= 0x8A09 + +############################################################################### + +# Extension #370 +APPLE_aux_depth_stencil enum: +	AUX_DEPTH_STENCIL_APPLE				= 0x8A14 + +############################################################################### + +# Extension #371 +APPLE_object_purgeable enum: +	BUFFER_OBJECT_APPLE				= 0x85B3 +	RELEASED_APPLE					= 0x8A19 +	VOLATILE_APPLE					= 0x8A1A +	RETAINED_APPLE					= 0x8A1B +	UNDEFINED_APPLE					= 0x8A1C +	PURGEABLE_APPLE					= 0x8A1D + +############################################################################### + +# Extension #372 +APPLE_row_bytes enum: +	PACK_ROW_BYTES_APPLE				= 0x8A15 +	UNPACK_ROW_BYTES_APPLE				= 0x8A16 + +############################################################################### + +# Extension #373 +APPLE_rgb_422 enum: +	RGB_422_APPLE					= 0x8A1F +	use APPLE_ycbcr_422		    UNSIGNED_SHORT_8_8_APPLE +	use APPLE_ycbcr_422		    UNSIGNED_SHORT_8_8_REV_APPLE + +############################################################################### + +# Extension #374 + +NV_video_capture enum: +	VIDEO_BUFFER_NV					= 0x9020 +	VIDEO_BUFFER_BINDING_NV				= 0x9021 +	FIELD_UPPER_NV					= 0x9022 +	FIELD_LOWER_NV					= 0x9023 +	NUM_VIDEO_CAPTURE_STREAMS_NV			= 0x9024 +	NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV		= 0x9025 +	VIDEO_CAPTURE_TO_422_SUPPORTED_NV		= 0x9026 +	LAST_VIDEO_CAPTURE_STATUS_NV			= 0x9027 +	VIDEO_BUFFER_PITCH_NV				= 0x9028 +	VIDEO_COLOR_CONVERSION_MATRIX_NV		= 0x9029 +	VIDEO_COLOR_CONVERSION_MAX_NV			= 0x902A +	VIDEO_COLOR_CONVERSION_MIN_NV			= 0x902B +	VIDEO_COLOR_CONVERSION_OFFSET_NV		= 0x902C +	VIDEO_BUFFER_INTERNAL_FORMAT_NV			= 0x902D +	PARTIAL_SUCCESS_NV				= 0x902E +	SUCCESS_NV					= 0x902F +	FAILURE_NV					= 0x9030 +	YCBYCR8_422_NV					= 0x9031 +	YCBAYCR8A_4224_NV				= 0x9032 +	Z6Y10Z6CB10Z6Y10Z6CR10_422_NV			= 0x9033 +	Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV	= 0x9034 +	Z4Y12Z4CB12Z4Y12Z4CR12_422_NV			= 0x9035 +	Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV	= 0x9036 +	Z4Y12Z4CB12Z4CR12_444_NV			= 0x9037 +	VIDEO_CAPTURE_FRAME_WIDTH_NV			= 0x9038 +	VIDEO_CAPTURE_FRAME_HEIGHT_NV			= 0x9039 +	VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV		= 0x903A +	VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV		= 0x903B +	VIDEO_CAPTURE_SURFACE_ORIGIN_NV			= 0x903C + +############################################################################### + +# Extension #375 - GLX_EXT_swap_control + +############################################################################### + +# No new tokens +# Extension #376 - also GLX_NV_copy_image, WGL_NV_copy_image +NV_copy_image enum: + +############################################################################### + +# Extension #377 +EXT_separate_shader_objects enum: +	ACTIVE_PROGRAM_EXT				= 0x8B8D + +############################################################################### + +# No new tokens +# Extension #378 +NV_parameter_buffer_object2 enum: + +############################################################################### + +# Extension #379 +NV_shader_buffer_load enum: +	BUFFER_GPU_ADDRESS_NV				= 0x8F1D +	GPU_ADDRESS_NV					= 0x8F34 +	MAX_SHADER_BUFFER_ADDRESS_NV			= 0x8F35 + +############################################################################### + +# Extension #380 +NV_vertex_buffer_unified_memory enum: +	VERTEX_ATTRIB_ARRAY_UNIFIED_NV			= 0x8F1E +	ELEMENT_ARRAY_UNIFIED_NV			= 0x8F1F +	VERTEX_ATTRIB_ARRAY_ADDRESS_NV			= 0x8F20 +	VERTEX_ARRAY_ADDRESS_NV				= 0x8F21 +	NORMAL_ARRAY_ADDRESS_NV				= 0x8F22 +	COLOR_ARRAY_ADDRESS_NV				= 0x8F23 +	INDEX_ARRAY_ADDRESS_NV				= 0x8F24 +	TEXTURE_COORD_ARRAY_ADDRESS_NV			= 0x8F25 +	EDGE_FLAG_ARRAY_ADDRESS_NV			= 0x8F26 +	SECONDARY_COLOR_ARRAY_ADDRESS_NV		= 0x8F27 +	FOG_COORD_ARRAY_ADDRESS_NV			= 0x8F28 +	ELEMENT_ARRAY_ADDRESS_NV			= 0x8F29 +	VERTEX_ATTRIB_ARRAY_LENGTH_NV			= 0x8F2A +	VERTEX_ARRAY_LENGTH_NV				= 0x8F2B +	NORMAL_ARRAY_LENGTH_NV				= 0x8F2C +	COLOR_ARRAY_LENGTH_NV				= 0x8F2D +	INDEX_ARRAY_LENGTH_NV				= 0x8F2E +	TEXTURE_COORD_ARRAY_LENGTH_NV			= 0x8F2F +	EDGE_FLAG_ARRAY_LENGTH_NV			= 0x8F30 +	SECONDARY_COLOR_ARRAY_LENGTH_NV			= 0x8F31 +	FOG_COORD_ARRAY_LENGTH_NV			= 0x8F32 +	ELEMENT_ARRAY_LENGTH_NV				= 0x8F33 + +############################################################################### + +# No new tokens +# Extension #381 +NV_texture_barrier enum: + +############################################################################### + +# No new tokens +# Extension #382 +AMD_shader_stencil_export enum: + +############################################################################### + +# Extension #383 +AMD_seamless_cubemap_per_texture enum: +    use ARB_seamless_cube_map		    TEXTURE_CUBE_MAP_SEAMLESS_ARB + +############################################################################### + +# Extension #384 - GLX_INTEL_swap_event + +############################################################################### + +# No new tokens +# Extension #385 +AMD_conservative_depth enum: + diff --git a/src/glx/apple/specs/gl.spec b/src/glx/apple/specs/gl.spec new file mode 100644 index 0000000000..bc054f8643 --- /dev/null +++ b/src/glx/apple/specs/gl.spec @@ -0,0 +1,28563 @@ +# gl.spec file +# DON'T REMOVE PREVIOUS LINE!!! libspec depends on it! +# +# Copyright (c) 1991-2005 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2006-2010 The Khronos Group Inc. +# +# This document is licensed under the SGI Free Software B License Version +# 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . +# +# $Revision: 10971 $ on $Date: 2010-04-09 02:45:33 -0700 (Fri, 09 Apr 2010) $ + +required-props: +# Description of a parameter +param:		retval retained +# Display list flags +dlflags:	notlistable handcode +# GLX implementation flags +glxflags:	client-intercept client-handcode server-handcode EXT SGI ignore ARB +# Vector ('v') equivalent form of a command taking 1-4 explicit xyzw/rgba arguments +vectorequiv:	* +# Category this function falls in. While there are many categories for +# early GL 1.0 functions, later functions just have a core version +# (e.g. VERSION_major_minor) or extension name for the category. +category:	display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform VERSION_1_0 VERSION_1_0_DEPRECATED VERSION_1_1 VERSION_1_1_DEPRECATED VERSION_1_2 VERSION_1_2_DEPRECATED VERSION_1_3 VERSION_1_3_DEPRECATED VERSION_1_4 VERSION_1_4_DEPRECATED VERSION_1_5 VERSION_2_0 VERSION_2_1 VERSION_3_0 VERSION_3_0_DEPRECATED VERSION_3_1 VERSION_3_2 VERSION_3_3 VERSION_4_0 ATI_element_array ATI_envmap_bumpmap ATI_fragment_shader ATI_pn_triangles ATI_vertex_array_object ATI_vertex_streams EXT_blend_color EXT_blend_minmax EXT_convolution EXT_copy_texture EXT_histogram EXT_polygon_offset EXT_subtexture EXT_texture3D EXT_texture_object EXT_vertex_array EXT_vertex_shader SGIS_detail_texture SGIS_multisample SGIS_pixel_texture ARB_point_parameters EXT_point_parameters SGIS_point_parameters SGIS_sharpen_texture SGIS_texture4D SGIS_texture_filter4 SGIX_async SGIX_flush_raster SGIX_fragment_lighting SGIX_framezoom SGIX_igloo_interface SGIX_instruments SGIX_list_priority SGIX_pixel_texture SGIX_polynomial_ffd SGIX_reference_plane SGIX_sprite SGIX_tag_sample_buffer SGI_color_table ARB_multitexture ARB_multisample ARB_texture_compression ARB_transpose_matrix ARB_vertex_blend ARB_matrix_palette EXT_compiled_vertex_array EXT_cull_vertex EXT_index_func EXT_index_material EXT_draw_range_elements EXT_vertex_weighting INGR_blend_func_separate NV_evaluators NV_fence NV_occlusion_query NV_point_sprite NV_register_combiners NV_register_combiners2 NV_vertex_array_range NV_vertex_program NV_vertex_program1_1_dcc MESA_resize_buffers MESA_window_pos PGI_misc_hints EXT_fog_coord EXT_blend_func_separate EXT_color_subtable EXT_coordinate_frame EXT_light_texture EXT_multi_draw_arrays EXT_paletted_texture EXT_pixel_transform EXT_secondary_color EXT_texture_perturb_normal HP_image_transform IBM_multimode_draw_arrays IBM_vertex_array_lists INTEL_parallel_arrays SUNX_constant_data SUN_global_alpha SUN_mesh_array SUN_triangle_list SUN_vertex 3DFX_tbuffer EXT_multisample SGIS_fog_function SGIS_texture_color_mask ARB_window_pos EXT_stencil_two_side EXT_depth_bounds_test EXT_blend_equation_separate ARB_vertex_program ARB_fragment_program ARB_vertex_buffer_object ARB_occlusion_query ARB_shader_objects ARB_vertex_shader ARB_fragment_shader S3_s3tc ATI_draw_buffers ATI_texture_env_combine3 ATI_texture_float NV_float_buffer NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart NV_texture_expand_normal NV_texture_expand_normal NV_vertex_program2 APPLE_element_array APPLE_fence APPLE_vertex_array_object APPLE_vertex_array_range ATI_draw_buffers NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart ATI_map_object_buffer ATI_separate_stencil ATI_vertex_attrib_array_object ARB_draw_buffers ARB_texture_rectangle ARB_color_buffer_float EXT_framebuffer_object GREMEDY_string_marker EXT_stencil_clear_tag EXT_framebuffer_blit EXT_framebuffer_multisample MESAX_texture_stack EXT_timer_query EXT_gpu_program_parameters APPLE_flush_buffer_range NV_gpu_program4 NV_geometry_program4 EXT_geometry_shader4 NV_vertex_program4 EXT_gpu_shader4 EXT_draw_instanced EXT_texture_buffer_object NV_depth_buffer_float NV_framebuffer_multisample_coverage NV_parameter_buffer_object EXT_draw_buffers2 NV_transform_feedback EXT_bindable_uniform EXT_texture_integer GREMEDY_frame_terminator NV_conditional_render NV_present_video EXT_transform_feedback ARB_depth_buffer_float ARB_draw_instanced ARB_framebuffer_object ARB_framebuffer_sRGB ARB_geometry_shader4 ARB_half_float_vertex ARB_instanced_arrays ARB_map_buffer_range ARB_texture_buffer_object ARB_texture_compression_rgtc ARB_texture_rg ARB_vertex_array_object EXT_direct_state_access EXT_vertex_array_bgra EXT_texture_swizzle NV_explicit_multisample NV_transform_feedback2 ATI_meminfo AMD_performance_monitor AMD_vertex_shader_tesselator EXT_provoking_vertex ARB_uniform_buffer_object ARB_copy_buffer EXT_texture_snorm AMD_draw_buffers_blend APPLE_texture_range APPLE_float_pixels APPLE_vertex_program_evaluators APPLE_aux_depth_stencil APPLE_object_purgeable APPLE_row_bytes ARB_draw_elements_base_vertex ARB_provoking_vertex ARB_sync ARB_texture_multisample ARB_draw_buffers_blend ARB_sample_shading NV_video_capture NV_copy_image EXT_separate_shader_objects NV_parameter_buffer_object2 NV_shader_buffer_load NV_vertex_buffer_unified_memory NV_texture_barrier ARB_shading_language_include ARB_blend_func_extended ARB_sampler_objects ARB_timer_query ARB_vertex_type_2_10_10_10_rev ARB_draw_indirect ARB_gpu_shader_fp64 ARB_shader_subroutine ARB_tessellation_shader ARB_transform_feedback2 ARB_transform_feedback3 AMD_conservative_depth + +# Categories for extensions with no functions - need not be included now +# ARB_texture_env_add ARB_texture_cube_map ARB_texture_border_clamp +# ARB_shading_language_100 ARB_texture_non_power_of_two ARB_point_sprite +# ARB_half_float_pixel ARB_texture_float ARB_pixel_buffer_object EXT_abgr +# EXT_texture SGI_color_matrix SGI_texture_color_table EXT_cmyka +# EXT_packed_pixels SGIS_texture_lod EXT_rescale_normal EXT_misc_attribute +# SGIS_generate_mipmap SGIX_clipmap SGIX_shadow SGIS_texture_edge_clamp +# SGIS_texture_border_clamp EXT_blend_subtract EXT_blend_logic_op +# SGIX_async_histogram SGIX_async_pixel SGIX_interlace SGIX_pixel_tiles +# SGIX_texture_select SGIX_texture_multi_buffer SGIX_texture_scale_bias +# SGIX_depth_texture SGIX_fog_offset HP_convolution_border_modes +# SGIX_texture_add_env PGI_vertex_hints EXT_clip_volume_hint +# SGIX_ir_instrument1 SGIX_calligraphic_fragment SGIX_texture_lod_bias +# SGIX_shadow_ambient EXT_index_texture EXT_index_array_formats SGIX_ycrcb +# IBM_rasterpos_clip HP_texture_lighting WIN_phong_shading +# WIN_specular_fog SGIX_blend_alpha_minmax EXT_bgra HP_occlusion_test +# EXT_pixel_transform_color_table EXT_shared_texture_palette +# EXT_separate_specular_color EXT_texture_env REND_screen_coordinates +# EXT_texture_env_combine APPLE_specular_vector APPLE_transform_hint +# SGIX_fog_scale INGR_color_clamp INGR_interlace_read EXT_stencil_wrap +# EXT_422_pixels NV_texgen_reflection SUN_convolution_border_modes +# SUN_slice_accum EXT_texture_env_add EXT_texture_lod_bias +# EXT_texture_filter_anisotropic NV_light_max_exponent NV_fog_distance +# NV_texgen_emboss NV_blend_square NV_texture_env_combine4 +# NV_packed_depth_stencil NV_texture_compression_vtc NV_texture_rectangle +# NV_texture_shader NV_texture_shader2 NV_vertex_array_range2 +# IBM_cull_vertex SGIX_subsample SGIX_ycrcba SGIX_ycrcb_subsample +# SGIX_depth_pass_instrument 3DFX_texture_compression_FXT1 +# 3DFX_multisample SGIX_vertex_preclip SGIX_convolution_accuracy +# SGIX_resample SGIX_scalebias_hint SGIX_texture_coordinate_clamp +# EXT_shadow_funcs MESA_pack_invert MESA_ycbcr_texture EXT_packed_float +# EXT_texture_array EXT_texture_compression_latc +# EXT_texture_compression_rgtc EXT_texture_shared_exponent +# NV_fragment_program4 EXT_framebuffer_sRGB NV_geometry_shader4 +# EXT_vertex_array_bgra ARB_depth_clamp ARB_fragment_coord_conventions +# ARB_seamless_cube_map ARB_vertex_array_bgra ARB_texture_cube_map_array +# ARB_texture_gather ARB_texture_query_lod +# AMD_shader_stencil_export AMD_seamless_cubemap_per_texture + +# Core version in which a function was introduced, or against +# which an extension can be implemented +version:	1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.1 3.0 3.1 3.2 3.3 4.0 +# Core version in which a function was removed +deprecated:	3.1 +# GLX Single, Rendering, or Vendor Private opcode +glxsingle:	* +glxropcode:	* +glxvendorpriv:	* +# WGL implementation flags (incomplete) +wglflags:	client-handcode server-handcode small-data batchable +# Drivers in which this is implemented (very incomplete) +extension:	future not_implemented soft WINSOFT NV10 NV20 NV50 +# Function this aliases (indistinguishable to the GL) +alias:		* +# Mesa dispatch table offset (incomplete) +offset:		* +# These properties are picked up from NVIDIA .spec files, we don't use them +glfflags:	* +beginend:	* +glxvectorequiv: * +subcategory:	* +glextmask:	* + +############################################################################### +# +# glxsingle, glxropcode, and other GLX allocations to vendors +# are used here, but the master registry for GLX is in +# /ogl/trunk/doc/registry/extensions.reserved +# +# XFree86 dispatch offsets:	0-645 +#				578-641     NV_vertex_program +# GLS opcodes:			0x0030-0x0269 +# +############################################################################### + +############################################################################### +# +# things to remember when adding an extension command +# +# - append new ARB and non-ARB extensions to the appropriate portion of +#   the spec file, in extension number order. +# - use tabs, not spaces +# - set glxflags to "ignore" until GLX is updated to support the new command +# - add new data types to typemaps/spec2wire.map +# - add extension name in alphabetical order to category list +# - add commands within an extension in spec order +# - use existing command entries as a model (where possible) +# - when reserving new glxropcodes, update +#	gfx/lib/opengl/doc/glspec/extensions.reserved to indicate this +# +############################################################################### + +# New type declarations + +passthru: #include <stddef.h> + +passthru: #ifndef GL_VERSION_2_0 +passthru: /* GL type for program/shader text */ +passthru: typedef char GLchar; +passthru: #endif +passthru: +passthru: #ifndef GL_VERSION_1_5 +passthru: /* GL types for handling large vertex buffer objects */ +passthru: typedef ptrdiff_t GLintptr; +passthru: typedef ptrdiff_t GLsizeiptr; +passthru: #endif +passthru: +passthru: #ifndef GL_ARB_vertex_buffer_object +passthru: /* GL types for handling large vertex buffer objects */ +passthru: typedef ptrdiff_t GLintptrARB; +passthru: typedef ptrdiff_t GLsizeiptrARB; +passthru: #endif +passthru: +passthru: #ifndef GL_ARB_shader_objects +passthru: /* GL types for program/shader text and shader object handles */ +passthru: typedef char GLcharARB; +passthru: typedef unsigned int GLhandleARB; +passthru: #endif +passthru: +passthru: /* GL type for "half" precision (s10e5) float data in host memory */ +passthru: #ifndef GL_ARB_half_float_pixel +passthru: typedef unsigned short GLhalfARB; +passthru: #endif +passthru: +passthru: #ifndef GL_NV_half_float +passthru: typedef unsigned short GLhalfNV; +passthru: #endif +passthru: +passthru: #ifndef GLEXT_64_TYPES_DEFINED +passthru: /* This code block is duplicated in glxext.h, so must be protected */ +passthru: #define GLEXT_64_TYPES_DEFINED +passthru: /* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +passthru: /* (as used in the GL_EXT_timer_query extension). */ +passthru: #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +passthru: #include <inttypes.h> +passthru: #elif defined(__sun__) || defined(__digital__) +passthru: #include <inttypes.h> +passthru: #if defined(__STDC__) +passthru: #if defined(__arch64__) || defined(_LP64) +passthru: typedef long int int64_t; +passthru: typedef unsigned long int uint64_t; +passthru: #else +passthru: typedef long long int int64_t; +passthru: typedef unsigned long long int uint64_t; +passthru: #endif /* __arch64__ */ +passthru: #endif /* __STDC__ */ +passthru: #elif defined( __VMS ) || defined(__sgi) +passthru: #include <inttypes.h> +passthru: #elif defined(__SCO__) || defined(__USLC__) +passthru: #include <stdint.h> +passthru: #elif defined(__UNIXOS2__) || defined(__SOL64__) +passthru: typedef long int int32_t; +passthru: typedef long long int int64_t; +passthru: typedef unsigned long long int uint64_t; +passthru: #elif defined(_WIN32) && defined(__GNUC__) +passthru: #include <stdint.h> +passthru: #elif defined(_WIN32) +passthru: typedef __int32 int32_t; +passthru: typedef __int64 int64_t; +passthru: typedef unsigned __int64 uint64_t; +passthru: #else +passthru: /* Fallback if nothing above works */ +passthru: #include <inttypes.h> +passthru: #endif +passthru: #endif +passthru: +passthru: #ifndef GL_EXT_timer_query +passthru: typedef int64_t GLint64EXT; +passthru: typedef uint64_t GLuint64EXT; +passthru: #endif +passthru: +passthru: #ifndef ARB_sync +passthru: typedef int64_t GLint64; +passthru: typedef uint64_t GLuint64; +passthru: typedef struct __GLsync *GLsync; +passthru: #endif +passthru: + +############################################################################### +############################################################################### +# +# OpenGL 1.0 commands +# +############################################################################### +############################################################################### + +############################################################################### +# +# drawing-control commands +# +############################################################################### + +CullFace(mode) +	return		void +	param		mode		CullFaceMode in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	79 +	offset		152 + +FrontFace(mode) +	return		void +	param		mode		FrontFaceDirection in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	84 +	offset		157 + +Hint(target, mode) +	return		void +	param		target		HintTarget in value +	param		mode		HintMode in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	85 +	offset		158 + +LineWidth(width) +	return		void +	param		width		CheckedFloat32 in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	95 +	offset		168 + +PointSize(size) +	return		void +	param		size		CheckedFloat32 in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	100 +	offset		173 + +PolygonMode(face, mode) +	return		void +	param		face		MaterialFace in value +	param		mode		PolygonMode in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	101 +	offset		174 + +Scissor(x, y, width, height) +	return		void +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	103 +	offset		176 + +TexParameterf(target, pname, param) +	return		void +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		param		CheckedFloat32 in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	105 +	wglflags	small-data +	offset		178 + +TexParameterfv(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	106 +	wglflags	small-data +	offset		179 + +TexParameteri(target, pname, param) +	return		void +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		param		CheckedInt32 in value +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	107 +	wglflags	small-data +	offset		180 + +TexParameteriv(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: drawing-control +	version		1.0 +	glxropcode	108 +	wglflags	small-data +	offset		181 + +TexImage1D(target, level, internalformat, width, border, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureComponentCount in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width)] +	category	VERSION_1_0		   # old: drawing-control +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	glxropcode	109 +	wglflags	client-handcode server-handcode +	offset		182 + +TexImage2D(target, level, internalformat, width, height, border, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureComponentCount in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height)] +	category	VERSION_1_0		   # old: drawing-control +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	glxropcode	110 +	wglflags	client-handcode server-handcode +	offset		183 + +############################################################################### +# +# framebuf commands +# +############################################################################### + +DrawBuffer(mode) +	return		void +	param		mode		DrawBufferMode in value +	category	VERSION_1_0		   # old: framebuf +	version		1.0 +	glxropcode	126 +	offset		202 + +Clear(mask) +	return		void +	param		mask		ClearBufferMask in value +	category	VERSION_1_0		   # old: framebuf +	version		1.0 +	glxropcode	127 +	offset		203 + +ClearColor(red, green, blue, alpha) +	return		void +	param		red		ClampedColorF in value +	param		green		ClampedColorF in value +	param		blue		ClampedColorF in value +	param		alpha		ClampedColorF in value +	category	VERSION_1_0		   # old: framebuf +	version		1.0 +	glxropcode	130 +	offset		206 + +ClearStencil(s) +	return		void +	param		s		StencilValue in value +	category	VERSION_1_0		   # old: framebuf +	version		1.0 +	glxropcode	131 +	offset		207 + +ClearDepth(depth) +	return		void +	param		depth		ClampedFloat64 in value +	category	VERSION_1_0		   # old: framebuf +	version		1.0 +	glxropcode	132 +	offset		208 + +StencilMask(mask) +	return		void +	param		mask		MaskedStencilValue in value +	category	VERSION_1_0		   # old: framebuf +	version		1.0 +	glxropcode	133 +	offset		209 + +ColorMask(red, green, blue, alpha) +	return		void +	param		red		Boolean in value +	param		green		Boolean in value +	param		blue		Boolean in value +	param		alpha		Boolean in value +	category	VERSION_1_0		   # old: framebuf +	version		1.0 +	glxropcode	134 +	offset		210 + +DepthMask(flag) +	return		void +	param		flag		Boolean in value +	category	VERSION_1_0		   # old: framebuf +	version		1.0 +	glxropcode	135 +	offset		211 + +############################################################################### +# +# misc commands +# +############################################################################### + +Disable(cap) +	return		void +	param		cap		EnableCap in value +	category	VERSION_1_0		   # old: misc +	version		1.0 +	dlflags		handcode +	glxflags	client-handcode client-intercept +	glxropcode	138 +	offset		214 + +Enable(cap) +	return		void +	param		cap		EnableCap in value +	category	VERSION_1_0		   # old: misc +	version		1.0 +	dlflags		handcode +	glxflags	client-handcode client-intercept +	glxropcode	139 +	offset		215 + +Finish() +	return		void +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	VERSION_1_0		   # old: misc +	version		1.0 +	glxsingle	108 +	offset		216 + +Flush() +	return		void +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	category	VERSION_1_0		   # old: misc +	version		1.0 +	glxsingle	142 +	offset		217 + +############################################################################### +# +# pixel-op commands +# +############################################################################### + +BlendFunc(sfactor, dfactor) +	return		void +	param		sfactor		BlendingFactorSrc in value +	param		dfactor		BlendingFactorDest in value +	category	VERSION_1_0		   # old: pixel-op +	version		1.0 +	glxropcode	160 +	offset		241 + +LogicOp(opcode) +	return		void +	param		opcode		LogicOp in value +	category	VERSION_1_0		   # old: pixel-op +	version		1.0 +	glxropcode	161 +	offset		242 + +StencilFunc(func, ref, mask) +	return		void +	param		func		StencilFunction in value +	param		ref		ClampedStencilValue in value +	param		mask		MaskedStencilValue in value +	category	VERSION_1_0		   # old: pixel-op +	version		1.0 +	glxropcode	162 +	offset		243 + +StencilOp(fail, zfail, zpass) +	return		void +	param		fail		StencilOp in value +	param		zfail		StencilOp in value +	param		zpass		StencilOp in value +	category	VERSION_1_0		   # old: pixel-op +	version		1.0 +	glxropcode	163 +	offset		244 + +DepthFunc(func) +	return		void +	param		func		DepthFunction in value +	category	VERSION_1_0		   # old: pixel-op +	version		1.0 +	glxropcode	164 +	offset		245 + +############################################################################### +# +# pixel-rw commands +# +############################################################################### + +PixelStoref(pname, param) +	return		void +	param		pname		PixelStoreParameter in value +	param		param		CheckedFloat32 in value +	dlflags		notlistable +	glxflags	client-handcode +	category	VERSION_1_0		   # old: pixel-rw +	version		1.0 +	glxsingle	109 +	wglflags	batchable +	offset		249 + +PixelStorei(pname, param) +	return		void +	param		pname		PixelStoreParameter in value +	param		param		CheckedInt32 in value +	dlflags		notlistable +	glxflags	client-handcode +	category	VERSION_1_0		   # old: pixel-rw +	version		1.0 +	glxsingle	110 +	wglflags	batchable +	offset		250 + +ReadBuffer(mode) +	return		void +	param		mode		ReadBufferMode in value +	category	VERSION_1_0		   # old: pixel-rw +	version		1.0 +	glxropcode	171 +	offset		254 + +ReadPixels(x, y, width, height, format, type, pixels) +	return		void +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void out array [COMPSIZE(format/type/width/height)] +	category	VERSION_1_0		   # old: pixel-rw +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.0 +	glxsingle	111 +	wglflags	client-handcode server-handcode +	offset		256 + +############################################################################### +# +# state-req commands +# +############################################################################### + +GetBooleanv(pname, params) +	return		void +	param		pname		GetPName in value +	param		params		Boolean out array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	glxflags	client-handcode +	version		1.0 +	glxsingle	112 +	wglflags	small-data +	offset		258 + +GetDoublev(pname, params) +	return		void +	param		pname		GetPName in value +	param		params		Float64 out array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	glxflags	client-handcode +	version		1.0 +	glxsingle	114 +	wglflags	small-data +	offset		260 + +GetError() +	return		ErrorCode +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	glxflags	client-handcode +	version		1.0 +	glxsingle	115 +	offset		261 + +GetFloatv(pname, params) +	return		void +	param		pname		GetPName in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	glxflags	client-handcode +	version		1.0 +	glxsingle	116 +	wglflags	small-data +	offset		262 + +GetIntegerv(pname, params) +	return		void +	param		pname		GetPName in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	glxflags	client-handcode +	version		1.0 +	glxsingle	117 +	wglflags	small-data +	offset		263 + +GetString(name) +	return		String +	param		name		StringName in value +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.0 +	glxsingle	129 +	wglflags	client-handcode server-handcode +	offset		275 + +GetTexImage(target, level, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void out array [COMPSIZE(target/level/format/type)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.0 +	glxsingle	135 +	wglflags	client-handcode server-handcode +	offset		281 + +GetTexParameterfv(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	version		1.0 +	glxsingle	136 +	wglflags	small-data +	offset		282 + +GetTexParameteriv(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	version		1.0 +	glxsingle	137 +	wglflags	small-data +	offset		283 + +GetTexLevelParameterfv(target, level, pname, params) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		pname		GetTextureParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	version		1.0 +	glxsingle	138 +	wglflags	small-data +	offset		284 + +GetTexLevelParameteriv(target, level, pname, params) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	version		1.0 +	glxsingle	139 +	wglflags	small-data +	offset		285 + +IsEnabled(cap) +	return		Boolean +	param		cap		EnableCap in value +	category	VERSION_1_0		   # old: state-req +	dlflags		notlistable +	version		1.0 +	glxflags	client-handcode client-intercept +	glxsingle	140 +	offset		286 + +############################################################################### +# +# xform commands +# +############################################################################### + +DepthRange(near, far) +	return		void +	param		near		ClampedFloat64 in value +	param		far		ClampedFloat64 in value +	category	VERSION_1_0		   # old: xform +	version		1.0 +	glxropcode	174 +	offset		288 + +Viewport(x, y, width, height) +	return		void +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	VERSION_1_0		   # old: xform +	version		1.0 +	glxropcode	191 +	offset		305 + +############################################################################### +############################################################################### +# +# OpenGL 1.0 deprecated commands +# +############################################################################### +############################################################################### + +# display-list commands + +NewList(list, mode) +	return		void +	param		list		List in value +	param		mode		ListMode in value +	dlflags		notlistable +	category	VERSION_1_0_DEPRECATED	   # old: display-list +	version		1.0 +	deprecated	3.1 +	glxsingle	101 +	wglflags	batchable +	offset		0 + +EndList() +	return		void +	dlflags		notlistable +	category	VERSION_1_0_DEPRECATED	   # old: display-list +	version		1.0 +	deprecated	3.1 +	glxsingle	102 +	wglflags	batchable +	offset		1 + +CallList(list) +	return		void +	param		list		List in value +	category	VERSION_1_0_DEPRECATED	   # old: display-list +	version		1.0 +	deprecated	3.1 +	glxropcode	1 +	offset		2 + +CallLists(n, type, lists) +	return		void +	param		n		SizeI in value +	param		type		ListNameType in value +	param		lists		Void in array [COMPSIZE(n/type)] +	category	VERSION_1_0_DEPRECATED	   # old: display-list +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	2 +	offset		3 + +DeleteLists(list, range) +	return		void +	param		list		List in value +	param		range		SizeI in value +	dlflags		notlistable +	category	VERSION_1_0_DEPRECATED	   # old: display-list +	version		1.0 +	deprecated	3.1 +	glxsingle	103 +	wglflags	batchable +	offset		4 + +GenLists(range) +	return		List +	param		range		SizeI in value +	dlflags		notlistable +	category	VERSION_1_0_DEPRECATED	   # old: display-list +	version		1.0 +	deprecated	3.1 +	glxsingle	104 +	offset		5 + +ListBase(base) +	return		void +	param		base		List in value +	category	VERSION_1_0_DEPRECATED	   # old: display-list +	version		1.0 +	deprecated	3.1 +	glxropcode	3 +	offset		6 + +# drawing commands + +Begin(mode) +	return		void +	param		mode		BeginMode in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	4 +	offset		7 + +Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap) +	return		void +	param		width		SizeI in value +	param		height		SizeI in value +	param		xorig		CoordF in value +	param		yorig		CoordF in value +	param		xmove		CoordF in value +	param		ymove		CoordF in value +	param		bitmap		UInt8 in array [COMPSIZE(width/height)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	5 +	wglflags	client-handcode server-handcode +	offset		8 + +Color3b(red, green, blue) +	return		void +	param		red		ColorB in value +	param		green		ColorB in value +	param		blue		ColorB in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color3bv +	version		1.0 +	deprecated	3.1 +	offset		9 + +Color3bv(v) +	return		void +	param		v		ColorB in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	6 +	offset		10 + +Color3d(red, green, blue) +	return		void +	param		red		ColorD in value +	param		green		ColorD in value +	param		blue		ColorD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color3dv +	version		1.0 +	deprecated	3.1 +	offset		11 + +Color3dv(v) +	return		void +	param		v		ColorD in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	7 +	offset		12 + +Color3f(red, green, blue) +	return		void +	param		red		ColorF in value +	param		green		ColorF in value +	param		blue		ColorF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color3fv +	version		1.0 +	deprecated	3.1 +	offset		13 + +Color3fv(v) +	return		void +	param		v		ColorF in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	8 +	offset		14 + +Color3i(red, green, blue) +	return		void +	param		red		ColorI in value +	param		green		ColorI in value +	param		blue		ColorI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color3iv +	version		1.0 +	deprecated	3.1 +	offset		15 + +Color3iv(v) +	return		void +	param		v		ColorI in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	9 +	offset		16 + +Color3s(red, green, blue) +	return		void +	param		red		ColorS in value +	param		green		ColorS in value +	param		blue		ColorS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color3sv +	version		1.0 +	deprecated	3.1 +	offset		17 + +Color3sv(v) +	return		void +	param		v		ColorS in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	10 +	offset		18 + +Color3ub(red, green, blue) +	return		void +	param		red		ColorUB in value +	param		green		ColorUB in value +	param		blue		ColorUB in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color3ubv +	version		1.0 +	deprecated	3.1 +	offset		19 + +Color3ubv(v) +	return		void +	param		v		ColorUB in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	11 +	offset		20 + +Color3ui(red, green, blue) +	return		void +	param		red		ColorUI in value +	param		green		ColorUI in value +	param		blue		ColorUI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color3uiv +	version		1.0 +	deprecated	3.1 +	offset		21 + +Color3uiv(v) +	return		void +	param		v		ColorUI in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	12 +	offset		22 + +Color3us(red, green, blue) +	return		void +	param		red		ColorUS in value +	param		green		ColorUS in value +	param		blue		ColorUS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color3usv +	version		1.0 +	deprecated	3.1 +	offset		23 + +Color3usv(v) +	return		void +	param		v		ColorUS in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	13 +	offset		24 + +Color4b(red, green, blue, alpha) +	return		void +	param		red		ColorB in value +	param		green		ColorB in value +	param		blue		ColorB in value +	param		alpha		ColorB in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color4bv +	version		1.0 +	deprecated	3.1 +	offset		25 + +Color4bv(v) +	return		void +	param		v		ColorB in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	14 +	offset		26 + +Color4d(red, green, blue, alpha) +	return		void +	param		red		ColorD in value +	param		green		ColorD in value +	param		blue		ColorD in value +	param		alpha		ColorD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color4dv +	version		1.0 +	deprecated	3.1 +	offset		27 + +Color4dv(v) +	return		void +	param		v		ColorD in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	15 +	offset		28 + +Color4f(red, green, blue, alpha) +	return		void +	param		red		ColorF in value +	param		green		ColorF in value +	param		blue		ColorF in value +	param		alpha		ColorF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color4fv +	version		1.0 +	deprecated	3.1 +	offset		29 + +Color4fv(v) +	return		void +	param		v		ColorF in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	16 +	offset		30 + +Color4i(red, green, blue, alpha) +	return		void +	param		red		ColorI in value +	param		green		ColorI in value +	param		blue		ColorI in value +	param		alpha		ColorI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color4iv +	version		1.0 +	deprecated	3.1 +	offset		31 + +Color4iv(v) +	return		void +	param		v		ColorI in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	17 +	offset		32 + +Color4s(red, green, blue, alpha) +	return		void +	param		red		ColorS in value +	param		green		ColorS in value +	param		blue		ColorS in value +	param		alpha		ColorS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color4sv +	version		1.0 +	deprecated	3.1 +	offset		33 + +Color4sv(v) +	return		void +	param		v		ColorS in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	18 +	offset		34 + +Color4ub(red, green, blue, alpha) +	return		void +	param		red		ColorUB in value +	param		green		ColorUB in value +	param		blue		ColorUB in value +	param		alpha		ColorUB in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color4ubv +	version		1.0 +	deprecated	3.1 +	offset		35 + +Color4ubv(v) +	return		void +	param		v		ColorUB in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	19 +	offset		36 + +Color4ui(red, green, blue, alpha) +	return		void +	param		red		ColorUI in value +	param		green		ColorUI in value +	param		blue		ColorUI in value +	param		alpha		ColorUI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color4uiv +	version		1.0 +	deprecated	3.1 +	offset		37 + +Color4uiv(v) +	return		void +	param		v		ColorUI in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	20 +	offset		38 + +Color4us(red, green, blue, alpha) +	return		void +	param		red		ColorUS in value +	param		green		ColorUS in value +	param		blue		ColorUS in value +	param		alpha		ColorUS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Color4usv +	version		1.0 +	deprecated	3.1 +	offset		39 + +Color4usv(v) +	return		void +	param		v		ColorUS in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	21 +	offset		40 + +EdgeFlag(flag) +	return		void +	param		flag		Boolean in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	EdgeFlagv +	version		1.0 +	deprecated	3.1 +	offset		41 + +EdgeFlagv(flag) +	return		void +	param		flag		Boolean in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	22 +	offset		42 + +End() +	return		void +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	23 +	offset		43 + +Indexd(c) +	return		void +	param		c		ColorIndexValueD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Indexdv +	version		1.0 +	deprecated	3.1 +	offset		44 + +Indexdv(c) +	return		void +	param		c		ColorIndexValueD in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	24 +	offset		45 + +Indexf(c) +	return		void +	param		c		ColorIndexValueF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Indexfv +	version		1.0 +	deprecated	3.1 +	offset		46 + +Indexfv(c) +	return		void +	param		c		ColorIndexValueF in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	25 +	offset		47 + +Indexi(c) +	return		void +	param		c		ColorIndexValueI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Indexiv +	version		1.0 +	deprecated	3.1 +	offset		48 + +Indexiv(c) +	return		void +	param		c		ColorIndexValueI in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	26 +	offset		49 + +Indexs(c) +	return		void +	param		c		ColorIndexValueS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Indexsv +	version		1.0 +	deprecated	3.1 +	offset		50 + +Indexsv(c) +	return		void +	param		c		ColorIndexValueS in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	27 +	offset		51 + +Normal3b(nx, ny, nz) +	return		void +	param		nx		Int8 in value +	param		ny		Int8 in value +	param		nz		Int8 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Normal3bv +	version		1.0 +	deprecated	3.1 +	offset		52 + +Normal3bv(v) +	return		void +	param		v		Int8 in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	28 +	offset		53 + +Normal3d(nx, ny, nz) +	return		void +	param		nx		CoordD in value +	param		ny		CoordD in value +	param		nz		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Normal3dv +	version		1.0 +	deprecated	3.1 +	offset		54 + +Normal3dv(v) +	return		void +	param		v		CoordD in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	29 +	offset		55 + +Normal3f(nx, ny, nz) +	return		void +	param		nx		CoordF in value +	param		ny		CoordF in value +	param		nz		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Normal3fv +	version		1.0 +	deprecated	3.1 +	offset		56 + +Normal3fv(v) +	return		void +	param		v		CoordF in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	30 +	offset		57 + +Normal3i(nx, ny, nz) +	return		void +	param		nx		Int32 in value +	param		ny		Int32 in value +	param		nz		Int32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Normal3iv +	version		1.0 +	deprecated	3.1 +	offset		58 + +Normal3iv(v) +	return		void +	param		v		Int32 in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	31 +	offset		59 + +Normal3s(nx, ny, nz) +	return		void +	param		nx		Int16 in value +	param		ny		Int16 in value +	param		nz		Int16 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Normal3sv +	version		1.0 +	deprecated	3.1 +	offset		60 + +Normal3sv(v) +	return		void +	param		v		Int16 in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	32 +	offset		61 + +RasterPos2d(x, y) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos2dv +	version		1.0 +	deprecated	3.1 +	offset		62 + +RasterPos2dv(v) +	return		void +	param		v		CoordD in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	33 +	offset		63 + +RasterPos2f(x, y) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos2fv +	version		1.0 +	deprecated	3.1 +	offset		64 + +RasterPos2fv(v) +	return		void +	param		v		CoordF in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	34 +	offset		65 + +RasterPos2i(x, y) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos2iv +	version		1.0 +	deprecated	3.1 +	offset		66 + +RasterPos2iv(v) +	return		void +	param		v		CoordI in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	35 +	offset		67 + +RasterPos2s(x, y) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos2sv +	version		1.0 +	deprecated	3.1 +	offset		68 + +RasterPos2sv(v) +	return		void +	param		v		CoordS in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	36 +	offset		69 + +RasterPos3d(x, y, z) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	param		z		CoordD in value +	vectorequiv	RasterPos3dv +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	offset		70 + +RasterPos3dv(v) +	return		void +	param		v		CoordD in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	37 +	offset		71 + +RasterPos3f(x, y, z) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	param		z		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos3fv +	version		1.0 +	deprecated	3.1 +	offset		72 + +RasterPos3fv(v) +	return		void +	param		v		CoordF in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	38 +	offset		73 + +RasterPos3i(x, y, z) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	param		z		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos3iv +	version		1.0 +	deprecated	3.1 +	offset		74 + +RasterPos3iv(v) +	return		void +	param		v		CoordI in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	39 +	offset		75 + +RasterPos3s(x, y, z) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	param		z		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos3sv +	version		1.0 +	deprecated	3.1 +	offset		76 + +RasterPos3sv(v) +	return		void +	param		v		CoordS in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	40 +	offset		77 + +RasterPos4d(x, y, z, w) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	param		z		CoordD in value +	param		w		CoordD in value +	vectorequiv	RasterPos4dv +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	offset		78 + +RasterPos4dv(v) +	return		void +	param		v		CoordD in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	41 +	offset		79 + +RasterPos4f(x, y, z, w) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	param		z		CoordF in value +	param		w		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos4fv +	version		1.0 +	deprecated	3.1 +	offset		80 + +RasterPos4fv(v) +	return		void +	param		v		CoordF in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	42 +	offset		81 + +RasterPos4i(x, y, z, w) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	param		z		CoordI in value +	param		w		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos4iv +	version		1.0 +	deprecated	3.1 +	offset		82 + +RasterPos4iv(v) +	return		void +	param		v		CoordI in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	43 +	offset		83 + +RasterPos4s(x, y, z, w) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	param		z		CoordS in value +	param		w		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	RasterPos4sv +	version		1.0 +	deprecated	3.1 +	offset		84 + +RasterPos4sv(v) +	return		void +	param		v		CoordS in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	44 +	offset		85 + +Rectd(x1, y1, x2, y2) +	return		void +	param		x1		CoordD in value +	param		y1		CoordD in value +	param		x2		CoordD in value +	param		y2		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Rectdv +	version		1.0 +	deprecated	3.1 +	offset		86 + +Rectdv(v1, v2) +	return		void +	param		v1		CoordD in array [2] +	param		v2		CoordD in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	45 +	offset		87 + +Rectf(x1, y1, x2, y2) +	return		void +	param		x1		CoordF in value +	param		y1		CoordF in value +	param		x2		CoordF in value +	param		y2		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Rectfv +	version		1.0 +	deprecated	3.1 +	offset		88 + +Rectfv(v1, v2) +	return		void +	param		v1		CoordF in array [2] +	param		v2		CoordF in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	46 +	offset		89 + +Recti(x1, y1, x2, y2) +	return		void +	param		x1		CoordI in value +	param		y1		CoordI in value +	param		x2		CoordI in value +	param		y2		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Rectiv +	version		1.0 +	deprecated	3.1 +	offset		90 + +Rectiv(v1, v2) +	return		void +	param		v1		CoordI in array [2] +	param		v2		CoordI in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	47 +	offset		91 + +Rects(x1, y1, x2, y2) +	return		void +	param		x1		CoordS in value +	param		y1		CoordS in value +	param		x2		CoordS in value +	param		y2		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Rectsv +	version		1.0 +	deprecated	3.1 +	offset		92 + +Rectsv(v1, v2) +	return		void +	param		v1		CoordS in array [2] +	param		v2		CoordS in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	48 +	offset		93 + +TexCoord1d(s) +	return		void +	param		s		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord1dv +	version		1.0 +	deprecated	3.1 +	offset		94 + +TexCoord1dv(v) +	return		void +	param		v		CoordD in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	49 +	offset		95 + +TexCoord1f(s) +	return		void +	param		s		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord1fv +	version		1.0 +	deprecated	3.1 +	offset		96 + +TexCoord1fv(v) +	return		void +	param		v		CoordF in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	50 +	offset		97 + +TexCoord1i(s) +	return		void +	param		s		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord1iv +	version		1.0 +	deprecated	3.1 +	offset		98 + +TexCoord1iv(v) +	return		void +	param		v		CoordI in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	51 +	offset		99 + +TexCoord1s(s) +	return		void +	param		s		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord1sv +	version		1.0 +	deprecated	3.1 +	offset		100 + +TexCoord1sv(v) +	return		void +	param		v		CoordS in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	52 +	offset		101 + +TexCoord2d(s, t) +	return		void +	param		s		CoordD in value +	param		t		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord2dv +	version		1.0 +	deprecated	3.1 +	offset		102 + +TexCoord2dv(v) +	return		void +	param		v		CoordD in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	53 +	offset		103 + +TexCoord2f(s, t) +	return		void +	param		s		CoordF in value +	param		t		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord2fv +	version		1.0 +	deprecated	3.1 +	offset		104 + +TexCoord2fv(v) +	return		void +	param		v		CoordF in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	54 +	offset		105 + +TexCoord2i(s, t) +	return		void +	param		s		CoordI in value +	param		t		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord2iv +	version		1.0 +	deprecated	3.1 +	offset		106 + +TexCoord2iv(v) +	return		void +	param		v		CoordI in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	55 +	offset		107 + +TexCoord2s(s, t) +	return		void +	param		s		CoordS in value +	param		t		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord2sv +	version		1.0 +	deprecated	3.1 +	offset		108 + +TexCoord2sv(v) +	return		void +	param		v		CoordS in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	56 +	offset		109 + +TexCoord3d(s, t, r) +	return		void +	param		s		CoordD in value +	param		t		CoordD in value +	param		r		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord3dv +	version		1.0 +	deprecated	3.1 +	offset		110 + +TexCoord3dv(v) +	return		void +	param		v		CoordD in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	57 +	offset		111 + +TexCoord3f(s, t, r) +	return		void +	param		s		CoordF in value +	param		t		CoordF in value +	param		r		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord3fv +	version		1.0 +	deprecated	3.1 +	offset		112 + +TexCoord3fv(v) +	return		void +	param		v		CoordF in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	58 +	offset		113 + +TexCoord3i(s, t, r) +	return		void +	param		s		CoordI in value +	param		t		CoordI in value +	param		r		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord3iv +	version		1.0 +	deprecated	3.1 +	offset		114 + +TexCoord3iv(v) +	return		void +	param		v		CoordI in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	59 +	offset		115 + +TexCoord3s(s, t, r) +	return		void +	param		s		CoordS in value +	param		t		CoordS in value +	param		r		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord3sv +	version		1.0 +	deprecated	3.1 +	offset		116 + +TexCoord3sv(v) +	return		void +	param		v		CoordS in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	60 +	offset		117 + +TexCoord4d(s, t, r, q) +	return		void +	param		s		CoordD in value +	param		t		CoordD in value +	param		r		CoordD in value +	param		q		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord4dv +	version		1.0 +	deprecated	3.1 +	offset		118 + +TexCoord4dv(v) +	return		void +	param		v		CoordD in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	61 +	offset		119 + +TexCoord4f(s, t, r, q) +	return		void +	param		s		CoordF in value +	param		t		CoordF in value +	param		r		CoordF in value +	param		q		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord4fv +	version		1.0 +	deprecated	3.1 +	offset		120 + +TexCoord4fv(v) +	return		void +	param		v		CoordF in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	62 +	offset		121 + +TexCoord4i(s, t, r, q) +	return		void +	param		s		CoordI in value +	param		t		CoordI in value +	param		r		CoordI in value +	param		q		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord4iv +	version		1.0 +	deprecated	3.1 +	offset		122 + +TexCoord4iv(v) +	return		void +	param		v		CoordI in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	63 +	offset		123 + +TexCoord4s(s, t, r, q) +	return		void +	param		s		CoordS in value +	param		t		CoordS in value +	param		r		CoordS in value +	param		q		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	TexCoord4sv +	version		1.0 +	deprecated	3.1 +	offset		124 + +TexCoord4sv(v) +	return		void +	param		v		CoordS in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	64 +	offset		125 + +Vertex2d(x, y) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex2dv +	version		1.0 +	deprecated	3.1 +	offset		126 + +Vertex2dv(v) +	return		void +	param		v		CoordD in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	65 +	offset		127 + +Vertex2f(x, y) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex2fv +	version		1.0 +	deprecated	3.1 +	offset		128 + +Vertex2fv(v) +	return		void +	param		v		CoordF in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	66 +	offset		129 + +Vertex2i(x, y) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex2iv +	version		1.0 +	deprecated	3.1 +	offset		130 + +Vertex2iv(v) +	return		void +	param		v		CoordI in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	67 +	offset		131 + +Vertex2s(x, y) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex2sv +	version		1.0 +	deprecated	3.1 +	offset		132 + +Vertex2sv(v) +	return		void +	param		v		CoordS in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	68 +	offset		133 + +Vertex3d(x, y, z) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	param		z		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex3dv +	version		1.0 +	deprecated	3.1 +	offset		134 + +Vertex3dv(v) +	return		void +	param		v		CoordD in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	69 +	offset		135 + +Vertex3f(x, y, z) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	param		z		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex3fv +	version		1.0 +	deprecated	3.1 +	offset		136 + +Vertex3fv(v) +	return		void +	param		v		CoordF in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	70 +	offset		137 + +Vertex3i(x, y, z) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	param		z		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex3iv +	version		1.0 +	deprecated	3.1 +	offset		138 + +Vertex3iv(v) +	return		void +	param		v		CoordI in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	71 +	offset		139 + +Vertex3s(x, y, z) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	param		z		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex3sv +	version		1.0 +	deprecated	3.1 +	offset		140 + +Vertex3sv(v) +	return		void +	param		v		CoordS in array [3] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	72 +	offset		141 + +Vertex4d(x, y, z, w) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	param		z		CoordD in value +	param		w		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex4dv +	version		1.0 +	deprecated	3.1 +	offset		142 + +Vertex4dv(v) +	return		void +	param		v		CoordD in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	73 +	offset		143 + +Vertex4f(x, y, z, w) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	param		z		CoordF in value +	param		w		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex4fv +	version		1.0 +	deprecated	3.1 +	offset		144 + +Vertex4fv(v) +	return		void +	param		v		CoordF in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	74 +	offset		145 + +Vertex4i(x, y, z, w) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	param		z		CoordI in value +	param		w		CoordI in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex4iv +	version		1.0 +	deprecated	3.1 +	offset		146 + +Vertex4iv(v) +	return		void +	param		v		CoordI in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	75 +	offset		147 + +Vertex4s(x, y, z, w) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	param		z		CoordS in value +	param		w		CoordS in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	vectorequiv	Vertex4sv +	version		1.0 +	deprecated	3.1 +	offset		148 + +Vertex4sv(v) +	return		void +	param		v		CoordS in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing +	version		1.0 +	deprecated	3.1 +	glxropcode	76 +	offset		149 + +ClipPlane(plane, equation) +	return		void +	param		plane		ClipPlaneName in value +	param		equation	Float64 in array [4] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	77 +	offset		150 + +ColorMaterial(face, mode) +	return		void +	param		face		MaterialFace in value +	param		mode		ColorMaterialParameter in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	78 +	offset		151 + +Fogf(pname, param) +	return		void +	param		pname		FogParameter in value +	param		param		CheckedFloat32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	80 +	wglflags	small-data +	offset		153 + +Fogfv(pname, params) +	return		void +	param		pname		FogParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	81 +	wglflags	small-data +	offset		154 + +Fogi(pname, param) +	return		void +	param		pname		FogParameter in value +	param		param		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	82 +	wglflags	small-data +	offset		155 + +Fogiv(pname, params) +	return		void +	param		pname		FogParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	83 +	wglflags	small-data +	offset		156 + +Lightf(light, pname, param) +	return		void +	param		light		LightName in value +	param		pname		LightParameter in value +	param		param		CheckedFloat32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	86 +	wglflags	small-data +	offset		159 + +Lightfv(light, pname, params) +	return		void +	param		light		LightName in value +	param		pname		LightParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	87 +	wglflags	small-data +	offset		160 + +Lighti(light, pname, param) +	return		void +	param		light		LightName in value +	param		pname		LightParameter in value +	param		param		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	88 +	wglflags	small-data +	offset		161 + +Lightiv(light, pname, params) +	return		void +	param		light		LightName in value +	param		pname		LightParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	89 +	wglflags	small-data +	offset		162 + +LightModelf(pname, param) +	return		void +	param		pname		LightModelParameter in value +	param		param		Float32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	90 +	wglflags	small-data +	offset		163 + +LightModelfv(pname, params) +	return		void +	param		pname		LightModelParameter in value +	param		params		Float32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	91 +	wglflags	small-data +	offset		164 + +LightModeli(pname, param) +	return		void +	param		pname		LightModelParameter in value +	param		param		Int32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	92 +	wglflags	small-data +	offset		165 + +LightModeliv(pname, params) +	return		void +	param		pname		LightModelParameter in value +	param		params		Int32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	93 +	wglflags	small-data +	offset		166 + +LineStipple(factor, pattern) +	return		void +	param		factor		CheckedInt32 in value +	param		pattern		LineStipple in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	94 +	offset		167 + +Materialf(face, pname, param) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		param		CheckedFloat32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	96 +	wglflags	small-data +	offset		169 + +Materialfv(face, pname, params) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	97 +	wglflags	small-data +	offset		170 + +Materiali(face, pname, param) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		param		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	98 +	wglflags	small-data +	offset		171 + +Materialiv(face, pname, params) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	99 +	wglflags	small-data +	offset		172 + +PolygonStipple(mask) +	return		void +	param		mask		UInt8 in array [COMPSIZE()] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	102 +	wglflags	client-handcode server-handcode +	offset		175 + +ShadeModel(mode) +	return		void +	param		mode		ShadingModel in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	104 +	offset		177 + +TexEnvf(target, pname, param) +	return		void +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		param		CheckedFloat32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	111 +	wglflags	small-data +	offset		184 + +TexEnvfv(target, pname, params) +	return		void +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	112 +	wglflags	small-data +	offset		185 + +TexEnvi(target, pname, param) +	return		void +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		param		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	113 +	wglflags	small-data +	offset		186 + +TexEnviv(target, pname, params) +	return		void +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	114 +	wglflags	small-data +	offset		187 + +TexGend(coord, pname, param) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		param		Float64 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	115 +	wglflags	small-data +	offset		188 + +TexGendv(coord, pname, params) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		Float64 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	116 +	wglflags	small-data +	offset		189 + +TexGenf(coord, pname, param) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		param		CheckedFloat32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	117 +	wglflags	small-data +	offset		190 + +TexGenfv(coord, pname, params) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	118 +	wglflags	small-data +	offset		191 + +TexGeni(coord, pname, param) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		param		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	119 +	wglflags	small-data +	offset		192 + +TexGeniv(coord, pname, params) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: drawing-control +	version		1.0 +	deprecated	3.1 +	glxropcode	120 +	wglflags	small-data +	offset		193 + +# feedback commands + +FeedbackBuffer(size, type, buffer) +	return		void +	param		size		SizeI in value +	param		type		FeedbackType in value +	param		buffer		FeedbackElement out array [size] retained +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	VERSION_1_0_DEPRECATED	   # old: feedback +	version		1.0 +	deprecated	3.1 +	glxsingle	105 +	wglflags	client-handcode server-handcode batchable +	offset		194 + +SelectBuffer(size, buffer) +	return		void +	param		size		SizeI in value +	param		buffer		SelectName out array [size] retained +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	VERSION_1_0_DEPRECATED	   # old: feedback +	version		1.0 +	deprecated	3.1 +	glxsingle	106 +	wglflags	client-handcode server-handcode batchable +	offset		195 + +RenderMode(mode) +	return		Int32 +	param		mode		RenderingMode in value +	category	VERSION_1_0_DEPRECATED	   # old: feedback +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxsingle	107 +	wglflags	client-handcode server-handcode +	offset		196 + +InitNames() +	return		void +	category	VERSION_1_0_DEPRECATED	   # old: feedback +	version		1.0 +	deprecated	3.1 +	glxropcode	121 +	offset		197 + +LoadName(name) +	return		void +	param		name		SelectName in value +	category	VERSION_1_0_DEPRECATED	   # old: feedback +	version		1.0 +	deprecated	3.1 +	glxropcode	122 +	offset		198 + +PassThrough(token) +	return		void +	param		token		FeedbackElement in value +	category	VERSION_1_0_DEPRECATED	   # old: feedback +	version		1.0 +	deprecated	3.1 +	glxropcode	123 +	offset		199 + +PopName() +	return		void +	category	VERSION_1_0_DEPRECATED	   # old: feedback +	version		1.0 +	deprecated	3.1 +	glxropcode	124 +	offset		200 + +PushName(name) +	return		void +	param		name		SelectName in value +	category	VERSION_1_0_DEPRECATED	   # old: feedback +	version		1.0 +	deprecated	3.1 +	glxropcode	125 +	offset		201 + +ClearAccum(red, green, blue, alpha) +	return		void +	param		red		Float32 in value +	param		green		Float32 in value +	param		blue		Float32 in value +	param		alpha		Float32 in value +	category	VERSION_1_0_DEPRECATED	   # old: framebuf +	version		1.0 +	deprecated	3.1 +	glxropcode	128 +	offset		204 + +ClearIndex(c) +	return		void +	param		c		MaskedColorIndexValueF in value +	category	VERSION_1_0_DEPRECATED	   # old: framebuf +	version		1.0 +	deprecated	3.1 +	glxropcode	129 +	offset		205 + +IndexMask(mask) +	return		void +	param		mask		MaskedColorIndexValueI in value +	category	VERSION_1_0_DEPRECATED	   # old: framebuf +	version		1.0 +	deprecated	3.1 +	glxropcode	136 +	offset		212 + +Accum(op, value) +	return		void +	param		op		AccumOp in value +	param		value		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: misc +	version		1.0 +	deprecated	3.1 +	glxropcode	137 +	offset		213 + +PopAttrib() +	return		void +	category	VERSION_1_0_DEPRECATED	   # old: misc +	version		1.0 +	deprecated	3.1 +	glxropcode	141 +	offset		218 + +PushAttrib(mask) +	return		void +	param		mask		AttribMask in value +	category	VERSION_1_0_DEPRECATED	   # old: misc +	version		1.0 +	deprecated	3.1 +	glxropcode	142 +	offset		219 + +# modeling commands + +Map1d(target, u1, u2, stride, order, points) +	return		void +	param		target		MapTarget in value +	param		u1		CoordD in value +	param		u2		CoordD in value +	param		stride		Int32 in value +	param		order		CheckedInt32 in value +	param		points		CoordD in array [COMPSIZE(target/stride/order)] +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	143 +	wglflags	client-handcode server-handcode +	offset		220 + +Map1f(target, u1, u2, stride, order, points) +	return		void +	param		target		MapTarget in value +	param		u1		CoordF in value +	param		u2		CoordF in value +	param		stride		Int32 in value +	param		order		CheckedInt32 in value +	param		points		CoordF in array [COMPSIZE(target/stride/order)] +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	144 +	wglflags	client-handcode server-handcode +	offset		221 + +Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points) +	return		void +	param		target		MapTarget in value +	param		u1		CoordD in value +	param		u2		CoordD in value +	param		ustride		Int32 in value +	param		uorder		CheckedInt32 in value +	param		v1		CoordD in value +	param		v2		CoordD in value +	param		vstride		Int32 in value +	param		vorder		CheckedInt32 in value +	param		points		CoordD in array [COMPSIZE(target/ustride/uorder/vstride/vorder)] +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	145 +	wglflags	client-handcode server-handcode +	offset		222 + +Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points) +	return		void +	param		target		MapTarget in value +	param		u1		CoordF in value +	param		u2		CoordF in value +	param		ustride		Int32 in value +	param		uorder		CheckedInt32 in value +	param		v1		CoordF in value +	param		v2		CoordF in value +	param		vstride		Int32 in value +	param		vorder		CheckedInt32 in value +	param		points		CoordF in array [COMPSIZE(target/ustride/uorder/vstride/vorder)] +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	146 +	wglflags	client-handcode server-handcode +	offset		223 + +MapGrid1d(un, u1, u2) +	return		void +	param		un		Int32 in value +	param		u1		CoordD in value +	param		u2		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	147 +	offset		224 + +MapGrid1f(un, u1, u2) +	return		void +	param		un		Int32 in value +	param		u1		CoordF in value +	param		u2		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	148 +	offset		225 + +MapGrid2d(un, u1, u2, vn, v1, v2) +	return		void +	param		un		Int32 in value +	param		u1		CoordD in value +	param		u2		CoordD in value +	param		vn		Int32 in value +	param		v1		CoordD in value +	param		v2		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	149 +	offset		226 + +MapGrid2f(un, u1, u2, vn, v1, v2) +	return		void +	param		un		Int32 in value +	param		u1		CoordF in value +	param		u2		CoordF in value +	param		vn		Int32 in value +	param		v1		CoordF in value +	param		v2		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	150 +	offset		227 + +EvalCoord1d(u) +	return		void +	param		u		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	vectorequiv	EvalCoord1dv +	version		1.0 +	deprecated	3.1 +	offset		228 + +EvalCoord1dv(u) +	return		void +	param		u		CoordD in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	151 +	offset		229 + +EvalCoord1f(u) +	return		void +	param		u		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	vectorequiv	EvalCoord1fv +	version		1.0 +	deprecated	3.1 +	offset		230 + +EvalCoord1fv(u) +	return		void +	param		u		CoordF in array [1] +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	152 +	offset		231 + +EvalCoord2d(u, v) +	return		void +	param		u		CoordD in value +	param		v		CoordD in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	vectorequiv	EvalCoord2dv +	version		1.0 +	deprecated	3.1 +	offset		232 + +EvalCoord2dv(u) +	return		void +	param		u		CoordD in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	153 +	offset		233 + +EvalCoord2f(u, v) +	return		void +	param		u		CoordF in value +	param		v		CoordF in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	vectorequiv	EvalCoord2fv +	version		1.0 +	deprecated	3.1 +	offset		234 + +EvalCoord2fv(u) +	return		void +	param		u		CoordF in array [2] +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	154 +	offset		235 + +EvalMesh1(mode, i1, i2) +	return		void +	param		mode		MeshMode1 in value +	param		i1		CheckedInt32 in value +	param		i2		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	155 +	offset		236 + +EvalPoint1(i) +	return		void +	param		i		Int32 in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	156 +	offset		237 + +EvalMesh2(mode, i1, i2, j1, j2) +	return		void +	param		mode		MeshMode2 in value +	param		i1		CheckedInt32 in value +	param		i2		CheckedInt32 in value +	param		j1		CheckedInt32 in value +	param		j2		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	157 +	offset		238 + +EvalPoint2(i, j) +	return		void +	param		i		CheckedInt32 in value +	param		j		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: modeling +	version		1.0 +	deprecated	3.1 +	glxropcode	158 +	offset		239 + +AlphaFunc(func, ref) +	return		void +	param		func		AlphaFunction in value +	param		ref		ClampedFloat32 in value +	category	VERSION_1_0_DEPRECATED	   # old: pixel-op +	version		1.0 +	deprecated	3.1 +	glxropcode	159 +	offset		240 + +PixelZoom(xfactor, yfactor) +	return		void +	param		xfactor		Float32 in value +	param		yfactor		Float32 in value +	category	VERSION_1_0_DEPRECATED	   # old: pixel-rw +	version		1.0 +	deprecated	3.1 +	glxropcode	165 +	offset		246 + +PixelTransferf(pname, param) +	return		void +	param		pname		PixelTransferParameter in value +	param		param		CheckedFloat32 in value +	category	VERSION_1_0_DEPRECATED	   # old: pixel-rw +	version		1.0 +	deprecated	3.1 +	glxropcode	166 +	offset		247 + +PixelTransferi(pname, param) +	return		void +	param		pname		PixelTransferParameter in value +	param		param		CheckedInt32 in value +	category	VERSION_1_0_DEPRECATED	   # old: pixel-rw +	version		1.0 +	deprecated	3.1 +	glxropcode	167 +	offset		248 + +PixelMapfv(map, mapsize, values) +	return		void +	param		map		PixelMap in value +	param		mapsize		CheckedInt32 in value +	param		values		Float32 in array [mapsize] +	category	VERSION_1_0_DEPRECATED	   # old: pixel-rw +	glxflags	client-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	168 +	offset		251 + +PixelMapuiv(map, mapsize, values) +	return		void +	param		map		PixelMap in value +	param		mapsize		CheckedInt32 in value +	param		values		UInt32 in array [mapsize] +	category	VERSION_1_0_DEPRECATED	   # old: pixel-rw +	glxflags	client-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	169 +	offset		252 + +PixelMapusv(map, mapsize, values) +	return		void +	param		map		PixelMap in value +	param		mapsize		CheckedInt32 in value +	param		values		UInt16 in array [mapsize] +	category	VERSION_1_0_DEPRECATED	   # old: pixel-rw +	glxflags	client-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	170 +	offset		253 + +CopyPixels(x, y, width, height, type) +	return		void +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		type		PixelCopyType in value +	category	VERSION_1_0_DEPRECATED	   # old: pixel-rw +	version		1.0 +	deprecated	3.1 +	glxropcode	172 +	offset		255 + +DrawPixels(width, height, format, type, pixels) +	return		void +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height)] +	category	VERSION_1_0_DEPRECATED	   # old: pixel-rw +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxropcode	173 +	wglflags	client-handcode server-handcode +	offset		257 + +GetClipPlane(plane, equation) +	return		void +	param		plane		ClipPlaneName in value +	param		equation	Float64 out array [4] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	113 +	glxflags	client-handcode server-handcode +	offset		259 + +GetLightfv(light, pname, params) +	return		void +	param		light		LightName in value +	param		pname		LightParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	118 +	wglflags	small-data +	offset		264 + +GetLightiv(light, pname, params) +	return		void +	param		light		LightName in value +	param		pname		LightParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	119 +	wglflags	small-data +	offset		265 + +GetMapdv(target, query, v) +	return		void +	param		target		MapTarget in value +	param		query		GetMapQuery in value +	param		v		Float64 out array [COMPSIZE(target/query)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	120 +	offset		266 + +GetMapfv(target, query, v) +	return		void +	param		target		MapTarget in value +	param		query		GetMapQuery in value +	param		v		Float32 out array [COMPSIZE(target/query)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	121 +	offset		267 + +GetMapiv(target, query, v) +	return		void +	param		target		MapTarget in value +	param		query		GetMapQuery in value +	param		v		Int32 out array [COMPSIZE(target/query)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	122 +	offset		268 + +GetMaterialfv(face, pname, params) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	123 +	wglflags	small-data +	offset		269 + +GetMaterialiv(face, pname, params) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	124 +	wglflags	small-data +	offset		270 + +GetPixelMapfv(map, values) +	return		void +	param		map		PixelMap in value +	param		values		Float32 out array [COMPSIZE(map)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	125 +	offset		271 + +GetPixelMapuiv(map, values) +	return		void +	param		map		PixelMap in value +	param		values		UInt32 out array [COMPSIZE(map)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	126 +	offset		272 + +GetPixelMapusv(map, values) +	return		void +	param		map		PixelMap in value +	param		values		UInt16 out array [COMPSIZE(map)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	127 +	offset		273 + +GetPolygonStipple(mask) +	return		void +	param		mask		UInt8 out array [COMPSIZE()] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.0 +	deprecated	3.1 +	glxsingle	128 +	wglflags	client-handcode server-handcode +	offset		274 + +GetTexEnvfv(target, pname, params) +	return		void +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	130 +	wglflags	small-data +	offset		276 + +GetTexEnviv(target, pname, params) +	return		void +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	131 +	wglflags	small-data +	offset		277 + +GetTexGendv(coord, pname, params) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		Float64 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	132 +	wglflags	small-data +	offset		278 + +GetTexGenfv(coord, pname, params) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	133 +	wglflags	small-data +	offset		279 + +GetTexGeniv(coord, pname, params) +	return		void +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	134 +	wglflags	small-data +	offset		280 + +IsList(list) +	return		Boolean +	param		list		List in value +	category	VERSION_1_0_DEPRECATED	   # old: state-req +	dlflags		notlistable +	version		1.0 +	deprecated	3.1 +	glxsingle	141 +	offset		287 + +Frustum(left, right, bottom, top, zNear, zFar) +	return		void +	param		left		Float64 in value +	param		right		Float64 in value +	param		bottom		Float64 in value +	param		top		Float64 in value +	param		zNear		Float64 in value +	param		zFar		Float64 in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	175 +	offset		289 + +LoadIdentity() +	return		void +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	176 +	offset		290 + +LoadMatrixf(m) +	return		void +	param		m		Float32 in array [16] +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	177 +	offset		291 + +LoadMatrixd(m) +	return		void +	param		m		Float64 in array [16] +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	178 +	offset		292 + +MatrixMode(mode) +	return		void +	param		mode		MatrixMode in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	179 +	offset		293 + +MultMatrixf(m) +	return		void +	param		m		Float32 in array [16] +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	180 +	offset		294 + +MultMatrixd(m) +	return		void +	param		m		Float64 in array [16] +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	181 +	offset		295 + +Ortho(left, right, bottom, top, zNear, zFar) +	return		void +	param		left		Float64 in value +	param		right		Float64 in value +	param		bottom		Float64 in value +	param		top		Float64 in value +	param		zNear		Float64 in value +	param		zFar		Float64 in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	182 +	offset		296 + +PopMatrix() +	return		void +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	183 +	offset		297 + +PushMatrix() +	return		void +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	184 +	offset		298 + +Rotated(angle, x, y, z) +	return		void +	param		angle		Float64 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	185 +	offset		299 + +Rotatef(angle, x, y, z) +	return		void +	param		angle		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	186 +	offset		300 + +Scaled(x, y, z) +	return		void +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	187 +	offset		301 + +Scalef(x, y, z) +	return		void +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	188 +	offset		302 + +Translated(x, y, z) +	return		void +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	189 +	offset		303 + +Translatef(x, y, z) +	return		void +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	VERSION_1_0_DEPRECATED	   # old: xform +	version		1.0 +	deprecated	3.1 +	glxropcode	190 +	offset		304 + +############################################################################### +############################################################################### +# +# OpenGL 1.1 commands +# +############################################################################### +############################################################################### + +DrawArrays(mode, first, count) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 in value +	param		count		SizeI in value +	category	VERSION_1_1 +	dlflags		handcode +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	glxropcode	193 +	offset		310 + +DrawElements(mode, count, type, indices) +	return		void +	param		mode		BeginMode in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	category	VERSION_1_1 +	dlflags		handcode +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	offset		311 + +GetPointerv(pname, params) +	return		void +	param		pname		GetPointervPName in value +	param		params		VoidPointer out array [1] +	category	VERSION_1_1 +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	offset		329 + +PolygonOffset(factor, units) +	return		void +	param		factor		Float32 in value +	param		units		Float32 in value +	category	VERSION_1_1 +	version		1.1 +	glxropcode	192 +	offset		319 + +# Arguably TexelInternalFormat, not PixelInternalFormat +CopyTexImage1D(target, level, internalformat, x, y, width, border) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	category	VERSION_1_1 +	version		1.1 +	glxropcode	4119 +	glxflags	EXT +	offset		323 + +# Arguably TexelInternalFormat, not PixelInternalFormat +CopyTexImage2D(target, level, internalformat, x, y, width, height, border) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	category	VERSION_1_1 +	version		1.1 +	glxropcode	4120 +	glxflags	EXT +	offset		324 + +CopyTexSubImage1D(target, level, xoffset, x, y, width) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	VERSION_1_1 +	version		1.1 +	glxropcode	4121 +	glxflags	EXT +	offset		325 + +CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	VERSION_1_1 +	version		1.1 +	glxropcode	4122 +	glxflags	EXT +	offset		326 + +TexSubImage1D(target, level, xoffset, width, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width)] +	category	VERSION_1_1 +	dlflags		handcode +	glxflags	EXT client-handcode server-handcode +	version		1.1 +	glxropcode	4099 +	offset		332 + +TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height)] +	category	VERSION_1_1 +	dlflags		handcode +	glxflags	EXT client-handcode server-handcode +	version		1.1 +	glxropcode	4100 +	offset		333 + +BindTexture(target, texture) +	return		void +	param		target		TextureTarget in value +	param		texture		Texture in value +	category	VERSION_1_1 +	version		1.1 +	glxropcode	4117 +	glxflags	EXT +	offset		307 + +DeleteTextures(n, textures) +	return		void +	param		n		SizeI in value +	param		textures	Texture in array [n] +	category	VERSION_1_1 +	dlflags		notlistable +	version		1.1 +	glxsingle	144 +	offset		327 + +GenTextures(n, textures) +	return		void +	param		n		SizeI in value +	param		textures	Texture out array [n] +	category	VERSION_1_1 +	dlflags		notlistable +	version		1.1 +	glxsingle	145 +	offset		328 + +IsTexture(texture) +	return		Boolean +	param		texture		Texture in value +	category	VERSION_1_1 +	dlflags		notlistable +	version		1.1 +	glxsingle	146 +	offset		330 + +############################################################################### +############################################################################### +# +# OpenGL 1.1 deprecated commands +# +############################################################################### +############################################################################### + +ArrayElement(i) +	return		void +	param		i		Int32 in value +	category	VERSION_1_1_DEPRECATED +	dlflags		handcode +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		306 + +ColorPointer(size, type, stride, pointer) +	return		void +	param		size		Int32 in value +	param		type		ColorPointerType in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	category	VERSION_1_1_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		308 + +DisableClientState(array) +	return		void +	param		array		EnableCap in value +	category	VERSION_1_1_DEPRECATED +	version		1.1 +	deprecated	3.1 +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	offset		309 + +EdgeFlagPointer(stride, pointer) +	return		void +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(stride)] retained +	category	VERSION_1_1_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		312 + +EnableClientState(array) +	return		void +	param		array		EnableCap in value +	category	VERSION_1_1_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		313 + +IndexPointer(type, stride, pointer) +	return		void +	param		type		IndexPointerType in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	VERSION_1_1_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		314 + +InterleavedArrays(format, stride, pointer) +	return		void +	param		format		InterleavedArrayFormat in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(format/stride)] retained +	category	VERSION_1_1_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		317 + +NormalPointer(type, stride, pointer) +	return		void +	param		type		NormalPointerType in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	VERSION_1_1_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		318 + +TexCoordPointer(size, type, stride, pointer) +	return		void +	param		size		Int32 in value +	param		type		TexCoordPointerType in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	category	VERSION_1_1_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		320 + +VertexPointer(size, type, stride, pointer) +	return		void +	param		size		Int32 in value +	param		type		VertexPointerType in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	category	VERSION_1_1_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	deprecated	3.1 +	offset		321 + +AreTexturesResident(n, textures, residences) +	return		Boolean +	param		n		SizeI in value +	param		textures	Texture in array [n] +	param		residences	Boolean out array [n] +	category	VERSION_1_1_DEPRECATED +	glxsingle	143 +	dlflags		notlistable +	version		1.1 +	deprecated	3.1 +	offset		322 + +PrioritizeTextures(n, textures, priorities) +	return		void +	param		n		SizeI in value +	param		textures	Texture in array [n] +	param		priorities	ClampedFloat32 in array [n] +	category	VERSION_1_1_DEPRECATED +	version		1.1 +	deprecated	3.1 +	glxropcode	4118 +	glxflags	EXT +	offset		331 + +Indexub(c) +	return		void +	param		c		ColorIndexValueUB in value +	category	VERSION_1_1_DEPRECATED +	vectorequiv	Indexubv +	version		1.1 +	offset		315 + +Indexubv(c) +	return		void +	param		c		ColorIndexValueUB in array [1] +	category	VERSION_1_1_DEPRECATED +	version		1.1 +	glxropcode	194 +	offset		316 + +PopClientAttrib() +	return		void +	category	VERSION_1_1_DEPRECATED +	version		1.1 +	deprecated	3.1 +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	offset		334 + +PushClientAttrib(mask) +	return		void +	param		mask		ClientAttribMask in value +	category	VERSION_1_1_DEPRECATED +	version		1.1 +	deprecated	3.1 +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	offset		335 + +############################################################################### +############################################################################### +# +# OpenGL 1.2 commands +# +############################################################################### +############################################################################### + +BlendColor(red, green, blue, alpha) +	return		void +	param		red		ClampedColorF in value +	param		green		ClampedColorF in value +	param		blue		ClampedColorF in value +	param		alpha		ClampedColorF in value +	category	VERSION_1_2 +	glxflags	EXT +	version		1.2 +	glxropcode	4096 +	offset		336 + +BlendEquation(mode) +	return		void +	param		mode		BlendEquationMode in value +	category	VERSION_1_2 +	glxflags	EXT +	version		1.2 +	glxropcode	4097 +	offset		337 + +DrawRangeElements(mode, start, end, count, type, indices) +	return		void +	param		mode		BeginMode in value +	param		start		UInt32 in value +	param		end		UInt32 in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	category	VERSION_1_2 +	dlflags		handcode +	glxflags	client-handcode client-intercept server-handcode +	version		1.2 +	offset		338 + +# OpenGL 1.2 (EXT_texture3D) commands + +# Arguably TexelInternalFormat, not PixelInternalFormat +TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureComponentCount in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth)] +	category	VERSION_1_2 +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4114 +	offset		371 + +TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth)] +	category	VERSION_1_2 +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.2 +	glxropcode	4115 +	offset		372 + +# OpenGL 1.2 (EXT_copy_texture) commands (specific to texture3D) + +CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	VERSION_1_2 +	glxflags	EXT +	version		1.2 +	glxropcode	4123 +	offset		373 + +############################################################################### +############################################################################### +# +# OpenGL 1.2 deprecated commands +# +############################################################################### +############################################################################### + +# OpenGL 1.2 (SGI_color_table) commands + +ColorTable(target, internalformat, width, format, type, table) +	return		void +	param		target		ColorTableTarget in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		table		Void in array [COMPSIZE(format/type/width)] +	category	VERSION_1_2_DEPRECATED +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	2053 +	offset		339 + +ColorTableParameterfv(target, pname, params) +	return		void +	param		target		ColorTableTarget in value +	param		pname		ColorTableParameterPName in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	2054 +	offset		340 + +ColorTableParameteriv(target, pname, params) +	return		void +	param		target		ColorTableTarget in value +	param		pname		ColorTableParameterPName in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	2055 +	offset		341 + +CopyColorTable(target, internalformat, x, y, width) +	return		void +	param		target		ColorTableTarget in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	2056 +	offset		342 + +GetColorTable(target, format, type, table) +	return		void +	param		target		ColorTableTarget in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		table		Void out array [COMPSIZE(target/format/type)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.2 +	deprecated	3.1 +	glxsingle	147 +	offset		343 + +GetColorTableParameterfv(target, pname, params) +	return		void +	param		target		ColorTableTarget in value +	param		pname		GetColorTableParameterPName in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	version		1.2 +	deprecated	3.1 +	glxsingle	148 +	offset		344 + +GetColorTableParameteriv(target, pname, params) +	return		void +	param		target		ColorTableTarget in value +	param		pname		GetColorTableParameterPName in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	version		1.2 +	deprecated	3.1 +	glxsingle	149 +	offset		345 + +# OpenGL 1.2 (EXT_color_subtable) commands + +ColorSubTable(target, start, count, format, type, data) +	return		void +	param		target		ColorTableTarget in value +	param		start		SizeI in value +	param		count		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		data		Void in array [COMPSIZE(format/type/count)] +	category	VERSION_1_2_DEPRECATED +	dlflags		handcode +	glxflags	client-handcode server-handcode +	version		1.2 +	deprecated	3.1 +	glxropcode	195 +	offset		346 + +CopyColorSubTable(target, start, x, y, width) +	return		void +	param		target		ColorTableTarget in value +	param		start		SizeI in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	VERSION_1_2_DEPRECATED +	version		1.2 +	deprecated	3.1 +	glxropcode	196 +	offset		347 + +# OpenGL 1.2 (EXT_convolution) commands + +ConvolutionFilter1D(target, internalformat, width, format, type, image) +	return		void +	param		target		ConvolutionTarget in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		image		Void in array [COMPSIZE(format/type/width)] +	category	VERSION_1_2_DEPRECATED +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4101 +	offset		348 + +ConvolutionFilter2D(target, internalformat, width, height, format, type, image) +	return		void +	param		target		ConvolutionTarget in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		image		Void in array [COMPSIZE(format/type/width/height)] +	category	VERSION_1_2_DEPRECATED +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4102 +	offset		349 + +ConvolutionParameterf(target, pname, params) +	return		void +	param		target		ConvolutionTarget in value +	param		pname		ConvolutionParameter in value +	param		params		CheckedFloat32 in value +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4103 +	offset		350 + +ConvolutionParameterfv(target, pname, params) +	return		void +	param		target		ConvolutionTarget in value +	param		pname		ConvolutionParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4104 +	offset		351 + +ConvolutionParameteri(target, pname, params) +	return		void +	param		target		ConvolutionTarget in value +	param		pname		ConvolutionParameter in value +	param		params		CheckedInt32 in value +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4105 +	offset		352 + +ConvolutionParameteriv(target, pname, params) +	return		void +	param		target		ConvolutionTarget in value +	param		pname		ConvolutionParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4106 +	offset		353 + +CopyConvolutionFilter1D(target, internalformat, x, y, width) +	return		void +	param		target		ConvolutionTarget in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4107 +	offset		354 + +CopyConvolutionFilter2D(target, internalformat, x, y, width, height) +	return		void +	param		target		ConvolutionTarget in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4108 +	offset		355 + +GetConvolutionFilter(target, format, type, image) +	return		void +	param		target		ConvolutionTarget in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		image		Void out array [COMPSIZE(target/format/type)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.2 +	deprecated	3.1 +	glxsingle	150 +	offset		356 + +GetConvolutionParameterfv(target, pname, params) +	return		void +	param		target		ConvolutionTarget in value +	param		pname		GetConvolutionParameterPName in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	version		1.2 +	deprecated	3.1 +	glxsingle	151 +	offset		357 + +GetConvolutionParameteriv(target, pname, params) +	return		void +	param		target		ConvolutionTarget in value +	param		pname		GetConvolutionParameterPName in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	version		1.2 +	deprecated	3.1 +	glxsingle	152 +	offset		358 + +GetSeparableFilter(target, format, type, row, column, span) +	return		void +	param		target		SeparableTarget in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		row		Void out array [COMPSIZE(target/format/type)] +	param		column		Void out array [COMPSIZE(target/format/type)] +	param		span		Void out array [COMPSIZE(target/format/type)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.2 +	deprecated	3.1 +	glxsingle	153 +	offset		359 + +SeparableFilter2D(target, internalformat, width, height, format, type, row, column) +	return		void +	param		target		SeparableTarget in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		row		Void in array [COMPSIZE(target/format/type/width)] +	param		column		Void in array [COMPSIZE(target/format/type/height)] +	category	VERSION_1_2_DEPRECATED +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4109 +	offset		360 + +# OpenGL 1.2 (EXT_histogram) commands + +GetHistogram(target, reset, format, type, values) +	return		void +	param		target		HistogramTarget in value +	param		reset		Boolean in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		values		Void out array [COMPSIZE(target/format/type)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.2 +	deprecated	3.1 +	glxsingle	154 +	offset		361 + +GetHistogramParameterfv(target, pname, params) +	return		void +	param		target		HistogramTarget in value +	param		pname		GetHistogramParameterPName in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	version		1.2 +	deprecated	3.1 +	glxsingle	155 +	offset		362 + +GetHistogramParameteriv(target, pname, params) +	return		void +	param		target		HistogramTarget in value +	param		pname		GetHistogramParameterPName in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	version		1.2 +	deprecated	3.1 +	glxsingle	156 +	offset		363 + +GetMinmax(target, reset, format, type, values) +	return		void +	param		target		MinmaxTarget in value +	param		reset		Boolean in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		values		Void out array [COMPSIZE(target/format/type)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.2 +	deprecated	3.1 +	glxsingle	157 +	offset		364 + +GetMinmaxParameterfv(target, pname, params) +	return		void +	param		target		MinmaxTarget in value +	param		pname		GetMinmaxParameterPName in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	version		1.2 +	deprecated	3.1 +	glxsingle	158 +	offset		365 + +GetMinmaxParameteriv(target, pname, params) +	return		void +	param		target		MinmaxTarget in value +	param		pname		GetMinmaxParameterPName in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_2_DEPRECATED +	dlflags		notlistable +	version		1.2 +	deprecated	3.1 +	glxsingle	159 +	offset		366 + +Histogram(target, width, internalformat, sink) +	return		void +	param		target		HistogramTarget in value +	param		width		SizeI in value +	param		internalformat	PixelInternalFormat in value +	param		sink		Boolean in value +	category	VERSION_1_2_DEPRECATED +	dlflags		handcode +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4110 +	offset		367 + +Minmax(target, internalformat, sink) +	return		void +	param		target		MinmaxTarget in value +	param		internalformat	PixelInternalFormat in value +	param		sink		Boolean in value +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4111 +	offset		368 + +ResetHistogram(target) +	return		void +	param		target		HistogramTarget in value +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4112 +	offset		369 + +ResetMinmax(target) +	return		void +	param		target		MinmaxTarget in value +	category	VERSION_1_2_DEPRECATED +	glxflags	EXT +	version		1.2 +	deprecated	3.1 +	glxropcode	4113 +	offset		370 + +############################################################################### +############################################################################### +# +# OpenGL 1.3 commands +# +############################################################################### +############################################################################### + +# OpenGL 1.3 (ARB_multitexture) commands + +ActiveTexture(texture) +	return		void +	param		texture		TextureUnit in value +	category	VERSION_1_3 +	glxflags	ARB +	version		1.3 +	glxropcode	197 +	offset		374 + +# OpenGL 1.3 (ARB_multisample) commands + +SampleCoverage(value, invert) +	return		void +	param		value		ClampedFloat32 in value +	param		invert		Boolean in value +	category	VERSION_1_3 +	glxflags	ARB +	version		1.3 +	glxropcode	229 +	offset		412 + +# OpenGL 1.3 (ARB_texture_compression) commands + +# Arguably TexelInternalFormat, not PixelInternalFormat +CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	VERSION_1_3 +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.3 +	glxropcode	216 +	wglflags	client-handcode server-handcode +	offset		554 + +# Arguably TexelInternalFormat, not PixelInternalFormat +CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	VERSION_1_3 +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.3 +	glxropcode	215 +	wglflags	client-handcode server-handcode +	offset		555 + +# Arguably TexelInternalFormat, not PixelInternalFormat +CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	VERSION_1_3 +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.3 +	glxropcode	214 +	wglflags	client-handcode server-handcode +	offset		556 + +CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	VERSION_1_3 +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.3 +	glxropcode	219 +	wglflags	client-handcode server-handcode +	offset		557 + +CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	VERSION_1_3 +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.3 +	glxropcode	218 +	wglflags	client-handcode server-handcode +	offset		558 + +CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	VERSION_1_3 +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.3 +	glxropcode	217 +	wglflags	client-handcode server-handcode +	offset		559 + +GetCompressedTexImage(target, level, img) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		img		CompressedTextureARB out array [COMPSIZE(target/level)] +	category	VERSION_1_3 +	dlflags		notlistable +	glxflags	ARB client-handcode server-handcode +	version		1.3 +	glxsingle	160 +	wglflags	client-handcode server-handcode +	offset		560 + +############################################################################### +############################################################################### +# +# OpenGL 1.3 deprecated commands +# +############################################################################### +############################################################################### + +ClientActiveTexture(texture) +	return		void +	param		texture		TextureUnit in value +	category	VERSION_1_3_DEPRECATED +	dlflags		notlistable +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.3 +	deprecated	3.1 +	offset		375 + +MultiTexCoord1d(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		CoordD in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord1dv +	offset		376 + +MultiTexCoord1dv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordD in array [1] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	198 +	offset		377 + +MultiTexCoord1f(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		CoordF in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord1fv +	offset		378 + +MultiTexCoord1fv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordF in array [1] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	199 +	offset		379 + +MultiTexCoord1i(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		CoordI in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord1iv +	offset		380 + +MultiTexCoord1iv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordI in array [1] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	200 +	offset		381 + +MultiTexCoord1s(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		CoordS in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord1sv +	offset		382 + +MultiTexCoord1sv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordS in array [1] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	201 +	offset		383 + +MultiTexCoord2d(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		CoordD in value +	param		t		CoordD in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord2dv +	offset		384 + +MultiTexCoord2dv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordD in array [2] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	202 +	offset		385 + +MultiTexCoord2f(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		CoordF in value +	param		t		CoordF in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord2fv +	offset		386 + +MultiTexCoord2fv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordF in array [2] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	203 +	offset		387 + +MultiTexCoord2i(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		CoordI in value +	param		t		CoordI in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord2iv +	offset		388 + +MultiTexCoord2iv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordI in array [2] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	204 +	offset		389 + +MultiTexCoord2s(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		CoordS in value +	param		t		CoordS in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord2sv +	offset		390 + +MultiTexCoord2sv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordS in array [2] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	205 +	offset		391 + +MultiTexCoord3d(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		CoordD in value +	param		t		CoordD in value +	param		r		CoordD in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord3dv +	offset		392 + +MultiTexCoord3dv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordD in array [3] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	206 +	offset		393 + +MultiTexCoord3f(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		CoordF in value +	param		t		CoordF in value +	param		r		CoordF in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord3fv +	offset		394 + +MultiTexCoord3fv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordF in array [3] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	207 +	offset		395 + +MultiTexCoord3i(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		CoordI in value +	param		t		CoordI in value +	param		r		CoordI in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord3iv +	offset		396 + +MultiTexCoord3iv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordI in array [3] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	208 +	offset		397 + +MultiTexCoord3s(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		CoordS in value +	param		t		CoordS in value +	param		r		CoordS in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord3sv +	offset		398 + +MultiTexCoord3sv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordS in array [3] +	category	VERSION_1_3_DEPRECATED +	version		1.3 +	deprecated	3.1 +	glxflags	ARB +	glxropcode	209 +	offset		399 + +MultiTexCoord4d(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		CoordD in value +	param		t		CoordD in value +	param		r		CoordD in value +	param		q		CoordD in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord4dv +	offset		400 + +MultiTexCoord4dv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordD in array [4] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	210 +	offset		401 + +MultiTexCoord4f(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		CoordF in value +	param		t		CoordF in value +	param		r		CoordF in value +	param		q		CoordF in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord4fv +	offset		402 + +MultiTexCoord4fv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordF in array [4] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	211 +	offset		403 + +MultiTexCoord4i(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		CoordI in value +	param		t		CoordI in value +	param		r		CoordI in value +	param		q		CoordI in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord4iv +	offset		404 + +MultiTexCoord4iv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordI in array [4] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	212 +	offset		405 + +MultiTexCoord4s(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		CoordS in value +	param		t		CoordS in value +	param		r		CoordS in value +	param		q		CoordS in value +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	vectorequiv	MultiTexCoord4sv +	offset		406 + +MultiTexCoord4sv(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordS in array [4] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB +	version		1.3 +	deprecated	3.1 +	glxropcode	213 +	offset		407 + +# OpenGL 1.3 (ARB_transpose_matrix) commands + +LoadTransposeMatrixf(m) +	return		void +	param		m		Float32 in array [16] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.3 +	deprecated	3.1 +	offset		408 + +LoadTransposeMatrixd(m) +	return		void +	param		m		Float64 in array [16] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.3 +	deprecated	3.1 +	offset		409 + +MultTransposeMatrixf(m) +	return		void +	param		m		Float32 in array [16] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.3 +	deprecated	3.1 +	offset		410 + +MultTransposeMatrixd(m) +	return		void +	param		m		Float64 in array [16] +	category	VERSION_1_3_DEPRECATED +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.3 +	deprecated	3.1 +	offset		411 + +############################################################################### +############################################################################### +# +# OpenGL 1.4 commands +# +############################################################################### +############################################################################### + +# OpenGL 1.4 (EXT_blend_func_separate) commands + +BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) +	return		void +	param		sfactorRGB	BlendFuncSeparateParameterEXT in value +	param		dfactorRGB	BlendFuncSeparateParameterEXT in value +	param		sfactorAlpha	BlendFuncSeparateParameterEXT in value +	param		dfactorAlpha	BlendFuncSeparateParameterEXT in value +	category	VERSION_1_4 +	glxropcode	4134 +	version		1.4 +	extension +	offset		537 + +# OpenGL 1.4 (EXT_multi_draw_arrays) commands + +# first and count are really 'in' +MultiDrawArrays(mode, first, count, primcount) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 out array [COMPSIZE(count)] +	param		count		SizeI out array [COMPSIZE(primcount)] +	param		primcount	SizeI in value +	category	VERSION_1_4 +	version		1.4 +	glxropcode	? +	offset		644 + +MultiDrawElements(mode, count, type, indices, primcount) +	return		void +	param		mode		BeginMode in value +	param		count		SizeI in array [COMPSIZE(primcount)] +	param		type		DrawElementsType in value +	param		indices		VoidPointer in array [COMPSIZE(primcount)] +	param		primcount	SizeI in value +	category	VERSION_1_4 +	version		1.4 +	glxropcode	? +	offset		645 + +# OpenGL 1.4 (ARB_point_parameters, NV_point_sprite) commands + +PointParameterf(pname, param) +	return		void +	param		pname		PointParameterNameARB in value +	param		param		CheckedFloat32 in value +	category	VERSION_1_4 +	version		1.4 +	glxropcode	2065 +	extension +	offset		458 + +PointParameterfv(pname, params) +	return		void +	param		pname		PointParameterNameARB in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	VERSION_1_4 +	version		1.4 +	glxropcode	2066 +	extension +	offset		459 + +PointParameteri(pname, param) +	return		void +	param		pname		PointParameterNameARB in value +	param		param		Int32 in value +	category	VERSION_1_4 +	version		1.4 +	extension	soft WINSOFT NV20 +	glxropcode	4221 +	offset		642 + +PointParameteriv(pname, params) +	return		void +	param		pname		PointParameterNameARB in value +	param		params		Int32 in array [COMPSIZE(pname)] +	category	VERSION_1_4 +	version		1.4 +	extension	soft WINSOFT NV20 +	glxropcode	4222re +	offset		643 + +############################################################################### +############################################################################### +# +# OpenGL 1.4 deprecated commands +# +############################################################################### +############################################################################### + +# OpenGL 1.4 (EXT_fog_coord) commands + +FogCoordf(coord) +	return		void +	param		coord		CoordF in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	FogCoordfv +	version		1.4 +	deprecated	3.1 +	offset		545 + +FogCoordfv(coord) +	return		void +	param		coord		CoordF in array [1] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4124 +	offset		546 + +FogCoordd(coord) +	return		void +	param		coord		CoordD in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	FogCoorddv +	version		1.4 +	deprecated	3.1 +	offset		547 + +FogCoorddv(coord) +	return		void +	param		coord		CoordD in array [1] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4125 +	offset		548 + +FogCoordPointer(type, stride, pointer) +	return		void +	param		type		FogPointerTypeEXT in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	VERSION_1_4_DEPRECATED +	dlflags		notlistable +	version		1.4 +	deprecated	3.1 +	glxflags	client-handcode server-handcode +	offset		549 + +# OpenGL 1.4 (EXT_secondary_color) commands + +SecondaryColor3b(red, green, blue) +	return		void +	param		red		ColorB in value +	param		green		ColorB in value +	param		blue		ColorB in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	SecondaryColor3bv +	version		1.4 +	deprecated	3.1 +	offset		561 + +SecondaryColor3bv(v) +	return		void +	param		v		ColorB in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4126 +	offset		562 + +SecondaryColor3d(red, green, blue) +	return		void +	param		red		ColorD in value +	param		green		ColorD in value +	param		blue		ColorD in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	SecondaryColor3dv +	version		1.4 +	deprecated	3.1 +	offset		563 + +SecondaryColor3dv(v) +	return		void +	param		v		ColorD in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4130 +	offset		564 + +SecondaryColor3f(red, green, blue) +	return		void +	param		red		ColorF in value +	param		green		ColorF in value +	param		blue		ColorF in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	SecondaryColor3fv +	version		1.4 +	deprecated	3.1 +	offset		565 + +SecondaryColor3fv(v) +	return		void +	param		v		ColorF in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4129 +	offset		566 + +SecondaryColor3i(red, green, blue) +	return		void +	param		red		ColorI in value +	param		green		ColorI in value +	param		blue		ColorI in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	SecondaryColor3iv +	version		1.4 +	deprecated	3.1 +	offset		567 + +SecondaryColor3iv(v) +	return		void +	param		v		ColorI in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4128 +	offset		568 + +SecondaryColor3s(red, green, blue) +	return		void +	param		red		ColorS in value +	param		green		ColorS in value +	param		blue		ColorS in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	SecondaryColor3sv +	version		1.4 +	deprecated	3.1 +	offset		569 + +SecondaryColor3sv(v) +	return		void +	param		v		ColorS in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4127 +	offset		570 + +SecondaryColor3ub(red, green, blue) +	return		void +	param		red		ColorUB in value +	param		green		ColorUB in value +	param		blue		ColorUB in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	SecondaryColor3ubv +	version		1.4 +	deprecated	3.1 +	offset		571 + +SecondaryColor3ubv(v) +	return		void +	param		v		ColorUB in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4131 +	offset		572 + +SecondaryColor3ui(red, green, blue) +	return		void +	param		red		ColorUI in value +	param		green		ColorUI in value +	param		blue		ColorUI in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	SecondaryColor3uiv +	version		1.4 +	deprecated	3.1 +	offset		573 + +SecondaryColor3uiv(v) +	return		void +	param		v		ColorUI in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4133 +	offset		574 + +SecondaryColor3us(red, green, blue) +	return		void +	param		red		ColorUS in value +	param		green		ColorUS in value +	param		blue		ColorUS in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	SecondaryColor3usv +	version		1.4 +	deprecated	3.1 +	offset		575 + +SecondaryColor3usv(v) +	return		void +	param		v		ColorUS in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	4132 +	offset		576 + +SecondaryColorPointer(size, type, stride, pointer) +	return		void +	param		size		Int32 in value +	param		type		ColorPointerType in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	category	VERSION_1_4_DEPRECATED +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	version		1.4 +	deprecated	3.1 +	extension +	offset		577 + +# OpenGL 1.4 (ARB_window_pos) commands +# Note: all WindowPos* entry points use glxropcode ropcode 230, with 3 float parameters + +WindowPos2d(x, y) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	WindowPos2dv +	version		1.4 +	deprecated	3.1 +	offset		513 + +WindowPos2dv(v) +	return		void +	param		v		CoordD in array [2] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	offset		514 + +WindowPos2f(x, y) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	WindowPos2fv +	version		1.4 +	deprecated	3.1 +	offset		515 + +WindowPos2fv(v) +	return		void +	param		v		CoordF in array [2] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	offset		516 + +WindowPos2i(x, y) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	WindowPos2iv +	version		1.4 +	deprecated	3.1 +	offset		517 + +WindowPos2iv(v) +	return		void +	param		v		CoordI in array [2] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	offset		518 + +WindowPos2s(x, y) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	WindowPos2sv +	version		1.4 +	deprecated	3.1 +	offset		519 + +WindowPos2sv(v) +	return		void +	param		v		CoordS in array [2] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	offset		520 + +WindowPos3d(x, y, z) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	param		z		CoordD in value +	vectorequiv	WindowPos3dv +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	offset		521 + +WindowPos3dv(v) +	return		void +	param		v		CoordD in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	offset		522 + +WindowPos3f(x, y, z) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	param		z		CoordF in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	WindowPos3fv +	version		1.4 +	deprecated	3.1 +	offset		523 + +WindowPos3fv(v) +	return		void +	param		v		CoordF in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	offset		524 + +WindowPos3i(x, y, z) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	param		z		CoordI in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	WindowPos3iv +	version		1.4 +	deprecated	3.1 +	offset		525 + +WindowPos3iv(v) +	return		void +	param		v		CoordI in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	offset		526 + +WindowPos3s(x, y, z) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	param		z		CoordS in value +	category	VERSION_1_4_DEPRECATED +	vectorequiv	WindowPos3sv +	version		1.4 +	deprecated	3.1 +	offset		527 + +WindowPos3sv(v) +	return		void +	param		v		CoordS in array [3] +	category	VERSION_1_4_DEPRECATED +	version		1.4 +	deprecated	3.1 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	offset		528 + +############################################################################### +############################################################################### +# +# OpenGL 1.5 commands +# +############################################################################### +############################################################################### + +# OpenGL 1.5 (ARB_occlusion_query) commands + +GenQueries(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 out array [n] +	category	VERSION_1_5 +	version		1.5 +	extension +	glxsingle	162 +	glxflags	ignore +	offset		700 + +DeleteQueries(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 in array [n] +	category	VERSION_1_5 +	version		1.5 +	extension +	glxsingle	161 +	glxflags	ignore +	offset		701 + +IsQuery(id) +	return		Boolean +	param		id		UInt32 in value +	category	VERSION_1_5 +	version		1.5 +	extension +	glxsingle	163 +	glxflags	ignore +	offset		702 + +BeginQuery(target, id) +	return		void +	param		target		GLenum in value +	param		id		UInt32 in value +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	231 +	glxflags	ignore +	offset		703 + +EndQuery(target) +	return		void +	param		target		GLenum in value +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	232 +	glxflags	ignore +	offset		704 + +GetQueryiv(target, pname, params) +	return		void +	param		target		GLenum in value +	param		pname		GLenum in value +	param		params		Int32 out array [pname] +	category	VERSION_1_5 +	dlflags		notlistable +	version		1.5 +	extension +	glxsingle	164 +	glxflags	ignore +	offset		705 + +GetQueryObjectiv(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [pname] +	category	VERSION_1_5 +	dlflags		notlistable +	version		1.5 +	extension +	glxsingle	165 +	glxflags	ignore +	offset		706 + +GetQueryObjectuiv(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		GLenum in value +	param		params		UInt32 out array [pname] +	category	VERSION_1_5 +	dlflags		notlistable +	version		1.5 +	extension +	glxsingle	166 +	glxflags	ignore +	offset		707 + +# OpenGL 1.5 (ARB_vertex_buffer_object) commands + +BindBuffer(target, buffer) +	return		void +	param		target		BufferTargetARB in value +	param		buffer		UInt32 in value +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		688 + +DeleteBuffers(n, buffers) +	return		void +	param		n		SizeI in value +	param		buffers		ConstUInt32 in array [n] +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		691 + +GenBuffers(n, buffers) +	return		void +	param		n		SizeI in value +	param		buffers		UInt32 out array [n] +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		692 + +IsBuffer(buffer) +	return		Boolean +	param		buffer		UInt32 in value +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		696 + +BufferData(target, size, data, usage) +	return		void +	param		target		BufferTargetARB in value +	param		size		BufferSize in value +	param		data		ConstVoid in array [size] +	param		usage		BufferUsageARB in value +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		689 + +BufferSubData(target, offset, size, data) +	return		void +	param		target		BufferTargetARB in value +	param		offset		BufferOffset in value +	param		size		BufferSize in value +	param		data		ConstVoid in array [size] +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		690 + +GetBufferSubData(target, offset, size, data) +	return		void +	param		target		BufferTargetARB in value +	param		offset		BufferOffset in value +	param		size		BufferSize in value +	param		data		Void out array [size] +	category	VERSION_1_5 +	dlflags		notlistable +	version		1.5 +	extension +	glxsingle	? +	glxflags	ignore +	offset		695 + +MapBuffer(target, access) +	return		VoidPointer +	param		target		BufferTargetARB in value +	param		access		BufferAccessARB in value +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		697 + +UnmapBuffer(target) +	return		Boolean +	param		target		BufferTargetARB in value +	category	VERSION_1_5 +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		698 + +GetBufferParameteriv(target, pname, params) +	return		void +	param		target		BufferTargetARB in value +	param		pname		BufferPNameARB in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_1_5 +	dlflags		notlistable +	version		1.5 +	extension +	glxsingle	? +	glxflags	ignore +	offset		693 + +GetBufferPointerv(target, pname, params) +	return		void +	param		target		BufferTargetARB in value +	param		pname		BufferPointerNameARB in value +	param		params		VoidPointer out array [1] +	category	VERSION_1_5 +	dlflags		notlistable +	version		1.5 +	extension +	glxsingle	? +	glxflags	ignore +	offset		694 + +# OpenGL 1.5 (EXT_shadow_funcs) commands - none + + +############################################################################### +############################################################################### +# +# OpenGL 2.0 commands +# +############################################################################### +############################################################################### + +# OpenGL 2.0 (EXT_blend_equation_separate) commands + +BlendEquationSeparate(modeRGB, modeAlpha) +	return		void +	param		modeRGB		BlendEquationModeEXT in value +	param		modeAlpha	BlendEquationModeEXT in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	4228 + +# OpenGL 2.0 (ARB_draw_buffers) commands + +DrawBuffers(n, bufs) +	return		void +	param		n		SizeI in value +	param		bufs		DrawBufferModeATI in array [n] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	233 +	glxflags	ignore +	offset		? + +# OpenGL 2.0 (ARB_stencil_two_side) commands + +StencilOpSeparate(face, sfail, dpfail, dppass) +	return		void +	param		face		StencilFaceDirection in value +	param		sfail		StencilOp in value +	param		dpfail		StencilOp in value +	param		dppass		StencilOp in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +StencilFuncSeparate(frontfunc, backfunc, ref, mask) +	return		void +	param		frontfunc	StencilFunction in value +	param		backfunc	StencilFunction in value +	param		ref		ClampedStencilValue in value +	param		mask		MaskedStencilValue in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +StencilMaskSeparate(face, mask) +	return		void +	param		face		StencilFaceDirection in value +	param		mask		MaskedStencilValue in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +# OpenGL 2.0 (ARB_shader_objects / ARB_vertex_shader / ARB_fragment_shader) commands + +AttachShader(program, shader) +	return		void +	param		program		UInt32 in value +	param		shader		UInt32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindAttribLocation(program, index, name) +	return		void +	param		program		UInt32 in value +	param		index		UInt32 in value +	param		name		Char in array [] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +CompileShader(shader) +	return		void +	param		shader		UInt32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +CreateProgram() +	return		UInt32 +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +CreateShader(type) +	return		UInt32 +	param		type		GLenum in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteProgram(program) +	return		void +	param		program		UInt32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteShader(shader) +	return		void +	param		shader		UInt32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DetachShader(program, shader) +	return		void +	param		program		UInt32 in value +	param		shader		UInt32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DisableVertexAttribArray(index) +	return		void +	param		index		UInt32 in value +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		666 + +EnableVertexAttribArray(index) +	return		void +	param		index		UInt32 in value +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		665 + +GetActiveAttrib(program, index, bufSize, length, size, type, name) +	return		void +	param		program		UInt32 in value +	param		index		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		size		Int32 out array [1] +	param		type		GLenum out array [1] +	param		name		Char out array [] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetActiveUniform(program, index, bufSize, length, size, type, name) +	return		void +	param		program		UInt32 in value +	param		index		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		size		Int32 out array [1] +	param		type		GLenum out array [1] +	param		name		Char out array [] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetAttachedShaders(program, maxCount, count, obj) +	return		void +	param		program		UInt32 in value +	param		maxCount	SizeI in value +	param		count		SizeI out array [1] +	param		obj		UInt32 out array [count] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetAttribLocation(program, name) +	return		Int32 +	param		program		UInt32 in value +	param		name		Char in array [] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetProgramiv(program, pname, params) +	return		void +	param		program		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [pname] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetProgramInfoLog(program, bufSize, length, infoLog) +	return		void +	param		program		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		infoLog		Char out array [length] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetShaderiv(shader, pname, params) +	return		void +	param		shader		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [pname] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetShaderInfoLog(shader, bufSize, length, infoLog) +	return		void +	param		shader		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		infoLog		Char out array [length] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetShaderSource(shader, bufSize, length, source) +	return		void +	param		shader		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		source		Char out array [length] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetUniformLocation(program, name) +	return		Int32 +	param		program		UInt32 in value +	param		name		Char in array [] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetUniformfv(program, location, params) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		params		Float32 out array [location] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetUniformiv(program, location, params) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		params		Int32 out array [location] +	category	VERSION_2_0 +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVertexAttribdv(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribPropertyARB in value +	param		params		Float64 out array [4] +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1301 +	offset		588 + +GetVertexAttribfv(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribPropertyARB in value +	param		params		Float32 out array [4] +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1302 +	offset		589 + +GetVertexAttribiv(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribPropertyARB in value +	param		params		Int32 out array [4] +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1303 +	offset		590 + +GetVertexAttribPointerv(index, pname, pointer) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribPointerPropertyARB in value +	param		pointer		VoidPointer out array [1] +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		591 + +IsProgram(program) +	return		Boolean +	param		program		UInt32 in value +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1304 +	offset		592 + +IsShader(shader) +	return		Boolean +	param		shader		UInt32 in value +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxvendorpriv	? +	offset		? + +LinkProgram(program) +	return		void +	param		program		UInt32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ShaderSource(shader, count, string, length) +	return		void +	param		shader		UInt32 in value +	param		count		SizeI in value +	param		string		CharPointer in array [count] +	param		length		Int32 in array [1] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UseProgram(program) +	return		void +	param		program		UInt32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform1f(location, v0) +	return		void +	param		location	Int32 in value +	param		v0		Float32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform2f(location, v0, v1) +	return		void +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform3f(location, v0, v1, v2) +	return		void +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	param		v2		Float32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform4f(location, v0, v1, v2, v3) +	return		void +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	param		v2		Float32 in value +	param		v3		Float32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform1i(location, v0) +	return		void +	param		location	Int32 in value +	param		v0		Int32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform2i(location, v0, v1) +	return		void +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform3i(location, v0, v1, v2) +	return		void +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	param		v2		Int32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform4i(location, v0, v1, v2, v3) +	return		void +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	param		v2		Int32 in value +	param		v3		Int32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform1fv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform2fv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform3fv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform4fv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform1iv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform2iv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform3iv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform4iv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix2fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix3fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix4fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count] +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ValidateProgram(program) +	return		void +	param		program		UInt32 in value +	category	VERSION_2_0 +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib1d(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib1dv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		603 + +VertexAttrib1dv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [1] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4197 +	offset		604 + +VertexAttrib1f(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib1fv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		605 + +VertexAttrib1fv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [1] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4193 +	offset		606 + +VertexAttrib1s(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib1sv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		607 + +VertexAttrib1sv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [1] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4189 +	offset		608 + +VertexAttrib2d(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib2dv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		609 + +VertexAttrib2dv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [2] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4198 +	offset		610 + +VertexAttrib2f(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib2fv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		611 + +VertexAttrib2fv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [2] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4194 +	offset		612 + +VertexAttrib2s(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib2sv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		613 + +VertexAttrib2sv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [2] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4190 +	offset		614 + +VertexAttrib3d(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib3dv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		615 + +VertexAttrib3dv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [3] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4199 +	offset		616 + +VertexAttrib3f(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib3fv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		617 + +VertexAttrib3fv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [3] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4195 +	offset		618 + +VertexAttrib3s(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	param		z		Int16 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib3sv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		619 + +VertexAttrib3sv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [3] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4191 +	offset		620 + +VertexAttrib4Nbv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int8 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		659 + +VertexAttrib4Niv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		661 + +VertexAttrib4Nsv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		660 + +VertexAttrib4Nub(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		UInt8 in value +	param		y		UInt8 in value +	param		z		UInt8 in value +	param		w		UInt8 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		627 + +VertexAttrib4Nubv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt8 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxropcode	4201 +	offset		628 + +VertexAttrib4Nuiv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		663 + +VertexAttrib4Nusv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt16 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		662 + +VertexAttrib4bv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int8 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		654 + +VertexAttrib4d(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib4dv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		621 + +VertexAttrib4dv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4200 +	offset		622 + +VertexAttrib4f(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib4fv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		623 + +VertexAttrib4fv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxropcode	4196 +	offset		624 + +VertexAttrib4iv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		655 + +VertexAttrib4s(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	param		z		Int16 in value +	param		w		Int16 in value +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	vectorequiv	VertexAttrib4sv +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		625 + +VertexAttrib4sv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxropcode	4192 +	offset		626 + +VertexAttrib4ubv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt8 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		656 + +VertexAttrib4uiv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		658 + +VertexAttrib4usv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt16 in array [4] +	category	VERSION_2_0 +	version		2.0 +	deprecated	3.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		657 + +VertexAttribPointer(index, size, type, normalized, stride, pointer) +	return		void +	param		index		UInt32 in value +	param		size		Int32 in value +	param		type		VertexAttribPointerTypeARB in value +	param		normalized	Boolean in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	dlflags		notlistable +	category	VERSION_2_0 +	version		2.0 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		664 + + +############################################################################### +############################################################################### +# +# OpenGL 2.1 commands +# +############################################################################### +############################################################################### + +# OpenGL 2.1 (ARB_pixel_buffer_object) commands - none + +# OpenGL 2.1 (EXT_texture_sRGB) commands - none + +# New commands in OpenGL 2.1 + +UniformMatrix2x3fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [6] +	category	VERSION_2_1 +	version		2.1 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix3x2fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [6] +	category	VERSION_2_1 +	version		2.1 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix2x4fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [8] +	category	VERSION_2_1 +	version		2.1 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix4x2fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [8] +	category	VERSION_2_1 +	version		2.1 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix3x4fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [12] +	category	VERSION_2_1 +	version		2.1 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix4x3fv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [12] +	category	VERSION_2_1 +	version		2.1 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +############################################################################### +# +# OpenGL 3.0 commands +# +############################################################################### +############################################################################### + +# OpenGL 3.0 (EXT_draw_buffers2) commands + +ColorMaski(index, r, g, b, a) +	return		void +	param		index		UInt32 in value +	param		r		Boolean in value +	param		g		Boolean in value +	param		b		Boolean in value +	param		a		Boolean in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glxflags	ignore +	glfflags	ignore + +GetBooleani_v(target, index, data) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		data		Boolean out array [COMPSIZE(target)] +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +GetIntegeri_v(target, index, data) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		data		Int32 out array [COMPSIZE(target)] +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +Enablei(target, index) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glxflags	ignore +	glfflags	ignore + +Disablei(target, index) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glxflags	ignore +	glfflags	ignore + +IsEnabledi(target, index) +	return		Boolean +	param		target		GLenum in value +	param		index		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +# OpenGL 3.0 (EXT_transform_feedback) commands + +BeginTransformFeedback(primitiveMode) +	return		void +	param		primitiveMode	GLenum in value +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +EndTransformFeedback() +	return		void +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +BindBufferRange(target, index, buffer, offset, size) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		buffer		UInt32 in value +	param		offset		BufferOffset in value +	param		size		BufferSize in value +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +BindBufferBase(target, index, buffer) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		buffer		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +TransformFeedbackVaryings(program, count, varyings, bufferMode) +	return		void +	param		program		UInt32 in value +	param		count		SizeI in value +	param		varyings	CharPointer in array [count] +	param		bufferMode	GLenum in value +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name) +	return		void +	param		program		UInt32 in value +	param		index		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		size		SizeI out array [1] +	param		type		GLenum out array [1] +	param		name		Char out array [COMPSIZE(length)] +	category	VERSION_3_0 +	dlflags		notlistable +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +ClampColor(target, clamp) +	return		void +	param		target		ClampColorTargetARB in value +	param		clamp		ClampColorModeARB in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glxropcode	234 +	glxflags	ignore +	offset		? + +BeginConditionalRender(id, mode) +	return		void +	param		id		UInt32 in value +	param		mode		TypeEnum in value +	category	VERSION_3_0 +	version		3.0 +	glfflags	ignore +	glxflags	ignore + +EndConditionalRender() +	return		void +	category	VERSION_3_0 +	version		3.0 +	glfflags	ignore +	glxflags	ignore + +VertexAttribIPointer(index, size, type, stride, pointer) +	return		void +	param		index		UInt32 in value +	param		size		Int32 in value +	param		type		VertexAttribEnum in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	category	VERSION_3_0 +	version		3.0 +	dlflags		notlistable +	extension +	glfflags	ignore +	glxflags	ignore + +GetVertexAttribIiv(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribEnum in value +	param		params		Int32 out array [1] +	category	VERSION_3_0 +	version		3.0 +	dlflags		notlistable +	extension +	glfflags	ignore +	glxflags	ignore + +GetVertexAttribIuiv(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribEnum in value +	param		params		UInt32 out array [1] +	category	VERSION_3_0 +	version		3.0 +	dlflags		notlistable +	extension +	glfflags	ignore +	glxflags	ignore + +# OpenGL 3.0 (NV_vertex_program4) commands + +VertexAttribI1i(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Int32 in value +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	vectorequiv	VertexAttribI1iv +	glxvectorequiv	VertexAttribI1iv +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI2i(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	vectorequiv	VertexAttribI2iv +	glxvectorequiv	VertexAttribI2iv +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI3i(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	vectorequiv	VertexAttribI3iv +	glxvectorequiv	VertexAttribI3iv +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI4i(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	param		w		Int32 in value +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	vectorequiv	VertexAttribI4iv +	glxvectorequiv	VertexAttribI4iv +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI1ui(index, x) +	return		void +	param		index		UInt32 in value +	param		x		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	vectorequiv	VertexAttribI1uiv +	glxvectorequiv	VertexAttribI1uiv +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI2ui(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	vectorequiv	VertexAttribI2uiv +	glxvectorequiv	VertexAttribI2uiv +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI3ui(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	param		z		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	vectorequiv	VertexAttribI3uiv +	glxvectorequiv	VertexAttribI3uiv +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI4ui(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	param		z		UInt32 in value +	param		w		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	vectorequiv	VertexAttribI4uiv +	glxvectorequiv	VertexAttribI4uiv +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI1iv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [1] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI2iv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [2] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI3iv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [3] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI4iv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [4] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI1uiv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [1] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI2uiv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [2] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI3uiv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [3] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI4uiv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [4] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI4bv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int8 in array [4] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI4sv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [4] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI4ubv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt8 in array [4] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +VertexAttribI4usv(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt16 in array [4] +	category	VERSION_3_0 +	version		3.0 +	deprecated	3.1 +	beginend	allow-inside +	extension +	glfflags	ignore +	glxflags	ignore + +# OpenGL 3.0 (EXT_gpu_shader4) commands + +GetUniformuiv(program, location, params) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		params		UInt32 out array [COMPSIZE(program/location)] +	category	VERSION_3_0 +	dlflags		notlistable +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +BindFragDataLocation(program, color, name) +	return		void +	param		program		UInt32 in value +	param		color		UInt32 in value +	param		name		Char in array [COMPSIZE(name)] +	category	VERSION_3_0 +	dlflags		notlistable +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +GetFragDataLocation(program, name) +	return		Int32 +	param		program		UInt32 in value +	param		name		Char in array [COMPSIZE(name)] +	category	VERSION_3_0 +	dlflags		notlistable +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +Uniform1ui(location, v0) +	return		void +	param		location	Int32 in value +	param		v0		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +Uniform2ui(location, v0, v1) +	return		void +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +Uniform3ui(location, v0, v1, v2) +	return		void +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	param		v2		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +Uniform4ui(location, v0, v1, v2, v3) +	return		void +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	param		v2		UInt32 in value +	param		v3		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +Uniform1uiv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +Uniform2uiv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*2] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +Uniform3uiv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*3] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +Uniform4uiv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*4] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +# OpenGL 3.0 (EXT_texture_integer) commands + +TexParameterIiv(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		Int32 in array [COMPSIZE(pname)] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +TexParameterIuiv(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		UInt32 in array [COMPSIZE(pname)] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +GetTexParameterIiv(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	VERSION_3_0 +	dlflags		notlistable +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +GetTexParameterIuiv(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		UInt32 out array [COMPSIZE(pname)] +	category	VERSION_3_0 +	dlflags		notlistable +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +# New commands in OpenGL 3.0 + +ClearBufferiv(buffer, drawbuffer, value) +	return		void +	param		buffer		GLenum in value +	param		drawbuffer	DrawBufferName in value +	param		value		Int32 in array [COMPSIZE(buffer)] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +ClearBufferuiv(buffer, drawbuffer, value) +	return		void +	param		buffer		GLenum in value +	param		drawbuffer	DrawBufferName in value +	param		value		UInt32 in array [COMPSIZE(buffer)] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +ClearBufferfv(buffer, drawbuffer, value) +	return		void +	param		buffer		GLenum in value +	param		drawbuffer	DrawBufferName in value +	param		value		Float32 in array [COMPSIZE(buffer)] +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +ClearBufferfi(buffer, drawbuffer, depth, stencil) +	return		void +	param		buffer		GLenum in value +	param		drawbuffer	DrawBufferName in value +	param		depth		Float32 in value +	param		stencil		Int32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	glfflags	ignore +	glxflags	ignore + +GetStringi(name, index) +	return		String +	param		name		GLenum in value +	param		index		UInt32 in value +	category	VERSION_3_0 +	version		3.0 +	extension +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	glfflags	ignore +	glxsingle	? + +passthru: /* OpenGL 3.0 also reuses entry points from these extensions: */ +passthru: /* ARB_framebuffer_object */ +passthru: /* ARB_map_buffer_range */ +passthru: /* ARB_vertex_array_object */ + +############################################################################### +############################################################################### +# +# OpenGL 3.0 deprecated commands +# +############################################################################### +############################################################################### + +# (none - VertexAttribI* were moved back into non-deprecated) + + +############################################################################### +############################################################################### +# +# OpenGL 3.1 commands +# +############################################################################### +############################################################################### + +# New commands in OpenGL 3.1 - none + +# OpenGL 3.1 (ARB_draw_instanced) commands + +DrawArraysInstanced(mode, first, count, primcount) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 in value +	param		count		SizeI in value +	param		primcount	SizeI in value +	category	VERSION_3_1 +	version		3.1 +	extension +	dlflags		notlistable +	vectorequiv	ArrayElement +	glfflags	ignore +	glxflags	ignore + +DrawElementsInstanced(mode, count, type, indices, primcount) +	return		void +	param		mode		BeginMode in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	param		primcount	SizeI in value +	category	VERSION_3_1 +	version		3.1 +	extension +	dlflags		notlistable +	vectorequiv	ArrayElement +	glfflags	ignore +	glxflags	ignore + +# OpenGL 3.1 (ARB_texture_buffer_object) commands + +TexBuffer(target, internalformat, buffer) +	return		void +	param		target		TextureTarget in value +	param		internalformat	GLenum in value +	param		buffer		UInt32 in value +	category	VERSION_3_1 +	version		3.1 +	extension +	glfflags	ignore +	glxflags	ignore + +# OpenGL 3.1 (ARB_texture_rectangle) commands - none + +# OpenGL 3.1 (SNORM texture) commands - none + +# OpenGL 3.1 (NV_primitive_restart) commands +# This is *not* an alias of PrimitiveRestartIndexNV, since it sets +# server instead of client state. + +PrimitiveRestartIndex(index) +	return		void +	param		index		UInt32 in value +	category	VERSION_3_1 +	version		3.1 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +passthru: /* OpenGL 3.1 also reuses entry points from these extensions: */ +passthru: /* ARB_copy_buffer */ +passthru: /* ARB_uniform_buffer_object */ + + +############################################################################### +############################################################################### +# +# OpenGL 3.2 commands +# +############################################################################### +############################################################################### + +# New commands in OpenGL 3.2 + +GetInteger64i_v(target, index, data) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		data		Int64 out array [COMPSIZE(target)] +	category	VERSION_3_2 +	version		3.2 +	extension +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + + +GetBufferParameteri64v(target, pname, params) +	return		void +	param		target		BufferTargetARB in value +	param		pname		BufferPNameARB in value +	param		params		Int64 out array [COMPSIZE(pname)] +	category	VERSION_3_2 +	dlflags		notlistable +	version		3.2 +	extension +	glxsingle	? +	glxflags	ignore + +# OpenGL 3.2 (ARB_depth_clamp) commands - none +# OpenGL 3.2 (ARB_fragment_coord_conventions) commands - none + +# OpenGL 3.2 (ARB_geometry_shader4) commands + +ProgramParameteri(program, pname, value) +	return		void +	param		program		UInt32 in value +	param		pname		GLenum in value +	param		value		Int32 in value +	category	VERSION_3_2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FramebufferTexture(target, attachment, texture, level) +	return		void +	param		target		GLenum in value +	param		attachment	GLenum in value +	param		texture		UInt32 in value +	param		level		Int32 in value +	category	VERSION_3_2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +# FramebufferTextureLayer already declared in ARB_framebuffer_object +# FramebufferTextureLayer(target, attachment, texture, level, layer) + +# Not promoted to the core along with the rest +# FramebufferTextureFace(target, attachment, texture, level, face) + +# OpenGL 3.2  (ARB_seamless_cube_map) commands - none +# OpenGL 3.2  (ARB_vertex_array_bgra) commands - none + +passthru: /* OpenGL 3.2 also reuses entry points from these extensions: */ +passthru: /* ARB_draw_elements_base_vertex */ +passthru: /* ARB_provoking_vertex */ +passthru: /* ARB_sync */ +passthru: /* ARB_texture_multisample */ + + +############################################################################### +############################################################################### +# +# OpenGL 3.3 commands +# +############################################################################### +############################################################################### + +# New commands in OpenGL 3.3 - none +newcategory: VERSION_3_3 + +passthru: /* OpenGL 3.3 also reuses entry points from these extensions: */ +passthru: /* ARB_blend_func_extended */ +passthru: /* ARB_sampler_objects */ +passthru: /* ARB_explicit_attrib_location, but it has none */ +passthru: /* ARB_occlusion_query2 (no entry points) */ +passthru: /* ARB_shader_bit_encoding (no entry points) */ +passthru: /* ARB_texture_rgb10_a2ui (no entry points) */ +passthru: /* ARB_texture_swizzle (no entry points) */ +passthru: /* ARB_timer_query */ +passthru: /* ARB_vertex_type_2_10_10_10_rev */ + + +############################################################################### +############################################################################### +# +# OpenGL 4.0 commands +# +############################################################################### +############################################################################### + +# New commands in OpenGL 4.0 - none +newcategory: VERSION_4_0 + +passthru: /* OpenGL 4.0 also reuses entry points from these extensions: */ +passthru: /* ARB_gpu_shader5 (no entry points) */ +passthru: /* ARB_gpu_shader_fp64 */ +passthru: /* ARB_shader_subroutine */ +passthru: /* ARB_tessellation_shader */ +passthru: /* ARB_texture_buffer_object_rgb32 (no entry points) */ +passthru: /* ARB_transform_feedback2 */ +passthru: /* ARB_transform_feedback3 */ + + +############################################################################### +############################################################################### +# +# ARB extensions, in order by ARB extension number +# +############################################################################### +############################################################################### + +############################################################################### +# +# ARB Extension #1 +# ARB_multitexture commands +# +############################################################################### + +ActiveTextureARB(texture) +	return		void +	param		texture		TextureUnit in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	197 +	alias		ActiveTexture + +ClientActiveTextureARB(texture) +	return		void +	param		texture		TextureUnit in value +	category	ARB_multitexture +	dlflags		notlistable +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.2 +	alias		ClientActiveTexture + +MultiTexCoord1dARB(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		CoordD in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord1dv + +MultiTexCoord1dvARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordD in array [1] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	198 +	alias		MultiTexCoord1dv + +MultiTexCoord1fARB(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		CoordF in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord1fv + +MultiTexCoord1fvARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordF in array [1] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	199 +	alias		MultiTexCoord1fv + +MultiTexCoord1iARB(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		CoordI in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord1iv + +MultiTexCoord1ivARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordI in array [1] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	200 +	alias		MultiTexCoord1iv + +MultiTexCoord1sARB(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		CoordS in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord1sv + +MultiTexCoord1svARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordS in array [1] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	201 +	alias		MultiTexCoord1sv + +MultiTexCoord2dARB(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		CoordD in value +	param		t		CoordD in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord2dv + +MultiTexCoord2dvARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordD in array [2] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	202 +	alias		MultiTexCoord2dv + +MultiTexCoord2fARB(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		CoordF in value +	param		t		CoordF in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord2fv + +MultiTexCoord2fvARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordF in array [2] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	203 +	alias		MultiTexCoord2fv + +MultiTexCoord2iARB(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		CoordI in value +	param		t		CoordI in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord2iv + +MultiTexCoord2ivARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordI in array [2] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	204 +	alias		MultiTexCoord2iv + +MultiTexCoord2sARB(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		CoordS in value +	param		t		CoordS in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord2sv + +MultiTexCoord2svARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordS in array [2] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	205 +	alias		MultiTexCoord2sv + +MultiTexCoord3dARB(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		CoordD in value +	param		t		CoordD in value +	param		r		CoordD in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord3dv + +MultiTexCoord3dvARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordD in array [3] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	206 +	alias		MultiTexCoord3dv + +MultiTexCoord3fARB(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		CoordF in value +	param		t		CoordF in value +	param		r		CoordF in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord3fv + +MultiTexCoord3fvARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordF in array [3] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	207 +	alias		MultiTexCoord3fv + +MultiTexCoord3iARB(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		CoordI in value +	param		t		CoordI in value +	param		r		CoordI in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord3iv + +MultiTexCoord3ivARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordI in array [3] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	208 +	alias		MultiTexCoord3iv + +MultiTexCoord3sARB(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		CoordS in value +	param		t		CoordS in value +	param		r		CoordS in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord3sv + +MultiTexCoord3svARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordS in array [3] +	category	ARB_multitexture +	version		1.2 +	glxflags	ARB +	glxropcode	209 +	alias		MultiTexCoord3sv + +MultiTexCoord4dARB(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		CoordD in value +	param		t		CoordD in value +	param		r		CoordD in value +	param		q		CoordD in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord4dv + +MultiTexCoord4dvARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordD in array [4] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	210 +	alias		MultiTexCoord4dv + +MultiTexCoord4fARB(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		CoordF in value +	param		t		CoordF in value +	param		r		CoordF in value +	param		q		CoordF in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord4fv + +MultiTexCoord4fvARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordF in array [4] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	211 +	alias		MultiTexCoord4fv + +MultiTexCoord4iARB(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		CoordI in value +	param		t		CoordI in value +	param		r		CoordI in value +	param		q		CoordI in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord4iv + +MultiTexCoord4ivARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordI in array [4] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	212 +	alias		MultiTexCoord4iv + +MultiTexCoord4sARB(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		CoordS in value +	param		t		CoordS in value +	param		r		CoordS in value +	param		q		CoordS in value +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	vectorequiv	MultiTexCoord4sv + +MultiTexCoord4svARB(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		CoordS in array [4] +	category	ARB_multitexture +	glxflags	ARB +	version		1.2 +	glxropcode	213 +	alias		MultiTexCoord4sv + +################################################################################ +# +# ARB Extension #2 - GLX_ARB_get_proc_address +# +############################################################################### + +################################################################################ +# +# ARB Extension #3 +# ARB_transpose_matrix commands +# +############################################################################### + +LoadTransposeMatrixfARB(m) +	return		void +	param		m		Float32 in array [16] +	category	ARB_transpose_matrix +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.2 +	alias		LoadTransposeMatrixf + +LoadTransposeMatrixdARB(m) +	return		void +	param		m		Float64 in array [16] +	category	ARB_transpose_matrix +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.2 +	alias		LoadTransposeMatrixd + +MultTransposeMatrixfARB(m) +	return		void +	param		m		Float32 in array [16] +	category	ARB_transpose_matrix +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.2 +	alias		MultTransposeMatrixf + +MultTransposeMatrixdARB(m) +	return		void +	param		m		Float64 in array [16] +	category	ARB_transpose_matrix +	glxflags	ARB client-handcode client-intercept server-handcode +	version		1.2 +	alias		MultTransposeMatrixd + +################################################################################ +# +# ARB Extension #4 - WGL_ARB_buffer_region +# +############################################################################### + +################################################################################ +# +# ARB Extension #5 +# ARB_multisample commands +# +############################################################################### + +SampleCoverageARB(value, invert) +	return		void +	param		value		ClampedFloat32 in value +	param		invert		Boolean in value +	category	ARB_multisample +	glxflags	ARB +	version		1.2 +	alias		SampleCoverage + +################################################################################ +# +# ARB Extension #6 +# ARB_texture_env_add commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_env_add + +################################################################################ +# +# ARB Extension #7 +# ARB_texture_cube_map commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_cube_map + +################################################################################ +# +# ARB Extension #8 - WGL_ARB_extensions_string +# ARB Extension #9 - WGL_ARB_pixel_format commands +# ARB Extension #10 - WGL_ARB_make_current_read commands +# ARB Extension #11 - WGL_ARB_pbuffer +# +############################################################################### + +################################################################################ +# +# ARB Extension #12 +# ARB_texture_compression commands +# +############################################################################### + +# Arguably TexelInternalFormat, not PixelInternalFormat +CompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	ARB_texture_compression +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.2 +	glxropcode	216 +	alias		CompressedTexImage3D +	wglflags	client-handcode server-handcode + +# Arguably TexelInternalFormat, not PixelInternalFormat +CompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	ARB_texture_compression +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.2 +	glxropcode	215 +	alias		CompressedTexImage2D +	wglflags	client-handcode server-handcode + +# Arguably TexelInternalFormat, not PixelInternalFormat +CompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	ARB_texture_compression +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.2 +	glxropcode	214 +	alias		CompressedTexImage1D +	wglflags	client-handcode server-handcode + +CompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	ARB_texture_compression +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.2 +	glxropcode	219 +	alias		CompressedTexSubImage3D +	wglflags	client-handcode server-handcode + +CompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	ARB_texture_compression +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.2 +	glxropcode	218 +	alias		CompressedTexSubImage2D +	wglflags	client-handcode server-handcode + +CompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, data) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		data		CompressedTextureARB in array [imageSize] +	category	ARB_texture_compression +	dlflags		handcode +	glxflags	ARB client-handcode server-handcode +	version		1.2 +	glxropcode	217 +	alias		CompressedTexSubImage1D +	wglflags	client-handcode server-handcode + +GetCompressedTexImageARB(target, level, img) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		img		CompressedTextureARB out array [COMPSIZE(target/level)] +	category	ARB_texture_compression +	dlflags		notlistable +	glxflags	ARB client-handcode server-handcode +	version		1.2 +	glxsingle	160 +	alias		GetCompressedTexImage +	wglflags	client-handcode server-handcode + +################################################################################ +# +# ARB Extension #13 +# ARB_texture_border_clamp commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_border_clamp + +############################################################################### +# +# ARB Extension #14 +# ARB_point_parameters commands +# +############################################################################### + +PointParameterfARB(pname, param) +	return		void +	param		pname		PointParameterNameARB in value +	param		param		CheckedFloat32 in value +	category	ARB_point_parameters +	version		1.0 +	glxflags	ARB +	glxropcode	2065 +	extension +	alias		PointParameterf + +PointParameterfvARB(pname, params) +	return		void +	param		pname		PointParameterNameARB in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	ARB_point_parameters +	version		1.0 +	glxflags	ARB +	glxropcode	2066 +	extension +	alias		PointParameterfv + +################################################################################ +# +# ARB Extension #15 +# ARB_vertex_blend commands +# +############################################################################### + +WeightbvARB(size, weights) +	return		void +	param		size		Int32 in value +	param		weights		Int8 in array [size] +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	220 +	glxflags	ignore +	offset		? + +WeightsvARB(size, weights) +	return		void +	param		size		Int32 in value +	param		weights		Int16 in array [size] +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	222 +	glxflags	ignore +	offset		? + +WeightivARB(size, weights) +	return		void +	param		size		Int32 in value +	param		weights		Int32 in array [size] +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	224 +	glxflags	ignore +	offset		? + +WeightfvARB(size, weights) +	return		void +	param		size		Int32 in value +	param		weights		Float32 in array [size] +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	227 +	glxflags	ignore +	offset		? + +WeightdvARB(size, weights) +	return		void +	param		size		Int32 in value +	param		weights		Float64 in array [size] +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	228 +	glxflags	ignore +	offset		? + +WeightubvARB(size, weights) +	return		void +	param		size		Int32 in value +	param		weights		UInt8 in array [size] +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	221 +	glxflags	ignore +	offset		? + +WeightusvARB(size, weights) +	return		void +	param		size		Int32 in value +	param		weights		UInt16 in array [size] +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	223 +	glxflags	ignore +	offset		? + +WeightuivARB(size, weights) +	return		void +	param		size		Int32 in value +	param		weights		UInt32 in array [size] +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	225 +	glxflags	ignore +	offset		? + +WeightPointerARB(size, type, stride, pointer) +	return		void +	param		size		Int32 in value +	param		type		WeightPointerTypeARB in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	ARB_vertex_blend +	version		1.1 +	extension +	dlflags		notlistable +	glxflags	ignore +	offset		? + +VertexBlendARB(count) +	return		void +	param		count		Int32 in value +	category	ARB_vertex_blend +	version		1.1 +	extension +	glxropcode	226 +	glxflags	ignore +	offset		? + +################################################################################ +# +# ARB Extension #16 +# ARB_matrix_palette commands +# +############################################################################### + +CurrentPaletteMatrixARB(index) +	return		void +	param		index		Int32 in value +	category	ARB_matrix_palette +	version		1.1 +	extension +	glxropcode	4329 +	glxflags	ignore +	offset		? + +MatrixIndexubvARB(size, indices) +	return		void +	param		size		Int32 in value +	param		indices		UInt8 in array [size] +	category	ARB_matrix_palette +	version		1.1 +	extension +	glxropcode	4326 +	glxflags	ignore +	offset		? + +MatrixIndexusvARB(size, indices) +	return		void +	param		size		Int32 in value +	param		indices		UInt16 in array [size] +	category	ARB_matrix_palette +	version		1.1 +	extension +	glxropcode	4327 +	glxflags	ignore +	offset		? + +MatrixIndexuivARB(size, indices) +	return		void +	param		size		Int32 in value +	param		indices		UInt32 in array [size] +	category	ARB_matrix_palette +	version		1.1 +	extension +	glxropcode	4328 +	glxflags	ignore +	offset		? + +MatrixIndexPointerARB(size, type, stride, pointer) +	return		void +	param		size		Int32 in value +	param		type		MatrixIndexPointerTypeARB in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	ARB_matrix_palette +	version		1.1 +	extension +	dlflags		notlistable +	glxflags	ignore +	offset		? + +################################################################################ +# +# ARB Extension #17 +# ARB_texture_env_combine commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_env_combine + +################################################################################ +# +# ARB Extension #18 +# ARB_texture_env_crossbar commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_env_crossbar + +################################################################################ +# +# ARB Extension #19 +# ARB_texture_env_dot3 commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_env_dot3 + +############################################################################### +# +# ARB Extension #20 - WGL_ARB_render_texture +# +############################################################################### + +############################################################################### +# +# ARB Extension #21 +# ARB_texture_mirrored_repeat commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_mirrored_repeat + +############################################################################### +# +# ARB Extension #22 +# ARB_depth_texture commands +# +############################################################################### + +# (none) +newcategory: ARB_depth_texture + +############################################################################### +# +# ARB Extension #23 +# ARB_shadow commands +# +############################################################################### + +# (none) +newcategory: ARB_shadow + +############################################################################### +# +# ARB Extension #24 +# ARB_shadow_ambient commands +# +############################################################################### + +# (none) +newcategory: ARB_shadow_ambient + +############################################################################### +# +# ARB Extension #25 +# ARB_window_pos commands +# Note: all entry points use glxropcode ropcode 230, with 3 float parameters +# +############################################################################### + +WindowPos2dARB(x, y) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	category	ARB_window_pos +	vectorequiv	WindowPos2dvARB +	version		1.0 +	alias		WindowPos2d + +WindowPos2dvARB(v) +	return		void +	param		v		CoordD in array [2] +	category	ARB_window_pos +	version		1.0 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	alias		WindowPos2dv + +WindowPos2fARB(x, y) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	category	ARB_window_pos +	vectorequiv	WindowPos2fvARB +	version		1.0 +	alias		WindowPos2f + +WindowPos2fvARB(v) +	return		void +	param		v		CoordF in array [2] +	category	ARB_window_pos +	version		1.0 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	alias		WindowPos2fv + +WindowPos2iARB(x, y) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	category	ARB_window_pos +	vectorequiv	WindowPos2ivARB +	version		1.0 +	alias		WindowPos2i + +WindowPos2ivARB(v) +	return		void +	param		v		CoordI in array [2] +	category	ARB_window_pos +	version		1.0 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	alias		WindowPos2iv + +WindowPos2sARB(x, y) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	category	ARB_window_pos +	vectorequiv	WindowPos2svARB +	version		1.0 +	alias		WindowPos2s + +WindowPos2svARB(v) +	return		void +	param		v		CoordS in array [2] +	category	ARB_window_pos +	version		1.0 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	alias		WindowPos2sv + +WindowPos3dARB(x, y, z) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	param		z		CoordD in value +	vectorequiv	WindowPos3dvARB +	category	ARB_window_pos +	version		1.0 +	alias		WindowPos3d + +WindowPos3dvARB(v) +	return		void +	param		v		CoordD in array [3] +	category	ARB_window_pos +	version		1.0 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	alias		WindowPos3dv + +WindowPos3fARB(x, y, z) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	param		z		CoordF in value +	category	ARB_window_pos +	vectorequiv	WindowPos3fvARB +	version		1.0 +	alias		WindowPos3f + +WindowPos3fvARB(v) +	return		void +	param		v		CoordF in array [3] +	category	ARB_window_pos +	version		1.0 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	alias		WindowPos3fv + +WindowPos3iARB(x, y, z) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	param		z		CoordI in value +	category	ARB_window_pos +	vectorequiv	WindowPos3ivARB +	version		1.0 +	alias		WindowPos3i + +WindowPos3ivARB(v) +	return		void +	param		v		CoordI in array [3] +	category	ARB_window_pos +	version		1.0 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	alias		WindowPos3iv + +WindowPos3sARB(x, y, z) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	param		z		CoordS in value +	category	ARB_window_pos +	vectorequiv	WindowPos3svARB +	version		1.0 +	alias		WindowPos3s + +WindowPos3svARB(v) +	return		void +	param		v		CoordS in array [3] +	category	ARB_window_pos +	version		1.0 +	glxropcode	230 +	glxflags	client-handcode server-handcode +	alias		WindowPos3sv + +############################################################################### +# +# ARB Extension #26 +# ARB_vertex_program commands +# +############################################################################### + +VertexAttrib1dARB(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib1dvARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib1d + +VertexAttrib1dvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [1] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4197 +	alias		VertexAttrib1dv + +VertexAttrib1fARB(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib1fvARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib1f + +VertexAttrib1fvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [1] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4193 +	alias		VertexAttrib1fv + +VertexAttrib1sARB(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib1svARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib1s + +VertexAttrib1svARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [1] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4189 +	alias		VertexAttrib1sv + +VertexAttrib2dARB(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib2dvARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib2d + +VertexAttrib2dvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [2] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4198 +	alias		VertexAttrib2dv + +VertexAttrib2fARB(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib2fvARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib2f + +VertexAttrib2fvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [2] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4194 +	alias		VertexAttrib2fv + +VertexAttrib2sARB(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib2svARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib2s + +VertexAttrib2svARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [2] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4190 +	alias		VertexAttrib2sv + +VertexAttrib3dARB(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib3dvARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib3d + +VertexAttrib3dvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [3] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4199 +	alias		VertexAttrib3dv + +VertexAttrib3fARB(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib3fvARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib3f + +VertexAttrib3fvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [3] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4195 +	alias		VertexAttrib3fv + +VertexAttrib3sARB(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	param		z		Int16 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib3svARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib3s + +VertexAttrib3svARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [3] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4191 +	alias		VertexAttrib3sv + +VertexAttrib4NbvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int8 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4Nbv + +VertexAttrib4NivARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4Niv + +VertexAttrib4NsvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4Nsv + +VertexAttrib4NubARB(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		UInt8 in value +	param		y		UInt8 in value +	param		z		UInt8 in value +	param		w		UInt8 in value +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4Nub + +VertexAttrib4NubvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt8 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4201 +	alias		VertexAttrib4Nubv + +VertexAttrib4NuivARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4Nuiv + +VertexAttrib4NusvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt16 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4Nusv + +VertexAttrib4bvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int8 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4bv + +VertexAttrib4dARB(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib4dvARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4d + +VertexAttrib4dvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4200 +	alias		VertexAttrib4dv + +VertexAttrib4fARB(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib4fvARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4f + +VertexAttrib4fvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4196 +	alias		VertexAttrib4fv + +VertexAttrib4ivARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4iv + +VertexAttrib4sARB(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	param		z		Int16 in value +	param		w		Int16 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	VertexAttrib4svARB +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4s + +VertexAttrib4svARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4192 +	alias		VertexAttrib4sv + +VertexAttrib4ubvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt8 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4ubv + +VertexAttrib4uivARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4uiv + +VertexAttrib4usvARB(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt16 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4usv + +VertexAttribPointerARB(index, size, type, normalized, stride, pointer) +	return		void +	param		index		UInt32 in value +	param		size		Int32 in value +	param		type		VertexAttribPointerTypeARB in value +	param		normalized	Boolean in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		VertexAttribPointer + +EnableVertexAttribArrayARB(index) +	return		void +	param		index		UInt32 in value +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		EnableVertexAttribArray + +DisableVertexAttribArrayARB(index) +	return		void +	param		index		UInt32 in value +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	alias		DisableVertexAttribArray + +ProgramStringARB(target, format, len, string) +	return		void +	param		target		ProgramTargetARB in value +	param		format		ProgramFormatARB in value +	param		len		SizeI in value +	param		string		Void in array [len] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		667 + +BindProgramARB(target, program) +	return		void +	param		target		ProgramTargetARB in value +	param		program		UInt32 in value +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxropcode	4180 +	offset		579 + +DeleteProgramsARB(n, programs) +	return		void +	param		n		SizeI in value +	param		programs	UInt32 in array [n] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1294 +	offset		580 + +GenProgramsARB(n, programs) +	return		void +	param		n		SizeI in value +	param		programs	UInt32 out array [n] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1295 +	offset		582 + +ProgramEnvParameter4dARB(target, index, x, y, z, w) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	ProgramEnvParameter4dvARB +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		668 + +ProgramEnvParameter4dvARB(target, index, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		params		Float64 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		669 + +ProgramEnvParameter4fARB(target, index, x, y, z, w) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	ProgramEnvParameter4fvARB +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		670 + +ProgramEnvParameter4fvARB(target, index, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		params		Float32 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		671 + +ProgramLocalParameter4dARB(target, index, x, y, z, w) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	ProgramLocalParameter4dvARB +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		672 + +ProgramLocalParameter4dvARB(target, index, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		params		Float64 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		673 + +ProgramLocalParameter4fARB(target, index, x, y, z, w) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	ARB_vertex_program +	version		1.3 +	vectorequiv	ProgramLocalParameter4fvARB +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		674 + +ProgramLocalParameter4fvARB(target, index, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		params		Float32 in array [4] +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		675 + +GetProgramEnvParameterdvARB(target, index, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		params		Float64 out array [4] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		676 + +GetProgramEnvParameterfvARB(target, index, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		params		Float32 out array [4] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		677 + +GetProgramLocalParameterdvARB(target, index, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		params		Float64 out array [4] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		678 + +GetProgramLocalParameterfvARB(target, index, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		params		Float32 out array [4] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		679 + +GetProgramivARB(target, pname, params) +	return		void +	param		target		ProgramTargetARB in value +	param		pname		ProgramPropertyARB in value +	param		params		Int32 out array [1] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		680 + +GetProgramStringARB(target, pname, string) +	return		void +	param		target		ProgramTargetARB in value +	param		pname		ProgramStringPropertyARB in value +	param		string		Void out array [COMPSIZE(target,pname)] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		681 + +GetVertexAttribdvARB(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribPropertyARB in value +	param		params		Float64 out array [4] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1301 +	alias		GetVertexAttribdv + +GetVertexAttribfvARB(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribPropertyARB in value +	param		params		Float32 out array [4] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1302 +	alias		GetVertexAttribfv + +GetVertexAttribivARB(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribPropertyARB in value +	param		params		Int32 out array [4] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1303 +	alias		GetVertexAttribiv + +GetVertexAttribPointervARB(index, pname, pointer) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribPointerPropertyARB in value +	param		pointer		VoidPointer out array [1] +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	alias		GetVertexAttribPointerv + +IsProgramARB(program) +	return		Boolean +	param		program		UInt32 in value +	dlflags		notlistable +	category	ARB_vertex_program +	version		1.3 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1304 +	alias		IsProgram + + +############################################################################### +# +# ARB Extension #27 +# ARB_fragment_program commands +# +############################################################################### + +# All ARB_fragment_program entry points are shared with ARB_vertex_program, +#   and are only included in that #define block, for now. +newcategory: ARB_fragment_program +passthru: /* All ARB_fragment_program entry points are shared with ARB_vertex_program. */ + +############################################################################### +# +# ARB Extension #28 +# ARB_vertex_buffer_object commands +# +############################################################################### + +BindBufferARB(target, buffer) +	return		void +	param		target		BufferTargetARB in value +	param		buffer		UInt32 in value +	category	ARB_vertex_buffer_object +	version		1.2 +	extension +	alias		BindBuffer + +DeleteBuffersARB(n, buffers) +	return		void +	param		n		SizeI in value +	param		buffers		ConstUInt32 in array [n] +	category	ARB_vertex_buffer_object +	version		1.2 +	extension +	alias		DeleteBuffers + +GenBuffersARB(n, buffers) +	return		void +	param		n		SizeI in value +	param		buffers		UInt32 out array [n] +	category	ARB_vertex_buffer_object +	version		1.2 +	extension +	alias		GenBuffers + +IsBufferARB(buffer) +	return		Boolean +	param		buffer		UInt32 in value +	category	ARB_vertex_buffer_object +	version		1.2 +	extension +	alias		IsBuffer + +BufferDataARB(target, size, data, usage) +	return		void +	param		target		BufferTargetARB in value +	param		size		BufferSizeARB in value +	param		data		ConstVoid in array [size] +	param		usage		BufferUsageARB in value +	category	ARB_vertex_buffer_object +	version		1.2 +	extension +	alias		BufferData + +BufferSubDataARB(target, offset, size, data) +	return		void +	param		target		BufferTargetARB in value +	param		offset		BufferOffsetARB in value +	param		size		BufferSizeARB in value +	param		data		ConstVoid in array [size] +	category	ARB_vertex_buffer_object +	version		1.2 +	extension +	alias		BufferSubData + +GetBufferSubDataARB(target, offset, size, data) +	return		void +	param		target		BufferTargetARB in value +	param		offset		BufferOffsetARB in value +	param		size		BufferSizeARB in value +	param		data		Void out array [size] +	category	ARB_vertex_buffer_object +	dlflags		notlistable +	version		1.2 +	extension +	alias		GetBufferSubData + +MapBufferARB(target, access) +	return		VoidPointer +	param		target		BufferTargetARB in value +	param		access		BufferAccessARB in value +	category	ARB_vertex_buffer_object +	version		1.2 +	extension +	alias		MapBuffer + +UnmapBufferARB(target) +	return		Boolean +	param		target		BufferTargetARB in value +	category	ARB_vertex_buffer_object +	version		1.2 +	extension +	alias		UnmapBuffer + +GetBufferParameterivARB(target, pname, params) +	return		void +	param		target		BufferTargetARB in value +	param		pname		BufferPNameARB in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_vertex_buffer_object +	dlflags		notlistable +	version		1.2 +	extension +	alias		GetBufferParameteriv + +GetBufferPointervARB(target, pname, params) +	return		void +	param		target		BufferTargetARB in value +	param		pname		BufferPointerNameARB in value +	param		params		VoidPointer out array [1] +	category	ARB_vertex_buffer_object +	dlflags		notlistable +	version		1.2 +	extension +	alias		GetBufferPointerv + +############################################################################### +# +# ARB Extension #29 +# ARB_occlusion_query commands +# +############################################################################### + +GenQueriesARB(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 out array [n] +	category	ARB_occlusion_query +	version		1.5 +	extension +	alias		GenQueries + +DeleteQueriesARB(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 in array [n] +	category	ARB_occlusion_query +	version		1.5 +	extension +	alias		DeleteQueries + +IsQueryARB(id) +	return		Boolean +	param		id		UInt32 in value +	category	ARB_occlusion_query +	version		1.5 +	extension +	alias		IsQuery + +BeginQueryARB(target, id) +	return		void +	param		target		GLenum in value +	param		id		UInt32 in value +	category	ARB_occlusion_query +	version		1.5 +	extension +	alias		BeginQuery + +EndQueryARB(target) +	return		void +	param		target		GLenum in value +	category	ARB_occlusion_query +	version		1.5 +	extension +	alias		EndQuery + +GetQueryivARB(target, pname, params) +	return		void +	param		target		GLenum in value +	param		pname		GLenum in value +	param		params		Int32 out array [pname] +	category	ARB_occlusion_query +	dlflags		notlistable +	version		1.5 +	extension +	alias		GetQueryiv + +GetQueryObjectivARB(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [pname] +	category	ARB_occlusion_query +	dlflags		notlistable +	version		1.5 +	extension +	alias		GetQueryObjectiv + +GetQueryObjectuivARB(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		GLenum in value +	param		params		UInt32 out array [pname] +	category	ARB_occlusion_query +	dlflags		notlistable +	version		1.5 +	extension +	alias		GetQueryObjectuiv + +############################################################################### +# +# ARB Extension #30 +# ARB_shader_objects commands +# +############################################################################### + +DeleteObjectARB(obj) +	return		void +	param		obj		handleARB in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetHandleARB(pname) +	return		handleARB +	param		pname		GLenum in value +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +DetachObjectARB(containerObj, attachedObj) +	return		void +	param		containerObj	handleARB in value +	param		attachedObj	handleARB in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		DetachShader + +CreateShaderObjectARB(shaderType) +	return		handleARB +	param		shaderType	GLenum in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		CreateShader + +ShaderSourceARB(shaderObj, count, string, length) +	return		void +	param		shaderObj	handleARB in value +	param		count		SizeI in value +	param		string		charPointerARB in array [count] +	param		length		Int32 in array [1] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		ShaderSource + +CompileShaderARB(shaderObj) +	return		void +	param		shaderObj	handleARB in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		CompileShader + +CreateProgramObjectARB() +	return		handleARB +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		CreateProgram + +AttachObjectARB(containerObj, obj) +	return		void +	param		containerObj	handleARB in value +	param		obj		handleARB in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		AttachShader + +LinkProgramARB(programObj) +	return		void +	param		programObj	handleARB in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		LinkProgram + +UseProgramObjectARB(programObj) +	return		void +	param		programObj	handleARB in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		UseProgram + +ValidateProgramARB(programObj) +	return		void +	param		programObj	handleARB in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		ValidateProgram + +Uniform1fARB(location, v0) +	return		void +	param		location	Int32 in value +	param		v0		Float32 in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform1f + +Uniform2fARB(location, v0, v1) +	return		void +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform2f + +Uniform3fARB(location, v0, v1, v2) +	return		void +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	param		v2		Float32 in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform3f + +Uniform4fARB(location, v0, v1, v2, v3) +	return		void +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	param		v2		Float32 in value +	param		v3		Float32 in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform4f + +Uniform1iARB(location, v0) +	return		void +	param		location	Int32 in value +	param		v0		Int32 in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform1i + +Uniform2iARB(location, v0, v1) +	return		void +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform2i + +Uniform3iARB(location, v0, v1, v2) +	return		void +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	param		v2		Int32 in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform3i + +Uniform4iARB(location, v0, v1, v2, v3) +	return		void +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	param		v2		Int32 in value +	param		v3		Int32 in value +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform4i + +Uniform1fvARB(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform1fv + +Uniform2fvARB(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform2fv + +Uniform3fvARB(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform3fv + +Uniform4fvARB(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform4fv + +Uniform1ivARB(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform1iv + +Uniform2ivARB(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform2iv + +Uniform3ivARB(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform3iv + +Uniform4ivARB(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		Uniform4iv + +UniformMatrix2fvARB(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		UniformMatrix2fv + +UniformMatrix3fvARB(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		UniformMatrix3fv + +UniformMatrix4fvARB(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count] +	category	ARB_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		UniformMatrix4fv + +GetObjectParameterfvARB(obj, pname, params) +	return		void +	param		obj		handleARB in value +	param		pname		GLenum in value +	param		params		Float32 out array [pname] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetObjectParameterivARB(obj, pname, params) +	return		void +	param		obj		handleARB in value +	param		pname		GLenum in value +	param		params		Int32 out array [pname] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetInfoLogARB(obj, maxLength, length, infoLog) +	return		void +	param		obj		handleARB in value +	param		maxLength	SizeI in value +	param		length		SizeI out array [1] +	param		infoLog		charARB out array [length] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetAttachedObjectsARB(containerObj, maxCount, count, obj) +	return		void +	param		containerObj	handleARB in value +	param		maxCount	SizeI in value +	param		count		SizeI out array [1] +	param		obj		handleARB out array [count] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	alias		GetAttachedShaders + +GetUniformLocationARB(programObj, name) +	return		Int32 +	param		programObj	handleARB in value +	param		name		charARB in array [] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	alias		GetUniformLocation + +GetActiveUniformARB(programObj, index, maxLength, length, size, type, name) +	return		void +	param		programObj	handleARB in value +	param		index		UInt32 in value +	param		maxLength	SizeI in value +	param		length		SizeI out array [1] +	param		size		Int32 out array [1] +	param		type		GLenum out array [1] +	param		name		charARB out array [] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	alias		GetActiveUniform + +GetUniformfvARB(programObj, location, params) +	return		void +	param		programObj	handleARB in value +	param		location	Int32 in value +	param		params		Float32 out array [location] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	alias		GetUniformfv + +GetUniformivARB(programObj, location, params) +	return		void +	param		programObj	handleARB in value +	param		location	Int32 in value +	param		params		Int32 out array [location] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	alias		GetUniformiv + +GetShaderSourceARB(obj, maxLength, length, source) +	return		void +	param		obj		handleARB in value +	param		maxLength	SizeI in value +	param		length		SizeI out array [1] +	param		source		charARB out array [length] +	category	ARB_shader_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	alias		GetShaderSource + + +############################################################################### +# +# ARB Extension #31 +# ARB_vertex_shader commands +# +############################################################################### + +BindAttribLocationARB(programObj, index, name) +	return		void +	param		programObj	handleARB in value +	param		index		UInt32 in value +	param		name		charARB in array [] +	category	ARB_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		BindAttribLocation + +GetActiveAttribARB(programObj, index, maxLength, length, size, type, name) +	return		void +	param		programObj	handleARB in value +	param		index		UInt32 in value +	param		maxLength	SizeI in value +	param		length		SizeI out array [1] +	param		size		Int32 out array [1] +	param		type		GLenum out array [1] +	param		name		charARB out array [] +	category	ARB_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	alias		GetActiveAttrib + +GetAttribLocationARB(programObj, name) +	return		Int32 +	param		programObj	handleARB in value +	param		name		charARB in array [] +	category	ARB_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	alias		GetAttribLocation + +############################################################################### +# +# ARB Extension #32 +# ARB_fragment_shader commands +# +############################################################################### + +#  (none) +newcategory: ARB_fragment_shader + +############################################################################### +# +# ARB Extension #33 +# ARB_shading_language_100 commands +# +############################################################################### + +#  (none) +newcategory: ARB_shading_language_100 + +############################################################################### +# +# ARB Extension #34 +# ARB_texture_non_power_of_two commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_non_power_of_two + +############################################################################### +# +# ARB Extension #35 +# ARB_point_sprite commands +# +############################################################################### + +# (none) +newcategory: ARB_point_sprite + +############################################################################### +# +# ARB Extension #36 +# ARB_fragment_program_shadow commands +# +############################################################################### + +# (none) +newcategory: ARB_fragment_program_shadow + +############################################################################### +# +# ARB Extension #37 +# ARB_draw_buffers commands +# +############################################################################### + +DrawBuffersARB(n, bufs) +	return		void +	param		n		SizeI in value +	param		bufs		DrawBufferModeATI in array [n] +	category	ARB_draw_buffers +	version		1.5 +	extension +	alias		DrawBuffers + +############################################################################### +# +# ARB Extension #38 +# ARB_texture_rectangle commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_rectangle + +############################################################################### +# +# ARB Extension #39 +# ARB_color_buffer_float commands +# +############################################################################### + +ClampColorARB(target, clamp) +	return		void +	param		target		ClampColorTargetARB in value +	param		clamp		ClampColorModeARB in value +	category	ARB_color_buffer_float +	version		1.5 +	extension +	glxropcode	234 +	glxflags	ignore +	alias		ClampColor + +############################################################################### +# +# ARB Extension #40 +# ARB_half_float_pixel commands +# +############################################################################### + +# (none) +newcategory: ARB_half_float_pixel + +############################################################################### +# +# ARB Extension #41 +# ARB_texture_float commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_float + +############################################################################### +# +# ARB Extension #42 +# ARB_pixel_buffer_object commands +# +############################################################################### + +# (none) +newcategory: ARB_pixel_buffer_object + +############################################################################### +# +# ARB Extension #43 +# ARB_depth_buffer_float commands (also OpenGL 3.0) +# +############################################################################### + +# (none) +newcategory: ARB_depth_buffer_float + +############################################################################### +# +# ARB Extension #44 +# ARB_draw_instanced commands +# +############################################################################### + +DrawArraysInstancedARB(mode, first, count, primcount) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 in value +	param		count		SizeI in value +	param		primcount	SizeI in value +	category	ARB_draw_instanced +	version		2.0 +	extension	soft WINSOFT +	dlflags		notlistable +	vectorequiv	ArrayElement +	glfflags	ignore +	glxflags	ignore +	alias		DrawArraysInstanced + +DrawElementsInstancedARB(mode, count, type, indices, primcount) +	return		void +	param		mode		BeginMode in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	param		primcount	SizeI in value +	category	ARB_draw_instanced +	version		2.0 +	extension	soft WINSOFT +	dlflags		notlistable +	vectorequiv	ArrayElement +	glfflags	ignore +	glxflags	ignore +	alias		DrawElementsInstanced + +############################################################################### +# +# ARB Extension #45 +# ARB_framebuffer_object commands (also OpenGL 3.0) +# +############################################################################### + +# Promoted from EXT_framebuffer_object +IsRenderbuffer(renderbuffer) +	return		Boolean +	param		renderbuffer	UInt32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxvendorpriv	1422 +	glxflags	ignore +	offset		? + +BindRenderbuffer(target, renderbuffer) +	return		void +	param		target		RenderbufferTarget in value +	param		renderbuffer	UInt32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4316 +	glxflags	ignore +	offset		? + +DeleteRenderbuffers(n, renderbuffers) +	return		void +	param		n		SizeI in value +	param		renderbuffers	UInt32 in array [n] +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4317 +	glxflags	ignore +	offset		? + +GenRenderbuffers(n, renderbuffers) +	return		void +	param		n		SizeI in value +	param		renderbuffers	UInt32 out array [n] +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxvendorpriv	1423 +	glxflags	ignore +	offset		? + +RenderbufferStorage(target, internalformat, width, height) +	return		void +	param		target		RenderbufferTarget in value +	param		internalformat	GLenum in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4318 +	glxflags	ignore +	offset		? + +GetRenderbufferParameteriv(target, pname, params) +	return		void +	param		target		RenderbufferTarget in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_framebuffer_object +	dlflags		notlistable +	version		3.0 +	extension +	glxvendorpriv	1424 +	glxflags	ignore +	offset		? + +IsFramebuffer(framebuffer) +	return		Boolean +	param		framebuffer	UInt32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxvendorpriv	1425 +	glxflags	ignore +	offset		? + +BindFramebuffer(target, framebuffer) +	return		void +	param		target		FramebufferTarget in value +	param		framebuffer	UInt32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4319 +	glxflags	ignore +	offset		? + +DeleteFramebuffers(n, framebuffers) +	return		void +	param		n		SizeI in value +	param		framebuffers	UInt32 in array [n] +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4320 +	glxflags	ignore +	offset		? + +GenFramebuffers(n, framebuffers) +	return		void +	param		n		SizeI in value +	param		framebuffers	UInt32 out array [n] +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxvendorpriv	1426 +	glxflags	ignore +	offset		? + +CheckFramebufferStatus(target) +	return		GLenum +	param		target		FramebufferTarget in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxvendorpriv	1427 +	glxflags	ignore +	offset		? + +FramebufferTexture1D(target, attachment, textarget, texture, level) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		textarget	GLenum in value +	param		texture		UInt32 in value +	param		level		Int32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4321 +	glxflags	ignore +	offset		? + +FramebufferTexture2D(target, attachment, textarget, texture, level) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		textarget	GLenum in value +	param		texture		UInt32 in value +	param		level		Int32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4322 +	glxflags	ignore +	offset		? + +FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		textarget	GLenum in value +	param		texture		UInt32 in value +	param		level		Int32 in value +	param		zoffset		Int32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4323 +	glxflags	ignore +	offset		? + +FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		renderbuffertarget	RenderbufferTarget in value +	param		renderbuffer	UInt32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4324 +	glxflags	ignore +	offset		? + +GetFramebufferAttachmentParameteriv(target, attachment, pname, params) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_framebuffer_object +	dlflags		notlistable +	version		3.0 +	extension +	glxvendorpriv	1428 +	glxflags	ignore +	offset		? + +GenerateMipmap(target) +	return		void +	param		target		GLenum in value +	category	ARB_framebuffer_object +	version		3.0 +	extension +	glxropcode	4325 +	glxflags	ignore +	offset		? + +# Promoted from EXT_framebuffer_blit +BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) +	return		void +	param		srcX0		Int32 in value +	param		srcY0		Int32 in value +	param		srcX1		Int32 in value +	param		srcY1		Int32 in value +	param		dstX0		Int32 in value +	param		dstY0		Int32 in value +	param		dstX1		Int32 in value +	param		dstY1		Int32 in value +	param		mask		ClearBufferMask in value +	param		filter		GLenum in value +	category	ARB_framebuffer_object +	version		3.0 +	glxropcode	4330 +	offset		? + +# Promoted from EXT_framebuffer_multisample +RenderbufferStorageMultisample(target, samples, internalformat, width, height) +	return		void +	param		target		GLenum in value +	param		samples		SizeI in value +	param		internalformat	GLenum in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	ARB_framebuffer_object +	version		3.0 +	glxropcode	4331 +	offset		? + +# Promoted from ARB_geometry_shader4 +FramebufferTextureLayer(target, attachment, texture, level, layer) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	param		layer		CheckedInt32 in value +	category	ARB_framebuffer_object +	version		3.0 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + + +############################################################################### +# +# ARB Extension #46 +# ARB_framebuffer_sRGB commands (also OpenGL 3.0) +# +############################################################################### + +# (none) +newcategory: ARB_framebuffer_sRGB + +############################################################################### +# +# ARB Extension #47 +# ARB_geometry_shader4 commands +# +############################################################################### + +ProgramParameteriARB(program, pname, value) +	return		void +	param		program		UInt32 in value +	param		pname		ProgramParameterPName in value +	param		value		Int32 in value +	category	ARB_geometry_shader4 +	version		3.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore + +FramebufferTextureARB(target, attachment, texture, level) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	category	ARB_geometry_shader4 +	version		3.0 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + +FramebufferTextureLayerARB(target, attachment, texture, level, layer) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	param		layer		CheckedInt32 in value +	category	ARB_geometry_shader4 +	version		3.0 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	alias		FramebufferTextureLayer + +FramebufferTextureFaceARB(target, attachment, texture, level, face) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	param		face		TextureTarget in value +	category	ARB_geometry_shader4 +	version		3.0 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# ARB Extension #48 +# ARB_half_float_vertex commands (also OpenGL 3.0) +# +############################################################################### + +# (none) +newcategory: ARB_half_float_vertex + +############################################################################### +# +# ARB Extension #49 +# ARB_instanced_arrays commands +# +############################################################################### + +VertexAttribDivisorARB(index, divisor) +	return		void +	param		index		UInt32 in value +	param		divisor		UInt32 in value +	category	ARB_instanced_arrays +	version		2.0 +	extension +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# ARB Extension #50 +# ARB_map_buffer_range commands (also OpenGL 3.0) +# +############################################################################### + +MapBufferRange(target, offset, length, access) +	return		VoidPointer +	param		target		BufferTargetARB in value +	param		offset		BufferOffset in value +	param		length		BufferSize in value +	param		access		BufferAccessMask in value +	category	ARB_map_buffer_range +	version		3.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +# Promoted from APPLE_flush_buffer_range +FlushMappedBufferRange(target, offset, length) +	return		void +	param		target		BufferTargetARB in value +	param		offset		BufferOffset in value +	param		length		BufferSize in value +	category	ARB_map_buffer_range +	version		3.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #51 +# ARB_texture_buffer_object commands +# +############################################################################### + +TexBufferARB(target, internalformat, buffer) +	return		void +	param		target		TextureTarget in value +	param		internalformat	GLenum in value +	param		buffer		UInt32 in value +	category	ARB_texture_buffer_object +	version		3.0 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	alias		TexBuffer + +############################################################################### +# +# ARB Extension #52 +# ARB_texture_compression_rgtc commands (also OpenGL 3.0) +# +############################################################################### + +# (none) +newcategory: ARB_texture_compression_rgtc + +############################################################################### +# +# ARB Extension #53 +# ARB_texture_rg commands (also OpenGL 3.0) +# +############################################################################### + +# (none) +newcategory: ARB_texture_rg + +############################################################################### +# +# ARB Extension #54 +# ARB_vertex_array_object commands (also OpenGL 3.0) +# +############################################################################### + +# Promoted from APPLE_vertex_array_object +BindVertexArray(array) +	return		void +	param		array		UInt32 in value +	category	ARB_vertex_array_object +	version		3.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteVertexArrays(n, arrays) +	return		void +	param		n		SizeI in value +	param		arrays		UInt32 in array [n] +	category	ARB_vertex_array_object +	version		3.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GenVertexArrays(n, arrays) +	return		void +	param		n		SizeI in value +	param		arrays		UInt32 out array [n] +	category	ARB_vertex_array_object +	version		3.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsVertexArray(array) +	return		Boolean +	param		array		UInt32 in value +	category	ARB_vertex_array_object +	version		3.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #55 - WGL_ARB_create_context +# ARB Extension #56 - GLX_ARB_create_context +# +############################################################################### + +############################################################################### +# +# ARB Extension #57 +# ARB_uniform_buffer_object commands +# +############################################################################### + +GetUniformIndices(program, uniformCount, uniformNames, uniformIndices) +	return		void +	param		program		UInt32 in value +	param		uniformCount	SizeI in value +	param		uniformNames	CharPointer in array [COMPSIZE(uniformCount)] +	param		uniformIndices	UInt32 out array [COMPSIZE(uniformCount)] +	category	ARB_uniform_buffer_object +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params) +	return		void +	param		program		UInt32 in value +	param		uniformCount	SizeI in value +	param		uniformIndices	UInt32 in array [COMPSIZE(uniformCount)] +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_uniform_buffer_object +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName) +	return		void +	param		program		UInt32 in value +	param		uniformIndex	UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		uniformName	Char out array [bufSize] +	category	ARB_uniform_buffer_object +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetUniformBlockIndex(program, uniformBlockName) +	return		UInt32 +	param		program		UInt32 in value +	param		uniformBlockName	Char in array [COMPSIZE()] +	category	ARB_uniform_buffer_object +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params) +	return		void +	param		program		UInt32 in value +	param		uniformBlockIndex	UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_uniform_buffer_object +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName) +	return		void +	param		program		UInt32 in value +	param		uniformBlockIndex	UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		uniformBlockName	Char out array [bufSize] +	category	ARB_uniform_buffer_object +	dlflags		notlistable +	version		2.0 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding) +	return		void +	param		program		UInt32 in value +	param		uniformBlockIndex	UInt32 in value +	param		uniformBlockBinding	UInt32 in value +	category	ARB_uniform_buffer_object +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + + +############################################################################### +# +# ARB Extension #58 +# ARB_compatibility commands +# +############################################################################### + +# (none) +newcategory: ARB_compatibility + +############################################################################### +# +# ARB Extension #59 +# ARB_copy_buffer commands +# +############################################################################### + +CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size) +	return		void +	param		readTarget	GLenum in value +	param		writeTarget	GLenum in value +	param		readOffset	BufferOffset in value +	param		writeOffset	BufferOffset in value +	param		size		BufferSize in value +	category	ARB_copy_buffer +	version		3.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #60 +# ARB_shader_texture_lod commands +# +############################################################################### + +# (none) +newcategory: ARB_shader_texture_lod + +############################################################################### +# +# ARB Extension #61 +# ARB_depth_clamp commands +# +############################################################################### + +# (none) +newcategory: ARB_depth_clamp + +############################################################################### +# +# ARB Extension #62 +# ARB_draw_elements_base_vertex commands +# +############################################################################### + +DrawElementsBaseVertex(mode, count, type, indices, basevertex) +	return		void +	param		mode		GLenum in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	param		basevertex	Int32 in value +	category	ARB_draw_elements_base_vertex +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex) +	return		void +	param		mode		GLenum in value +	param		start		UInt32 in value +	param		end		UInt32 in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	param		basevertex	Int32 in value +	category	ARB_draw_elements_base_vertex +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DrawElementsInstancedBaseVertex(mode, count, type, indices, primcount, basevertex) +	return		void +	param		mode		GLenum in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	param		primcount	SizeI in value +	param		basevertex	Int32 in value +	category	ARB_draw_elements_base_vertex +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiDrawElementsBaseVertex(mode, count, type, indices, primcount, basevertex) +	return		void +	param		mode		GLenum in value +	param		count		SizeI in array [COMPSIZE(primcount)] +	param		type		DrawElementsType in value +	param		indices		VoidPointer in array [COMPSIZE(primcount)] +	param		primcount	SizeI in value +	param		basevertex	Int32 in array [COMPSIZE(primcount)] +	category	ARB_draw_elements_base_vertex +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #63 +# ARB_fragment_coord_conventions commands +# +############################################################################### + +# (none) +newcategory: ARB_fragment_coord_conventions + +############################################################################### +# +# ARB Extension #64 +# ARB_provoking_vertex commands +# +############################################################################### + +ProvokingVertex(mode) +	return		void +	param		mode		GLenum in value +	category	ARB_provoking_vertex +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #65 +# ARB_seamless_cube_map commands +# +############################################################################### + +# (none) +newcategory: ARB_seamless_cube_map + +############################################################################### +# +# ARB Extension #66 +# ARB_sync commands +# +############################################################################### + +FenceSync(condition, flags) +	return		sync +	param		condition	GLenum in value +	param		flags		GLbitfield in value +	category	ARB_sync +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsSync(sync) +	return		Boolean +	param		sync		sync in value +	category	ARB_sync +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteSync(sync) +	return		void +	param		sync		sync in value +	category	ARB_sync +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ClientWaitSync(sync, flags, timeout) +	return		GLenum +	param		sync		sync in value +	param		flags		GLbitfield in value +	param		timeout		UInt64 in value +	category	ARB_sync +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +WaitSync(sync, flags, timeout) +	return		void +	param		sync		sync in value +	param		flags		GLbitfield in value +	param		timeout		UInt64 in value +	category	ARB_sync +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetInteger64v(pname, params) +	return		void +	param		pname		GLenum in value +	param		params		Int64 out array [COMPSIZE(pname)] +	category	ARB_sync +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetSynciv(sync, pname, bufSize, length, values) +	return		void +	param		sync		sync in value +	param		pname		GLenum in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		values		Int32 out array [length] +	category	ARB_sync +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #67 +# ARB_texture_multisample commands +# +############################################################################### + +TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations) +	return		void +	param		target		GLenum in value +	param		samples		SizeI in value +	param		internalformat	Int32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		fixedsamplelocations	Boolean in value +	category	ARB_texture_multisample +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations) +	return		void +	param		target		GLenum in value +	param		samples		SizeI in value +	param		internalformat	Int32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		fixedsamplelocations	Boolean in value +	category	ARB_texture_multisample +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetMultisamplefv(pname, index, val) +	return		void +	param		pname		GLenum in value +	param		index		UInt32 in value +	param		val		Float32 out array [COMPSIZE(pname)] +	category	ARB_texture_multisample +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +SampleMaski(index, mask) +	return		void +	param		index		UInt32 in value +	param		mask		GLbitfield in value +	category	ARB_texture_multisample +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #68 +# ARB_vertex_array_bgra commands +# +############################################################################### + +# (none) +newcategory: ARB_vertex_array_bgra + +############################################################################### +# +# ARB Extension #69 +# ARB_draw_buffers_blend commands +# +############################################################################### + +@@@ Add ARB suffixes here & functions! +BlendEquationi(buf, mode) +	return		void +	param		buf		UInt32 in value +	param		mode		GLenum in value +	category	ARB_draw_buffers_blend +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BlendEquationSeparatei(buf, modeRGB, modeAlpha) +	return		void +	param		buf		UInt32 in value +	param		modeRGB		GLenum in value +	param		modeAlpha	GLenum in value +	category	ARB_draw_buffers_blend +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BlendFunci(buf, src, dst) +	return		void +	param		buf		UInt32 in value +	param		src		GLenum in value +	param		dst		GLenum in value +	category	ARB_draw_buffers_blend +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) +	return		void +	param		buf		UInt32 in value +	param		srcRGB		GLenum in value +	param		dstRGB		GLenum in value +	param		srcAlpha	GLenum in value +	param		dstAlpha	GLenum in value +	category	ARB_draw_buffers_blend +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #70 +# ARB_sample_shading commands +# +############################################################################### + +@@@ Add ARB suffixes here & functions! +MinSampleShading(value) +	return		void +	param		value		ClampedColorF in value +	category	ARB_sample_shading +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #71 +# ARB_texture_cube_map_array commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_cube_map_array + +############################################################################### +# +# ARB Extension #72 +# ARB_texture_gather commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_gather + +############################################################################### +# +# ARB Extension #73 +# ARB_texture_query_lod commands +# +############################################################################### + +# (none) +newcategory: ARB_texture_query_lod + +############################################################################### +# +# ARB Extension #74 - WGL_ARB_create_context_profile +# ARB Extension #75 - GLX_ARB_create_context_profile +# +############################################################################### + +############################################################################### +# +# ARB Extension #76 +# ARB_shading_language_include commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +NamedStringARB(type, namelen, name, stringlen, string) +	return		void +	param		type		GLenum in value +	param		namelen		Int32 in value +	param		name		Char in array [namelen] +	param		stringlen	Int32 in value +	param		string		Char in array [stringlen] +	category	ARB_shading_language_include +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteNamedStringARB(namelen, name) +	return		void +	param		namelen		Int32 in value +	param		name		Char in array [namelen] +	category	ARB_shading_language_include +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +CompileShaderIncludeARB(shader, count, path, length) +	return		void +	param		shader		UInt32 in value +	param		count		SizeI in value +	param		path		CharPointer in array [count] +	param		length		Int32 in array [count] +	category	ARB_shading_language_include +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsNamedStringARB(namelen, name) +	return		Boolean +	param		namelen		Int32 in value +	param		name		Char in array [namelen] +	category	ARB_shading_language_include +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetNamedStringARB(namelen, name, bufSize, stringlen, string) +	return		void +	param		namelen		Int32 in value +	param		name		Char in array [namelen] +	param		bufSize		SizeI in value +	param		stringlen	Int32 out array [1] +	param		string		Char out array [bufSize] +	category	ARB_shading_language_include +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetNamedStringivARB(namelen, name, pname, params) +	return		void +	param		namelen		Int32 in value +	param		name		Char in array [namelen] +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_shading_language_include +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #77 +# ARB_texture_compression_bptc commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +############################################################################### +# +# ARB Extension #78 +# ARB_blend_func_extended commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +BindFragDataLocationIndexed(program, colorNumber, index, name) +	return		void +	param		program		UInt32 in value +	param		colorNumber	UInt32 in value +	param		index		UInt32 in value +	param		name		Char in array [] +	category	ARB_blend_func_extended +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetFragDataIndex(program, name) +	return		Int32 +	param		program		UInt32 in value +	param		name		Char in array [] +	category	ARB_blend_func_extended +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #79 +# ARB_explicit_attrib_location commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +############################################################################### +# +# ARB Extension #80 +# ARB_occlusion_query2 commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +############################################################################### +# +# ARB Extension #81 +# ARB_sampler_objects commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +GenSamplers(count, samplers) +	return		void +	param		count		SizeI in value +	param		samplers	UInt32 out array [count] +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteSamplers(count, samplers) +	return		void +	param		count		SizeI in value +	param		samplers	UInt32 in array [count] +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsSampler(sampler) +	return		Boolean +	param		sampler		UInt32 in value +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindSampler(unit, sampler) +	return		void +	param		unit		GLenum in value +	param		sampler		UInt32 in value +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SamplerParameteri(sampler, pname, param) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		param		Int32 in value +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SamplerParameteriv(sampler, pname, param) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		param		Int32 in array [COMPSIZE(pname)] +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SamplerParameterf(sampler, pname, param) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		param		Float32 in value +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SamplerParameterfv(sampler, pname, param) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		param		Float32 in array [COMPSIZE(pname)] +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SamplerParameterIiv(sampler, pname, param) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		param		Int32 in array [COMPSIZE(pname)] +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SamplerParameterIuiv(sampler, pname, param) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		param		UInt32 in array [COMPSIZE(pname)] +	category	ARB_sampler_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetSamplerParameteriv(sampler, pname, params) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_sampler_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetSamplerParameterIiv(sampler, pname, params) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_sampler_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetSamplerParameterfv(sampler, pname, params) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	ARB_sampler_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetSamplerParameterIfv(sampler, pname, params) +	return		void +	param		sampler		UInt32 in value +	param		pname		GLenum in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	ARB_sampler_objects +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #82 +# ARB_shader_bit_encoding commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +############################################################################### +# +# ARB Extension #83 +# ARB_texture_rgb10_a2ui commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +############################################################################### +# +# ARB Extension #84 +# ARB_texture_swizzle commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +############################################################################### +# +# ARB Extension #85 +# ARB_timer_query commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +QueryCounter(id, target) +	return		void +	param		id		UInt32 in value +	param		target		GLenum in value +	category	ARB_timer_query +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetQueryObjecti64v(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		GLenum in value +	param		params		Int64 out array [COMPSIZE(pname)] +	category	ARB_timer_query +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetQueryObjectui64v(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		GLenum in value +	param		params		UInt64 out array [COMPSIZE(pname)] +	category	ARB_timer_query +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #86 +# ARB_vertex_type_2_10_10_10_rev commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +VertexP2ui(type, value) +	return		void +	param		type		GLenum in value +	param		value		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexP2uiv(type, value) +	return		void +	param		type		GLenum in value +	param		value		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexP3ui(type, value) +	return		void +	param		type		GLenum in value +	param		value		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexP3uiv(type, value) +	return		void +	param		type		GLenum in value +	param		value		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexP4ui(type, value) +	return		void +	param		type		GLenum in value +	param		value		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexP4uiv(type, value) +	return		void +	param		type		GLenum in value +	param		value		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordP1ui(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordP1uiv(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordP2ui(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordP2uiv(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordP3ui(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordP3uiv(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordP4ui(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordP4uiv(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoordP1ui(texture, type, coords) +	return		void +	param		texture		GLenum in value +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoordP1uiv(texture, type, coords) +	return		void +	param		texture		GLenum in value +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoordP2ui(texture, type, coords) +	return		void +	param		texture		GLenum in value +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoordP2uiv(texture, type, coords) +	return		void +	param		texture		GLenum in value +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoordP3ui(texture, type, coords) +	return		void +	param		texture		GLenum in value +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoordP3uiv(texture, type, coords) +	return		void +	param		texture		GLenum in value +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoordP4ui(texture, type, coords) +	return		void +	param		texture		GLenum in value +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoordP4uiv(texture, type, coords) +	return		void +	param		texture		GLenum in value +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalP3ui(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalP3uiv(type, coords) +	return		void +	param		type		GLenum in value +	param		coords		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ColorP3ui(type, color) +	return		void +	param		type		GLenum in value +	param		color		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ColorP3uiv(type, color) +	return		void +	param		type		GLenum in value +	param		color		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ColorP4ui(type, color) +	return		void +	param		type		GLenum in value +	param		color		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ColorP4uiv(type, color) +	return		void +	param		type		GLenum in value +	param		color		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SecondaryColorP3ui(type, color) +	return		void +	param		type		GLenum in value +	param		color		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SecondaryColorP3uiv(type, color) +	return		void +	param		type		GLenum in value +	param		color		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribP1ui(index, type, normalized, value) +	return		void +	param		index		UInt32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		value		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribP1uiv(index, type, normalized, value) +	return		void +	param		index		UInt32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		value		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribP2ui(index, type, normalized, value) +	return		void +	param		index		UInt32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		value		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribP2uiv(index, type, normalized, value) +	return		void +	param		index		UInt32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		value		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribP3ui(index, type, normalized, value) +	return		void +	param		index		UInt32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		value		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribP3uiv(index, type, normalized, value) +	return		void +	param		index		UInt32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		value		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribP4ui(index, type, normalized, value) +	return		void +	param		index		UInt32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		value		UInt32 in value +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribP4uiv(index, type, normalized, value) +	return		void +	param		index		UInt32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		value		UInt32 in array [1] +	category	ARB_vertex_type_2_10_10_10_rev +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #87 +# ARB_draw_indirect commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +DrawArraysIndirect(mode, indirect) +	return		void +	param		mode		GLenum in value +	param		indirect	Void in array [] +	category	ARB_draw_indirect +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DrawElementsIndirect(mode, type, indirect) +	return		void +	param		mode		GLenum in value +	param		type		GLenum in value +	param		indirect	Void in array [] +	category	ARB_draw_indirect +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #88 +# ARB_gpu_shader5 commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +############################################################################### +# +# ARB Extension #89 +# ARB_gpu_shader_fp64 commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +Uniform1d(location, x) +	return		void +	param		location	Int32 in value +	param		x		Float64 in value +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform2d(location, x, y) +	return		void +	param		location	Int32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform3d(location, x, y, z) +	return		void +	param		location	Int32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform4d(location, x, y, z, w) +	return		void +	param		location	Int32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform1dv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform2dv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform3dv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniform4dv(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix2dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix3dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix4dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix2x3dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix2x4dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix3x2dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix3x4dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix4x2dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UniformMatrix4x3dv(location, count, transpose, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetUniformdv(program, location, params) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		params		Float64 out array [location] +	category	ARB_gpu_shader_fp64 +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +ProgramUniform1dEXT(program, location, x) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		x		Float64 in value +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniform2dEXT(program, location, x, y) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniform3dEXT(program, location, x, y, z) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniform4dEXT(program, location, x, y, z, w) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniform1dvEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniform2dvEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniform3dvEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniform4dvEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix2dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix3dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix4dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix2x3dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix2x4dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix3x2dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix3x4dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix4x2dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformMatrix4x3dvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float64 in array [count] +	category	ARB_gpu_shader_fp64 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #90 +# ARB_shader_subroutine commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +GetSubroutineUniformLocation(program, shadertype, name) +	return		Int32 +	param		program		UInt32 in value +	param		shadertype	GLenum in value +	param		name		Char in array [] +	category	ARB_shader_subroutine +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetSubroutineIndex(program, shadertype, name) +	return		UInt32 +	param		program		UInt32 in value +	param		shadertype	GLenum in value +	param		name		Char in array [] +	category	ARB_shader_subroutine +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetActiveSubroutineUniformiv(program, shadertype, index, pname, values) +	return		void +	param		program		UInt32 in value +	param		shadertype	GLenum in value +	param		index		UInt32 in value +	param		pname		GLenum in value +	param		values		Int32 out array [COMPSIZE(pname)] +	category	ARB_shader_subroutine +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name) +	return		void +	param		program		UInt32 in value +	param		shadertype	GLenum in value +	param		index		UInt32 in value +	param		bufsize		SizeI in value +	param		length		SizeI out array [1] +	param		name		Char out array [bufsize] +	category	ARB_shader_subroutine +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetActiveSubroutineName(program, shadertype, index, bufsize, length, name) +	return		void +	param		program		UInt32 in value +	param		shadertype	GLenum in value +	param		index		UInt32 in value +	param		bufsize		SizeI in value +	param		length		SizeI out array [1] +	param		name		Char out array [bufsize] +	category	ARB_shader_subroutine +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +UniformSubroutinesuiv(shadertype, count, indices) +	return		void +	param		shadertype	GLenum in value +	param		count		SizeI in value +	param		indices		UInt32 in array [count] +	category	ARB_shader_subroutine +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetUniformSubroutineuiv(shadertype, location, params) +	return		void +	param		shadertype	GLenum in value +	param		location	Int32 in value +	param		params		UInt32 out array [1] +	category	ARB_shader_subroutine +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetProgramStageiv(program, shadertype, pname, values) +	return		void +	param		program		UInt32 in value +	param		shadertype	GLenum in value +	param		pname		GLenum in value +	param		values		Int32 out array [1] +	category	ARB_shader_subroutine +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #91 +# ARB_tessellation_shader commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +PatchParameteri(pname, value) +	return		void +	param		pname		GLenum in value +	param		value		Int32 in value +	category	ARB_tessellation_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +PatchParameterfv(pname, values) +	return		void +	param		pname		GLenum in value +	param		values		Float32 in array [COMPSIZE(pname)] +	category	ARB_tessellation_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #92 +# ARB_texture_buffer_object_rgb32 commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +############################################################################### +# +# ARB Extension #93 +# ARB_transform_feedback2 commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +BindTransformFeedback(target, id) +	return		void +	param		target		GLenum in value +	param		id		UInt32 in value +	category	ARB_transform_feedback2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteTransformFeedbacks(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 in array [n] +	category	ARB_transform_feedback2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GenTransformFeedbacks(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 out array [n] +	category	ARB_transform_feedback2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsTransformFeedback(id) +	return		Boolean +	param		id		UInt32 in value +	category	ARB_transform_feedback2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +PauseTransformFeedback() +	return		void +	category	ARB_transform_feedback2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ResumeTransformFeedback() +	return		void +	category	ARB_transform_feedback2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DrawTransformFeedback(mode, id) +	return		void +	param		mode		GLenum in value +	param		id		UInt32 in value +	category	ARB_transform_feedback2 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# ARB Extension #94 +# ARB_transform_feedback3 commands +# +############################################################################### + +# ??? VERIFY DONE ??? + +DrawTransformFeedbackStream(mode, id, stream) +	return		void +	param		mode		GLenum in value +	param		id		UInt32 in value +	param		stream		UInt32 in value +	category	ARB_transform_feedback3 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BeginQueryIndexed(target, index, id) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		id		UInt32 in value +	category	ARB_transform_feedback3 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +EndQueryIndexed(target, index) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	category	ARB_transform_feedback3 +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetQueryIndexediv(target, index, pname, params) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	ARB_transform_feedback3 +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + + +############################################################################### +############################################################################### +# +# Non-ARB extensions, in order by registry extension number +# +############################################################################### +############################################################################### + +############################################################################### +# +# Extension #1 +# EXT_abgr commands +# +############################################################################### + +# (none) +newcategory: EXT_abgr + +############################################################################### +# +# Extension #2 +# EXT_blend_color commands +# +############################################################################### + +BlendColorEXT(red, green, blue, alpha) +	return		void +	param		red		ClampedColorF in value +	param		green		ClampedColorF in value +	param		blue		ClampedColorF in value +	param		alpha		ClampedColorF in value +	category	EXT_blend_color +	version		1.0 +	glxropcode	4096 +	glxflags	EXT +	extension	soft +	alias		BlendColor + +############################################################################### +# +# Extension #3 +# EXT_polygon_offset commands +# +############################################################################### + +PolygonOffsetEXT(factor, bias) +	return		void +	param		factor		Float32 in value +	param		bias		Float32 in value +	category	EXT_polygon_offset +	version		1.0 +	glxropcode	4098 +	glxflags	EXT +	extension	soft +	offset		414 + +############################################################################### +# +# Extension #4 +# EXT_texture commands +# +############################################################################### + +# (none) +newcategory: EXT_texture + +############################################################################### +# +# Extension #5 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #6 +# EXT_texture3D commands +# +############################################################################### + +# Arguably TexelInternalFormat, not PixelInternalFormat +TexImage3DEXT(target, level, internalformat, width, height, depth, border, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth)] +	category	EXT_texture3D +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxropcode	4114 +	extension +	alias		TexImage3D + +TexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth)] +	category	EXT_texture3D +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxropcode	4115 +	extension +	alias		TexSubImage3D + +############################################################################### +# +# Extension #7 +# SGIS_texture_filter4 commands +# +############################################################################### + +GetTexFilterFuncSGIS(target, filter, weights) +	return		void +	param		target		TextureTarget in value +	param		filter		TextureFilterSGIS in value +	param		weights		Float32 out array [COMPSIZE(target/filter)] +	category	SGIS_texture_filter4 +	dlflags		notlistable +	version		1.0 +	glxflags	SGI +	glxvendorpriv	4101 +	extension +	offset		415 + +TexFilterFuncSGIS(target, filter, n, weights) +	return		void +	param		target		TextureTarget in value +	param		filter		TextureFilterSGIS in value +	param		n		SizeI in value +	param		weights		Float32 in array [n] +	category	SGIS_texture_filter4 +	glxflags	SGI +	version		1.0 +	glxropcode	2064 +	extension +	offset		416 + +############################################################################### +# +# Extension #8 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #9 +# EXT_subtexture commands +# +############################################################################### + +TexSubImage1DEXT(target, level, xoffset, width, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width)] +	category	EXT_subtexture +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxropcode	4099 +	extension +	alias		TexSubImage1D + +TexSubImage2DEXT(target, level, xoffset, yoffset, width, height, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height)] +	category	EXT_subtexture +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxropcode	4100 +	extension +	alias		TexSubImage2D + +############################################################################### +# +# Extension #10 +# EXT_copy_texture commands +# +############################################################################### + +# Arguably TexelInternalFormat, not PixelInternalFormat +CopyTexImage1DEXT(target, level, internalformat, x, y, width, border) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	category	EXT_copy_texture +	version		1.0 +	glxflags	EXT +	glxropcode	4119 +	extension +	alias		CopyTexImage1D + +# Arguably TexelInternalFormat, not PixelInternalFormat +CopyTexImage2DEXT(target, level, internalformat, x, y, width, height, border) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	category	EXT_copy_texture +	version		1.0 +	glxflags	EXT +	glxropcode	4120 +	extension +	alias		CopyTexImage2D + +CopyTexSubImage1DEXT(target, level, xoffset, x, y, width) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	EXT_copy_texture +	version		1.0 +	glxflags	EXT +	glxropcode	4121 +	extension +	alias		CopyTexSubImage1D + +CopyTexSubImage2DEXT(target, level, xoffset, yoffset, x, y, width, height) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_copy_texture +	version		1.0 +	glxflags	EXT +	glxropcode	4122 +	extension +	alias		CopyTexSubImage2D + +CopyTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, x, y, width, height) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_copy_texture +	version		1.0 +	glxflags	EXT +	glxropcode	4123 +	extension +	alias		CopyTexSubImage3D + +############################################################################### +# +# Extension #11 +# EXT_histogram commands +# +############################################################################### + +GetHistogramEXT(target, reset, format, type, values) +	return		void +	param		target		HistogramTargetEXT in value +	param		reset		Boolean in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		values		Void out array [COMPSIZE(target/format/type)] +	category	EXT_histogram +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxvendorpriv	5 +	extension +	offset		417 + +GetHistogramParameterfvEXT(target, pname, params) +	return		void +	param		target		HistogramTargetEXT in value +	param		pname		GetHistogramParameterPNameEXT in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_histogram +	dlflags		notlistable +	version		1.0 +	glxvendorpriv	6 +	glxflags	EXT +	extension +	offset		418 + +GetHistogramParameterivEXT(target, pname, params) +	return		void +	param		target		HistogramTargetEXT in value +	param		pname		GetHistogramParameterPNameEXT in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_histogram +	dlflags		notlistable +	version		1.0 +	glxvendorpriv	7 +	glxflags	EXT +	extension +	offset		419 + +GetMinmaxEXT(target, reset, format, type, values) +	return		void +	param		target		MinmaxTargetEXT in value +	param		reset		Boolean in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		values		Void out array [COMPSIZE(target/format/type)] +	category	EXT_histogram +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxvendorpriv	8 +	extension +	offset		420 + +GetMinmaxParameterfvEXT(target, pname, params) +	return		void +	param		target		MinmaxTargetEXT in value +	param		pname		GetMinmaxParameterPNameEXT in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_histogram +	dlflags		notlistable +	version		1.0 +	glxvendorpriv	9 +	glxflags	EXT +	extension +	offset		421 + +GetMinmaxParameterivEXT(target, pname, params) +	return		void +	param		target		MinmaxTargetEXT in value +	param		pname		GetMinmaxParameterPNameEXT in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_histogram +	dlflags		notlistable +	version		1.0 +	glxvendorpriv	10 +	glxflags	EXT +	extension +	offset		422 + +HistogramEXT(target, width, internalformat, sink) +	return		void +	param		target		HistogramTargetEXT in value +	param		width		SizeI in value +	param		internalformat	PixelInternalFormat in value +	param		sink		Boolean in value +	category	EXT_histogram +	version		1.0 +	glxropcode	4110 +	glxflags	EXT +	extension +	alias		Histogram + +MinmaxEXT(target, internalformat, sink) +	return		void +	param		target		MinmaxTargetEXT in value +	param		internalformat	PixelInternalFormat in value +	param		sink		Boolean in value +	category	EXT_histogram +	version		1.0 +	glxropcode	4111 +	glxflags	EXT +	extension +	alias		Minmax + +ResetHistogramEXT(target) +	return		void +	param		target		HistogramTargetEXT in value +	category	EXT_histogram +	version		1.0 +	glxropcode	4112 +	glxflags	EXT +	extension +	alias		ResetHistogram + +ResetMinmaxEXT(target) +	return		void +	param		target		MinmaxTargetEXT in value +	category	EXT_histogram +	version		1.0 +	glxropcode	4113 +	glxflags	EXT +	extension +	alias		ResetMinmax + +############################################################################### +# +# Extension #12 +# EXT_convolution commands +# +############################################################################### + +ConvolutionFilter1DEXT(target, internalformat, width, format, type, image) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		image		Void in array [COMPSIZE(format/type/width)] +	category	EXT_convolution +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxropcode	4101 +	extension +	alias		ConvolutionFilter1D + +ConvolutionFilter2DEXT(target, internalformat, width, height, format, type, image) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		image		Void in array [COMPSIZE(format/type/width/height)] +	category	EXT_convolution +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxropcode	4102 +	extension +	alias		ConvolutionFilter2D + +ConvolutionParameterfEXT(target, pname, params) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		pname		ConvolutionParameterEXT in value +	param		params		CheckedFloat32 in value +	category	EXT_convolution +	version		1.0 +	glxropcode	4103 +	glxflags	EXT +	extension +	alias		ConvolutionParameterf + +ConvolutionParameterfvEXT(target, pname, params) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		pname		ConvolutionParameterEXT in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	EXT_convolution +	version		1.0 +	glxropcode	4104 +	glxflags	EXT +	extension +	alias		ConvolutionParameterfv + +ConvolutionParameteriEXT(target, pname, params) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		pname		ConvolutionParameterEXT in value +	param		params		CheckedInt32 in value +	category	EXT_convolution +	version		1.0 +	glxropcode	4105 +	glxflags	EXT +	extension +	alias		ConvolutionParameteri + +ConvolutionParameterivEXT(target, pname, params) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		pname		ConvolutionParameterEXT in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	EXT_convolution +	version		1.0 +	glxropcode	4106 +	glxflags	EXT +	extension +	alias		ConvolutionParameteriv + +CopyConvolutionFilter1DEXT(target, internalformat, x, y, width) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	EXT_convolution +	version		1.0 +	glxropcode	4107 +	glxflags	EXT +	extension +	alias		CopyConvolutionFilter1D + +CopyConvolutionFilter2DEXT(target, internalformat, x, y, width, height) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_convolution +	version		1.0 +	glxropcode	4108 +	glxflags	EXT +	extension +	alias		CopyConvolutionFilter2D + +GetConvolutionFilterEXT(target, format, type, image) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		image		Void out array [COMPSIZE(target/format/type)] +	category	EXT_convolution +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxvendorpriv	1 +	extension +	offset		423 + +GetConvolutionParameterfvEXT(target, pname, params) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		pname		ConvolutionParameterEXT in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_convolution +	dlflags		notlistable +	version		1.0 +	glxvendorpriv	2 +	glxflags	EXT +	extension +	offset		424 + +GetConvolutionParameterivEXT(target, pname, params) +	return		void +	param		target		ConvolutionTargetEXT in value +	param		pname		ConvolutionParameterEXT in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_convolution +	dlflags		notlistable +	version		1.0 +	glxvendorpriv	3 +	glxflags	EXT +	extension +	offset		425 + +GetSeparableFilterEXT(target, format, type, row, column, span) +	return		void +	param		target		SeparableTargetEXT in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		row		Void out array [COMPSIZE(target/format/type)] +	param		column		Void out array [COMPSIZE(target/format/type)] +	param		span		Void out array [COMPSIZE(target/format/type)] +	category	EXT_convolution +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxvendorpriv	4 +	extension +	offset		426 + +SeparableFilter2DEXT(target, internalformat, width, height, format, type, row, column) +	return		void +	param		target		SeparableTargetEXT in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		row		Void in array [COMPSIZE(target/format/type/width)] +	param		column		Void in array [COMPSIZE(target/format/type/height)] +	category	EXT_convolution +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxropcode	4109 +	extension +	alias		SeparableFilter2D + +############################################################################### +# +# Extension #13 +# SGI_color_matrix commands +# +############################################################################### + +# (none) +newcategory: SGI_color_matrix + +############################################################################### +# +# Extension #14 +# SGI_color_table commands +# +############################################################################### + +ColorTableSGI(target, internalformat, width, format, type, table) +	return		void +	param		target		ColorTableTargetSGI in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		table		Void in array [COMPSIZE(format/type/width)] +	category	SGI_color_table +	dlflags		handcode +	glxflags	client-handcode server-handcode SGI +	version		1.0 +	glxropcode	2053 +	extension +	alias		ColorTable + +ColorTableParameterfvSGI(target, pname, params) +	return		void +	param		target		ColorTableTargetSGI in value +	param		pname		ColorTableParameterPNameSGI in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	SGI_color_table +	version		1.0 +	glxropcode	2054 +	glxflags	SGI +	extension +	alias		ColorTableParameterfv + +ColorTableParameterivSGI(target, pname, params) +	return		void +	param		target		ColorTableTargetSGI in value +	param		pname		ColorTableParameterPNameSGI in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	SGI_color_table +	version		1.0 +	glxropcode	2055 +	glxflags	SGI +	extension +	alias		ColorTableParameteriv + +CopyColorTableSGI(target, internalformat, x, y, width) +	return		void +	param		target		ColorTableTargetSGI in value +	param		internalformat	PixelInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	SGI_color_table +	version		1.0 +	glxropcode	2056 +	glxflags	SGI +	extension +	alias		CopyColorTable + +GetColorTableSGI(target, format, type, table) +	return		void +	param		target		ColorTableTargetSGI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		table		Void out array [COMPSIZE(target/format/type)] +	category	SGI_color_table +	dlflags		notlistable +	glxflags	client-handcode server-handcode SGI +	version		1.0 +	glxvendorpriv	4098 +	extension +	offset		427 + +GetColorTableParameterfvSGI(target, pname, params) +	return		void +	param		target		ColorTableTargetSGI in value +	param		pname		GetColorTableParameterPNameSGI in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	SGI_color_table +	dlflags		notlistable +	version		1.0 +	glxflags	SGI +	glxvendorpriv	4099 +	extension +	offset		428 + +GetColorTableParameterivSGI(target, pname, params) +	return		void +	param		target		ColorTableTargetSGI in value +	param		pname		GetColorTableParameterPNameSGI in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	SGI_color_table +	dlflags		notlistable +	version		1.0 +	glxflags	SGI +	glxvendorpriv	4100 +	extension +	offset		429 + +############################################################################### +# +# Extension #15 +# SGIX_pixel_texture commands +# +############################################################################### + +PixelTexGenSGIX(mode) +	return		void +	param		mode		PixelTexGenModeSGIX in value +	category	SGIX_pixel_texture +	version		1.0 +	glxflags	SGI +	glxropcode	2059 +	extension +	offset		430 + +############################################################################### +# +# Extension #15 (variant) +# SGIS_pixel_texture commands +# Both SGIS and SGIX forms have extension #15! +# +############################################################################### + +PixelTexGenParameteriSGIS(pname, param) +	return		void +	param		pname		PixelTexGenParameterNameSGIS in value +	param		param		CheckedInt32 in value +	category	SGIS_pixel_texture +	version		1.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		431 + +PixelTexGenParameterivSGIS(pname, params) +	return		void +	param		pname		PixelTexGenParameterNameSGIS in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	SGIS_pixel_texture +	version		1.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		432 + +PixelTexGenParameterfSGIS(pname, param) +	return		void +	param		pname		PixelTexGenParameterNameSGIS in value +	param		param		CheckedFloat32 in value +	category	SGIS_pixel_texture +	version		1.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		433 + +PixelTexGenParameterfvSGIS(pname, params) +	return		void +	param		pname		PixelTexGenParameterNameSGIS in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	SGIS_pixel_texture +	version		1.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		434 + +GetPixelTexGenParameterivSGIS(pname, params) +	return		void +	param		pname		PixelTexGenParameterNameSGIS in value +	param		params		CheckedInt32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	SGIS_pixel_texture +	version		1.0 +	extension +	glxvendorpriv	? +	glxflags	ignore +	offset		435 + +GetPixelTexGenParameterfvSGIS(pname, params) +	return		void +	param		pname		PixelTexGenParameterNameSGIS in value +	param		params		CheckedFloat32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	SGIS_pixel_texture +	version		1.0 +	extension +	glxvendorpriv	? +	glxflags	ignore +	offset		436 + +############################################################################### +# +# Extension #16 +# SGIS_texture4D commands +# +############################################################################### + +TexImage4DSGIS(target, level, internalformat, width, height, depth, size4d, border, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		size4d		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth/size4d)] +	category	SGIS_texture4D +	dlflags		handcode +	glxflags	client-handcode server-handcode SGI +	version		1.0 +	glxropcode	2057 +	extension +	offset		437 + +TexSubImage4DSGIS(target, level, xoffset, yoffset, zoffset, woffset, width, height, depth, size4d, format, type, pixels) +	return		void +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		woffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		size4d		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth/size4d)] +	category	SGIS_texture4D +	dlflags		handcode +	glxflags	client-handcode server-handcode SGI +	version		1.0 +	glxropcode	2058 +	extension +	offset		438 + +############################################################################### +# +# Extension #17 +# SGI_texture_color_table commands +# +############################################################################### + +# (none) +newcategory: SGI_texture_color_table + +############################################################################### +# +# Extension #18 +# EXT_cmyka commands +# +############################################################################### + +# (none) +newcategory: EXT_cmyka + +############################################################################### +# +# Extension #19 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #20 +# EXT_texture_object commands +# +############################################################################### + +AreTexturesResidentEXT(n, textures, residences) +	return		Boolean +	param		n		SizeI in value +	param		textures	Texture in array [n] +	param		residences	Boolean out array [n] +	category	EXT_texture_object +	glxflags	EXT +	glxvendorpriv	11 +	dlflags		notlistable +	version		1.0 +	extension +	offset		439 + +BindTextureEXT(target, texture) +	return		void +	param		target	TextureTarget in value +	param		texture Texture in value +	category	EXT_texture_object +	version		1.0 +	glxflags	EXT +	glxropcode	4117 +	extension +	alias		BindTexture + +DeleteTexturesEXT(n, textures) +	return		void +	param		n		SizeI in value +	param		textures	Texture in array [n] +	category	EXT_texture_object +	dlflags		notlistable +	version		1.0 +	glxflags	EXT +	glxvendorpriv	12 +	extension +	offset		561 + +GenTexturesEXT(n, textures) +	return		void +	param		n		SizeI in value +	param		textures	Texture out array [n] +	category	EXT_texture_object +	dlflags		notlistable +	version		1.0 +	glxflags	EXT +	glxvendorpriv	13 +	extension +	offset		440 + +IsTextureEXT(texture) +	return		Boolean +	param		texture Texture in value +	category	EXT_texture_object +	dlflags		notlistable +	version		1.0 +	glxflags	EXT +	glxvendorpriv	14 +	extension +	offset		441 + +PrioritizeTexturesEXT(n, textures, priorities) +	return		void +	param		n		SizeI in value +	param		textures	Texture in array [n] +	param		priorities	ClampedFloat32 in array [n] +	category	EXT_texture_object +	glxflags	EXT +	version		1.0 +	glxropcode	4118 +	extension +	alias		PrioritizeTextures + +############################################################################### +# +# Extension #21 +# SGIS_detail_texture commands +# +############################################################################### + +DetailTexFuncSGIS(target, n, points) +	return		void +	param		target		TextureTarget in value +	param		n		SizeI in value +	param		points		Float32 in array [n*2] +	category	SGIS_detail_texture +	glxflags	SGI +	version		1.0 +	glxropcode	2051 +	extension +	offset		442 + +GetDetailTexFuncSGIS(target, points) +	return		void +	param		target		TextureTarget in value +	param		points		Float32 out array [COMPSIZE(target)] +	category	SGIS_detail_texture +	dlflags		notlistable +	version		1.0 +	glxflags	SGI +	glxvendorpriv	4096 +	extension +	offset		443 + +############################################################################### +# +# Extension #22 +# SGIS_sharpen_texture commands +# +############################################################################### + +SharpenTexFuncSGIS(target, n, points) +	return		void +	param		target		TextureTarget in value +	param		n		SizeI in value +	param		points		Float32 in array [n*2] +	category	SGIS_sharpen_texture +	glxflags	SGI +	version		1.0 +	glxropcode	2052 +	extension +	offset		444 + +GetSharpenTexFuncSGIS(target, points) +	return		void +	param		target		TextureTarget in value +	param		points		Float32 out array [COMPSIZE(target)] +	category	SGIS_sharpen_texture +	dlflags		notlistable +	version		1.0 +	glxflags	SGI +	glxvendorpriv	4097 +	extension +	offset		445 + +############################################################################### +# +# EXT_packed_pixels commands +# Extension #23 +# +############################################################################### + +# (none) +newcategory: EXT_packed_pixels + +############################################################################### +# +# Extension #24 +# SGIS_texture_lod commands +# +############################################################################### + +# (none) +newcategory: SGIS_texture_lod + +############################################################################### +# +# Extension #25 +# SGIS_multisample commands +# +############################################################################### + +SampleMaskSGIS(value, invert) +	return		void +	param		value		ClampedFloat32 in value +	param		invert		Boolean in value +	category	SGIS_multisample +	version		1.1 +	glxropcode	2048 +	glxflags	SGI +	extension +	alias		SampleMaskEXT + +SamplePatternSGIS(pattern) +	return		void +	param		pattern		SamplePatternSGIS in value +	category	SGIS_multisample +	version		1.0 +	glxropcode	2049 +	glxflags	SGI +	extension +	alias		SamplePatternEXT + +############################################################################### +# +# Extension #26 - no specification? +# +############################################################################### + +############################################################################### +# +# Extension #27 +# EXT_rescale_normal commands +# +############################################################################### + +# (none) +newcategory: EXT_rescale_normal + +############################################################################### +# +# Extension #28 - GLX_EXT_visual_info +# Extension #29 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #30 +# EXT_vertex_array commands +# +############################################################################### + +ArrayElementEXT(i) +	return		void +	param		i		Int32 in value +	category	EXT_vertex_array +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	extension +	alias		ArrayElement + +ColorPointerEXT(size, type, stride, count, pointer) +	return		void +	param		size		Int32 in value +	param		type		ColorPointerType in value +	param		stride		SizeI in value +	param		count		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride/count)] retained +	category	EXT_vertex_array +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	extension +	offset		448 + +DrawArraysEXT(mode, first, count) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 in value +	param		count		SizeI in value +	category	EXT_vertex_array +	dlflags		handcode +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	glxropcode	4116 +	extension +	alias		DrawArrays + +EdgeFlagPointerEXT(stride, count, pointer) +	return		void +	param		stride		SizeI in value +	param		count		SizeI in value +	param		pointer		Boolean in array [COMPSIZE(stride/count)] retained +	category	EXT_vertex_array +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	extension +	offset		449 + +GetPointervEXT(pname, params) +	return		void +	param		pname		GetPointervPName in value +	param		params		VoidPointer out array [1] +	category	EXT_vertex_array +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	extension +	alias		GetPointerv + +IndexPointerEXT(type, stride, count, pointer) +	return		void +	param		type		IndexPointerType in value +	param		stride		SizeI in value +	param		count		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride/count)] retained +	category	EXT_vertex_array +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	extension +	offset		450 + +NormalPointerEXT(type, stride, count, pointer) +	return		void +	param		type		NormalPointerType in value +	param		stride		SizeI in value +	param		count		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride/count)] retained +	category	EXT_vertex_array +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	extension +	offset		451 + +TexCoordPointerEXT(size, type, stride, count, pointer) +	return		void +	param		size		Int32 in value +	param		type		TexCoordPointerType in value +	param		stride		SizeI in value +	param		count		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride/count)] retained +	category	EXT_vertex_array +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	extension +	offset		452 + +VertexPointerEXT(size, type, stride, count, pointer) +	return		void +	param		size		Int32 in value +	param		type		VertexPointerType in value +	param		stride		SizeI in value +	param		count		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride/count)] retained +	category	EXT_vertex_array +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.0 +	extension +	offset		453 + +############################################################################### +# +# Extension #31 +# EXT_misc_attribute commands +# +############################################################################### + +# (none) +newcategory: EXT_misc_attribute + +############################################################################### +# +# Extension #32 +# SGIS_generate_mipmap commands +# +############################################################################### + +# (none) +newcategory: SGIS_generate_mipmap + +############################################################################### +# +# Extension #33 +# SGIX_clipmap commands +# +############################################################################### + +# (none) +newcategory: SGIX_clipmap + +############################################################################### +# +# Extension #34 +# SGIX_shadow commands +# +############################################################################### + +# (none) +newcategory: SGIX_shadow + +############################################################################### +# +# Extension #35 +# SGIS_texture_edge_clamp commands +# +############################################################################### + +# (none) +newcategory: SGIS_texture_edge_clamp + +############################################################################### +# +# Extension #36 +# SGIS_texture_border_clamp commands +# +############################################################################### + +# (none) +newcategory: SGIS_texture_border_clamp + +############################################################################### +# +# Extension #37 +# EXT_blend_minmax commands +# +############################################################################### + +BlendEquationEXT(mode) +	return		void +	param		mode		BlendEquationModeEXT in value +	category	EXT_blend_minmax +	version		1.0 +	glxropcode	4097 +	glxflags	EXT +	extension	soft +	alias		BlendEquation + +############################################################################### +# +# Extension #38 +# EXT_blend_subtract commands +# +############################################################################### + +# (none) +newcategory: EXT_blend_subtract + +############################################################################### +# +# Extension #39 +# EXT_blend_logic_op commands +# +############################################################################### + +# (none) +newcategory: EXT_blend_logic_op + +############################################################################### +# +# Extension #40 - GLX_SGI_swap_control +# Extension #41 - GLX_SGI_video_sync +# Extension #42 - GLX_SGI_make_current_read +# Extension #43 - GLX_SGIX_video_source +# Extension #44 - GLX_EXT_visual_rating +# +############################################################################### + +############################################################################### +# +# Extension #45 +# SGIX_interlace commands +# +############################################################################### + +# (none) +newcategory: SGIX_interlace + +############################################################################### +# +# Extension #46 +# SGIX_pixel_tiles commands +# +############################################################################### + +# (none) +newcategory: SGIX_pixel_tiles + +############################################################################### +# +# Extension #47 - GLX_EXT_import_context +# Extension #48 - skipped +# Extension #49 - GLX_SGIX_fbconfig +# Extension #50 - GLX_SGIX_pbuffer +# +############################################################################### + +############################################################################### +# +# Extension #51 +# SGIX_texture_select commands +# +############################################################################### + +# (none) +newcategory: SGIX_texture_select + +############################################################################### +# +# Extension #52 +# SGIX_sprite commands +# +############################################################################### + +SpriteParameterfSGIX(pname, param) +	return		void +	param		pname		SpriteParameterNameSGIX in value +	param		param		CheckedFloat32 in value +	category	SGIX_sprite +	version		1.0 +	glxflags	SGI +	glxropcode	2060 +	extension +	offset		454 + +SpriteParameterfvSGIX(pname, params) +	return		void +	param		pname		SpriteParameterNameSGIX in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	SGIX_sprite +	version		1.0 +	glxflags	SGI +	glxropcode	2061 +	extension +	offset		455 + +SpriteParameteriSGIX(pname, param) +	return		void +	param		pname		SpriteParameterNameSGIX in value +	param		param		CheckedInt32 in value +	category	SGIX_sprite +	version		1.0 +	glxflags	SGI +	glxropcode	2062 +	extension +	offset		456 + +SpriteParameterivSGIX(pname, params) +	return		void +	param		pname		SpriteParameterNameSGIX in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	SGIX_sprite +	version		1.0 +	glxflags	SGI +	glxropcode	2063 +	extension +	offset		457 + +############################################################################### +# +# Extension #53 +# SGIX_texture_multi_buffer commands +# +############################################################################### + +# (none) +newcategory: SGIX_texture_multi_buffer + +############################################################################### +# +# Extension #54 +# EXT_point_parameters / SGIS_point_parameters commands +# +############################################################################### + +PointParameterfEXT(pname, param) +	return		void +	param		pname		PointParameterNameARB in value +	param		param		CheckedFloat32 in value +	category	EXT_point_parameters +	version		1.0 +	glxflags	SGI +	extension +	alias		PointParameterfARB + +PointParameterfvEXT(pname, params) +	return		void +	param		pname		PointParameterNameARB in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	EXT_point_parameters +	version		1.0 +	glxflags	SGI +	extension +	alias		PointParameterfvARB + +PointParameterfSGIS(pname, param) +	return		void +	param		pname		PointParameterNameARB in value +	param		param		CheckedFloat32 in value +	category	SGIS_point_parameters +	version		1.0 +	glxflags	SGI +	extension +	alias		PointParameterfARB + +PointParameterfvSGIS(pname, params) +	return		void +	param		pname		PointParameterNameARB in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	SGIS_point_parameters +	version		1.0 +	glxflags	SGI +	extension +	alias		PointParameterfvARB + +############################################################################### +# +# Extension #55 +# SGIX_instruments commands +# +############################################################################### + +GetInstrumentsSGIX() +	return		Int32 +	dlflags		notlistable +	category	SGIX_instruments +	version		1.0 +	glxflags	SGI +	glxvendorpriv	4102 +	extension +	offset		460 + +InstrumentsBufferSGIX(size, buffer) +	return		void +	param		size		SizeI in value +	param		buffer		Int32 out array [size] retained +	dlflags		notlistable +	category	SGIX_instruments +	version		1.0 +	glxflags	SGI +	glxvendorpriv	4103 +	extension +	offset		461 + +PollInstrumentsSGIX(marker_p) +	return		Int32 +	param		marker_p	Int32 out array [1] +	dlflags		notlistable +	category	SGIX_instruments +	version		1.0 +	glxflags	SGI +	glxvendorpriv	4104 +	extension +	offset		462 + +ReadInstrumentsSGIX(marker) +	return		void +	param		marker		Int32 in value +	category	SGIX_instruments +	version		1.0 +	glxflags	SGI +	glxropcode	2077 +	extension +	offset		463 + +StartInstrumentsSGIX() +	return		void +	category	SGIX_instruments +	version		1.0 +	glxflags	SGI +	glxropcode	2069 +	extension +	offset		464 + +StopInstrumentsSGIX(marker) +	return		void +	param		marker		Int32 in value +	category	SGIX_instruments +	version		1.0 +	glxflags	SGI +	glxropcode	2070 +	extension +	offset		465 + +############################################################################### +# +# Extension #56 +# SGIX_texture_scale_bias commands +# +############################################################################### + +# (none) +newcategory: SGIX_texture_scale_bias + +############################################################################### +# +# Extension #57 +# SGIX_framezoom commands +# +############################################################################### + +FrameZoomSGIX(factor) +	return		void +	param		factor		CheckedInt32 in value +	category	SGIX_framezoom +	version		1.0 +	glxflags	SGI +	glxropcode	2072 +	extension +	offset		466 + +############################################################################### +# +# Extension #58 +# SGIX_tag_sample_buffer commands +# +############################################################################### + +TagSampleBufferSGIX() +	return		void +	category	SGIX_tag_sample_buffer +	version		1.0 +	glxropcode	2050 +	glxflags	SGI +	extension +	offset		467 + +############################################################################### +# +# Extension #59 +# SGIX_polynomial_ffd commands +# +############################################################################### + +DeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points) +	return		void +	param		target		FfdTargetSGIX in value +	param		u1		CoordD in value +	param		u2		CoordD in value +	param		ustride		Int32 in value +	param		uorder		CheckedInt32 in value +	param		v1		CoordD in value +	param		v2		CoordD in value +	param		vstride		Int32 in value +	param		vorder		CheckedInt32 in value +	param		w1		CoordD in value +	param		w2		CoordD in value +	param		wstride		Int32 in value +	param		worder		CheckedInt32 in value +	param		points		CoordD in array [COMPSIZE(target/ustride/uorder/vstride/vorder/wstride/worder)] +	dlflags		handcode +	category	SGIX_polynomial_ffd +	version		1.0 +	glxflags	SGI ignore +	glxropcode	2073 +	extension +	offset		? + +DeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points) +	return		void +	param		target		FfdTargetSGIX in value +	param		u1		CoordF in value +	param		u2		CoordF in value +	param		ustride		Int32 in value +	param		uorder		CheckedInt32 in value +	param		v1		CoordF in value +	param		v2		CoordF in value +	param		vstride		Int32 in value +	param		vorder		CheckedInt32 in value +	param		w1		CoordF in value +	param		w2		CoordF in value +	param		wstride		Int32 in value +	param		worder		CheckedInt32 in value +	param		points		CoordF in array [COMPSIZE(target/ustride/uorder/vstride/vorder/wstride/worder)] +	category	SGIX_polynomial_ffd +	dlflags		handcode +	version		1.0 +	glxflags	SGI ignore +	glxropcode	2074 +	extension +	offset		? + +DeformSGIX(mask) +	return		void +	param		mask		FfdMaskSGIX in value +	category	SGIX_polynomial_ffd +	version		1.0 +	glxflags	SGI ignore +	glxropcode	2075 +	extension +	offset		? + +LoadIdentityDeformationMapSGIX(mask) +	return		void +	param		mask		FfdMaskSGIX in value +	category	SGIX_polynomial_ffd +	version		1.0 +	glxflags	SGI ignore +	glxropcode	2076 +	extension +	offset		? + +############################################################################### +# +# Extension #60 +# SGIX_reference_plane commands +# +############################################################################### + +ReferencePlaneSGIX(equation) +	return		void +	param		equation	Float64 in array [4] +	category	SGIX_reference_plane +	version		1.0 +	glxflags	SGI +	glxropcode	2071 +	extension +	offset		468 + +############################################################################### +# +# Extension #61 +# SGIX_flush_raster commands +# +############################################################################### + +FlushRasterSGIX() +	return		void +	category	SGIX_flush_raster +	version		1.0 +	dlflags		notlistable +	glxflags	SGI +	glxvendorpriv	4105 +	extension +	offset		469 + +############################################################################### +# +# Extension #62 - GLX_SGIX_cushion +# +############################################################################### + +############################################################################### +# +# Extension #63 +# SGIX_depth_texture commands +# +############################################################################### + +# (none) +newcategory: SGIX_depth_texture + +############################################################################### +# +# Extension #64 +# SGIS_fog_function commands +# +############################################################################### + +FogFuncSGIS(n, points) +	return		void +	param		n		SizeI in value +	param		points		Float32 in array [n*2] +	category	SGIS_fog_function +	version		1.1 +	glxflags	SGI +	glxropcode	2067 +	extension +	offset + +# Need to insert GLX information +GetFogFuncSGIS(points) +	return		void +	param		points		Float32 out array [COMPSIZE()] +	category	SGIS_fog_function +	version		1.1 +	dlflags		notlistable +	glxflags	ignore +	extension +	offset + +############################################################################### +# +# Extension #65 +# SGIX_fog_offset commands +# +############################################################################### + +# (none) +newcategory: SGIX_fog_offset + +############################################################################### +# +# Extension #66 +# HP_image_transform commands +# +############################################################################### + +ImageTransformParameteriHP(target, pname, param) +	return		void +	param		target		ImageTransformTargetHP in value +	param		pname		ImageTransformPNameHP in value +	param		param		Int32 in value +	category	HP_image_transform +	version		1.1 +	glxropcode	? +	offset		? + +ImageTransformParameterfHP(target, pname, param) +	return		void +	param		target		ImageTransformTargetHP in value +	param		pname		ImageTransformPNameHP in value +	param		param		Float32 in value +	category	HP_image_transform +	version		1.1 +	glxropcode	? +	offset		? + +ImageTransformParameterivHP(target, pname, params) +	return		void +	param		target		ImageTransformTargetHP in value +	param		pname		ImageTransformPNameHP in value +	param		params		Int32 in array [COMPSIZE(pname)] +	category	HP_image_transform +	version		1.1 +	glxropcode	? +	offset		? + +ImageTransformParameterfvHP(target, pname, params) +	return		void +	param		target		ImageTransformTargetHP in value +	param		pname		ImageTransformPNameHP in value +	param		params		Float32 in array [COMPSIZE(pname)] +	category	HP_image_transform +	version		1.1 +	glxropcode	? +	offset		? + +GetImageTransformParameterivHP(target, pname, params) +	return		void +	param		target		ImageTransformTargetHP in value +	param		pname		ImageTransformPNameHP in value +	param		params		Int32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	HP_image_transform +	version		1.1 +	glxropcode	? +	offset		? + +GetImageTransformParameterfvHP(target, pname, params) +	return		void +	param		target		ImageTransformTargetHP in value +	param		pname		ImageTransformPNameHP in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	HP_image_transform +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #67 +# HP_convolution_border_modes commands +# +############################################################################### + +# (none) +newcategory: HP_convolution_border_modes + +############################################################################### +# +# Extension #68 +# INGR_palette_buffer commands +# +############################################################################### + +#@ (Intergraph hasn't provided a spec) + +############################################################################### +# +# Extension #69 +# SGIX_texture_add_env commands +# +############################################################################### + +# (none) +newcategory: SGIX_texture_add_env + +############################################################################### +# +# Extension #70 - skipped +# Extension #71 - skipped +# Extension #72 - skipped +# Extension #73 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #74 +# EXT_color_subtable commands +# +# This was probably never actually shipped as an EXT - just written up as a +# reference for OpenGL 1.2 ARB_imaging. +# +############################################################################### + +ColorSubTableEXT(target, start, count, format, type, data) +	return		void +	param		target		ColorTableTarget in value +	param		start		SizeI in value +	param		count		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		data		Void in array [COMPSIZE(format/type/count)] +	category	EXT_color_subtable +	version		1.2 +	alias		ColorSubTable + +CopyColorSubTableEXT(target, start, x, y, width) +	return		void +	param		target		ColorTableTarget in value +	param		start		SizeI in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	EXT_color_subtable +	version		1.2 +	alias		CopyColorSubTable + +############################################################################### +# +# Extension #75 - GLU_EXT_object_space_tess +# +############################################################################### + +############################################################################### +# +# Extension #76 +# PGI_vertex_hints commands +# +############################################################################### + +# (none) +newcategory: PGI_vertex_hints + +############################################################################### +# +# Extension #77 +# PGI_misc_hints commands +# +############################################################################### + +HintPGI(target, mode) +	return		void +	param		target		HintTargetPGI in value +	param		mode		Int32 in value +	category	PGI_misc_hints +	version		1.1 +	offset		544 + +############################################################################### +# +# Extension #78 +# EXT_paletted_texture commands +# +############################################################################### + +ColorTableEXT(target, internalFormat, width, format, type, table) +	return		void +	param		target		ColorTableTarget in value +	param		internalFormat	PixelInternalFormat in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		table		Void in array [COMPSIZE(format/type/width)] +	category	EXT_paletted_texture +	version		1.1 +	alias		ColorTable + +GetColorTableEXT(target, format, type, data) +	return		void +	param		target		ColorTableTarget in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		data		Void out array [COMPSIZE(target/format/type)] +	category	EXT_paletted_texture +	version		1.1 +	offset		550 + +GetColorTableParameterivEXT(target, pname, params) +	return		void +	param		target		ColorTableTarget in value +	param		pname		GetColorTableParameterPName in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_paletted_texture +	version		1.1 +	offset		551 + +GetColorTableParameterfvEXT(target, pname, params) +	return		void +	param		target		ColorTableTarget in value +	param		pname		GetColorTableParameterPName in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_paletted_texture +	version		1.1 +	offset		552 + +############################################################################### +# +# Extension #79 +# EXT_clip_volume_hint commands +# +############################################################################### + +# (none) +newcategory: EXT_clip_volume_hint + +############################################################################### +# +# Extension #80 +# SGIX_list_priority commands +# +############################################################################### + +# @@@ Needs vendorpriv opcodes assigned +GetListParameterfvSGIX(list, pname, params) +	return		void +	param		list		List in value +	param		pname		ListParameterName in value +	param		params		CheckedFloat32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	glxflags	ignore +	category	SGIX_list_priority +	version		1.0 +	glxvendorpriv	? +	extension +	offset		470 + +# @@@ Needs vendorpriv opcodes assigned +GetListParameterivSGIX(list, pname, params) +	return		void +	param		list		List in value +	param		pname		ListParameterName in value +	param		params		CheckedInt32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	glxflags	ignore +	category	SGIX_list_priority +	version		1.0 +	glxvendorpriv	? +	extension +	offset		471 + +ListParameterfSGIX(list, pname, param) +	return		void +	param		list		List in value +	param		pname		ListParameterName in value +	param		param		CheckedFloat32 in value +	dlflags		notlistable +	glxflags	ignore +	category	SGIX_list_priority +	version		1.0 +	glxropcode	2078 +	extension +	offset		472 + +ListParameterfvSGIX(list, pname, params) +	return		void +	param		list		List in value +	param		pname		ListParameterName in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	dlflags		notlistable +	glxflags	ignore +	category	SGIX_list_priority +	version		1.0 +	glxropcode	2079 +	extension +	offset		473 + +ListParameteriSGIX(list, pname, param) +	return		void +	param		list		List in value +	param		pname		ListParameterName in value +	param		param		CheckedInt32 in value +	dlflags		notlistable +	glxflags	ignore +	category	SGIX_list_priority +	version		1.0 +	glxropcode	2080 +	extension +	offset		474 + +ListParameterivSGIX(list, pname, params) +	return		void +	param		list		List in value +	param		pname		ListParameterName in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	dlflags		notlistable +	glxflags	ignore +	category	SGIX_list_priority +	version		1.0 +	glxropcode	2081 +	extension +	offset		475 + +############################################################################### +# +# Extension #81 +# SGIX_ir_instrument1 commands +# +############################################################################### + +# (none) +newcategory: SGIX_ir_instrument1 + +############################################################################### +# +# Extension #82 +# SGIX_calligraphic_fragment commands +# +############################################################################### + +# (none) +newcategory: SGIX_calligraphic_fragment + +############################################################################### +# +# Extension #83 - GLX_SGIX_video_resize +# +############################################################################### + +############################################################################### +# +# Extension #84 +# SGIX_texture_lod_bias commands +# +############################################################################### + +# (none) +newcategory: SGIX_texture_lod_bias + +############################################################################### +# +# Extension #85 - skipped +# Extension #86 - GLX_SGIX_dmbuffer +# Extension #87 - skipped +# Extension #88 - skipped +# Extension #89 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #90 +# SGIX_shadow_ambient commands +# +############################################################################### + +# (none) +newcategory: SGIX_shadow_ambient + +############################################################################### +# +# Extension #91 - GLX_SGIX_swap_group +# Extension #92 - GLX_SGIX_swap_barrier +# +############################################################################### + +############################################################################### +# +# Extension #93 +# EXT_index_texture commands +# +############################################################################### + +# (none) +newcategory: EXT_index_texture + +############################################################################### +# +# Extension #94 +# EXT_index_material commands +# +############################################################################### + +IndexMaterialEXT(face, mode) +	return		void +	param		face		MaterialFace in value +	param		mode		IndexMaterialParameterEXT in value +	category	EXT_index_material +	version		1.1 +	extension	soft +	glxflags	ignore +	offset		538 + +############################################################################### +# +# Extension #95 +# EXT_index_func commands +# +############################################################################### + +IndexFuncEXT(func, ref) +	return		void +	param		func		IndexFunctionEXT in value +	param		ref		ClampedFloat32 in value +	category	EXT_index_func +	version		1.1 +	extension	soft +	glxflags	ignore +	offset		539 + +############################################################################### +# +# Extension #96 +# EXT_index_array_formats commands +# +############################################################################### + +# (none) +newcategory: EXT_index_array_formats + +############################################################################### +# +# Extension #97 +# EXT_compiled_vertex_array commands +# +############################################################################### + +LockArraysEXT(first, count) +	return		void +	param		first		Int32 in value +	param		count		SizeI in value +	category	EXT_compiled_vertex_array +	version		1.1 +	dlflags		notlistable +	extension	soft +	glxflags	ignore +	offset		540 + +UnlockArraysEXT() +	return		void +	category	EXT_compiled_vertex_array +	version		1.1 +	dlflags		notlistable +	extension	soft +	glxflags	ignore +	offset		541 + +############################################################################### +# +# Extension #98 +# EXT_cull_vertex commands +# +############################################################################### + +CullParameterdvEXT(pname, params) +	return		void +	param		pname		CullParameterEXT in value +	param		params		Float64 out array [4] +	category	EXT_cull_vertex +	version		1.1 +	dlflags		notlistable +	extension	soft +	glxflags	ignore +	offset		542 + +CullParameterfvEXT(pname, params) +	return		void +	param		pname		CullParameterEXT in value +	param		params		Float32 out array [4] +	category	EXT_cull_vertex +	version		1.1 +	dlflags		notlistable +	extension	soft +	glxflags	ignore +	offset		543 + +############################################################################### +# +# Extension #99 - skipped +# Extension #100 - GLU_EXT_nurbs_tessellator +# +############################################################################### + +############################################################################### +# +# Extension #101 +# SGIX_ycrcb commands +# +############################################################################### + +# (none) +newcategory: SGIX_ycrcb + +############################################################################### +# +# Extension #102 +# SGIX_fragment_lighting commands +# +############################################################################### + +FragmentColorMaterialSGIX(face, mode) +	return		void +	param		face		MaterialFace in value +	param		mode		MaterialParameter in value +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		476 + +FragmentLightfSGIX(light, pname, param) +	return		void +	param		light		FragmentLightNameSGIX in value +	param		pname		FragmentLightParameterSGIX in value +	param		param		CheckedFloat32 in value +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		477 + +FragmentLightfvSGIX(light, pname, params) +	return		void +	param		light		FragmentLightNameSGIX in value +	param		pname		FragmentLightParameterSGIX in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		478 + +FragmentLightiSGIX(light, pname, param) +	return		void +	param		light		FragmentLightNameSGIX in value +	param		pname		FragmentLightParameterSGIX in value +	param		param		CheckedInt32 in value +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		479 + +FragmentLightivSGIX(light, pname, params) +	return		void +	param		light		FragmentLightNameSGIX in value +	param		pname		FragmentLightParameterSGIX in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		480 + +FragmentLightModelfSGIX(pname, param) +	return		void +	param		pname		FragmentLightModelParameterSGIX in value +	param		param		CheckedFloat32 in value +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		481 + +FragmentLightModelfvSGIX(pname, params) +	return		void +	param		pname		FragmentLightModelParameterSGIX in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		482 + +FragmentLightModeliSGIX(pname, param) +	return		void +	param		pname		FragmentLightModelParameterSGIX in value +	param		param		CheckedInt32 in value +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		483 + +FragmentLightModelivSGIX(pname, params) +	return		void +	param		pname		FragmentLightModelParameterSGIX in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		484 + +FragmentMaterialfSGIX(face, pname, param) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		param		CheckedFloat32 in value +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		485 + +FragmentMaterialfvSGIX(face, pname, params) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		486 + +FragmentMaterialiSGIX(face, pname, param) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		param		CheckedInt32 in value +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		487 + +FragmentMaterialivSGIX(face, pname, params) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		488 + +GetFragmentLightfvSGIX(light, pname, params) +	return		void +	param		light		FragmentLightNameSGIX in value +	param		pname		FragmentLightParameterSGIX in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	dlflags		notlistable +	glxflags	ignore +	version		1.0 +	extension +	offset		489 + +GetFragmentLightivSGIX(light, pname, params) +	return		void +	param		light		FragmentLightNameSGIX in value +	param		pname		FragmentLightParameterSGIX in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	dlflags		notlistable +	glxflags	ignore +	version		1.0 +	extension +	offset		490 + +GetFragmentMaterialfvSGIX(face, pname, params) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	dlflags		notlistable +	glxflags	ignore +	version		1.0 +	extension +	offset		491 + +GetFragmentMaterialivSGIX(face, pname, params) +	return		void +	param		face		MaterialFace in value +	param		pname		MaterialParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	SGIX_fragment_lighting +	dlflags		notlistable +	glxflags	ignore +	version		1.0 +	extension +	offset		492 + +LightEnviSGIX(pname, param) +	return		void +	param		pname		LightEnvParameterSGIX in value +	param		param		CheckedInt32 in value +	category	SGIX_fragment_lighting +	glxflags	ignore +	version		1.0 +	extension +	offset		493 + +############################################################################### +# +# Extension #103 - skipped +# Extension #104 - skipped +# Extension #105 - skipped +# Extension #106 - skipped +# Extension #107 - skipped +# Extension #108 - skipped +# Extension #109 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #110 +# IBM_rasterpos_clip commands +# +############################################################################### + +# (none) +newcategory: IBM_rasterpos_clip + +############################################################################### +# +# Extension #111 +# HP_texture_lighting commands +# +############################################################################### + +# (none) +newcategory: HP_texture_lighting + +############################################################################### +# +# Extension #112 +# EXT_draw_range_elements commands +# +############################################################################### + +# Spec entries to be written +DrawRangeElementsEXT(mode, start, end, count, type, indices) +	return		void +	param		mode		BeginMode in value +	param		start		UInt32 in value +	param		end		UInt32 in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	category	EXT_draw_range_elements +	dlflags		handcode +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	alias		DrawRangeElements + +############################################################################### +# +# Extension #113 +# WIN_phong_shading commands +# +############################################################################### + +# (none) +newcategory: WIN_phong_shading + +############################################################################### +# +# Extension #114 +# WIN_specular_fog commands +# +############################################################################### + +# (none) +newcategory: WIN_specular_fog + +############################################################################### +# +# Extension #115 - skipped +# Extension #116 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #117 +# EXT_light_texture commands +# +############################################################################### + +# Spec entries to be written +ApplyTextureEXT(mode) +	return		void +	param		mode		LightTextureModeEXT in value +	category	EXT_light_texture +	version		1.1 +	glxropcode	? +	offset		? + +TextureLightEXT(pname) +	return		void +	param		pname		LightTexturePNameEXT in value +	category	EXT_light_texture +	version		1.1 +	glxropcode	? +	offset		? + +TextureMaterialEXT(face, mode) +	return		void +	param		face		MaterialFace in value +	param		mode		MaterialParameter in value +	category	EXT_light_texture +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #118 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #119 +# SGIX_blend_alpha_minmax commands +# +############################################################################### + +# (none) +newcategory: SGIX_blend_alpha_minmax + +############################################################################### +# +# Extension #120 - skipped +# Extension #121 - skipped +# Extension #122 - skipped +# Extension #123 - skipped +# Extension #124 - skipped +# Extension #125 - skipped +# Extension #126 - skipped +# Extension #127 - skipped +# Extension #128 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #129 +# EXT_bgra commands +# +############################################################################### + +# (none) +newcategory: EXT_bgra + +############################################################################### +# +# Extension #130 - skipped +# Extension #131 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #132 +# SGIX_async commands +# +############################################################################### + +AsyncMarkerSGIX(marker) +	return		void +	param		marker		UInt32 in value +	category	SGIX_async +	version		1.0 +	glxflags	ignore +	extension +	offset		? + +FinishAsyncSGIX(markerp) +	return		Int32 +	param		markerp		UInt32 out array [1] +	category	SGIX_async +	version		1.0 +	dlflags		notlistable +	glxflags	ignore +	extension +	offset		? + +PollAsyncSGIX(markerp) +	return		Int32 +	param		markerp		UInt32 out array [1] +	category	SGIX_async +	version		1.0 +	dlflags		notlistable +	glxflags	ignore +	extension +	offset		? + +GenAsyncMarkersSGIX(range) +	return		UInt32 +	param		range		SizeI in value +	category	SGIX_async +	version		1.0 +	dlflags		notlistable +	glxflags	ignore +	extension +	offset		? + +DeleteAsyncMarkersSGIX(marker, range) +	return		void +	param		marker		UInt32 in value +	param		range		SizeI in value +	category	SGIX_async +	version		1.0 +	dlflags		notlistable +	glxflags	ignore +	extension +	offset		? + +IsAsyncMarkerSGIX(marker) +	return		Boolean +	param		marker		UInt32 in value +	category	SGIX_async +	version		1.0 +	dlflags		notlistable +	glxflags	ignore +	extension +	offset		? + +############################################################################### +# +# Extension #133 +# SGIX_async_pixel commands +# +############################################################################### + +# (none) +newcategory: SGIX_async_pixel + +############################################################################### +# +# Extension #134 +# SGIX_async_histogram commands +# +############################################################################### + +# (none) +newcategory: SGIX_async_histogram + +############################################################################### +# +# Extension #135 - skipped (INTEL_texture_scissor was never implemented) +# +############################################################################### + +############################################################################### +# +# Extension #136 +# INTEL_parallel_arrays commands +# +############################################################################### + +VertexPointervINTEL(size, type, pointer) +	return		void +	param		size		Int32 in value +	param		type		VertexPointerType in value +	param		pointer		VoidPointer in array [4] retained +	category	INTEL_parallel_arrays +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.1 +	offset		? + +NormalPointervINTEL(type, pointer) +	return		void +	param		type		NormalPointerType in value +	param		pointer		VoidPointer in array [4] retained +	category	INTEL_parallel_arrays +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.1 +	offset		? + +ColorPointervINTEL(size, type, pointer) +	return		void +	param		size		Int32 in value +	param		type		VertexPointerType in value +	param		pointer		VoidPointer in array [4] retained +	category	INTEL_parallel_arrays +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.1 +	offset		? + +TexCoordPointervINTEL(size, type, pointer) +	return		void +	param		size		Int32 in value +	param		type		VertexPointerType in value +	param		pointer		VoidPointer in array [4] retained +	category	INTEL_parallel_arrays +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.1 +	offset		? + + +############################################################################### +# +# Extension #137 +# HP_occlusion_test commands +# +############################################################################### + +# (none) +newcategory: HP_occlusion_test + +############################################################################### +# +# Extension #138 +# EXT_pixel_transform commands +# +############################################################################### + +PixelTransformParameteriEXT(target, pname, param) +	return		void +	param		target		PixelTransformTargetEXT in value +	param		pname		PixelTransformPNameEXT in value +	param		param		Int32 in value +	category	EXT_pixel_transform +	version		1.1 +	glxropcode	? +	offset		? + +PixelTransformParameterfEXT(target, pname, param) +	return		void +	param		target		PixelTransformTargetEXT in value +	param		pname		PixelTransformPNameEXT in value +	param		param		Float32 in value +	category	EXT_pixel_transform +	version		1.1 +	glxropcode	? +	offset		? + +PixelTransformParameterivEXT(target, pname, params) +	return		void +	param		target		PixelTransformTargetEXT in value +	param		pname		PixelTransformPNameEXT in value +	param		params		Int32 in array [1] +	category	EXT_pixel_transform +	version		1.1 +	glxropcode	? +	offset		? + +PixelTransformParameterfvEXT(target, pname, params) +	return		void +	param		target		PixelTransformTargetEXT in value +	param		pname		PixelTransformPNameEXT in value +	param		params		Float32 in array [1] +	category	EXT_pixel_transform +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #139 +# EXT_pixel_transform_color_table commands +# +############################################################################### + +# (none) +newcategory: EXT_pixel_transform_color_table + +############################################################################### +# +# Extension #140 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #141 +# EXT_shared_texture_palette commands +# +############################################################################### + +# (none) +newcategory: EXT_shared_texture_palette + +############################################################################### +# +# Extension #142 - GLX_SGIS_blended_overlay +# Extension #143 - GLX_SGIS_shared_multisample +# +############################################################################### + +############################################################################### +# +# Extension #144 +# EXT_separate_specular_color commands +# +############################################################################### + +# (none) +newcategory: EXT_separate_specular_color + +############################################################################### +# +# Extension #145 +# EXT_secondary_color commands +# +############################################################################### + +SecondaryColor3bEXT(red, green, blue) +	return		void +	param		red		ColorB in value +	param		green		ColorB in value +	param		blue		ColorB in value +	category	EXT_secondary_color +	vectorequiv	SecondaryColor3bvEXT +	version		1.1 +	alias		SecondaryColor3b + +SecondaryColor3bvEXT(v) +	return		void +	param		v		ColorB in array [3] +	category	EXT_secondary_color +	version		1.1 +	glxropcode	4126 +	alias		SecondaryColor3bv + +SecondaryColor3dEXT(red, green, blue) +	return		void +	param		red		ColorD in value +	param		green		ColorD in value +	param		blue		ColorD in value +	category	EXT_secondary_color +	vectorequiv	SecondaryColor3dvEXT +	version		1.1 +	alias		SecondaryColor3d + +SecondaryColor3dvEXT(v) +	return		void +	param		v		ColorD in array [3] +	category	EXT_secondary_color +	version		1.1 +	glxropcode	4130 +	alias		SecondaryColor3dv + +SecondaryColor3fEXT(red, green, blue) +	return		void +	param		red		ColorF in value +	param		green		ColorF in value +	param		blue		ColorF in value +	category	EXT_secondary_color +	vectorequiv	SecondaryColor3fvEXT +	version		1.1 +	alias		SecondaryColor3f + +SecondaryColor3fvEXT(v) +	return		void +	param		v		ColorF in array [3] +	category	EXT_secondary_color +	version		1.1 +	glxropcode	4129 +	alias		SecondaryColor3fv + +SecondaryColor3iEXT(red, green, blue) +	return		void +	param		red		ColorI in value +	param		green		ColorI in value +	param		blue		ColorI in value +	category	EXT_secondary_color +	vectorequiv	SecondaryColor3ivEXT +	version		1.1 +	alias		SecondaryColor3i + +SecondaryColor3ivEXT(v) +	return		void +	param		v		ColorI in array [3] +	category	EXT_secondary_color +	version		1.1 +	glxropcode	4128 +	offset		568 +	alias		SecondaryColor3iv + +SecondaryColor3sEXT(red, green, blue) +	return		void +	param		red		ColorS in value +	param		green		ColorS in value +	param		blue		ColorS in value +	category	EXT_secondary_color +	vectorequiv	SecondaryColor3svEXT +	version		1.1 +	alias		SecondaryColor3s + +SecondaryColor3svEXT(v) +	return		void +	param		v		ColorS in array [3] +	category	EXT_secondary_color +	version		1.1 +	glxropcode	4127 +	alias		SecondaryColor3sv + +SecondaryColor3ubEXT(red, green, blue) +	return		void +	param		red		ColorUB in value +	param		green		ColorUB in value +	param		blue		ColorUB in value +	category	EXT_secondary_color +	vectorequiv	SecondaryColor3ubvEXT +	version		1.1 +	alias		SecondaryColor3ub + +SecondaryColor3ubvEXT(v) +	return		void +	param		v		ColorUB in array [3] +	category	EXT_secondary_color +	version		1.1 +	glxropcode	4131 +	alias		SecondaryColor3ubv + +SecondaryColor3uiEXT(red, green, blue) +	return		void +	param		red		ColorUI in value +	param		green		ColorUI in value +	param		blue		ColorUI in value +	category	EXT_secondary_color +	vectorequiv	SecondaryColor3uivEXT +	version		1.1 +	alias		SecondaryColor3ui + +SecondaryColor3uivEXT(v) +	return		void +	param		v		ColorUI in array [3] +	category	EXT_secondary_color +	version		1.1 +	glxropcode	4133 +	alias		SecondaryColor3uiv + +SecondaryColor3usEXT(red, green, blue) +	return		void +	param		red		ColorUS in value +	param		green		ColorUS in value +	param		blue		ColorUS in value +	category	EXT_secondary_color +	vectorequiv	SecondaryColor3usvEXT +	version		1.1 +	alias		SecondaryColor3us + +SecondaryColor3usvEXT(v) +	return		void +	param		v		ColorUS in array [3] +	category	EXT_secondary_color +	version		1.1 +	glxropcode	4132 +	alias		SecondaryColor3usv + +SecondaryColorPointerEXT(size, type, stride, pointer) +	return		void +	param		size		Int32 in value +	param		type		ColorPointerType in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	category	EXT_secondary_color +	dlflags		notlistable +	glxflags	client-handcode server-handcode EXT +	version		1.1 +	extension +	alias		SecondaryColorPointer + +############################################################################### +# +# Extension #146 +# EXT_texture_env commands +# +############################################################################### + +# Dead extension - never implemented (removed from registry!) +# (none) +# newcategory: EXT_texture_env + +############################################################################### +# +# Extension #147 +# EXT_texture_perturb_normal commands +# +############################################################################### + +TextureNormalEXT(mode) +	return		void +	param		mode		TextureNormalModeEXT in value +	category	EXT_texture_perturb_normal +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #148 +# EXT_multi_draw_arrays commands +# +############################################################################### + +# first and count are really 'in' +MultiDrawArraysEXT(mode, first, count, primcount) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 out array [COMPSIZE(primcount)] +	param		count		SizeI out array [COMPSIZE(primcount)] +	param		primcount	SizeI in value +	category	EXT_multi_draw_arrays +	version		1.1 +	glxropcode	? +	alias		MultiDrawArrays + +MultiDrawElementsEXT(mode, count, type, indices, primcount) +	return		void +	param		mode		BeginMode in value +	param		count		SizeI in array [COMPSIZE(primcount)] +	param		type		DrawElementsType in value +	param		indices		VoidPointer in array [COMPSIZE(primcount)] +	param		primcount	SizeI in value +	category	EXT_multi_draw_arrays +	version		1.1 +	glxropcode	? +	alias		MultiDrawElements + +############################################################################### +# +# Extension #149 +# EXT_fog_coord commands +# +############################################################################### + +FogCoordfEXT(coord) +	return		void +	param		coord		CoordF in value +	category	EXT_fog_coord +	vectorequiv	FogCoordfvEXT +	version		1.1 +	alias		FogCoordf + +FogCoordfvEXT(coord) +	return		void +	param		coord		CoordF in array [1] +	category	EXT_fog_coord +	version		1.1 +	glxropcode	4124 +	alias		FogCoordfv + +FogCoorddEXT(coord) +	return		void +	param		coord		CoordD in value +	category	EXT_fog_coord +	vectorequiv	FogCoorddvEXT +	version		1.1 +	alias		FogCoordd + +FogCoorddvEXT(coord) +	return		void +	param		coord		CoordD in array [1] +	category	EXT_fog_coord +	version		1.1 +	glxropcode	4125 +	alias		FogCoorddv + +FogCoordPointerEXT(type, stride, pointer) +	return		void +	param		type		FogPointerTypeEXT in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	EXT_fog_coord +	dlflags		notlistable +	version		1.1 +	glxflags	client-handcode server-handcode EXT +	alias		FogCoordPointer + +############################################################################### +# +# Extension #150 - skipped +# Extension #151 - skipped +# Extension #152 - skipped +# Extension #153 - skipped +# Extension #154 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #155 +# REND_screen_coordinates commands +# +############################################################################### + +# (none) +newcategory: REND_screen_coordinates + +############################################################################### +# +# Extension #156 +# EXT_coordinate_frame commands +# +############################################################################### + +Tangent3bEXT(tx, ty, tz) +	return		void +	param		tx		Int8 in value +	param		ty		Int8 in value +	param		tz		Int8 in value +	category	EXT_coordinate_frame +	vectorequiv	Tangent3bvEXT +	version		1.1 +	offset		? + +Tangent3bvEXT(v) +	return		void +	param		v		Int8 in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Tangent3dEXT(tx, ty, tz) +	return		void +	param		tx		CoordD in value +	param		ty		CoordD in value +	param		tz		CoordD in value +	category	EXT_coordinate_frame +	vectorequiv	Tangent3dvEXT +	version		1.1 +	offset		? + +Tangent3dvEXT(v) +	return		void +	param		v		CoordD in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Tangent3fEXT(tx, ty, tz) +	return		void +	param		tx		CoordF in value +	param		ty		CoordF in value +	param		tz		CoordF in value +	category	EXT_coordinate_frame +	vectorequiv	Tangent3fvEXT +	version		1.1 +	offset		? + +Tangent3fvEXT(v) +	return		void +	param		v		CoordF in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Tangent3iEXT(tx, ty, tz) +	return		void +	param		tx		Int32 in value +	param		ty		Int32 in value +	param		tz		Int32 in value +	category	EXT_coordinate_frame +	vectorequiv	Tangent3ivEXT +	version		1.1 +	offset		? + +Tangent3ivEXT(v) +	return		void +	param		v		Int32 in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Tangent3sEXT(tx, ty, tz) +	return		void +	param		tx		Int16 in value +	param		ty		Int16 in value +	param		tz		Int16 in value +	category	EXT_coordinate_frame +	vectorequiv	Tangent3svEXT +	version		1.1 +	offset		? + +Tangent3svEXT(v) +	return		void +	param		v		Int16 in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Binormal3bEXT(bx, by, bz) +	return		void +	param		bx		Int8 in value +	param		by		Int8 in value +	param		bz		Int8 in value +	category	EXT_coordinate_frame +	vectorequiv	Binormal3bvEXT +	version		1.1 +	offset		? + +Binormal3bvEXT(v) +	return		void +	param		v		Int8 in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Binormal3dEXT(bx, by, bz) +	return		void +	param		bx		CoordD in value +	param		by		CoordD in value +	param		bz		CoordD in value +	category	EXT_coordinate_frame +	vectorequiv	Binormal3dvEXT +	version		1.1 +	offset		? + +Binormal3dvEXT(v) +	return		void +	param		v		CoordD in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Binormal3fEXT(bx, by, bz) +	return		void +	param		bx		CoordF in value +	param		by		CoordF in value +	param		bz		CoordF in value +	category	EXT_coordinate_frame +	vectorequiv	Binormal3fvEXT +	version		1.1 +	offset		? + +Binormal3fvEXT(v) +	return		void +	param		v		CoordF in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Binormal3iEXT(bx, by, bz) +	return		void +	param		bx		Int32 in value +	param		by		Int32 in value +	param		bz		Int32 in value +	category	EXT_coordinate_frame +	vectorequiv	Binormal3ivEXT +	version		1.1 +	offset		? + +Binormal3ivEXT(v) +	return		void +	param		v		Int32 in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +Binormal3sEXT(bx, by, bz) +	return		void +	param		bx		Int16 in value +	param		by		Int16 in value +	param		bz		Int16 in value +	category	EXT_coordinate_frame +	vectorequiv	Binormal3svEXT +	version		1.1 +	offset		? + +Binormal3svEXT(v) +	return		void +	param		v		Int16 in array [3] +	category	EXT_coordinate_frame +	version		1.1 +	glxropcode	? +	offset		? + +TangentPointerEXT(type, stride, pointer) +	return		void +	param		type		TangentPointerTypeEXT in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	EXT_coordinate_frame +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	offset		? + +BinormalPointerEXT(type, stride, pointer) +	return		void +	param		type		BinormalPointerTypeEXT in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	EXT_coordinate_frame +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	offset		? + +############################################################################### +# +# Extension #157 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #158 +# EXT_texture_env_combine commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_env_combine + +############################################################################### +# +# Extension #159 +# APPLE_specular_vector commands +# +############################################################################### + +# (none) +newcategory: APPLE_specular_vector + +############################################################################### +# +# Extension #160 +# APPLE_transform_hint commands +# +############################################################################### + +# (none) +newcategory: APPLE_transform_hint + +############################################################################### +# +# Extension #161 +# SGIX_fog_scale commands +# +############################################################################### + +# (none) +newcategory: SGIX_fog_scale + +############################################################################### +# +# Extension #162 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #163 +# SUNX_constant_data commands +# +############################################################################### + +FinishTextureSUNX() +	return		void +	category	SUNX_constant_data +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #164 +# SUN_global_alpha commands +# +############################################################################### + +GlobalAlphaFactorbSUN(factor) +	return		void +	param		factor		Int8 in value +	category	SUN_global_alpha +	version		1.1 +	glxropcode	? +	offset		? + +GlobalAlphaFactorsSUN(factor) +	return		void +	param		factor		Int16 in value +	category	SUN_global_alpha +	version		1.1 +	glxropcode	? +	offset		? + +GlobalAlphaFactoriSUN(factor) +	return		void +	param		factor		Int32 in value +	category	SUN_global_alpha +	version		1.1 +	glxropcode	? +	offset		? + +GlobalAlphaFactorfSUN(factor) +	return		void +	param		factor		Float32 in value +	category	SUN_global_alpha +	version		1.1 +	glxropcode	? +	offset		? + +GlobalAlphaFactordSUN(factor) +	return		void +	param		factor		Float64 in value +	category	SUN_global_alpha +	version		1.1 +	glxropcode	? +	offset		? + +GlobalAlphaFactorubSUN(factor) +	return		void +	param		factor		UInt8 in value +	category	SUN_global_alpha +	version		1.1 +	glxropcode	? +	offset		? + +GlobalAlphaFactorusSUN(factor) +	return		void +	param		factor		UInt16 in value +	category	SUN_global_alpha +	version		1.1 +	glxropcode	? +	offset		? + +GlobalAlphaFactoruiSUN(factor) +	return		void +	param		factor		UInt32 in value +	category	SUN_global_alpha +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #165 +# SUN_triangle_list commands +# +############################################################################### + +ReplacementCodeuiSUN(code) +	return		void +	param		code		UInt32 in value +	category	SUN_triangle_list +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeusSUN(code) +	return		void +	param		code		UInt16 in value +	category	SUN_triangle_list +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeubSUN(code) +	return		void +	param		code		UInt8 in value +	category	SUN_triangle_list +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuivSUN(code) +	return		void +	param		code		UInt32 in array [COMPSIZE()] +	category	SUN_triangle_list +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeusvSUN(code) +	return		void +	param		code		UInt16 in array [COMPSIZE()] +	category	SUN_triangle_list +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeubvSUN(code) +	return		void +	param		code		UInt8 in array [COMPSIZE()] +	category	SUN_triangle_list +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodePointerSUN(type, stride, pointer) +	return		void +	param		type		ReplacementCodeTypeSUN in value +	param		stride		SizeI in value +	param		pointer		VoidPointer in array [COMPSIZE(type/stride)] retained +	category	SUN_triangle_list +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #166 +# SUN_vertex commands +# +############################################################################### + +Color4ubVertex2fSUN(r, g, b, a, x, y) +	return		void +	param		r		UInt8 in value +	param		g		UInt8 in value +	param		b		UInt8 in value +	param		a		UInt8 in value +	param		x		Float32 in value +	param		y		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Color4ubVertex2fvSUN(c, v) +	return		void +	param		c		UInt8 in array [4] +	param		v		Float32 in array [2] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Color4ubVertex3fSUN(r, g, b, a, x, y, z) +	return		void +	param		r		UInt8 in value +	param		g		UInt8 in value +	param		b		UInt8 in value +	param		a		UInt8 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Color4ubVertex3fvSUN(c, v) +	return		void +	param		c		UInt8 in array [4] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Color3fVertex3fSUN(r, g, b, x, y, z) +	return		void +	param		r		Float32 in value +	param		g		Float32 in value +	param		b		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Color3fVertex3fvSUN(c, v) +	return		void +	param		c		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Normal3fVertex3fSUN(nx, ny, nz, x, y, z) +	return		void +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Normal3fVertex3fvSUN(n, v) +	return		void +	param		n		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Color4fNormal3fVertex3fSUN(r, g, b, a, nx, ny, nz, x, y, z) +	return		void +	param		r		Float32 in value +	param		g		Float32 in value +	param		b		Float32 in value +	param		a		Float32 in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +Color4fNormal3fVertex3fvSUN(c, n, v) +	return		void +	param		c		Float32 in array [4] +	param		n		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fVertex3fSUN(s, t, x, y, z) +	return		void +	param		s		Float32 in value +	param		t		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fVertex3fvSUN(tc, v) +	return		void +	param		tc		Float32 in array [2] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord4fVertex4fSUN(s, t, p, q, x, y, z, w) +	return		void +	param		s		Float32 in value +	param		t		Float32 in value +	param		p		Float32 in value +	param		q		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord4fVertex4fvSUN(tc, v) +	return		void +	param		tc		Float32 in array [4] +	param		v		Float32 in array [4] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fColor4ubVertex3fSUN(s, t, r, g, b, a, x, y, z) +	return		void +	param		s		Float32 in value +	param		t		Float32 in value +	param		r		UInt8 in value +	param		g		UInt8 in value +	param		b		UInt8 in value +	param		a		UInt8 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fColor4ubVertex3fvSUN(tc, c, v) +	return		void +	param		tc		Float32 in array [2] +	param		c		UInt8 in array [4] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fColor3fVertex3fSUN(s, t, r, g, b, x, y, z) +	return		void +	param		s		Float32 in value +	param		t		Float32 in value +	param		r		Float32 in value +	param		g		Float32 in value +	param		b		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fColor3fVertex3fvSUN(tc, c, v) +	return		void +	param		tc		Float32 in array [2] +	param		c		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fNormal3fVertex3fSUN(s, t, nx, ny, nz, x, y, z) +	return		void +	param		s		Float32 in value +	param		t		Float32 in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fNormal3fVertex3fvSUN(tc, n, v) +	return		void +	param		tc		Float32 in array [2] +	param		n		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fColor4fNormal3fVertex3fSUN(s, t, r, g, b, a, nx, ny, nz, x, y, z) +	return		void +	param		s		Float32 in value +	param		t		Float32 in value +	param		r		Float32 in value +	param		g		Float32 in value +	param		b		Float32 in value +	param		a		Float32 in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord2fColor4fNormal3fVertex3fvSUN(tc, c, n, v) +	return		void +	param		tc		Float32 in array [2] +	param		c		Float32 in array [4] +	param		n		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord4fColor4fNormal3fVertex4fSUN(s, t, p, q, r, g, b, a, nx, ny, nz, x, y, z, w) +	return		void +	param		s		Float32 in value +	param		t		Float32 in value +	param		p		Float32 in value +	param		q		Float32 in value +	param		r		Float32 in value +	param		g		Float32 in value +	param		b		Float32 in value +	param		a		Float32 in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +TexCoord4fColor4fNormal3fVertex4fvSUN(tc, c, n, v) +	return		void +	param		tc		Float32 in array [4] +	param		c		Float32 in array [4] +	param		n		Float32 in array [3] +	param		v		Float32 in array [4] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiVertex3fSUN(rc, x, y, z) +	return		void +	param		rc		ReplacementCodeSUN in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiVertex3fvSUN(rc, v) +	return		void +	param		rc		ReplacementCodeSUN in array [1] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiColor4ubVertex3fSUN(rc, r, g, b, a, x, y, z) +	return		void +	param		rc		ReplacementCodeSUN in value +	param		r		UInt8 in value +	param		g		UInt8 in value +	param		b		UInt8 in value +	param		a		UInt8 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiColor4ubVertex3fvSUN(rc, c, v) +	return		void +	param		rc		ReplacementCodeSUN in array [1] +	param		c		UInt8 in array [4] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiColor3fVertex3fSUN(rc, r, g, b, x, y, z) +	return		void +	param		rc		ReplacementCodeSUN in value +	param		r		Float32 in value +	param		g		Float32 in value +	param		b		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiColor3fVertex3fvSUN(rc, c, v) +	return		void +	param		rc		ReplacementCodeSUN in array [1] +	param		c		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiNormal3fVertex3fSUN(rc, nx, ny, nz, x, y, z) +	return		void +	param		rc		ReplacementCodeSUN in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiNormal3fVertex3fvSUN(rc, n, v) +	return		void +	param		rc		ReplacementCodeSUN in array [1] +	param		n		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiColor4fNormal3fVertex3fSUN(rc, r, g, b, a, nx, ny, nz, x, y, z) +	return		void +	param		rc		ReplacementCodeSUN in value +	param		r		Float32 in value +	param		g		Float32 in value +	param		b		Float32 in value +	param		a		Float32 in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiColor4fNormal3fVertex3fvSUN(rc, c, n, v) +	return		void +	param		rc		ReplacementCodeSUN in array [1] +	param		c		Float32 in array [4] +	param		n		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiTexCoord2fVertex3fSUN(rc, s, t, x, y, z) +	return		void +	param		rc		ReplacementCodeSUN in value +	param		s		Float32 in value +	param		t		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiTexCoord2fVertex3fvSUN(rc, tc, v) +	return		void +	param		rc		ReplacementCodeSUN in array [1] +	param		tc		Float32 in array [2] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc, s, t, nx, ny, nz, x, y, z) +	return		void +	param		rc		ReplacementCodeSUN in value +	param		s		Float32 in value +	param		t		Float32 in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(rc, tc, n, v) +	return		void +	param		rc		ReplacementCodeSUN in array [1] +	param		tc		Float32 in array [2] +	param		n		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc, s, t, r, g, b, a, nx, ny, nz, x, y, z) +	return		void +	param		rc		ReplacementCodeSUN in value +	param		s		Float32 in value +	param		t		Float32 in value +	param		r		Float32 in value +	param		g		Float32 in value +	param		b		Float32 in value +	param		a		Float32 in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(rc, tc, c, n, v) +	return		void +	param		rc		ReplacementCodeSUN in array [1] +	param		tc		Float32 in array [2] +	param		c		Float32 in array [4] +	param		n		Float32 in array [3] +	param		v		Float32 in array [3] +	category	SUN_vertex +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #167 - WGL_EXT_display_color_table +# Extension #168 - WGL_EXT_extensions_string +# Extension #169 - WGL_EXT_make_current_read +# Extension #170 - WGL_EXT_pixel_format +# Extension #171 - WGL_EXT_pbuffer +# Extension #172 - WGL_EXT_swap_control +# +############################################################################### + +############################################################################### +# +# Extension #173 +# EXT_blend_func_separate commands (also INGR_blend_func_separate) +# +############################################################################### + +BlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) +	return		void +	param		sfactorRGB	BlendFuncSeparateParameterEXT in value +	param		dfactorRGB	BlendFuncSeparateParameterEXT in value +	param		sfactorAlpha	BlendFuncSeparateParameterEXT in value +	param		dfactorAlpha	BlendFuncSeparateParameterEXT in value +	category	EXT_blend_func_separate +	glxropcode	4134 +	version		1.0 +	extension +	alias		BlendFuncSeparate + +BlendFuncSeparateINGR(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) +	return		void +	param		sfactorRGB	BlendFuncSeparateParameterEXT in value +	param		dfactorRGB	BlendFuncSeparateParameterEXT in value +	param		sfactorAlpha	BlendFuncSeparateParameterEXT in value +	param		dfactorAlpha	BlendFuncSeparateParameterEXT in value +	category	INGR_blend_func_separate +	glxropcode	4134 +	version		1.0 +	extension +	alias		BlendFuncSeparateEXT + +############################################################################### +# +# Extension #174 +# INGR_color_clamp commands +# +############################################################################### + +# (none) +newcategory: INGR_color_clamp + +############################################################################### +# +# Extension #175 +# INGR_interlace_read commands +# +############################################################################### + +# (none) +newcategory: INGR_interlace_read + +############################################################################### +# +# Extension #176 +# EXT_stencil_wrap commands +# +############################################################################### + +# (none) +newcategory: EXT_stencil_wrap + +############################################################################### +# +# Extension #177 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #178 +# EXT_422_pixels commands +# +############################################################################### + +# (none) +newcategory: EXT_422_pixels + +############################################################################### +# +# Extension #179 +# NV_texgen_reflection commands +# +############################################################################### + +# (none) +newcategory: NV_texgen_reflection + +############################################################################### +# +# Extension #??? +# @   EXT_texture_cube_map commands +# +############################################################################### + +# (none) + +############################################################################### +# +# Extension #180 - skipped +# Extension #181 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #182 +# SUN_convolution_border_modes commands +# +############################################################################### + +# (none) +newcategory: SUN_convolution_border_modes + +############################################################################### +# +# Extension #183 - GLX_SUN_get_transparent_index +# Extension #184 - skipped +# +############################################################################### + +############################################################################### +# +# Extension #185 +# EXT_texture_env_add commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_env_add + +############################################################################### +# +# Extension #186 +# EXT_texture_lod_bias commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_lod_bias + +############################################################################### +# +# Extension #187 +# EXT_texture_filter_anisotropic commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_filter_anisotropic + +############################################################################### +# +# Extension #188 +# EXT_vertex_weighting commands +# +############################################################################### + +# GLX stuff to be written +VertexWeightfEXT(weight) +	return		void +	param		weight		Float32 in value +	category	EXT_vertex_weighting +	vectorequiv	VertexWeightfvEXT +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		494 + +VertexWeightfvEXT(weight) +	return		void +	param		weight		Float32 in array [1] +	category	EXT_vertex_weighting +	version		1.1 +	extension	soft WINSOFT NV10 +	glxropcode	4135 +	glxflags	ignore +	offset		495 + +VertexWeightPointerEXT(size, type, stride, pointer) +	return		void +	param		size		SizeI in value +	param		type		VertexWeightPointerTypeEXT in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(type/stride)] retained +	category	EXT_vertex_weighting +	version		1.1 +	extension	soft WINSOFT NV10 +	dlflags		notlistable +	glxflags	ignore +	offset		496 + +############################################################################### +# +# Extension #189 +# NV_light_max_exponent commands +# +############################################################################### + +# (none) +newcategory: NV_light_max_exponent + +############################################################################### +# +# Extension #190 +# NV_vertex_array_range commands +# +############################################################################### + +FlushVertexArrayRangeNV() +	return		void +	category	NV_vertex_array_range +	version		1.1 +	extension	soft WINSOFT NV10 +	dlflags		notlistable +	glxflags	client-handcode server-handcode ignore +	offset		497 + +VertexArrayRangeNV(length, pointer) +	return		void +	param		length		SizeI in value +	param		pointer		Void in array [COMPSIZE(length)] retained +	category	NV_vertex_array_range +	version		1.1 +	extension	soft WINSOFT NV10 +	dlflags		notlistable +	glxflags	client-handcode server-handcode ignore +	offset		498 + +############################################################################### +# +# Extension #191 +# NV_register_combiners commands +# +############################################################################### + +CombinerParameterfvNV(pname, params) +	return		void +	param		pname		CombinerParameterNV in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxropcode	4137 +	glxflags	ignore +	offset		499 + +CombinerParameterfNV(pname, param) +	return		void +	param		pname		CombinerParameterNV in value +	param		param		Float32 in value +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxropcode	4136 +	glxflags	ignore +	offset		500 + +CombinerParameterivNV(pname, params) +	return		void +	param		pname		CombinerParameterNV in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxropcode	4139 +	glxflags	ignore +	offset		501 + +CombinerParameteriNV(pname, param) +	return		void +	param		pname		CombinerParameterNV in value +	param		param		Int32 in value +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxropcode	4138 +	glxflags	ignore +	offset		502 + +CombinerInputNV(stage, portion, variable, input, mapping, componentUsage) +	return		void +	param		stage		CombinerStageNV in value +	param		portion		CombinerPortionNV in value +	param		variable	CombinerVariableNV in value +	param		input		CombinerRegisterNV in value +	param		mapping		CombinerMappingNV in value +	param		componentUsage	CombinerComponentUsageNV in value +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxropcode	4140 +	glxflags	ignore +	offset		503 + +CombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum) +	return		void +	param		stage		CombinerStageNV in value +	param		portion		CombinerPortionNV in value +	param		abOutput	CombinerRegisterNV in value +	param		cdOutput	CombinerRegisterNV in value +	param		sumOutput	CombinerRegisterNV in value +	param		scale		CombinerScaleNV in value +	param		bias		CombinerBiasNV in value +	param		abDotProduct	Boolean in value +	param		cdDotProduct	Boolean in value +	param		muxSum		Boolean in value +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxropcode	4141 +	glxflags	ignore +	offset		504 + +FinalCombinerInputNV(variable, input, mapping, componentUsage) +	return		void +	param		variable	CombinerVariableNV in value +	param		input		CombinerRegisterNV in value +	param		mapping		CombinerMappingNV in value +	param		componentUsage	CombinerComponentUsageNV in value +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxropcode	4142 +	glxflags	ignore +	offset		505 + +GetCombinerInputParameterfvNV(stage, portion, variable, pname, params) +	return		void +	param		stage		CombinerStageNV in value +	param		portion		CombinerPortionNV in value +	param		variable	CombinerVariableNV in value +	param		pname		CombinerParameterNV in value +	param		params		Float32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1270 +	glxflags	ignore +	offset		506 + +GetCombinerInputParameterivNV(stage, portion, variable, pname, params) +	return		void +	param		stage		CombinerStageNV in value +	param		portion		CombinerPortionNV in value +	param		variable	CombinerVariableNV in value +	param		pname		CombinerParameterNV in value +	param		params		Int32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1271 +	glxflags	ignore +	offset		507 + +GetCombinerOutputParameterfvNV(stage, portion, pname, params) +	return		void +	param		stage		CombinerStageNV in value +	param		portion		CombinerPortionNV in value +	param		pname		CombinerParameterNV in value +	param		params		Float32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1272 +	glxflags	ignore +	offset		508 + +GetCombinerOutputParameterivNV(stage, portion, pname, params) +	return		void +	param		stage		CombinerStageNV in value +	param		portion		CombinerPortionNV in value +	param		pname		CombinerParameterNV in value +	param		params		Int32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1273 +	glxflags	ignore +	offset		509 + +GetFinalCombinerInputParameterfvNV(variable, pname, params) +	return		void +	param		variable	CombinerVariableNV in value +	param		pname		CombinerParameterNV in value +	param		params		Float32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1274 +	glxflags	ignore +	offset		510 + +GetFinalCombinerInputParameterivNV(variable, pname, params) +	return		void +	param		variable	CombinerVariableNV in value +	param		pname		CombinerParameterNV in value +	param		params		Int32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_register_combiners +	version		1.1 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1275 +	glxflags	ignore +	offset		511 + +############################################################################### +# +# Extension #192 +# NV_fog_distance commands +# +############################################################################### + +# (none) +newcategory: NV_fog_distance + +############################################################################### +# +# Extension #193 +# NV_texgen_emboss commands +# +############################################################################### + +# (none) +newcategory: NV_texgen_emboss + +############################################################################### +# +# Extension #194 +# NV_blend_square commands +# +############################################################################### + +# (none) +newcategory: NV_blend_square + +############################################################################### +# +# Extension #195 +# NV_texture_env_combine4 commands +# +############################################################################### + +# (none) +newcategory: NV_texture_env_combine4 + +############################################################################### +# +# Extension #196 +# MESA_resize_buffers commands +# +############################################################################### + +ResizeBuffersMESA() +	return		void +	category	MESA_resize_buffers +	version		1.0 +	glxropcode	? +	offset		512 + +############################################################################### +# +# Extension #197 +# MESA_window_pos commands +# +# Note that the 2- and 3-component versions are now aliases of ARB +# entry points. +# +############################################################################### + +WindowPos2dMESA(x, y) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	category	MESA_window_pos +	vectorequiv	WindowPos2dvMESA +	version		1.0 +	alias		WindowPos2dARB + +WindowPos2dvMESA(v) +	return		void +	param		v		CoordD in array [2] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	alias		WindowPos2dvARB + +WindowPos2fMESA(x, y) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	category	MESA_window_pos +	vectorequiv	WindowPos2fvMESA +	version		1.0 +	alias		WindowPos2fARB + +WindowPos2fvMESA(v) +	return		void +	param		v		CoordF in array [2] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	alias		WindowPos2fvARB + +WindowPos2iMESA(x, y) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	category	MESA_window_pos +	vectorequiv	WindowPos2ivMESA +	version		1.0 +	alias		WindowPos2iARB + +WindowPos2ivMESA(v) +	return		void +	param		v		CoordI in array [2] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	alias		WindowPos2ivARB + +WindowPos2sMESA(x, y) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	category	MESA_window_pos +	vectorequiv	WindowPos2svMESA +	version		1.0 +	alias		WindowPos2sARB + +WindowPos2svMESA(v) +	return		void +	param		v		CoordS in array [2] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	alias		WindowPos2svARB + +WindowPos3dMESA(x, y, z) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	param		z		CoordD in value +	vectorequiv	WindowPos3dvMESA +	category	MESA_window_pos +	version		1.0 +	alias		WindowPos3dARB + +WindowPos3dvMESA(v) +	return		void +	param		v		CoordD in array [3] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	alias		WindowPos3dvARB + +WindowPos3fMESA(x, y, z) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	param		z		CoordF in value +	category	MESA_window_pos +	vectorequiv	WindowPos3fvMESA +	version		1.0 +	alias		WindowPos3fARB + +WindowPos3fvMESA(v) +	return		void +	param		v		CoordF in array [3] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	alias		WindowPos3fvARB + +WindowPos3iMESA(x, y, z) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	param		z		CoordI in value +	category	MESA_window_pos +	vectorequiv	WindowPos3ivMESA +	version		1.0 +	alias		WindowPos3iARB + +WindowPos3ivMESA(v) +	return		void +	param		v		CoordI in array [3] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	alias		WindowPos3ivARB + +WindowPos3sMESA(x, y, z) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	param		z		CoordS in value +	category	MESA_window_pos +	vectorequiv	WindowPos3svMESA +	version		1.0 +	alias		WindowPos3sARB + +WindowPos3svMESA(v) +	return		void +	param		v		CoordS in array [3] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	alias		WindowPos3svARB + +WindowPos4dMESA(x, y, z, w) +	return		void +	param		x		CoordD in value +	param		y		CoordD in value +	param		z		CoordD in value +	param		w		CoordD in value +	vectorequiv	WindowPos4dvMESA +	category	MESA_window_pos +	version		1.0 +	offset		529 + +WindowPos4dvMESA(v) +	return		void +	param		v		CoordD in array [4] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	offset		530 + +WindowPos4fMESA(x, y, z, w) +	return		void +	param		x		CoordF in value +	param		y		CoordF in value +	param		z		CoordF in value +	param		w		CoordF in value +	category	MESA_window_pos +	vectorequiv	WindowPos4fvMESA +	version		1.0 +	offset		531 + +WindowPos4fvMESA(v) +	return		void +	param		v		CoordF in array [4] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	offset		532 + +WindowPos4iMESA(x, y, z, w) +	return		void +	param		x		CoordI in value +	param		y		CoordI in value +	param		z		CoordI in value +	param		w		CoordI in value +	category	MESA_window_pos +	vectorequiv	WindowPos4ivMESA +	version		1.0 +	offset		533 + +WindowPos4ivMESA(v) +	return		void +	param		v		CoordI in array [4] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	offset		534 + +WindowPos4sMESA(x, y, z, w) +	return		void +	param		x		CoordS in value +	param		y		CoordS in value +	param		z		CoordS in value +	param		w		CoordS in value +	category	MESA_window_pos +	vectorequiv	WindowPos4svMESA +	version		1.0 +	offset		535 + +WindowPos4svMESA(v) +	return		void +	param		v		CoordS in array [4] +	category	MESA_window_pos +	version		1.0 +	glxropcode	? +	offset		536 + +############################################################################### +# +# Extension #198 +# EXT_texture_compression_s3tc commands +# +############################################################################### + +#@@ (none yet) + +############################################################################### +# +# Extension #199 +# IBM_cull_vertex commands +# +############################################################################### + +# (none) +newcategory: IBM_cull_vertex + +############################################################################### +# +# Extension #200 +# IBM_multimode_draw_arrays commands +# +############################################################################### + +MultiModeDrawArraysIBM(mode, first, count, primcount, modestride) +	return		void +	param		mode		BeginMode in array [COMPSIZE(primcount)] +	param		first		Int32 in array [COMPSIZE(primcount)] +	param		count		SizeI in array [COMPSIZE(primcount)] +	param		primcount	SizeI in value +	param		modestride	Int32 in value +	category	IBM_multimode_draw_arrays +	version		1.1 +	glxropcode	? +	offset		708 + + +MultiModeDrawElementsIBM(mode, count, type, indices, primcount, modestride) +	return		void +	param		mode		BeginMode in array [COMPSIZE(primcount)] +	param		count		SizeI in array [COMPSIZE(primcount)] +	param		type		DrawElementsType in value +	param		indices		ConstVoidPointer in array [COMPSIZE(primcount)] +	param		primcount	SizeI in value +	param		modestride	Int32 in value +	category	IBM_multimode_draw_arrays +	version		1.1 +	glxropcode	? +	offset		709 + +############################################################################### +# +# Extension #201 +# IBM_vertex_array_lists commands +# +############################################################################### + +ColorPointerListIBM(size, type, stride, pointer, ptrstride) +	return		void +	param		size		Int32 in value +	param		type		ColorPointerType in value +	param		stride		Int32 in value +	param		pointer		VoidPointer in array [COMPSIZE(size/type/stride)] retained +	param		ptrstride	Int32 in value +	category	IBM_vertex_array_lists +	version		1.1 +	glxropcode	? +	offset		? + +SecondaryColorPointerListIBM(size, type, stride, pointer, ptrstride) +	return		void +	param		size		Int32 in value +	param		type		SecondaryColorPointerTypeIBM in value +	param		stride		Int32 in value +	param		pointer		VoidPointer in array [COMPSIZE(size/type/stride)] retained +	param		ptrstride	Int32 in value +	category	IBM_vertex_array_lists +	version		1.1 +	glxropcode	? +	offset		? + +EdgeFlagPointerListIBM(stride, pointer, ptrstride) +	return		void +	param		stride		Int32 in value +	param		pointer		BooleanPointer in array [COMPSIZE(stride)] retained +	param		ptrstride	Int32 in value +	category	IBM_vertex_array_lists +	version		1.1 +	glxropcode	? +	offset		? + +FogCoordPointerListIBM(type, stride, pointer, ptrstride) +	return		void +	param		type		FogPointerTypeIBM in value +	param		stride		Int32 in value +	param		pointer		VoidPointer in array [COMPSIZE(type/stride)] retained +	param		ptrstride	Int32 in value +	category	IBM_vertex_array_lists +	version		1.1 +	glxropcode	? +	offset		? + +IndexPointerListIBM(type, stride, pointer, ptrstride) +	return		void +	param		type		IndexPointerType in value +	param		stride		Int32 in value +	param		pointer		VoidPointer in array [COMPSIZE(type/stride)] retained +	param		ptrstride	Int32 in value +	category	IBM_vertex_array_lists +	version		1.1 +	glxropcode	? +	offset		? + +NormalPointerListIBM(type, stride, pointer, ptrstride) +	return		void +	param		type		NormalPointerType in value +	param		stride		Int32 in value +	param		pointer		VoidPointer in array [COMPSIZE(type/stride)] retained +	param		ptrstride	Int32 in value +	category	IBM_vertex_array_lists +	version		1.1 +	glxropcode	? +	offset		? + +TexCoordPointerListIBM(size, type, stride, pointer, ptrstride) +	return		void +	param		size		Int32 in value +	param		type		TexCoordPointerType in value +	param		stride		Int32 in value +	param		pointer		VoidPointer in array [COMPSIZE(size/type/stride)] retained +	param		ptrstride	Int32 in value +	category	IBM_vertex_array_lists +	version		1.1 +	glxropcode	? +	offset		? + +VertexPointerListIBM(size, type, stride, pointer, ptrstride) +	return		void +	param		size		Int32 in value +	param		type		VertexPointerType in value +	param		stride		Int32 in value +	param		pointer		VoidPointer in array [COMPSIZE(size/type/stride)] retained +	param		ptrstride	Int32 in value +	category	IBM_vertex_array_lists +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #202 +# SGIX_subsample commands +# +############################################################################### + +# (none) +newcategory: SGIX_subsample + +############################################################################### +# +# Extension #203 +# SGIX_ycrcba commands +# +############################################################################### + +# (none) +newcategory: SGIX_ycrcba + +############################################################################### +# +# Extension #204 +# SGIX_ycrcb_subsample commands +# +############################################################################### + +# (none) +newcategory: SGIX_ycrcb_subsample + +############################################################################### +# +# Extension #205 +# SGIX_depth_pass_instrument commands +# +############################################################################### + +# (none) +newcategory: SGIX_depth_pass_instrument + +############################################################################### +# +# Extension #206 +# 3DFX_texture_compression_FXT1 commands +# +############################################################################### + +# (none) +newcategory: 3DFX_texture_compression_FXT1 + +############################################################################### +# +# Extension #207 +# 3DFX_multisample commands +# +############################################################################### + +# (none) +newcategory: 3DFX_multisample + +############################################################################### +# +# Extension #208 +# 3DFX_tbuffer commands +# +############################################################################### + +TbufferMask3DFX(mask) +	return		void +	param		mask		UInt32 in value +	category	3DFX_tbuffer +	version		1.2 +	glxropcode	? +	offset		553 + +############################################################################### +# +# Extension #209 +# EXT_multisample commands +# +############################################################################### + +SampleMaskEXT(value, invert) +	return		void +	param		value		ClampedFloat32 in value +	param		invert		Boolean in value +	category	EXT_multisample +	version		1.0 +	glxropcode	? +	extension +	offset		446 + +SamplePatternEXT(pattern) +	return		void +	param		pattern		SamplePatternEXT in value +	category	EXT_multisample +	version		1.0 +	glxropcode	? +	glxflags +	extension +	offset		447 + +############################################################################### +# +# Extension #210 +# SGIX_vertex_preclip commands +# +############################################################################### + +# (none) +newcategory: SGIX_vertex_preclip + +############################################################################### +# +# Extension #211 +# SGIX_convolution_accuracy commands +# +############################################################################### + +# (none) +newcategory: SGIX_convolution_accuracy + +############################################################################### +# +# Extension #212 +# SGIX_resample commands +# +############################################################################### + +# (none) +newcategory: SGIX_resample + +############################################################################### +# +# Extension #213 +# SGIS_point_line_texgen commands +# +############################################################################### + +# (none) +newcategory: SGIS_point_line_texgen + +############################################################################### +# +# Extension #214 +# SGIS_texture_color_mask commands +# +############################################################################### + +TextureColorMaskSGIS(red, green, blue, alpha) +	return		void +	param		red		Boolean in value +	param		green		Boolean in value +	param		blue		Boolean in value +	param		alpha		Boolean in value +	category	SGIS_texture_color_mask +	version		1.1 +	glxropcode	2082 +	extension +	offset		? + +############################################################################### +# +# Extension #215 - GLX_MESA_copy_sub_buffer +# Extension #216 - GLX_MESA_pixmap_colormap +# Extension #217 - GLX_MESA_release_buffers +# Extension #218 - GLX_MESA_set_3dfx_mode +# +############################################################################### + +############################################################################### +# +# Extension #219 +# SGIX_igloo_interface commands +# +############################################################################### + +IglooInterfaceSGIX(pname, params) +	return		void +	dlflags		notlistable +	param		pname		IglooFunctionSelectSGIX in value +	param		params		IglooParameterSGIX in array [COMPSIZE(pname)] +	category	SGIX_igloo_interface +	version		1.0 +	glxflags	SGI ignore +	extension +	glxropcode	200 +	offset		? + +############################################################################### +# +# Extension #220 +# EXT_texture_env_dot3 commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_env_dot3 + +############################################################################### +# +# Extension #221 +# ATI_texture_mirror_once commands +# +############################################################################### +# (none) +newcategory: ATI_texture_mirror_once + +############################################################################### +# +# Extension #222 +# NV_fence commands +# +############################################################################### + +DeleteFencesNV(n, fences) +	return		void +	param		n		SizeI in value +	param		fences		FenceNV in array [n] +	category	NV_fence +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1276 +	glxflags	ignore +	offset		647 + +GenFencesNV(n, fences) +	return		void +	param		n		SizeI in value +	param		fences		FenceNV out array [n] +	category	NV_fence +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1277 +	glxflags	ignore +	offset		648 + +IsFenceNV(fence) +	return		Boolean +	param		fence		FenceNV in value +	category	NV_fence +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1278 +	glxflags	ignore +	offset		649 + +TestFenceNV(fence) +	return		Boolean +	param		fence		FenceNV in value +	category	NV_fence +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1279 +	glxflags	ignore +	offset		650 + +GetFenceivNV(fence, pname, params) +	return		void +	param		fence		FenceNV in value +	param		pname		FenceParameterNameNV in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	NV_fence +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1280 +	glxflags	ignore +	offset		651 + +FinishFenceNV(fence) +	return		void +	param		fence		FenceNV in value +	category	NV_fence +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1312 +	glxflags	ignore +	offset		652 + +SetFenceNV(fence, condition) +	return		void +	param		fence		FenceNV in value +	param		condition	FenceConditionNV in value +	category	NV_fence +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		653 + +############################################################################### +# +# Extension #225 +# NV_evaluators commands +# +############################################################################### + +MapControlPointsNV(target, index, type, ustride, vstride, uorder, vorder, packed, points) +	return		void +	param		target		EvalTargetNV in value +	param		index		UInt32 in value +	param		type		MapTypeNV in value +	param		ustride		SizeI in value +	param		vstride		SizeI in value +	param		uorder		CheckedInt32 in value +	param		vorder		CheckedInt32 in value +	param		packed		Boolean in value +	param		points		Void in array [COMPSIZE(target/uorder/vorder)] +	category	NV_evaluators +	dlflags		handcode +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +MapParameterivNV(target, pname, params) +	return		void +	param		target		EvalTargetNV in value +	param		pname		MapParameterNV in value +	param		params		CheckedInt32 in array [COMPSIZE(target/pname)] +	category	NV_evaluators +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +MapParameterfvNV(target, pname, params) +	return		void +	param		target		EvalTargetNV in value +	param		pname		MapParameterNV in value +	param		params		CheckedFloat32 in array [COMPSIZE(target/pname)] +	category	NV_evaluators +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +GetMapControlPointsNV(target, index, type, ustride, vstride, packed, points) +	return		void +	param		target		EvalTargetNV in value +	param		index		UInt32 in value +	param		type		MapTypeNV in value +	param		ustride		SizeI in value +	param		vstride		SizeI in value +	param		packed		Boolean in value +	param		points		Void out array [COMPSIZE(target)] +	category	NV_evaluators +	dlflags		notlistable +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +GetMapParameterivNV(target, pname, params) +	return		void +	param		target		EvalTargetNV in value +	param		pname		MapParameterNV in value +	param		params		Int32 out array [COMPSIZE(target/pname)] +	category	NV_evaluators +	dlflags		notlistable +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +GetMapParameterfvNV(target, pname, params) +	return		void +	param		target		EvalTargetNV in value +	param		pname		MapParameterNV in value +	param		params		Float32 out array [COMPSIZE(target/pname)] +	category	NV_evaluators +	dlflags		notlistable +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +GetMapAttribParameterivNV(target, index, pname, params) +	return		void +	param		target		EvalTargetNV in value +	param		index		UInt32 in value +	param		pname		MapAttribParameterNV in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	NV_evaluators +	dlflags		notlistable +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +GetMapAttribParameterfvNV(target, index, pname, params) +	return		void +	param		target		EvalTargetNV in value +	param		index		UInt32 in value +	param		pname		MapAttribParameterNV in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	NV_evaluators +	dlflags		notlistable +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +EvalMapsNV(target, mode) +	return		void +	param		target		EvalTargetNV in value +	param		mode		EvalMapsModeNV in value +	category	NV_evaluators +	version		1.1 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #226 +# NV_packed_depth_stencil commands +# +############################################################################### + +# (none) +newcategory: NV_packed_depth_stencil + +############################################################################### +# +# Extension #227 +# NV_register_combiners2 commands +# +############################################################################### + +CombinerStageParameterfvNV(stage, pname, params) +	return		void +	param		stage		CombinerStageNV in value +	param		pname		CombinerParameterNV in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	NV_register_combiners2 +	version		1.1 +	extension +	glxflags	ignore +	offset		? + +GetCombinerStageParameterfvNV(stage, pname, params) +	return		void +	param		stage		CombinerStageNV in value +	param		pname		CombinerParameterNV in value +	param		params		Float32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_register_combiners2 +	version		1.1 +	extension +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #228 +# NV_texture_compression_vtc commands +# +############################################################################### + +# (none) +newcategory: NV_texture_compression_vtc + +############################################################################### +# +# Extension #229 +# NV_texture_rectangle commands +# +############################################################################### + +# (none) +newcategory: NV_texture_rectangle + +############################################################################### +# +# Extension #230 +# NV_texture_shader commands +# +############################################################################### + +# (none) +newcategory: NV_texture_shader + +############################################################################### +# +# Extension #231 +# NV_texture_shader2 commands +# +############################################################################### + +# (none) +newcategory: NV_texture_shader2 + +############################################################################### +# +# Extension #232 +# NV_vertex_array_range2 commands +# +############################################################################### + +# (none) +newcategory: NV_vertex_array_range2 + +############################################################################### +# +# Extension #233 +# NV_vertex_program commands +# +############################################################################### + +AreProgramsResidentNV(n, programs, residences) +	return		Boolean +	param		n		SizeI in value +	param		programs	UInt32 in array [n] +	param		residences	Boolean out array [n] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxvendorpriv	1293 +	offset		578 + +BindProgramNV(target, id) +	return		void +	param		target		VertexAttribEnumNV in value +	param		id		UInt32 in value +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4180 +	alias		BindProgramARB + +DeleteProgramsNV(n, programs) +	return		void +	param		n		SizeI in value +	param		programs	UInt32 in array [n] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1294 +	alias		DeleteProgramsARB + +ExecuteProgramNV(target, id, params) +	return		void +	param		target		VertexAttribEnumNV in value +	param		id		UInt32 in value +	param		params		Float32 in array [4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxropcode	4181 +	offset		581 + +GenProgramsNV(n, programs) +	return		void +	param		n		SizeI in value +	param		programs	UInt32 out array [n] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1295 +	alias		GenProgramsARB + +GetProgramParameterdvNV(target, index, pname, params) +	return		void +	param		target		VertexAttribEnumNV in value +	param		index		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		params		Float64 out array [4] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxvendorpriv	1297 +	offset		583 + +GetProgramParameterfvNV(target, index, pname, params) +	return		void +	param		target		VertexAttribEnumNV in value +	param		index		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		params		Float32 out array [4] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxvendorpriv	1296 +	offset		584 + +# GetProgramParameterSigneddvNV(target, index, pname, params) +#	  return	  void +#	  param		  target	  VertexAttribEnumNV in value +#	  param		  index		  Int32 in value +#	  param		  pname		  VertexAttribEnumNV in value +#	  param		  params	  Float64 out array [4] +#	  category	  NV_vertex_program1_1_dcc +#	  dlflags	  notlistable +#	  version	  1.2 +#	  extension	  soft WINSOFT NV20 +#	  glxflags	  ignore +#	  offset	  ? +# +# GetProgramParameterSignedfvNV(target, index, pname, params) +#	  return	  void +#	  param		  target	  VertexAttribEnumNV in value +#	  param		  index		  Int32 in value +#	  param		  pname		  VertexAttribEnumNV in value +#	  param		  params	  Float32 out array [4] +#	  category	  NV_vertex_program1_1_dcc +#	  dlflags	  notlistable +#	  version	  1.2 +#	  extension	  soft WINSOFT NV20 +#	  glxflags	  ignore +#	  offset	  ? + +GetProgramivNV(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		params		Int32 out array [4] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxvendorpriv	1298 +	offset		585 + +GetProgramStringNV(id, pname, program) +	return		void +	param		id		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		program		ProgramCharacterNV out array [COMPSIZE(id/pname)] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxvendorpriv	1299 +	offset		586 + +GetTrackMatrixivNV(target, address, pname, params) +	return		void +	param		target		VertexAttribEnumNV in value +	param		address		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		params		Int32 out array [1] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	glxvendorpriv	1300 +	offset		587 + +GetVertexAttribdvNV(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		params		Float64 out array [1] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1301 +	alias		GetVertexAttribdv + +GetVertexAttribfvNV(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		params		Float32 out array [1] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1302 +	alias		GetVertexAttribfv + +GetVertexAttribivNV(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		params		Int32 out array [1] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1303 +	alias		GetVertexAttribiv + +GetVertexAttribPointervNV(index, pname, pointer) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribEnumNV in value +	param		pointer		VoidPointer out array [1] +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	alias		GetVertexAttribPointerv + +IsProgramNV(id) +	return		Boolean +	param		id		UInt32 in value +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxvendorpriv	1304 +	alias		IsProgram + +LoadProgramNV(target, id, len, program) +	return		void +	param		target		VertexAttribEnumNV in value +	param		id		UInt32 in value +	param		len		SizeI in value +	param		program		UInt8 in array [len] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4183 +	offset		593 + +ProgramParameter4dNV(target, index, x, y, z, w) +	return		void +	param		target		VertexAttribEnumNV in value +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	ProgramParameter4dvNV +	extension	soft WINSOFT NV10 +	offset		594 + +ProgramParameter4dvNV(target, index, v) +	return		void +	param		target		VertexAttribEnumNV in value +	param		index		UInt32 in value +	param		v		Float64 in array [4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4185 +	offset		595 + +ProgramParameter4fNV(target, index, x, y, z, w) +	return		void +	param		target		VertexAttribEnumNV in value +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	ProgramParameter4fvNV +	extension	soft WINSOFT NV10 +	offset		596 + +ProgramParameter4fvNV(target, index, v) +	return		void +	param		target		VertexAttribEnumNV in value +	param		index		UInt32 in value +	param		v		Float32 in array [4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4184 +	offset		597 + +#??? 'count' was SizeI in the latest NVIDIA gl.spec, but UInt32 in the +#??? extension specification in the registry. +ProgramParameters4dvNV(target, index, count, v) +	return		void +	param		target		VertexAttribEnumNV in value +	param		index		UInt32 in value +	param		count		UInt32 in value +	param		v		Float64 in array [count*4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4187 +	offset		598 + +#??? 'count' was SizeI in the latest NVIDIA gl.spec, but UInt32 in the +#??? extension specification in the registry. +ProgramParameters4fvNV(target, index, count, v) +	return		void +	param		target		VertexAttribEnumNV in value +	param		index		UInt32 in value +	param		count		UInt32 in value +	param		v		Float32 in array [count*4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4186 +	offset		599 + +# ProgramParameterSigned4dNV(target, index, x, y, z, w) +#	  return	  void +#	  param		  target	  VertexAttribEnumNV in value +#	  param		  index		  Int32 in value +#	  param		  x		  Float64 in value +#	  param		  y		  Float64 in value +#	  param		  z		  Float64 in value +#	  param		  w		  Float64 in value +#	  category	  NV_vertex_program1_1_dcc +#	  version	  1.2 +#	  vectorequiv	  ProgramParameterSigned4dvNV +#	  extension	  soft WINSOFT NV20 +#	  offset	  ? +# +# ProgramParameterSigned4dvNV(target, index, v) +#	  return	  void +#	  param		  target	  VertexAttribEnumNV in value +#	  param		  index		  Int32 in value +#	  param		  v		  Float64 in array [4] +#	  category	  NV_vertex_program1_1_dcc +#	  version	  1.2 +#	  extension	  soft WINSOFT NV20 +#	  glxflags	  ignore +#	  offset	  ? +# +# ProgramParameterSigned4fNV(target, index, x, y, z, w) +#	  return	  void +#	  param		  target	  VertexAttribEnumNV in value +#	  param		  index		  Int32 in value +#	  param		  x		  Float32 in value +#	  param		  y		  Float32 in value +#	  param		  z		  Float32 in value +#	  param		  w		  Float32 in value +#	  category	  NV_vertex_program1_1_dcc +#	  version	  1.2 +#	  vectorequiv	  ProgramParameterSigned4fvNV +#	  extension	  soft WINSOFT NV20 +#	  offset	  ? +# +# ProgramParameterSigned4fvNV(target, index, v) +#	  return	  void +#	  param		  target	  VertexAttribEnumNV in value +#	  param		  index		  Int32 in value +#	  param		  v		  Float32 in array [4] +#	  category	  NV_vertex_program1_1_dcc +#	  version	  1.2 +#	  extension	  soft WINSOFT NV20 +#	  glxflags	  ignore +#	  offset	  ? +# +# ProgramParametersSigned4dvNV(target, index, count, v) +#	  return	  void +#	  param		  target	  VertexAttribEnumNV in value +#	  param		  index		  Int32 in value +#	  param		  count		  SizeI in value +#	  param		  v		  Float64 in array [count*4] +#	  category	  NV_vertex_program1_1_dcc +#	  version	  1.2 +#	  extension	  soft WINSOFT NV20 +#	  glxflags	  ignore +#	  offset	  ? +# +# ProgramParametersSigned4fvNV(target, index, count, v) +#	  return	  void +#	  param		  target	  VertexAttribEnumNV in value +#	  param		  index		  Int32 in value +#	  param		  count		  SizeI in value +#	  param		  v		  Float32 in array [count*4] +#	  category	  NV_vertex_program1_1_dcc +#	  version	  1.2 +#	  extension	  soft WINSOFT NV20 +#	  glxflags	  ignore +#	  offset	  ? + +RequestResidentProgramsNV(n, programs) +	return		void +	param		n		SizeI in value +	param		programs	UInt32 in array [n] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4182 +	offset		600 + +TrackMatrixNV(target, address, matrix, transform) +	return		void +	param		target		VertexAttribEnumNV in value +	param		address		UInt32 in value +	param		matrix		VertexAttribEnumNV in value +	param		transform	VertexAttribEnumNV in value +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4188 +	offset		601 + +VertexAttribPointerNV(index, fsize, type, stride, pointer) +	return		void +	param		index		UInt32 in value +	param		fsize		Int32 in value +	param		type		VertexAttribEnumNV in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(fsize/type/stride)] retained +	category	NV_vertex_program +	dlflags		notlistable +	version		1.2 +	extension	soft WINSOFT NV10 +	glxflags	ignore +	offset		602 + +VertexAttrib1dNV(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib1dvNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib1d + +VertexAttrib1dvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [1] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4197 +	alias		VertexAttrib1dv + +VertexAttrib1fNV(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib1fvNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib1f + +VertexAttrib1fvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [1] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4193 +	alias		VertexAttrib1fv + +VertexAttrib1sNV(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib1svNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib1s + +VertexAttrib1svNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [1] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4189 +	alias		VertexAttrib1sv + +VertexAttrib2dNV(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib2dvNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib2d + +VertexAttrib2dvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [2] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4198 +	alias		VertexAttrib2dv + +VertexAttrib2fNV(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib2fvNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib2f + +VertexAttrib2fvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [2] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4194 +	alias		VertexAttrib2fv + +VertexAttrib2sNV(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib2svNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib2s + +VertexAttrib2svNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [2] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4190 +	alias		VertexAttrib2sv + +VertexAttrib3dNV(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib3dvNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib3d + +VertexAttrib3dvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [3] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4199 +	alias		VertexAttrib3dv + +VertexAttrib3fNV(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib3fvNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib3f + +VertexAttrib3fvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [3] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4195 +	alias		VertexAttrib3fv + +VertexAttrib3sNV(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	param		z		Int16 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib3svNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib3s + +VertexAttrib3svNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [3] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4191 +	alias		VertexAttrib3sv + +VertexAttrib4dNV(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib4dvNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4d + +VertexAttrib4dvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float64 in array [4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4200 +	alias		VertexAttrib4dv + +VertexAttrib4fNV(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib4fvNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4f + +VertexAttrib4fvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Float32 in array [4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4196 +	alias		VertexAttrib4fv + +VertexAttrib4sNV(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Int16 in value +	param		y		Int16 in value +	param		z		Int16 in value +	param		w		Int16 in value +	category	NV_vertex_program +	version		1.2 +	vectorequiv	VertexAttrib4svNV +	extension	soft WINSOFT NV10 +	alias		VertexAttrib4s + +VertexAttrib4svNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4192 +	alias		VertexAttrib4sv + +VertexAttrib4ubNV(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		ColorUB in value +	param		y		ColorUB in value +	param		z		ColorUB in value +	param		w		ColorUB in value +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	vectorequiv	VertexAttrib4ubvNV +	alias		VertexAttrib4Nub + +VertexAttrib4ubvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		ColorUB in array [4] +	category	NV_vertex_program +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4201 +	alias		VertexAttrib4Nubv + +VertexAttribs1dvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Float64 in array [count] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4210 +	offset		629 + +VertexAttribs1fvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Float32 in array [count] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4206 +	offset		630 + +VertexAttribs1svNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Int16 in array [count] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4202 +	offset		631 + +VertexAttribs2dvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Float64 in array [count*2] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4211 +	offset		632 + +VertexAttribs2fvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Float32 in array [count*2] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4207 +	offset		633 + +VertexAttribs2svNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Int16 in array [count*2] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4203 +	offset		634 + +VertexAttribs3dvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Float64 in array [count*3] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4212 +	offset		635 + +VertexAttribs3fvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Float32 in array [count*3] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4208 +	offset		636 + +VertexAttribs3svNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Int16 in array [count*3] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4204 +	offset		637 + +VertexAttribs4dvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Float64 in array [count*4] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4213 +	offset		638 + +VertexAttribs4fvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Float32 in array [count*4] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4209 +	offset		639 + +VertexAttribs4svNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		Int16 in array [count*4] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4205 +	offset		640 + +VertexAttribs4ubvNV(index, count, v) +	return		void +	param		index		UInt32 in value +	param		count		SizeI in value +	param		v		ColorUB in array [count*4] +	category	NV_vertex_program +	dlflags		handcode +	version		1.2 +	extension	soft WINSOFT NV10 +	glxropcode	4214 +	offset		641 + + +############################################################################### +# +# Extension #234 - GLX_SGIX_visual_select_group +# +############################################################################### + +############################################################################### +# +# Extension #235 +# SGIX_texture_coordinate_clamp commands +# +############################################################################### + +# (none) +newcategory: SGIX_texture_coordinate_clamp + +############################################################################### +# +# Extension #236 +# SGIX_scalebias_hint commands +# +############################################################################### + +# (none) +newcategory: SGIX_scalebias_hint + +############################################################################### +# +# Extension #237 - GLX_OML_swap_method commands +# Extension #238 - GLX_OML_sync_control commands +# +############################################################################### + +############################################################################### +# +# Extension #239 +# OML_interlace commands +# +############################################################################### + +# (none) +newcategory: OML_interlace + +############################################################################### +# +# Extension #240 +# OML_subsample commands +# +############################################################################### + +# (none) +newcategory: OML_subsample + +############################################################################### +# +# Extension #241 +# OML_resample commands +# +############################################################################### + +# (none) +newcategory: OML_resample + +############################################################################### +# +# Extension #242 - WGL_OML_sync_control commands +# +############################################################################### + +############################################################################### +# +# Extension #243 +# NV_copy_depth_to_color commands +# +############################################################################### + +# (none) +newcategory: NV_copy_depth_to_color + +############################################################################### +# +# Extension #244 +# ATI_envmap_bumpmap commands +# +############################################################################### + +TexBumpParameterivATI(pname, param) +	return		void +	param		pname		TexBumpParameterATI in value +	param		param		Int32 in array [COMPSIZE(pname)] +	category	ATI_envmap_bumpmap +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexBumpParameterfvATI(pname, param) +	return		void +	param		pname		TexBumpParameterATI in value +	param		param		Float32 in array [COMPSIZE(pname)] +	category	ATI_envmap_bumpmap +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetTexBumpParameterivATI(pname, param) +	return		void +	param		pname		GetTexBumpParameterATI in value +	param		param		Int32 out array [COMPSIZE(pname)] +	category	ATI_envmap_bumpmap +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetTexBumpParameterfvATI(pname, param) +	return		void +	param		pname		GetTexBumpParameterATI in value +	param		param		Float32 out array [COMPSIZE(pname)] +	category	ATI_envmap_bumpmap +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #245 +# ATI_fragment_shader commands +# +############################################################################### + +GenFragmentShadersATI(range) +	return		UInt32 +	param		range		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindFragmentShaderATI(id) +	return		void +	param		id		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteFragmentShaderATI(id) +	return		void +	param		id		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BeginFragmentShaderATI() +	return		void +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +EndFragmentShaderATI() +	return		void +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +PassTexCoordATI(dst, coord, swizzle) +	return		void +	param		dst		UInt32 in value +	param		coord		UInt32 in value +	param		swizzle		SwizzleOpATI in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SampleMapATI(dst, interp, swizzle) +	return		void +	param		dst		UInt32 in value +	param		interp		UInt32 in value +	param		swizzle		SwizzleOpATI in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod) +	return		void +	param		op		FragmentOpATI in value +	param		dst		UInt32 in value +	param		dstMask		UInt32 in value +	param		dstMod		UInt32 in value +	param		arg1		UInt32 in value +	param		arg1Rep		UInt32 in value +	param		arg1Mod		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod) +	return		void +	param		op		FragmentOpATI in value +	param		dst		UInt32 in value +	param		dstMask		UInt32 in value +	param		dstMod		UInt32 in value +	param		arg1		UInt32 in value +	param		arg1Rep		UInt32 in value +	param		arg1Mod		UInt32 in value +	param		arg2		UInt32 in value +	param		arg2Rep		UInt32 in value +	param		arg2Mod		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod) +	return		void +	param		op		FragmentOpATI in value +	param		dst		UInt32 in value +	param		dstMask		UInt32 in value +	param		dstMod		UInt32 in value +	param		arg1		UInt32 in value +	param		arg1Rep		UInt32 in value +	param		arg1Mod		UInt32 in value +	param		arg2		UInt32 in value +	param		arg2Rep		UInt32 in value +	param		arg2Mod		UInt32 in value +	param		arg3		UInt32 in value +	param		arg3Rep		UInt32 in value +	param		arg3Mod		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +AlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod) +	return		void +	param		op		FragmentOpATI in value +	param		dst		UInt32 in value +	param		dstMod		UInt32 in value +	param		arg1		UInt32 in value +	param		arg1Rep		UInt32 in value +	param		arg1Mod		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +AlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod) +	return		void +	param		op		FragmentOpATI in value +	param		dst		UInt32 in value +	param		dstMod		UInt32 in value +	param		arg1		UInt32 in value +	param		arg1Rep		UInt32 in value +	param		arg1Mod		UInt32 in value +	param		arg2		UInt32 in value +	param		arg2Rep		UInt32 in value +	param		arg2Mod		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +AlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod) +	return		void +	param		op		FragmentOpATI in value +	param		dst		UInt32 in value +	param		dstMod		UInt32 in value +	param		arg1		UInt32 in value +	param		arg1Rep		UInt32 in value +	param		arg1Mod		UInt32 in value +	param		arg2		UInt32 in value +	param		arg2Rep		UInt32 in value +	param		arg2Mod		UInt32 in value +	param		arg3		UInt32 in value +	param		arg3Rep		UInt32 in value +	param		arg3Mod		UInt32 in value +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SetFragmentShaderConstantATI(dst, value) +	return		void +	param		dst		UInt32 in value +	param		value		ConstFloat32 in array [4] +	category	ATI_fragment_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #246 +# ATI_pn_triangles commands +# +############################################################################### + +PNTrianglesiATI(pname, param) +	return		void +	param		pname		PNTrianglesPNameATI in value +	param		param		Int32 in value +	category	ATI_pn_triangles +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +PNTrianglesfATI(pname, param) +	return		void +	param		pname		PNTrianglesPNameATI in value +	param		param		Float32 in value +	category	ATI_pn_triangles +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #247 +# ATI_vertex_array_object commands +# +############################################################################### + +NewObjectBufferATI(size, pointer, usage) +	return		UInt32 +	param		size		SizeI in value +	param		pointer		ConstVoid in array [size] +	param		usage		ArrayObjectUsageATI in value +	category	ATI_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsObjectBufferATI(buffer) +	return		Boolean +	param		buffer		UInt32 in value +	category	ATI_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UpdateObjectBufferATI(buffer, offset, size, pointer, preserve) +	return		void +	param		buffer		UInt32 in value +	param		offset		UInt32 in value +	param		size		SizeI in value +	param		pointer		ConstVoid in array [size] +	param		preserve	PreserveModeATI in value +	category	ATI_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetObjectBufferfvATI(buffer, pname, params) +	return		void +	param		buffer		UInt32 in value +	param		pname		ArrayObjectPNameATI in value +	param		params		Float32 out array [1] +	category	ATI_vertex_array_object +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetObjectBufferivATI(buffer, pname, params) +	return		void +	param		buffer		UInt32 in value +	param		pname		ArrayObjectPNameATI in value +	param		params		Int32 out array [1] +	category	ATI_vertex_array_object +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +FreeObjectBufferATI(buffer) +	return		void +	param		buffer		UInt32 in value +	category	ATI_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ArrayObjectATI(array, size, type, stride, buffer, offset) +	return		void +	param		array		EnableCap in value +	param		size		Int32 in value +	param		type		ScalarType in value +	param		stride		SizeI in value +	param		buffer		UInt32 in value +	param		offset		UInt32 in value +	category	ATI_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetArrayObjectfvATI(array, pname, params) +	return		void +	param		array		EnableCap in value +	param		pname		ArrayObjectPNameATI in value +	param		params		Float32 out array [1] +	category	ATI_vertex_array_object +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetArrayObjectivATI(array, pname, params) +	return		void +	param		array		EnableCap in value +	param		pname		ArrayObjectPNameATI in value +	param		params		Int32 out array [1] +	category	ATI_vertex_array_object +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +VariantArrayObjectATI(id, type, stride, buffer, offset) +	return		void +	param		id		UInt32 in value +	param		type		ScalarType in value +	param		stride		SizeI in value +	param		buffer		UInt32 in value +	param		offset		UInt32 in value +	category	ATI_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetVariantArrayObjectfvATI(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		ArrayObjectPNameATI in value +	param		params		Float32 out array [1] +	category	ATI_vertex_array_object +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVariantArrayObjectivATI(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		ArrayObjectPNameATI in value +	param		params		Int32 out array [1] +	category	ATI_vertex_array_object +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #248 +# EXT_vertex_shader commands +# +############################################################################### + +BeginVertexShaderEXT() +	return		void +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +EndVertexShaderEXT() +	return		void +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindVertexShaderEXT(id) +	return		void +	param		id		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GenVertexShadersEXT(range) +	return		UInt32 +	param		range		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteVertexShaderEXT(id) +	return		void +	param		id		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ShaderOp1EXT(op, res, arg1) +	return		void +	param		op		VertexShaderOpEXT in value +	param		res		UInt32 in value +	param		arg1		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ShaderOp2EXT(op, res, arg1, arg2) +	return		void +	param		op		VertexShaderOpEXT in value +	param		res		UInt32 in value +	param		arg1		UInt32 in value +	param		arg2		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ShaderOp3EXT(op, res, arg1, arg2, arg3) +	return		void +	param		op		VertexShaderOpEXT in value +	param		res		UInt32 in value +	param		arg1		UInt32 in value +	param		arg2		UInt32 in value +	param		arg3		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SwizzleEXT(res, in, outX, outY, outZ, outW) +	return		void +	param		res		UInt32 in value +	param		in		UInt32 in value +	param		outX		VertexShaderCoordOutEXT in value +	param		outY		VertexShaderCoordOutEXT in value +	param		outZ		VertexShaderCoordOutEXT in value +	param		outW		VertexShaderCoordOutEXT in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +WriteMaskEXT(res, in, outX, outY, outZ, outW) +	return		void +	param		res		UInt32 in value +	param		in		UInt32 in value +	param		outX		VertexShaderWriteMaskEXT in value +	param		outY		VertexShaderWriteMaskEXT in value +	param		outZ		VertexShaderWriteMaskEXT in value +	param		outW		VertexShaderWriteMaskEXT in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +InsertComponentEXT(res, src, num) +	return		void +	param		res		UInt32 in value +	param		src		UInt32 in value +	param		num		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ExtractComponentEXT(res, src, num) +	return		void +	param		res		UInt32 in value +	param		src		UInt32 in value +	param		num		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GenSymbolsEXT(datatype, storagetype, range, components) +	return		UInt32 +	param		datatype	DataTypeEXT in value +	param		storagetype	VertexShaderStorageTypeEXT in value +	param		range		ParameterRangeEXT in value +	param		components	UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SetInvariantEXT(id, type, addr) +	return		void +	param		id		UInt32 in value +	param		type		ScalarType in value +	param		addr		Void in array [COMPSIZE(id/type)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SetLocalConstantEXT(id, type, addr) +	return		void +	param		id		UInt32 in value +	param		type		ScalarType in value +	param		addr		Void in array [COMPSIZE(id/type)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantbvEXT(id, addr) +	return		void +	param		id		UInt32 in value +	param		addr		Int8 in array [COMPSIZE(id)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantsvEXT(id, addr) +	return		void +	param		id		UInt32 in value +	param		addr		Int16 in array [COMPSIZE(id)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantivEXT(id, addr) +	return		void +	param		id		UInt32 in value +	param		addr		Int32 in array [COMPSIZE(id)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantfvEXT(id, addr) +	return		void +	param		id		UInt32 in value +	param		addr		Float32 in array [COMPSIZE(id)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantdvEXT(id, addr) +	return		void +	param		id		UInt32 in value +	param		addr		Float64 in array [COMPSIZE(id)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantubvEXT(id, addr) +	return		void +	param		id		UInt32 in value +	param		addr		UInt8 in array [COMPSIZE(id)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantusvEXT(id, addr) +	return		void +	param		id		UInt32 in value +	param		addr		UInt16 in array [COMPSIZE(id)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantuivEXT(id, addr) +	return		void +	param		id		UInt32 in value +	param		addr		UInt32 in array [COMPSIZE(id)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VariantPointerEXT(id, type, stride, addr) +	return		void +	param		id		UInt32 in value +	param		type		ScalarType in value +	param		stride		UInt32 in value +	param		addr		Void in array [COMPSIZE(id/type/stride)] +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +EnableVariantClientStateEXT(id) +	return		void +	param		id		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DisableVariantClientStateEXT(id) +	return		void +	param		id		UInt32 in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindLightParameterEXT(light, value) +	return		UInt32 +	param		light		LightName in value +	param		value		LightParameter in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindMaterialParameterEXT(face, value) +	return		UInt32 +	param		face		MaterialFace in value +	param		value		MaterialParameter in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindTexGenParameterEXT(unit, coord, value) +	return		UInt32 +	param		unit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		value		TextureGenParameter in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindTextureUnitParameterEXT(unit, value) +	return		UInt32 +	param		unit		TextureUnit in value +	param		value		VertexShaderTextureUnitParameter in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindParameterEXT(value) +	return		UInt32 +	param		value		VertexShaderParameterEXT in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsVariantEnabledEXT(id, cap) +	return		Boolean +	param		id		UInt32 in value +	param		cap		VariantCapEXT in value +	category	EXT_vertex_shader +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetVariantBooleanvEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Boolean out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVariantIntegervEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Int32 out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVariantFloatvEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Float32 out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVariantPointervEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		VoidPointer out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetInvariantBooleanvEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Boolean out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetInvariantIntegervEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Int32 out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetInvariantFloatvEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Float32 out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetLocalConstantBooleanvEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Boolean out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetLocalConstantIntegervEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Int32 out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetLocalConstantFloatvEXT(id, value, data) +	return		void +	param		id		UInt32 in value +	param		value		GetVariantValueEXT in value +	param		data		Float32 out array [COMPSIZE(id)] +	category	EXT_vertex_shader +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #249 +# ATI_vertex_streams commands +# +############################################################################### + +VertexStream1sATI(stream, x) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Int16 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream1svATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int16 in array [1] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream1iATI(stream, x) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Int32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream1ivATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int32 in array [1] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream1fATI(stream, x) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Float32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream1fvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float32 in array [1] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream1dATI(stream, x) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Float64 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream1dvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float64 in array [1] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream2sATI(stream, x, y) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Int16 in value +	param		y		Int16 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream2svATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int16 in array [2] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream2iATI(stream, x, y) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Int32 in value +	param		y		Int32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream2ivATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int32 in array [2] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream2fATI(stream, x, y) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Float32 in value +	param		y		Float32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream2fvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float32 in array [2] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream2dATI(stream, x, y) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Float64 in value +	param		y		Float64 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream2dvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float64 in array [2] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream3sATI(stream, x, y, z) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Int16 in value +	param		y		Int16 in value +	param		z		Int16 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream3svATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int16 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream3iATI(stream, x, y, z) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream3ivATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int32 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream3fATI(stream, x, y, z) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream3fvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float32 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream3dATI(stream, x, y, z) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream3dvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float64 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream4sATI(stream, x, y, z, w) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Int16 in value +	param		y		Int16 in value +	param		z		Int16 in value +	param		w		Int16 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream4svATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int16 in array [4] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream4iATI(stream, x, y, z, w) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	param		w		Int32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream4ivATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int32 in array [4] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream4fATI(stream, x, y, z, w) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream4fvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float32 in array [4] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream4dATI(stream, x, y, z, w) +	return		void +	param		stream		VertexStreamATI in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexStream4dvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float64 in array [4] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3bATI(stream, nx, ny, nz) +	return		void +	param		stream		VertexStreamATI in value +	param		nx		Int8 in value +	param		ny		Int8 in value +	param		nz		Int8 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3bvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int8 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3sATI(stream, nx, ny, nz) +	return		void +	param		stream		VertexStreamATI in value +	param		nx		Int16 in value +	param		ny		Int16 in value +	param		nz		Int16 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3svATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int16 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3iATI(stream, nx, ny, nz) +	return		void +	param		stream		VertexStreamATI in value +	param		nx		Int32 in value +	param		ny		Int32 in value +	param		nz		Int32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3ivATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Int32 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3fATI(stream, nx, ny, nz) +	return		void +	param		stream		VertexStreamATI in value +	param		nx		Float32 in value +	param		ny		Float32 in value +	param		nz		Float32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3fvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float32 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3dATI(stream, nx, ny, nz) +	return		void +	param		stream		VertexStreamATI in value +	param		nx		Float64 in value +	param		ny		Float64 in value +	param		nz		Float64 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalStream3dvATI(stream, coords) +	return		void +	param		stream		VertexStreamATI in value +	param		coords		Float64 in array [3] +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ClientActiveVertexStreamATI(stream) +	return		void +	param		stream		VertexStreamATI in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexBlendEnviATI(pname, param) +	return		void +	param		pname		VertexStreamATI in value +	param		param		Int32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexBlendEnvfATI(pname, param) +	return		void +	param		pname		VertexStreamATI in value +	param		param		Float32 in value +	category	ATI_vertex_streams +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #250 - WGL_I3D_digital_video_control +# Extension #251 - WGL_I3D_gamma +# Extension #252 - WGL_I3D_genlock +# Extension #253 - WGL_I3D_image_buffer +# Extension #254 - WGL_I3D_swap_frame_lock +# Extension #255 - WGL_I3D_swap_frame_usage +# +############################################################################### + +############################################################################### +# +# Extension #256 +# ATI_element_array commands +# +############################################################################### + +ElementPointerATI(type, pointer) +	return		void +	param		type		ElementPointerTypeATI in value +	param		pointer		Void in array [COMPSIZE(type)] retained +	category	ATI_element_array +	dlflags		notlistable +	glxflags	client-handcode client-intercept server-handcode +	version		1.2 +	offset		? + +DrawElementArrayATI(mode, count) +	return		void +	param		mode		BeginMode in value +	param		count		SizeI in value +	category	ATI_element_array +	dlflags		handcode +	glxflags	client-handcode client-intercept server-handcode +	version		1.2 +	offset		? + +DrawRangeElementArrayATI(mode, start, end, count) +	return		void +	param		mode		BeginMode in value +	param		start		UInt32 in value +	param		end		UInt32 in value +	param		count		SizeI in value +	category	ATI_element_array +	dlflags		handcode +	glxflags	client-handcode client-intercept server-handcode +	version		1.2 +	offset		? + +############################################################################### +# +# Extension #257 +# SUN_mesh_array commands +# +############################################################################### + +DrawMeshArraysSUN(mode, first, count, width) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 in value +	param		count		SizeI in value +	param		width		SizeI in value +	category	SUN_mesh_array +	dlflags		handcode +	glxflags	client-handcode client-intercept server-handcode +	version		1.1 +	glxropcode	? +	offset		? + +############################################################################### +# +# Extension #258 +# SUN_slice_accum commands +# +############################################################################### + +# (none) +newcategory: SUN_slice_accum + +############################################################################### +# +# Extension #259 +# NV_multisample_filter_hint commands +# +############################################################################### + +# (none) +newcategory: NV_multisample_filter_hint + +############################################################################### +# +# Extension #260 +# NV_depth_clamp commands +# +############################################################################### + +# (none) +newcategory: NV_depth_clamp + +############################################################################### +# +# Extension #261 +# NV_occlusion_query commands +# +############################################################################### + +GenOcclusionQueriesNV(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 out array [n] +	dlflags		notlistable +	category	NV_occlusion_query +	version		1.2 +	extension	soft WINSOFT NV20 +	glxflags	ignore + +DeleteOcclusionQueriesNV(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 in array [n] +	dlflags		notlistable +	category	NV_occlusion_query +	version		1.2 +	extension	soft WINSOFT NV20 +	glxflags	ignore + +IsOcclusionQueryNV(id) +	return		Boolean +	param		id		UInt32 in value +	dlflags		notlistable +	category	NV_occlusion_query +	version		1.2 +	extension	soft WINSOFT NV20 +	glxflags	ignore + +BeginOcclusionQueryNV(id) +	return		void +	param		id		UInt32 in value +	category	NV_occlusion_query +	version		1.2 +	extension	soft WINSOFT NV20 +	glxflags	ignore + +EndOcclusionQueryNV() +	return		void +	category	NV_occlusion_query +	version		1.2 +	extension	soft WINSOFT NV20 +	glxflags	ignore + +GetOcclusionQueryivNV(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		OcclusionQueryParameterNameNV in value +	param		params		Int32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_occlusion_query +	version		1.2 +	extension	soft WINSOFT NV20 +	glxflags	ignore + +GetOcclusionQueryuivNV(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		OcclusionQueryParameterNameNV in value +	param		params		UInt32 out array [COMPSIZE(pname)] +	dlflags		notlistable +	category	NV_occlusion_query +	version		1.2 +	extension	soft WINSOFT NV20 +	glxflags	ignore + +############################################################################### +# +# Extension #262 +# NV_point_sprite commands +# +############################################################################### + +PointParameteriNV(pname, param) +	return		void +	param		pname		PointParameterNameARB in value +	param		param		Int32 in value +	category	NV_point_sprite +	version		1.2 +	extension	soft WINSOFT NV20 +	glxropcode	4221 +	alias		PointParameteri + +PointParameterivNV(pname, params) +	return		void +	param		pname		PointParameterNameARB in value +	param		params		Int32 in array [COMPSIZE(pname)] +	category	NV_point_sprite +	version		1.2 +	extension	soft WINSOFT NV20 +	glxropcode	4222 +	alias		PointParameteriv + +############################################################################### +# +# Extension #263 - WGL_NV_render_depth_texture +# Extension #264 - WGL_NV_render_texture_rectangle +# +############################################################################### + +############################################################################### +# +# Extension #265 +# NV_texture_shader3 commands +# +############################################################################### + +# (none) +newcategory: NV_texture_shader3 + +############################################################################### +# +# Extension #266 +# NV_vertex_program1_1 commands +# +############################################################################### + +# (none) +newcategory: NV_vertex_program1_1 + +############################################################################### +# +# Extension #267 +# EXT_shadow_funcs commands +# +############################################################################### + +# (none) +newcategory: EXT_shadow_funcs + +############################################################################### +# +# Extension #268 +# EXT_stencil_two_side commands +# +############################################################################### + +ActiveStencilFaceEXT(face) +	return		void +	param		face		StencilFaceDirection in value +	category	EXT_stencil_two_side +	version		1.3 +	glxropcode	4220 +	offset		646 + +############################################################################### +# +# Extension #269 +# ATI_text_fragment_shader commands +# +############################################################################### + +# Uses ARB_vertex_program entry points +newcategory: ATI_text_fragment_shader + +############################################################################### +# +# Extension #270 +# APPLE_client_storage commands +# +############################################################################### + +# (none) +newcategory: APPLE_client_storage + +############################################################################### +# +# Extension #271 +# APPLE_element_array commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +# @@@ like #256 ATI_element_array +ElementPointerAPPLE(type, pointer) +	return		void +	param		type		ElementPointerTypeATI in value +	param		pointer		Void in array [type] +	category	APPLE_element_array +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DrawElementArrayAPPLE(mode, first, count) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 in value +	param		count		SizeI in value +	category	APPLE_element_array +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DrawRangeElementArrayAPPLE(mode, start, end, first, count) +	return		void +	param		mode		BeginMode in value +	param		start		UInt32 in value +	param		end		UInt32 in value +	param		first		Int32 in value +	param		count		SizeI in value +	category	APPLE_element_array +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiDrawElementArrayAPPLE(mode, first, count, primcount) +	return		void +	param		mode		BeginMode in value +	param		first		Int32 in array [primcount] +	param		count		SizeI in array [primcount] +	param		primcount	SizeI in value +	category	APPLE_element_array +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiDrawRangeElementArrayAPPLE(mode, start, end, first, count, primcount) +	return		void +	param		mode		BeginMode in value +	param		start		UInt32 in value +	param		end		UInt32 in value +	param		first		Int32 in array [primcount] +	param		count		SizeI in array [primcount] +	param		primcount	SizeI in value +	category	APPLE_element_array +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #272 +# APPLE_fence commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +# @@@ like #222 NV_fence +GenFencesAPPLE(n, fences) +	return		void +	param		n		SizeI in value +	param		fences		FenceNV out array [n] +	category	APPLE_fence +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DeleteFencesAPPLE(n, fences) +	return		void +	param		n		SizeI in value +	param		fences		FenceNV in array [n] +	category	APPLE_fence +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SetFenceAPPLE(fence) +	return		void +	param		fence		FenceNV in value +	category	APPLE_fence +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsFenceAPPLE(fence) +	return		Boolean +	param		fence		FenceNV in value +	category	APPLE_fence +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TestFenceAPPLE(fence) +	return		Boolean +	param		fence		FenceNV in value +	category	APPLE_fence +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FinishFenceAPPLE(fence) +	return		void +	param		fence		FenceNV in value +	category	APPLE_fence +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TestObjectAPPLE(object, name) +	return		Boolean +	param		object		ObjectTypeAPPLE in value +	param		name		UInt32 in value +	category	APPLE_fence +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FinishObjectAPPLE(object, name) +	return		void +	param		object		ObjectTypeAPPLE in value +	param		name		Int32 in value +	category	APPLE_fence +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #273 +# APPLE_vertex_array_object commands +# +############################################################################### + +BindVertexArrayAPPLE(array) +	return		void +	param		array		UInt32 in value +	category	APPLE_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		BindVertexArray + +DeleteVertexArraysAPPLE(n, arrays) +	return		void +	param		n		SizeI in value +	param		arrays		UInt32 in array [n] +	category	APPLE_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		DeleteVertexArrays + +GenVertexArraysAPPLE(n, arrays) +	return		void +	param		n		SizeI in value +	param		arrays		UInt32 out array [n] +	category	APPLE_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		GenVertexArray + +IsVertexArrayAPPLE(array) +	return		Boolean +	param		array		UInt32 in value +	category	APPLE_vertex_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		IsVertexArray + +############################################################################### +# +# Extension #274 +# APPLE_vertex_array_range commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +# @@@ like #190 NV_vertex_array_range, +VertexArrayRangeAPPLE(length, pointer) +	return		void +	param		length		SizeI in value +	param		pointer		Void out array [length] +	category	APPLE_vertex_array_range +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FlushVertexArrayRangeAPPLE(length, pointer) +	return		void +	param		length		SizeI in value +	param		pointer		Void out array [length] +	category	APPLE_vertex_array_range +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexArrayParameteriAPPLE(pname, param) +	return		void +	param		pname		VertexArrayPNameAPPLE in value +	param		param		Int32 in value +	category	APPLE_vertex_array_range +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #275 +# APPLE_ycbcr_422 commands +# +############################################################################### + +# (none) +newcategory: APPLE_ycbcr_422 + +############################################################################### +# +# Extension #276 +# S3_s3tc commands +# +############################################################################### + +# (none) +newcategory: S3_s3tc + +############################################################################### +# +# Extension #277 +# ATI_draw_buffers commands +# +############################################################################### + +DrawBuffersATI(n, bufs) +	return		void +	param		n		SizeI in value +	param		bufs		DrawBufferModeATI in array [n] +	category	ATI_draw_buffers +	version		1.2 +	extension +	glxropcode	233 +	alias		DrawBuffers + +############################################################################### +# +# Extension #278 - WGL_ATI_pixel_format_float +# +############################################################################### +newcategory: ATI_pixel_format_float +passthru: /* This is really a WGL extension, but defines some associated GL enums. +passthru:  * ATI does not export "GL_ATI_pixel_format_float" in the GL_EXTENSIONS string. +passthru:  */ + +############################################################################### +# +# Extension #279 +# ATI_texture_env_combine3 commands +# +############################################################################### + +# (none) +newcategory: ATI_texture_env_combine3 + +############################################################################### +# +# Extension #280 +# ATI_texture_float commands +# +############################################################################### + +# (none) +newcategory: ATI_texture_float + +############################################################################### +# +# Extension #281 (also WGL_NV_float_buffer) +# NV_float_buffer commands +# +############################################################################### + +# (none) +newcategory: NV_float_buffer + +############################################################################### +# +# Extension #282 +# NV_fragment_program commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +# Some NV_fragment_program entry points are shared with ARB_vertex_program, +#   and are only included in that #define block, for now. +newcategory: NV_fragment_program +passthru: /* Some NV_fragment_program entry points are shared with ARB_vertex_program. */ + +ProgramNamedParameter4fNV(id, len, name, x, y, z, w) +	return		void +	param		id		UInt32 in value +	param		len		SizeI in value +	param		name		UInt8 in array [1] +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	NV_fragment_program +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		682 + +ProgramNamedParameter4dNV(id, len, name, x, y, z, w) +	return		void +	param		id		UInt32 in value +	param		len		SizeI in value +	param		name		UInt8 in array [1] +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	NV_fragment_program +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		683 + +ProgramNamedParameter4fvNV(id, len, name, v) +	return		void +	param		id		UInt32 in value +	param		len		SizeI in value +	param		name		UInt8 in array [1] +	param		v		Float32 in array [4] +	category	NV_fragment_program +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		684 + +ProgramNamedParameter4dvNV(id, len, name, v) +	return		void +	param		id		UInt32 in value +	param		len		SizeI in value +	param		name		UInt8 in array [1] +	param		v		Float64 in array [4] +	category	NV_fragment_program +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		685 + +GetProgramNamedParameterfvNV(id, len, name, params) +	return		void +	param		id		UInt32 in value +	param		len		SizeI in value +	param		name		UInt8 in array [1] +	param		params		Float32 out array [4] +	category	NV_fragment_program +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		686 + +GetProgramNamedParameterdvNV(id, len, name, params) +	return		void +	param		id		UInt32 in value +	param		len		SizeI in value +	param		name		UInt8 in array [1] +	param		params		Float64 out array [4] +	category	NV_fragment_program +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		687 + +############################################################################### +# +# Extension #283 +# NV_half_float commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +Vertex2hNV(x, y) +	return		void +	param		x		Half16NV in value +	param		y		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Vertex2hvNV(v) +	return		void +	param		v		Half16NV in array [2] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Vertex3hNV(x, y, z) +	return		void +	param		x		Half16NV in value +	param		y		Half16NV in value +	param		z		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Vertex3hvNV(v) +	return		void +	param		v		Half16NV in array [3] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Vertex4hNV(x, y, z, w) +	return		void +	param		x		Half16NV in value +	param		y		Half16NV in value +	param		z		Half16NV in value +	param		w		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Vertex4hvNV(v) +	return		void +	param		v		Half16NV in array [4] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Normal3hNV(nx, ny, nz) +	return		void +	param		nx		Half16NV in value +	param		ny		Half16NV in value +	param		nz		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Normal3hvNV(v) +	return		void +	param		v		Half16NV in array [3] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Color3hNV(red, green, blue) +	return		void +	param		red		Half16NV in value +	param		green		Half16NV in value +	param		blue		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Color3hvNV(v) +	return		void +	param		v		Half16NV in array [3] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Color4hNV(red, green, blue, alpha) +	return		void +	param		red		Half16NV in value +	param		green		Half16NV in value +	param		blue		Half16NV in value +	param		alpha		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Color4hvNV(v) +	return		void +	param		v		Half16NV in array [4] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoord1hNV(s) +	return		void +	param		s		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoord1hvNV(v) +	return		void +	param		v		Half16NV in array [1] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoord2hNV(s, t) +	return		void +	param		s		Half16NV in value +	param		t		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoord2hvNV(v) +	return		void +	param		v		Half16NV in array [2] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoord3hNV(s, t, r) +	return		void +	param		s		Half16NV in value +	param		t		Half16NV in value +	param		r		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoord3hvNV(v) +	return		void +	param		v		Half16NV in array [3] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoord4hNV(s, t, r, q) +	return		void +	param		s		Half16NV in value +	param		t		Half16NV in value +	param		r		Half16NV in value +	param		q		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoord4hvNV(v) +	return		void +	param		v		Half16NV in array [4] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoord1hNV(target, s) +	return		void +	param		target		TextureUnit in value +	param		s		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoord1hvNV(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		Half16NV in array [1] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoord2hNV(target, s, t) +	return		void +	param		target		TextureUnit in value +	param		s		Half16NV in value +	param		t		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoord2hvNV(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		Half16NV in array [2] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoord3hNV(target, s, t, r) +	return		void +	param		target		TextureUnit in value +	param		s		Half16NV in value +	param		t		Half16NV in value +	param		r		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoord3hvNV(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		Half16NV in array [3] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoord4hNV(target, s, t, r, q) +	return		void +	param		target		TextureUnit in value +	param		s		Half16NV in value +	param		t		Half16NV in value +	param		r		Half16NV in value +	param		q		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MultiTexCoord4hvNV(target, v) +	return		void +	param		target		TextureUnit in value +	param		v		Half16NV in array [4] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FogCoordhNV(fog) +	return		void +	param		fog		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FogCoordhvNV(fog) +	return		void +	param		fog		Half16NV in array [1] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SecondaryColor3hNV(red, green, blue) +	return		void +	param		red		Half16NV in value +	param		green		Half16NV in value +	param		blue		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SecondaryColor3hvNV(v) +	return		void +	param		v		Half16NV in array [3] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexWeighthNV(weight) +	return		void +	param		weight		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexWeighthvNV(weight) +	return		void +	param		weight		Half16NV in array [1] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib1hNV(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib1hvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Half16NV in array [1] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib2hNV(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Half16NV in value +	param		y		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib2hvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Half16NV in array [2] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib3hNV(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Half16NV in value +	param		y		Half16NV in value +	param		z		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib3hvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Half16NV in array [3] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib4hNV(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Half16NV in value +	param		y		Half16NV in value +	param		z		Half16NV in value +	param		w		Half16NV in value +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttrib4hvNV(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Half16NV in array [4] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribs1hvNV(index, n, v) +	return		void +	param		index		UInt32 in value +	param		n		SizeI in value +	param		v		Half16NV in array [n] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribs2hvNV(index, n, v) +	return		void +	param		index		UInt32 in value +	param		n		SizeI in value +	param		v		Half16NV in array [n] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribs3hvNV(index, n, v) +	return		void +	param		index		UInt32 in value +	param		n		SizeI in value +	param		v		Half16NV in array [n] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribs4hvNV(index, n, v) +	return		void +	param		index		UInt32 in value +	param		n		SizeI in value +	param		v		Half16NV in array [n] +	category	NV_half_float +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #284 +# NV_pixel_data_range commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +PixelDataRangeNV(target, length, pointer) +	return		void +	param		target		PixelDataRangeTargetNV in value +	param		length		SizeI in value +	param		pointer		Void out array [length] +	category	NV_pixel_data_range +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FlushPixelDataRangeNV(target) +	return		void +	param		target		PixelDataRangeTargetNV in value +	category	NV_pixel_data_range +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #285 +# NV_primitive_restart commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +PrimitiveRestartNV() +	return		void +	category	NV_primitive_restart +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +PrimitiveRestartIndexNV(index) +	return		void +	param		index		UInt32 in value +	category	NV_primitive_restart +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + + +############################################################################### +# +# Extension #286 +# NV_texture_expand_normal commands +# +############################################################################### + +# (none) +newcategory: NV_texture_expand_normal + +############################################################################### +# +# Extension #287 +# NV_vertex_program2 commands +# +############################################################################### + +# (none) +newcategory: NV_vertex_program2 + +############################################################################### +# +# Extension #288 +# ATI_map_object_buffer commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +MapObjectBufferATI(buffer) +	return		VoidPointer +	param		buffer		UInt32 in value +	category	ATI_map_object_buffer +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +UnmapObjectBufferATI(buffer) +	return		void +	param		buffer		UInt32 in value +	category	ATI_map_object_buffer +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #289 +# ATI_separate_stencil commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +StencilOpSeparateATI(face, sfail, dpfail, dppass) +	return		void +	param		face		StencilFaceDirection in value +	param		sfail		StencilOp in value +	param		dpfail		StencilOp in value +	param		dppass		StencilOp in value +	category	ATI_separate_stencil +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		StencilOpSeparate + +StencilFuncSeparateATI(frontfunc, backfunc, ref, mask) +	return		void +	param		frontfunc	StencilFunction in value +	param		backfunc	StencilFunction in value +	param		ref		ClampedStencilValue in value +	param		mask		MaskedStencilValue in value +	category	ATI_separate_stencil +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	alias		StencilFuncSeparate + +############################################################################### +# +# Extension #290 +# ATI_vertex_attrib_array_object commands +# +############################################################################### + +# @@ Need to verify/add GLX protocol + +VertexAttribArrayObjectATI(index, size, type, normalized, stride, buffer, offset) +	return		void +	param		index		UInt32 in value +	param		size		Int32 in value +	param		type		VertexAttribPointerTypeARB in value +	param		normalized	Boolean in value +	param		stride		SizeI in value +	param		buffer		UInt32 in value +	param		offset		UInt32 in value +	category	ATI_vertex_attrib_array_object +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetVertexAttribArrayObjectfvATI(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		ArrayObjectPNameATI in value +	param		params		Float32 out array [pname] +	category	ATI_vertex_attrib_array_object +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVertexAttribArrayObjectivATI(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		ArrayObjectPNameATI in value +	param		params		Int32 out array [pname] +	category	ATI_vertex_attrib_array_object +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #291 - OpenGL ES only, not in glext.h +# OES_byte_coordinates commands +# +############################################################################### + +# void Vertex{234}bOES(T coords) +# void Vertex{234}bvOES(T *coords) +# void TexCoord{1234}bOES(T coords) +# void TexCoord{1234}bvOES(T *coords) +# void MultiTexCoord{1234}bOES(enum texture, T coords) +# void MultiTexCoord{1234}bvOES(enum texture, T *coords) +# All are handcode - mapped to non-byte GLX protocol on client side + +# newcategory: OES_byte_coordinates + +############################################################################### +# +# Extension #292 - OpenGL ES only, not in glext.h +# OES_fixed_point commands +# +############################################################################### + +# Too many to list in just a comment - see spec in the extension registry +# All are handcode - mapped to non-byte GLX protocol on client side + +# newcategory: OES_fixed_point + +############################################################################### +# +# Extension #293 - OpenGL ES only, not in glext.h +# OES_single_precision commands +# +############################################################################### + +# void DepthRangefOES(clampf n, clampf f) +# void FrustumfOES(float l, float r, float b, float t, float n, float f) +# void OrthofOES(float l, float r, float b, float t, float n, float f) +# void ClipPlanefOES(enum plane, const float* equation) +# void glClearDepthfOES(clampd depth) +# GLX ropcodes 4308-4312 (not respectively, see extension spec) +# void GetClipPlanefOES(enum plane, float* equation) +# GLX vendor private 1421 + +# newcategory: OES_single_precision + +############################################################################### +# +# Extension #294 - OpenGL ES only, not in glext.h +# OES_compressed_paletted_texture commands +# +############################################################################### + +# (none) +# newcategory: OES_compressed_paletted_texture + +############################################################################### +# +# Extension #295 - This is an OpenGL ES extension, but also implemented in Mesa +# OES_read_format commands +# +############################################################################### + +# (none) +newcategory: OES_read_format + +############################################################################### +# +# Extension #296 - OpenGL ES only, not in glext.h +# OES_query_matrix commands +# +############################################################################### + +# bitfield queryMatrixxOES(fixed mantissa[16], int exponent[16]) +# All are handcode - mapped to non-byte GLX protocol on client side + +# newcategory: OES_query_matrix + +############################################################################### +# +# Extension #297 +# EXT_depth_bounds_test commands +# +############################################################################### + +DepthBoundsEXT(zmin, zmax) +	return		void +	param		zmin		ClampedFloat64 in value +	param		zmax		ClampedFloat64 in value +	category	EXT_depth_bounds_test +	version		1.2 +	extension +	glxropcode	4229 +	offset		699 + +############################################################################### +# +# Extension #298 +# EXT_texture_mirror_clamp commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_mirror_clamp + +############################################################################### +# +# Extension #299 +# EXT_blend_equation_separate commands +# +############################################################################### + +BlendEquationSeparateEXT(modeRGB, modeAlpha) +	return		void +	param		modeRGB		BlendEquationModeEXT in value +	param		modeAlpha	BlendEquationModeEXT in value +	category	EXT_blend_equation_separate +	version		1.2 +	extension +	glxropcode	4228 +	alias		BlendEquationSeparate + +############################################################################### +# +# Extension #300 +# MESA_pack_invert commands +# +############################################################################### + +# (none) +newcategory: MESA_pack_invert + +############################################################################### +# +# Extension #301 +# MESA_ycbcr_texture commands +# +############################################################################### + +# (none) +newcategory: MESA_ycbcr_texture + +############################################################################### +# +# Extension #301 +# MESA_ycbcr_texture commands +# +############################################################################### + +# (none) +newcategory: MESA_ycbcr_texture + +############################################################################### +# +# Extension #302 +# EXT_pixel_buffer_object commands +# +############################################################################### + +# (none) +newcategory: EXT_pixel_buffer_object + +############################################################################### +# +# Extension #303 +# NV_fragment_program_option commands +# +############################################################################### + +# (none) +newcategory: NV_fragment_program_option + +############################################################################### +# +# Extension #304 +# NV_fragment_program2 commands +# +############################################################################### + +# (none) +newcategory: NV_fragment_program2 + +############################################################################### +# +# Extension #305 +# NV_vertex_program2_option commands +# +############################################################################### + +# (none) +newcategory: NV_vertex_program2_option + +############################################################################### +# +# Extension #306 +# NV_vertex_program3 commands +# +############################################################################### + +# (none) +newcategory: NV_vertex_program3 + +############################################################################### +# +# Extension #307 - GLX_SGIX_hyperpipe commands +# Extension #308 - GLX_MESA_agp_offset commands +# Extension #309 - GL_EXT_texture_compression_dxt1 (OpenGL ES only, subset of _st3c version) +# +############################################################################### + +# (none) +# newcategory: EXT_texture_compression_dxt1 + +############################################################################### +# +# Extension #310 +# EXT_framebuffer_object commands +# +############################################################################### + +IsRenderbufferEXT(renderbuffer) +	return		Boolean +	param		renderbuffer	UInt32 in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxvendorpriv	1422 +	glxflags	ignore +	alias		IsRenderbuffer + +BindRenderbufferEXT(target, renderbuffer) +	return		void +	param		target		RenderbufferTarget in value +	param		renderbuffer	UInt32 in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4316 +	glxflags	ignore +	alias		BindRenderbuffer + +DeleteRenderbuffersEXT(n, renderbuffers) +	return		void +	param		n		SizeI in value +	param		renderbuffers	UInt32 in array [n] +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4317 +	glxflags	ignore +	alias		DeleteRenderbuffers + +GenRenderbuffersEXT(n, renderbuffers) +	return		void +	param		n		SizeI in value +	param		renderbuffers	UInt32 out array [n] +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxvendorpriv	1423 +	glxflags	ignore +	alias		GenRenderbuffers + +RenderbufferStorageEXT(target, internalformat, width, height) +	return		void +	param		target		RenderbufferTarget in value +	param		internalformat	GLenum in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4318 +	glxflags	ignore +	alias		RenderbufferStorage + +GetRenderbufferParameterivEXT(target, pname, params) +	return		void +	param		target		RenderbufferTarget in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_framebuffer_object +	dlflags		notlistable +	version		1.2 +	extension +	glxvendorpriv	1424 +	glxflags	ignore +	alias		GetRenderbufferParameteriv + +IsFramebufferEXT(framebuffer) +	return		Boolean +	param		framebuffer	UInt32 in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxvendorpriv	1425 +	glxflags	ignore +	alias		IsFramebuffer + +BindFramebufferEXT(target, framebuffer) +	return		void +	param		target		FramebufferTarget in value +	param		framebuffer	UInt32 in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4319 +	glxflags	ignore +	alias		BindFramebuffer + +DeleteFramebuffersEXT(n, framebuffers) +	return		void +	param		n		SizeI in value +	param		framebuffers	UInt32 in array [n] +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4320 +	glxflags	ignore +	alias		DeleteFramebuffers + +GenFramebuffersEXT(n, framebuffers) +	return		void +	param		n		SizeI in value +	param		framebuffers	UInt32 out array [n] +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxvendorpriv	1426 +	glxflags	ignore +	alias		GenFramebuffers + +CheckFramebufferStatusEXT(target) +	return		GLenum +	param		target		FramebufferTarget in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxvendorpriv	1427 +	glxflags	ignore +	alias		CheckFramebufferStatus + +FramebufferTexture1DEXT(target, attachment, textarget, texture, level) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		textarget	GLenum in value +	param		texture		UInt32 in value +	param		level		Int32 in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4321 +	glxflags	ignore +	alias		FramebufferTexture1D + +FramebufferTexture2DEXT(target, attachment, textarget, texture, level) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		textarget	GLenum in value +	param		texture		UInt32 in value +	param		level		Int32 in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4322 +	glxflags	ignore +	alias		FramebufferTexture2D + +FramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		textarget	GLenum in value +	param		texture		UInt32 in value +	param		level		Int32 in value +	param		zoffset		Int32 in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4323 +	glxflags	ignore +	alias		FramebufferTexture3D + +FramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		renderbuffertarget	RenderbufferTarget in value +	param		renderbuffer	UInt32 in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4324 +	glxflags	ignore +	alias		FramebufferRenderbuffer + +GetFramebufferAttachmentParameterivEXT(target, attachment, pname, params) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_framebuffer_object +	dlflags		notlistable +	version		1.2 +	extension +	glxvendorpriv	1428 +	glxflags	ignore +	alias		GetFramebufferAttachmentParameteriv + +GenerateMipmapEXT(target) +	return		void +	param		target		GLenum in value +	category	EXT_framebuffer_object +	version		1.2 +	extension +	glxropcode	4325 +	glxflags	ignore +	alias		GenerateMipmap + + +############################################################################### +# +# Extension #311 +# GREMEDY_string_marker commands +# +############################################################################### + +StringMarkerGREMEDY(len, string) +	return		void +	param		len		SizeI in value +	param		string		Void in array [len] +	category	GREMEDY_string_marker +	version		1.0 +	extension +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #312 +# EXT_packed_depth_stencil commands +# +############################################################################### + +# (none) +newcategory: EXT_packed_depth_stencil + +############################################################################### +# +# Extension #313 - WGL_3DL_stereo_control +# +############################################################################### + +############################################################################### +# +# Extension #314 +# EXT_stencil_clear_tag commands +# +############################################################################### + +StencilClearTagEXT(stencilTagBits, stencilClearTag) +	return		void +	param		stencilTagBits	SizeI in value +	param		stencilClearTag UInt32 in value +	category	EXT_stencil_clear_tag +	version		1.5 +	extension +	glxropcode	4223 +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #315 +# EXT_texture_sRGB commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_sRGB + +############################################################################### +# +# Extension #316 +# EXT_framebuffer_blit commands +# +############################################################################### + +BlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) +	return		void +	param		srcX0		Int32 in value +	param		srcY0		Int32 in value +	param		srcX1		Int32 in value +	param		srcY1		Int32 in value +	param		dstX0		Int32 in value +	param		dstY0		Int32 in value +	param		dstX1		Int32 in value +	param		dstY1		Int32 in value +	param		mask		ClearBufferMask in value +	param		filter		GLenum in value +	category	EXT_framebuffer_blit +	version		1.5 +	glxropcode	4330 +	alias		BlitFramebuffer + +############################################################################### +# +# Extension #317 +# EXT_framebuffer_multisample commands +# +############################################################################### + +RenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height) +	return		void +	param		target		GLenum in value +	param		samples		SizeI in value +	param		internalformat	GLenum in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_framebuffer_multisample +	version		1.5 +	glxropcode	4331 +	alias		RenderbufferStorageMultisample + +############################################################################### +# +# Extension #318 +# MESAX_texture_stack commands +# +############################################################################### + +# (none) +newcategory: MESAX_texture_stack + +############################################################################### +# +# Extension #319 +# EXT_timer_query commands +# +############################################################################### + +GetQueryObjecti64vEXT(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		GLenum in value +	param		params		Int64EXT out array [pname] +	category	EXT_timer_query +	dlflags		notlistable +	version		1.5 +	glxvendorpriv	1328 +	glxflags	ignore +	offset		? + +GetQueryObjectui64vEXT(id, pname, params) +	return		void +	param		id		UInt32 in value +	param		pname		GLenum in value +	param		params		UInt64EXT out array [pname] +	category	EXT_timer_query +	dlflags		notlistable +	version		1.5 +	glxvendorpriv	1329 +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #320 +# EXT_gpu_program_parameters commands +# +############################################################################### + +ProgramEnvParameters4fvEXT(target, index, count, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		Float32 in array [count*4] +	category	EXT_gpu_program_parameters +	version		1.2 +	glxropcode	4281 +	offset		? + +ProgramLocalParameters4fvEXT(target, index, count, params) +	return		void +	param		target		ProgramTargetARB in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		Float32 in array [count*4] +	category	EXT_gpu_program_parameters +	version		1.2 +	glxropcode	4282 +	offset		? + +############################################################################### +# +# Extension #321 +# APPLE_flush_buffer_range commands +# +############################################################################### + +BufferParameteriAPPLE(target, pname, param) +	return		void +	param		target		GLenum in value +	param		pname		GLenum in value +	param		param		Int32 in value +	category	APPLE_flush_buffer_range +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FlushMappedBufferRangeAPPLE(target, offset, size) +	return		void +	param		target		GLenum in value +	param		offset		BufferOffset in value +	param		size		BufferSize in value +	category	APPLE_flush_buffer_range +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	alias		FlushMappedBufferRange + +############################################################################### +# +# Extension #322 +# NV_gpu_program4 commands +# +############################################################################### + +ProgramLocalParameterI4iNV(target, index, x, y, z, w) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	param		w		Int32 in value +	category	NV_gpu_program4 +	version		1.3 +	vectorequiv	ProgramLocalParameterI4ivNV +	glxvectorequiv	ProgramLocalParameterI4ivNV +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramLocalParameterI4ivNV(target, index, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Int32 in array [4] +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramLocalParametersI4ivNV(target, index, count, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		Int32 in array [count*4] +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramLocalParameterI4uiNV(target, index, x, y, z, w) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	param		z		UInt32 in value +	param		w		UInt32 in value +	category	NV_gpu_program4 +	version		1.3 +	vectorequiv	ProgramLocalParameterI4uivNV +	glxvectorequiv	ProgramLocalParameterI4uivNV +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramLocalParameterI4uivNV(target, index, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		UInt32 in array [4] +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramLocalParametersI4uivNV(target, index, count, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		UInt32 in array [count*4] +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramEnvParameterI4iNV(target, index, x, y, z, w) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	param		w		Int32 in value +	category	NV_gpu_program4 +	version		1.3 +	vectorequiv	ProgramEnvParameterI4ivNV +	glxvectorequiv	ProgramEnvParameterI4ivNV +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramEnvParameterI4ivNV(target, index, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Int32 in array [4] +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramEnvParametersI4ivNV(target, index, count, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		Int32 in array [count*4] +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramEnvParameterI4uiNV(target, index, x, y, z, w) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	param		z		UInt32 in value +	param		w		UInt32 in value +	category	NV_gpu_program4 +	version		1.3 +	vectorequiv	ProgramEnvParameterI4uivNV +	glxvectorequiv	ProgramEnvParameterI4uivNV +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramEnvParameterI4uivNV(target, index, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		UInt32 in array [4] +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramEnvParametersI4uivNV(target, index, count, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		UInt32 in array [count*4] +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +GetProgramLocalParameterIivNV(target, index, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Int32 out array [4] +	dlflags		notlistable +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +GetProgramLocalParameterIuivNV(target, index, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		UInt32 out array [4] +	dlflags		notlistable +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +GetProgramEnvParameterIivNV(target, index, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Int32 out array [4] +	dlflags		notlistable +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +GetProgramEnvParameterIuivNV(target, index, params) +	return		void +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		UInt32 out array [4] +	dlflags		notlistable +	category	NV_gpu_program4 +	version		1.3 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# Extension #323 +# NV_geometry_program4 commands +# +############################################################################### + +ProgramVertexLimitNV(target, limit) +	return		void +	param		target		ProgramTarget in value +	param		limit		Int32 in value +	category	NV_geometry_program4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore + +FramebufferTextureEXT(target, attachment, texture, level) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	category	NV_geometry_program4 +	version		2.0 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	alias		FramebufferTextureARB + +FramebufferTextureLayerEXT(target, attachment, texture, level, layer) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	param		layer		CheckedInt32 in value +	category	NV_geometry_program4 +	version		2.0 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	alias		FramebufferTextureLayer + +FramebufferTextureFaceEXT(target, attachment, texture, level, face) +	return		void +	param		target		FramebufferTarget in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	param		face		TextureTarget in value +	category	NV_geometry_program4 +	version		2.0 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	alias		FramebufferTextureFaceARB + +############################################################################### +# +# Extension #324 +# EXT_geometry_shader4 commands +# +############################################################################### + +ProgramParameteriEXT(program, pname, value) +	return		void +	param		program		UInt32 in value +	param		pname		ProgramParameterPName in value +	param		value		Int32 in value +	category	EXT_geometry_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		ProgramParameteriARB + +############################################################################### +# +# Extension #325 +# NV_vertex_program4 commands +# +############################################################################### + +VertexAttribI1iEXT(index, x) +	return		void +	param		index		UInt32 in value +	param		x		Int32 in value +	category	NV_vertex_program4 +	beginend	allow-inside +	vectorequiv	VertexAttribI1ivEXT +	glxvectorequiv	VertexAttribI1ivEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI1i + +VertexAttribI2iEXT(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	category	NV_vertex_program4 +	beginend	allow-inside +	vectorequiv	VertexAttribI2ivEXT +	glxvectorequiv	VertexAttribI2ivEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI2i + +VertexAttribI3iEXT(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	category	NV_vertex_program4 +	beginend	allow-inside +	vectorequiv	VertexAttribI3ivEXT +	glxvectorequiv	VertexAttribI3ivEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI3i + +VertexAttribI4iEXT(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	param		w		Int32 in value +	category	NV_vertex_program4 +	beginend	allow-inside +	vectorequiv	VertexAttribI4ivEXT +	glxvectorequiv	VertexAttribI4ivEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI4i + +VertexAttribI1uiEXT(index, x) +	return		void +	param		index		UInt32 in value +	param		x		UInt32 in value +	category	NV_vertex_program4 +	beginend	allow-inside +	vectorequiv	VertexAttribI1uivEXT +	glxvectorequiv	VertexAttribI1uivEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI1ui + +VertexAttribI2uiEXT(index, x, y) +	return		void +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	category	NV_vertex_program4 +	beginend	allow-inside +	vectorequiv	VertexAttribI2uivEXT +	glxvectorequiv	VertexAttribI2uivEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI2ui + +VertexAttribI3uiEXT(index, x, y, z) +	return		void +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	param		z		UInt32 in value +	category	NV_vertex_program4 +	beginend	allow-inside +	vectorequiv	VertexAttribI3uivEXT +	glxvectorequiv	VertexAttribI3uivEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI3ui + +VertexAttribI4uiEXT(index, x, y, z, w) +	return		void +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	param		z		UInt32 in value +	param		w		UInt32 in value +	category	NV_vertex_program4 +	beginend	allow-inside +	vectorequiv	VertexAttribI4uivEXT +	glxvectorequiv	VertexAttribI4uivEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI4ui + +VertexAttribI1ivEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [1] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI1iv + +VertexAttribI2ivEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [2] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI2iv + +VertexAttribI3ivEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [3] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI3iv + +VertexAttribI4ivEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int32 in array [4] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI4iv + +VertexAttribI1uivEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [1] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI1uiv + +VertexAttribI2uivEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [2] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI2uiv + +VertexAttribI3uivEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [3] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI3uiv + +VertexAttribI4uivEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt32 in array [4] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI4uiv + +VertexAttribI4bvEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int8 in array [4] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI4bv + +VertexAttribI4svEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		Int16 in array [4] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI4sv + +VertexAttribI4ubvEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt8 in array [4] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI4ubv + +VertexAttribI4usvEXT(index, v) +	return		void +	param		index		UInt32 in value +	param		v		UInt16 in array [4] +	category	NV_vertex_program4 +	beginend	allow-inside +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribI4usv + +VertexAttribIPointerEXT(index, size, type, stride, pointer) +	return		void +	param		index		UInt32 in value +	param		size		Int32 in value +	param		type		VertexAttribEnum in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	category	NV_vertex_program4 +	dlflags		notlistable +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		VertexAttribIPointer + +GetVertexAttribIivEXT(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribEnum in value +	param		params		Int32 out array [1] +	category	NV_vertex_program4 +	dlflags		notlistable +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		GetVertexAttribIiv + +GetVertexAttribIuivEXT(index, pname, params) +	return		void +	param		index		UInt32 in value +	param		pname		VertexAttribEnum in value +	param		params		UInt32 out array [1] +	category	NV_vertex_program4 +	dlflags		notlistable +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	alias		GetVertexAttribIuiv + +############################################################################### +# +# Extension #326 +# EXT_gpu_shader4 commands +# +############################################################################### + +GetUniformuivEXT(program, location, params) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		params		UInt32 out array [COMPSIZE(program/location)] +	category	EXT_gpu_shader4 +	dlflags		notlistable +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		GetUniformuiv + +BindFragDataLocationEXT(program, color, name) +	return		void +	param		program		UInt32 in value +	param		color		UInt32 in value +	param		name		Char in array [COMPSIZE(name)] +	category	EXT_gpu_shader4 +	dlflags		notlistable +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		BindFragDataLocation + +GetFragDataLocationEXT(program, name) +	return		Int32 +	param		program		UInt32 in value +	param		name		Char in array [COMPSIZE(name)] +	category	EXT_gpu_shader4 +	dlflags		notlistable +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		GetFragDataLocation + +Uniform1uiEXT(location, v0) +	return		void +	param		location	Int32 in value +	param		v0		UInt32 in value +	category	EXT_gpu_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		Uniform1ui + +Uniform2uiEXT(location, v0, v1) +	return		void +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	category	EXT_gpu_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		Uniform2ui + +Uniform3uiEXT(location, v0, v1, v2) +	return		void +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	param		v2		UInt32 in value +	category	EXT_gpu_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		Uniform3ui + +Uniform4uiEXT(location, v0, v1, v2, v3) +	return		void +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	param		v2		UInt32 in value +	param		v3		UInt32 in value +	category	EXT_gpu_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		Uniform4ui + +Uniform1uivEXT(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count] +	category	EXT_gpu_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		Uniform1uiv + +Uniform2uivEXT(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*2] +	category	EXT_gpu_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		Uniform2uiv + +Uniform3uivEXT(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*3] +	category	EXT_gpu_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		Uniform3uiv + +Uniform4uivEXT(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*4] +	category	EXT_gpu_shader4 +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		Uniform4uiv + +############################################################################### +# +# Extension #327 +# EXT_draw_instanced commands +# +############################################################################### + +DrawArraysInstancedEXT(mode, start, count, primcount) +	return		void +	param		mode		BeginMode in value +	param		start		Int32 in value +	param		count		SizeI in value +	param		primcount	SizeI in value +	category	EXT_draw_instanced +	version		2.0 +	extension	soft WINSOFT +	dlflags		notlistable +	vectorequiv	ArrayElement +	glfflags	ignore +	glxflags	ignore +	alias		DrawArraysInstancedARB + +DrawElementsInstancedEXT(mode, count, type, indices, primcount) +	return		void +	param		mode		BeginMode in value +	param		count		SizeI in value +	param		type		DrawElementsType in value +	param		indices		Void in array [COMPSIZE(count/type)] +	param		primcount	SizeI in value +	category	EXT_draw_instanced +	version		2.0 +	extension	soft WINSOFT +	dlflags		notlistable +	vectorequiv	ArrayElement +	glfflags	ignore +	glxflags	ignore +	alias		DrawElementsInstancedARB + +############################################################################### +# +# Extension #328 +# EXT_packed_float commands +# +############################################################################### + +# (none) +newcategory: EXT_packed_float + +############################################################################### +# +# Extension #329 +# EXT_texture_array commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_array + +############################################################################### +# +# Extension #330 +# EXT_texture_buffer_object commands +# +############################################################################### + +TexBufferEXT(target, internalformat, buffer) +	return		void +	param		target		TextureTarget in value +	param		internalformat	GLenum in value +	param		buffer		UInt32 in value +	category	EXT_texture_buffer_object +	version		2.0 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	alias		TexBufferARB + +############################################################################### +# +# Extension #331 +# EXT_texture_compression_latc commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_compression_latc + +############################################################################### +# +# Extension #332 +# EXT_texture_compression_rgtc commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_compression_rgtc + +############################################################################### +# +# Extension #333 +# EXT_texture_shared_exponent commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_shared_exponent + +############################################################################### +# +# Extension #334 +# NV_depth_buffer_float commands +# +############################################################################### + +DepthRangedNV(zNear, zFar) +	return		void +	param		zNear		Float64 in value +	param		zFar		Float64 in value +	category	NV_depth_buffer_float +	extension	soft WINSOFT NV50 +	version		2.0 +	glfflags	ignore +	glxflags	ignore + +ClearDepthdNV(depth) +	return		void +	param		depth		Float64 in value +	category	NV_depth_buffer_float +	extension	soft WINSOFT NV50 +	version		2.0 +	glfflags	ignore +	glxflags	ignore + +DepthBoundsdNV(zmin, zmax) +	return		void +	param		zmin		Float64 in value +	param		zmax		Float64 in value +	category	NV_depth_buffer_float +	extension	soft WINSOFT NV50 +	version		2.0 +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# Extension #335 +# NV_fragment_program4 commands +# +############################################################################### + +# (none) +newcategory: NV_fragment_program4 + +############################################################################### +# +# Extension #336 +# NV_framebuffer_multisample_coverage commands +# +############################################################################### + +RenderbufferStorageMultisampleCoverageNV(target, coverageSamples, colorSamples, internalformat, width, height) +	return		void +	param		target		RenderbufferTarget in value +	param		coverageSamples SizeI in value +	param		colorSamples	SizeI in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	NV_framebuffer_multisample_coverage +	version		1.5 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# Extension #337 +# EXT_framebuffer_sRGB commands +# +############################################################################### + +# (none) +newcategory: EXT_framebuffer_sRGB + +############################################################################### +# +# Extension #338 +# NV_geometry_shader4 commands +# +############################################################################### + +# (none) +newcategory: NV_geometry_shader4 + +############################################################################### +# +# Extension #339 +# NV_parameter_buffer_object commands +# +############################################################################### + +ProgramBufferParametersfvNV(target, buffer, index, count, params) +	return		void +	param		target		ProgramTarget in value +	param		buffer		UInt32 in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		Float32 in array [count] +	category	NV_parameter_buffer_object +	version		1.2 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramBufferParametersIivNV(target, buffer, index, count, params) +	return		void +	param		target		ProgramTarget in value +	param		buffer		UInt32 in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		Int32 in array [count] +	category	NV_parameter_buffer_object +	version		1.2 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ProgramBufferParametersIuivNV(target, buffer, index, count, params) +	return		void +	param		target		ProgramTarget in value +	param		buffer		UInt32 in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		UInt32 in array [count] +	category	NV_parameter_buffer_object +	version		1.2 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# Extension #340 +# EXT_draw_buffers2 commands +# +############################################################################### + +ColorMaskIndexedEXT(index, r, g, b, a) +	return		void +	param		index		UInt32 in value +	param		r		Boolean in value +	param		g		Boolean in value +	param		b		Boolean in value +	param		a		Boolean in value +	category	EXT_draw_buffers2 +	version		2.0 +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		ColorMaski + +GetBooleanIndexedvEXT(target, index, data) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		data		Boolean out array [COMPSIZE(target)] +	category	EXT_draw_buffers2 +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		GetBooleani_v + +GetIntegerIndexedvEXT(target, index, data) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		data		Int32 out array [COMPSIZE(target)] +	category	EXT_draw_buffers2 +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		GetIntegeri_v + +EnableIndexedEXT(target, index) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	category	EXT_draw_buffers2 +	version		2.0 +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		Enablei + +DisableIndexedEXT(target, index) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	category	EXT_draw_buffers2 +	version		2.0 +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		Disablei + +IsEnabledIndexedEXT(target, index) +	return		Boolean +	param		target		GLenum in value +	param		index		UInt32 in value +	category	EXT_draw_buffers2 +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		IsEnabledi + +############################################################################### +# +# Extension #341 +# NV_transform_feedback commands +# +############################################################################### + +BeginTransformFeedbackNV(primitiveMode) +	return		void +	param		primitiveMode	GLenum in value +	category	NV_transform_feedback +	version		1.5 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		BeginTransformFeedback + +EndTransformFeedbackNV() +	return		void +	category	NV_transform_feedback +	version		1.5 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		EndTransformFeedback + +TransformFeedbackAttribsNV(count, attribs, bufferMode) +	return		void +	param		count		UInt32 in value +	param		attribs		Int32 in array [COMPSIZE(count)] +	param		bufferMode	GLenum in value +	category	NV_transform_feedback +	version		1.5 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT + +BindBufferRangeNV(target, index, buffer, offset, size) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		buffer		UInt32 in value +	param		offset		BufferOffset in value +	param		size		BufferSize in value +	category	NV_transform_feedback +	version		1.5 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		BindBufferRange + +BindBufferOffsetNV(target, index, buffer, offset) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		buffer		UInt32 in value +	param		offset		BufferOffset in value +	category	NV_transform_feedback +	version		1.5 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		BindBufferOffsetEXT + +BindBufferBaseNV(target, index, buffer) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		buffer		UInt32 in value +	category	NV_transform_feedback +	version		1.5 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		BindBufferBase + +TransformFeedbackVaryingsNV(program, count, varyings, bufferMode) +	return		void +	param		program		UInt32 in value +	param		count		SizeI in value +	param		varyings	CharPointer in array [count] +	param		bufferMode	GLenum in value +	category	NV_transform_feedback +	version		1.5 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		TransformFeedbackVaryings + +ActiveVaryingNV(program, name) +	return		void +	param		program		UInt32 in value +	param		name		Char in array [COMPSIZE(name)] +	category	NV_transform_feedback +	version		1.5 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT + +GetVaryingLocationNV(program, name) +	return		Int32 +	param		program		UInt32 in value +	param		name		Char in array [COMPSIZE(name)] +	category	NV_transform_feedback +	dlflags		notlistable +	version		1.5 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT + +GetActiveVaryingNV(program, index, bufSize, length, size, type, name) +	return		void +	param		program		UInt32 in value +	param		index		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		size		SizeI out array [1] +	param		type		GLenum out array [1] +	param		name		Char out array [COMPSIZE(program/index/bufSize)] +	category	NV_transform_feedback +	dlflags		notlistable +	version		1.5 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore + +GetTransformFeedbackVaryingNV(program, index, location) +	return		void +	param		program		UInt32 in value +	param		index		UInt32 in value +	param		location	Int32 out array [1] +	category	NV_transform_feedback +	dlflags		notlistable +	version		1.5 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		GetTransformFeedbackVarying + +############################################################################### +# +# Extension #342 +# EXT_bindable_uniform commands +# +############################################################################### + +UniformBufferEXT(program, location, buffer) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		buffer		UInt32 in value +	category	EXT_bindable_uniform +	version		2.0 +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +GetUniformBufferSizeEXT(program, location) +	return		Int32 +	param		program		UInt32 in value +	param		location	Int32 in value +	category	EXT_bindable_uniform +	dlflags		notlistable +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore + +GetUniformOffsetEXT(program, location) +	return		BufferOffset +	param		program		UInt32 in value +	param		location	Int32 in value +	category	EXT_bindable_uniform +	dlflags		notlistable +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# Extension #343 +# EXT_texture_integer extension commands +# +############################################################################### + +TexParameterIivEXT(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		Int32 in array [COMPSIZE(pname)] +	category	EXT_texture_integer +	version		2.0 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	alias		TexParameterIiv + +TexParameterIuivEXT(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		UInt32 in array [COMPSIZE(pname)] +	category	EXT_texture_integer +	version		2.0 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	alias		TexParameterIuiv + +GetTexParameterIivEXT(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_texture_integer +	dlflags		notlistable +	version		1.0 +	version		2.0 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	alias		GetTexParameterIiv + +GetTexParameterIuivEXT(target, pname, params) +	return		void +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		UInt32 out array [COMPSIZE(pname)] +	category	EXT_texture_integer +	dlflags		notlistable +	version		1.0 +	version		2.0 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	alias		GetTexParameterIuiv + +ClearColorIiEXT(red, green, blue, alpha) +	return		void +	param		red		Int32 in value +	param		green		Int32 in value +	param		blue		Int32 in value +	param		alpha		Int32 in value +	category	EXT_texture_integer +	version		2.0 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +ClearColorIuiEXT(red, green, blue, alpha) +	return		void +	param		red		UInt32 in value +	param		green		UInt32 in value +	param		blue		UInt32 in value +	param		alpha		UInt32 in value +	category	EXT_texture_integer +	version		2.0 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# Extension #344 - GLX_EXT_texture_from_pixmap +# +############################################################################### + +############################################################################### +# +# Extension #345 +# GREMEDY_frame_terminator commands +# +############################################################################### + +FrameTerminatorGREMEDY() +	return		void +	category	GREMEDY_frame_terminator +	version		1.0 +	extension +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #346 +# NV_conditional_render commands +# +############################################################################### + +BeginConditionalRenderNV(id, mode) +	return		void +	param		id		UInt32 in value +	param		mode		TypeEnum in value +	category	NV_conditional_render +	glfflags	ignore +	glxflags	ignore +	alias		BeginConditionalRender + +EndConditionalRenderNV() +	return		void +	category	NV_conditional_render +	glfflags	ignore +	glxflags	ignore +	alias		EndConditionalRender + +############################################################################### +# +# Extension #347 +# NV_present_video commands +# +############################################################################### + +# TBD +#    void PresentFrameKeyedNV(uint video_slot, uint64EXT minPresentTime, +#			      uint beginPresentTimeId, uint +#			      presentDurationId, enum type, enum target0, +#			      uint fill0, uint key0, enum target1, uint +#			      fill1, uint key1); +# +#    void PresentFrameDualFillNV(uint video_slot, uint64EXT +#				 minPresentTime, uint beginPresentTimeId, +#				 uint presentDurationId, enum type, enum +#				 target0, uint fill0, enum target1, uint +#				 fill1, enum target2, uint fill2, enum +#				 target3, uint fill3); +# +#    void GetVideoivNV(uint video_slot, enum pname, int *params); +#    void GetVideouivNV(uint video_slot, enum pname, uint *params); +#    void GetVideoi64vNV(uint video_slot, enum pname, int64EXT *params); +#    void GetVideoui64vNV(uint video_slot, enum pname, uint64EXT *params); +#    void VideoParameterivNV(uint video_slot, enum pname, const int *params); + +PresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, key0, target1, fill1, key1) +	return		void +	param		video_slot	UInt32 in value +	param		minPresentTime	UInt64EXT in value +	param		beginPresentTimeId	UInt32 in value +	param		presentDurationId	UInt32 in value +	param		type		GLenum in value +	param		target0		GLenum in value +	param		fill0		UInt32 in value +	param		key0		UInt32 in value +	param		target1		GLenum in value +	param		fill1		UInt32 in value +	param		key1		UInt32 in value +	category	NV_present_video +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +PresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId, type, target0, fill0, target1, fill1, target2, fill2, target3, fill3) +	return		void +	param		video_slot	UInt32 in value +	param		minPresentTime	UInt64EXT in value +	param		beginPresentTimeId	UInt32 in value +	param		presentDurationId	UInt32 in value +	param		type		GLenum in value +	param		target0		GLenum in value +	param		fill0		UInt32 in value +	param		target1		GLenum in value +	param		fill1		UInt32 in value +	param		target2		GLenum in value +	param		fill2		UInt32 in value +	param		target3		GLenum in value +	param		fill3		UInt32 in value +	category	NV_present_video +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetVideoivNV(video_slot, pname, params) +	return		void +	param		video_slot	UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	NV_present_video +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVideouivNV(video_slot, pname, params) +	return		void +	param		video_slot	UInt32 in value +	param		pname		GLenum in value +	param		params		UInt32 out array [COMPSIZE(pname)] +	category	NV_present_video +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVideoi64vNV(video_slot, pname, params) +	return		void +	param		video_slot	UInt32 in value +	param		pname		GLenum in value +	param		params		Int64EXT out array [COMPSIZE(pname)] +	category	NV_present_video +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVideoui64vNV(video_slot, pname, params) +	return		void +	param		video_slot	UInt32 in value +	param		pname		GLenum in value +	param		params		UInt64EXT out array [COMPSIZE(pname)] +	category	NV_present_video +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #348 - GLX_NV_video_out +# Extension #349 - WGL_NV_video_out +# Extension #350 - GLX_NV_swap_group +# Extension #351 - WGL_NV_swap_group +# +############################################################################### + +############################################################################### +# +# Extension #352 +# EXT_transform_feedback commands +# +############################################################################### + +# From EXT_draw_buffers2:  GetBooleanIndexedvEXT / GetIntegerIndexedvEXT + +BeginTransformFeedbackEXT(primitiveMode) +	return		void +	param		primitiveMode	GLenum in value +	category	EXT_transform_feedback +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		BeginTransformFeedback + +EndTransformFeedbackEXT() +	return		void +	category	EXT_transform_feedback +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		EndTransformFeedback + +BindBufferRangeEXT(target, index, buffer, offset, size) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		buffer		UInt32 in value +	param		offset		BufferOffset in value +	param		size		BufferSize in value +	category	EXT_transform_feedback +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		BindBufferRange + +# Not promoted to the OpenGL 3.0 core +BindBufferOffsetEXT(target, index, buffer, offset) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		buffer		UInt32 in value +	param		offset		BufferOffset in value +	category	EXT_transform_feedback +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT + +BindBufferBaseEXT(target, index, buffer) +	return		void +	param		target		GLenum in value +	param		index		UInt32 in value +	param		buffer		UInt32 in value +	category	EXT_transform_feedback +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		BindBufferBase + +TransformFeedbackVaryingsEXT(program, count, varyings, bufferMode) +	return		void +	param		program		UInt32 in value +	param		count		SizeI in value +	param		varyings	CharPointer in array [count] +	param		bufferMode	GLenum in value +	category	EXT_transform_feedback +	version		2.0 +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT +	alias		TransformFeedbackVaryings + +GetTransformFeedbackVaryingEXT(program, index, bufSize, length, size, type, name) +	return		void +	param		program		UInt32 in value +	param		index		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		size		SizeI out array [1] +	param		type		GLenum out array [1] +	param		name		Char out array [COMPSIZE(length)] +	category	EXT_transform_feedback +	dlflags		notlistable +	version		2.0 +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	alias		GetTransformFeedbackVarying + +############################################################################### +# +# Extension #353 +# EXT_direct_state_access commands +# +############################################################################### + +# New 1.1 client commands + +ClientAttribDefaultEXT(mask) +	return		void +	param		mask		ClientAttribMask in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore ### client-handcode client-intercept server-handcode + +PushClientAttribDefaultEXT(mask) +	return		void +	param		mask		ClientAttribMask in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore ### client-handcode client-intercept server-handcode + +# New 1.0 matrix commands + +MatrixLoadfEXT(mode, m) +	return		void +	param		mode		MatrixMode in value +	param		m		Float32 in array [16] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixLoaddEXT(mode, m) +	return		void +	param		mode		MatrixMode in value +	param		m		Float64 in array [16] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixMultfEXT(mode, m) +	return		void +	param		mode		MatrixMode in value +	param		m		Float32 in array [16] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixMultdEXT(mode, m) +	return		void +	param		mode		MatrixMode in value +	param		m		Float64 in array [16] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixLoadIdentityEXT(mode) +	return		void +	param		mode		MatrixMode in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixRotatefEXT(mode, angle, x, y, z) +	return		void +	param		mode		MatrixMode in value +	param		angle		Float32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixRotatedEXT(mode, angle, x, y, z) +	return		void +	param		mode		MatrixMode in value +	param		angle		Float64 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixScalefEXT(mode, x, y, z) +	return		void +	param		mode		MatrixMode in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixScaledEXT(mode, x, y, z) +	return		void +	param		mode		MatrixMode in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixTranslatefEXT(mode, x, y, z) +	return		void +	param		mode		MatrixMode in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixTranslatedEXT(mode, x, y, z) +	return		void +	param		mode		MatrixMode in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar) +	return		void +	param		mode		MatrixMode in value +	param		left		Float64 in value +	param		right		Float64 in value +	param		bottom		Float64 in value +	param		top		Float64 in value +	param		zNear		Float64 in value +	param		zFar		Float64 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar) +	return		void +	param		mode		MatrixMode in value +	param		left		Float64 in value +	param		right		Float64 in value +	param		bottom		Float64 in value +	param		top		Float64 in value +	param		zNear		Float64 in value +	param		zFar		Float64 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixPopEXT(mode) +	return		void +	param		mode		MatrixMode in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixPushEXT(mode) +	return		void +	param		mode		MatrixMode in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +# New 1.3 matrix transpose commands + +MatrixLoadTransposefEXT(mode, m) +	return		void +	param		mode		MatrixMode in value +	param		m		Float32 in array [16] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixLoadTransposedEXT(mode, m) +	return		void +	param		mode		MatrixMode in value +	param		m		Float64 in array [16] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixMultTransposefEXT(mode, m) +	return		void +	param		mode		MatrixMode in value +	param		m		Float32 in array [16] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MatrixMultTransposedEXT(mode, m) +	return		void +	param		mode		MatrixMode in value +	param		m		Float64 in array [16] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +# New 1.1 texture object commands + +TextureParameterfEXT(texture, target, pname, param) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		param		CheckedFloat32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore +	vectorequiv	TextureParameterfvEXT + +TextureParameterfvEXT(texture, target, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +TextureParameteriEXT(texture, target, pname, param) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		param		CheckedInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore +	vectorequiv	TextureParameterivEXT + +TextureParameterivEXT(texture, target, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +TextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	capture-handcode decode-handcode pixel-unpack + +TextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	capture-handcode decode-handcode pixel-unpack + +TextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### EXT client-handcode server-handcode +	glxflags	ignore +	extension	soft WINSOFT +	glfflags	ignore + +TextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### EXT client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	ignore + +CopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +CopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +CopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +CopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +# New 1.1 texture object queries + +GetTextureImageEXT(texture, target, level, format, type, pixels) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void out array [COMPSIZE(target/level/format/type)] +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore ### client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	capture-execute capture-handcode decode-handcode pixel-pack + +GetTextureParameterfvEXT(texture, target, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetTextureParameterivEXT(texture, target, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetTextureLevelParameterfvEXT(texture, target, level, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		pname		GetTextureParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetTextureLevelParameterivEXT(texture, target, level, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +# New 1.2 3D texture object commands + +TextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode EXT +	extension	soft WINSOFT +	glfflags	ignore + +TextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode EXT +	extension	soft WINSOFT +	glfflags	ignore + +CopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_direct_state_access +	glxflags	ignore ### EXT +	extension	soft WINSOFT +	glfflags	ignore + +# New 1.1 multitexture commands + +MultiTexParameterfEXT(texunit, target, pname, param) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		param		CheckedFloat32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore +	vectorequiv	MultiTexParameterfvEXT + +MultiTexParameterfvEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MultiTexParameteriEXT(texunit, target, pname, param) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		param		CheckedInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore +	vectorequiv	MultiTexParameterivEXT + +MultiTexParameterivEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore + +MultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	capture-handcode decode-handcode pixel-unpack + +MultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	capture-handcode decode-handcode pixel-unpack + +MultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### EXT client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	ignore + +MultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### EXT client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	ignore + +CopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +CopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +CopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +CopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +# New 1.1 multitexture queries + +GetMultiTexImageEXT(texunit, target, level, format, type, pixels) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void out array [COMPSIZE(target/level/format/type)] +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore ### client-handcode server-handcode +	extension	soft WINSOFT +	glfflags	capture-execute capture-handcode decode-handcode pixel-pack + +GetMultiTexParameterfvEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetMultiTexParameterivEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		pname		GetTextureParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetMultiTexLevelParameterivEXT(texunit, target, level, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +# New 1.2 3D multitexture commands + +MultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		border		CheckedInt32 in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode EXT +	extension	soft WINSOFT +	glfflags	ignore + +MultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		format		PixelFormat in value +	param		type		PixelType in value +	param		pixels		Void in array [COMPSIZE(format/type/width/height/depth)] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode EXT +	extension	soft WINSOFT +	glfflags	ignore + +CopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		x		WinCoord in value +	param		y		WinCoord in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_direct_state_access +	glxflags	ignore ### EXT +	extension	soft WINSOFT +	glfflags	ignore + +# New 1.2.1 multitexture texture commands + +BindMultiTextureEXT(texunit, target, texture) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		texture		Texture in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore ### EXT + +EnableClientStateIndexedEXT(array, index) +	return		void +	param		array		EnableCap in value +	param		index		UInt32 in value +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore ### client-handcode client-intercept server-handcode +	extension	soft WINSOFT + +DisableClientStateIndexedEXT(array, index) +	return		void +	param		array		EnableCap in value +	param		index		UInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore ### client-handcode client-intercept server-handcode + +MultiTexCoordPointerEXT(texunit, size, type, stride, pointer) +	return		void +	param		texunit		TextureUnit in value +	param		size		Int32 in value +	param		type		TexCoordPointerType in value +	param		stride		SizeI in value +	param		pointer		Void in array [COMPSIZE(size/type/stride)] retained +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore ### client-handcode client-intercept server-handcode +	extension	soft WINSOFT +	glfflags	ignore + +MultiTexEnvfEXT(texunit, target, pname, param) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		param		CheckedFloat32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	vectorequiv	MultiTexEnvfvEXT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexEnvfvEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexEnviEXT(texunit, target, pname, param) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		param		CheckedInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	vectorequiv	MultiTexEnvivEXT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexEnvivEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexGendEXT(texunit, coord, pname, param) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		param		Float64 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	vectorequiv	MultiTexGendvEXT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexGendvEXT(texunit, coord, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		Float64 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexGenfEXT(texunit, coord, pname, param) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		param		CheckedFloat32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	vectorequiv	MultiTexGenfvEXT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexGenfvEXT(texunit, coord, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		CheckedFloat32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexGeniEXT(texunit, coord, pname, param) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		param		CheckedInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	vectorequiv	MultiTexGenivEXT +	glxflags	ignore +	glfflags	gl-enum + +MultiTexGenivEXT(texunit, coord, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	gl-enum + +# New 1.2.1 multitexture texture queries + +GetMultiTexEnvfvEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetMultiTexEnvivEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureEnvTarget in value +	param		pname		TextureEnvParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetMultiTexGendvEXT(texunit, coord, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		Float64 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetMultiTexGenfvEXT(texunit, coord, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +GetMultiTexGenivEXT(texunit, coord, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		coord		TextureCoordName in value +	param		pname		TextureGenParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +# From EXT_draw_buffers2 +# EnableIndexedEXT +# DisableIndexedEXT +# IsEnabledIndexedEXT + +GetFloatIndexedvEXT(target, index, data) +	return		void +	param		target		TypeEnum in value +	param		index		UInt32 in value +	param		data		Float32 out array [COMPSIZE(target)] +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT + +GetDoubleIndexedvEXT(target, index, data) +	return		void +	param		target		TypeEnum in value +	param		index		UInt32 in value +	param		data		Float64 out array [COMPSIZE(target)] +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT + +GetPointerIndexedvEXT(target, index, data) +	return		void +	param		target		TypeEnum in value +	param		index		UInt32 in value +	param		data		VoidPointer out array [COMPSIZE(target)] +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore +	extension	soft WINSOFT + +# New compressed texture commands + +CompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +# New compressed texture query + +GetCompressedTextureImageEXT(texture, target, lod, img) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		lod		CheckedInt32 in value +	param		img		Void out array [COMPSIZE(target/lod)] +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore ### server-handcode +	extension	soft WINSOFT + +# New compressed multitexture commands + +CompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		internalformat	TextureInternalFormat in value +	param		width		SizeI in value +	param		border		CheckedInt32 in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		yoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +CompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		level		CheckedInt32 in value +	param		xoffset		CheckedInt32 in value +	param		width		SizeI in value +	param		format		PixelFormat in value +	param		imageSize	SizeI in value +	param		bits		Void in array [imageSize] +	category	EXT_direct_state_access +	dlflags		handcode +	glxflags	ignore ### client-handcode server-handcode +	glfflags	ignore +	extension	soft WINSOFT + +# New compressed multitexture query + +GetCompressedMultiTexImageEXT(texunit, target, lod, img) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		lod		CheckedInt32 in value +	param		img		Void out array [COMPSIZE(target/lod)] +	category	EXT_direct_state_access +	dlflags		notlistable +	glxflags	ignore ### server-handcode +	extension	soft WINSOFT + +# New ARB assembly program named commands + +NamedProgramStringEXT(program, target, format, len, string) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		format		ProgramFormat in value +	param		len		SizeI in value +	param		string		Void in array [len] +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore ### client-handcode server-handcode EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +NamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		x		Float64 in value +	param		y		Float64 in value +	param		z		Float64 in value +	param		w		Float64 in value +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	vectorequiv	NamedProgramLocalParameter4dvEXT +	glxvectorequiv	NamedProgramLocalParameter4dvEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore ### EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +NamedProgramLocalParameter4dvEXT(program, target, index, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Float64 in array [4] +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore ### EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +NamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		x		Float32 in value +	param		y		Float32 in value +	param		z		Float32 in value +	param		w		Float32 in value +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	vectorequiv	NamedProgramLocalParameter4fvEXT +	glxvectorequiv	NamedProgramLocalParameter4fvEXT +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore ### EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +NamedProgramLocalParameter4fvEXT(program, target, index, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Float32 in array [4] +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore ### EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +# New ARB assembly program named queries + +GetNamedProgramLocalParameterdvEXT(program, target, index, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Float64 out array [4] +	dlflags		notlistable +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore ### client-handcode server-handcode EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +GetNamedProgramLocalParameterfvEXT(program, target, index, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Float32 out array [4] +	dlflags		notlistable +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore ### client-handcode server-handcode EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +GetNamedProgramivEXT(program, target, pname, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		pname		ProgramProperty in value +	param		params		Int32 out array [1] +	dlflags		notlistable +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore ### client-handcode server-handcode EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +GetNamedProgramStringEXT(program, target, pname, string) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		pname		ProgramStringProperty in value +	param		string		Void out array [COMPSIZE(program,pname)] +	dlflags		notlistable +	category	EXT_direct_state_access +	subcategory	ARB_vertex_program +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore ### client-handcode server-handcode EXT +	glextmask	GL_MASK_ARB_vertex_program|GL_MASK_ARB_fragment_program + +# New EXT_gpu_program_parameters command + +NamedProgramLocalParameters4fvEXT(program, target, index, count, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		Float32 in array [count*4] +	category	EXT_direct_state_access +	subcategory	EXT_gpu_program_parameters +	extension	soft WINSOFT NV10 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_gpu_program_parameters + +# New NV_gpu_program4 commands + +NamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		x		Int32 in value +	param		y		Int32 in value +	param		z		Int32 in value +	param		w		Int32 in value +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	vectorequiv	NamedProgramLocalParameterI4ivEXT +	glxvectorequiv	NamedProgramLocalParameterI4ivEXT +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +NamedProgramLocalParameterI4ivEXT(program, target, index, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Int32 in array [4] +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +NamedProgramLocalParametersI4ivEXT(program, target, index, count, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		Int32 in array [count*4] +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +NamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		x		UInt32 in value +	param		y		UInt32 in value +	param		z		UInt32 in value +	param		w		UInt32 in value +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	vectorequiv	NamedProgramLocalParameterI4uivEXT +	glxvectorequiv	NamedProgramLocalParameterI4uivEXT +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +NamedProgramLocalParameterI4uivEXT(program, target, index, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		UInt32 in array [4] +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +NamedProgramLocalParametersI4uivEXT(program, target, index, count, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		count		SizeI in value +	param		params		UInt32 in array [count*4] +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +GetNamedProgramLocalParameterIivEXT(program, target, index, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		Int32 out array [4] +	dlflags		notlistable +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +GetNamedProgramLocalParameterIuivEXT(program, target, index, params) +	return		void +	param		program		UInt32 in value +	param		target		ProgramTarget in value +	param		index		UInt32 in value +	param		params		UInt32 out array [4] +	dlflags		notlistable +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +# New EXT_texture_integer texture object commands + +TextureParameterIivEXT(texture, target, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_texture_integer +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore +	glextmask	GL_MASK_EXT_texture_integer + +TextureParameterIuivEXT(texture, target, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		UInt32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_texture_integer +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore +	glextmask	GL_MASK_EXT_texture_integer + +# New EXT_texture_integer texture object queries + +GetTextureParameterIivEXT(texture, target, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_texture_integer +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum +	glextmask	GL_MASK_EXT_texture_integer + +GetTextureParameterIuivEXT(texture, target, pname, params) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		UInt32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_texture_integer +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum +	glextmask	GL_MASK_EXT_texture_integer + +# New EXT_texture_integer multitexture commands + +MultiTexParameterIivEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		CheckedInt32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_texture_integer +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore +	glextmask	GL_MASK_EXT_texture_integer + +MultiTexParameterIuivEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		TextureParameterName in value +	param		params		UInt32 in array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_texture_integer +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	ignore +	glextmask	GL_MASK_EXT_texture_integer + +# New EXT_texture_integer multitexture queries + +GetMultiTexParameterIivEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_texture_integer +	dlflags		notlistable +	extension	soft WINSOFT +	glfflags	capture-execute gl-enum +	glxflags	ignore +	glextmask	GL_MASK_EXT_texture_integer + +GetMultiTexParameterIuivEXT(texunit, target, pname, params) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		pname		GetTextureParameter in value +	param		params		UInt32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_texture_integer +	dlflags		notlistable +	extension	soft WINSOFT +	glfflags	capture-execute gl-enum +	glxflags	ignore +	glextmask	GL_MASK_EXT_texture_integer + +# New GLSL 2.0 uniform commands + +ProgramUniform1fEXT(program, location, v0) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		Float32 in value +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform2fEXT(program, location, v0, v1) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform3fEXT(program, location, v0, v1, v2) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	param		v2		Float32 in value +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform4fEXT(program, location, v0, v1, v2, v3) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		Float32 in value +	param		v1		Float32 in value +	param		v2		Float32 in value +	param		v3		Float32 in value +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform1iEXT(program, location, v0) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		Int32 in value +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform2iEXT(program, location, v0, v1) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform3iEXT(program, location, v0, v1, v2) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	param		v2		Int32 in value +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform4iEXT(program, location, v0, v1, v2, v3) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		Int32 in value +	param		v1		Int32 in value +	param		v2		Int32 in value +	param		v3		Int32 in value +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform1fvEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform2fvEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count*2] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform3fvEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count*3] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform4fvEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Float32 in array [count*4] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform1ivEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform2ivEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count*2] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform3ivEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count*3] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform4ivEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		Int32 in array [count*4] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniformMatrix2fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*4] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniformMatrix3fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*9] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniformMatrix4fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*16] +	category	EXT_direct_state_access +	subcategory	VERSION_2_0 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +# New GLSL 2.1 uniform commands + +ProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*6] +	category	EXT_direct_state_access +	subcategory	VERSION_2_1 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*6] +	category	EXT_direct_state_access +	subcategory	VERSION_2_1 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*8] +	category	EXT_direct_state_access +	subcategory	VERSION_2_1 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*8] +	category	EXT_direct_state_access +	subcategory	VERSION_2_1 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*12] +	category	EXT_direct_state_access +	subcategory	VERSION_2_1 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		transpose	Boolean in value +	param		value		Float32 in array [count*12] +	category	EXT_direct_state_access +	subcategory	VERSION_2_1 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +# New EXT_gpu_shader4 commands + +ProgramUniform1uiEXT(program, location, v0) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		UInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_gpu_shader4 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform2uiEXT(program, location, v0, v1) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_gpu_shader4 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform3uiEXT(program, location, v0, v1, v2) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	param		v2		UInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_gpu_shader4 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform4uiEXT(program, location, v0, v1, v2, v3) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		v0		UInt32 in value +	param		v1		UInt32 in value +	param		v2		UInt32 in value +	param		v3		UInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_gpu_shader4 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform1uivEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count] +	category	EXT_direct_state_access +	subcategory	EXT_gpu_shader4 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform2uivEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*2] +	category	EXT_direct_state_access +	subcategory	EXT_gpu_shader4 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform3uivEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*3] +	category	EXT_direct_state_access +	subcategory	EXT_gpu_shader4 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +ProgramUniform4uivEXT(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt32 in array [count*4] +	category	EXT_direct_state_access +	subcategory	EXT_gpu_shader4 +	glfflags	ignore +	glxflags	ignore +	extension	soft WINSOFT +	glextmask	GL_MASK_OpenGL_2_0 + +# New named buffer commands + +NamedBufferDataEXT(buffer, size, data, usage) +	return		void +	param		buffer		UInt32 in value +	param		size		Sizeiptr in value +	param		data		Void in array [COMPSIZE(size)] +	param		usage		VertexBufferObjectUsage in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +NamedBufferSubDataEXT(buffer, offset, size, data) +	return		void +	param		buffer		UInt32 in value +	param		offset		Intptr in value +	param		size		Sizeiptr in value +	param		data		Void in array [COMPSIZE(size)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +MapNamedBufferEXT(buffer, access) +	return		VoidPointer +	param		buffer		UInt32 in value +	param		access		VertexBufferObjectAccess in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +UnmapNamedBufferEXT(buffer) +	return		Boolean +	param		buffer		UInt32 in value +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +# New named buffer queries + +GetNamedBufferParameterivEXT(buffer, pname, params) +	return		void +	param		buffer		UInt32 in value +	param		pname		VertexBufferObjectParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +GetNamedBufferPointervEXT(buffer, pname, params) +	return		void +	param		buffer		UInt32 in value +	param		pname		VertexBufferObjectParameter in value +	param		params		VoidPointer out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +GetNamedBufferSubDataEXT(buffer, offset, size, data) +	return		void +	param		buffer		UInt32 in value +	param		offset		Intptr in value +	param		size		Sizeiptr in value +	param		data		Void out array [COMPSIZE(size)] +	category	EXT_direct_state_access +	extension	soft WINSOFT +	dlflags		notlistable +	glxflags	ignore +	glfflags	ignore + +# New named texture buffer texture object command + +TextureBufferEXT(texture, target, internalformat, buffer) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		internalformat	TypeEnum in value +	param		buffer		UInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_texture_buffer_object +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_texture_buffer_object +	dlflags		notlistable + +# New named texture buffer multitexture command + +MultiTexBufferEXT(texunit, target, internalformat, buffer) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		internalformat	TypeEnum in value +	param		buffer		UInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_texture_buffer_object +	extension	soft WINSOFT NV50 +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_texture_buffer_object +	dlflags		notlistable + +# New named frame buffer object commands + +NamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height) +	return		void +	param		renderbuffer	Renderbuffer in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +GetNamedRenderbufferParameterivEXT(renderbuffer, pname, params) +	return		void +	param		renderbuffer	Renderbuffer in value +	param		pname		RenderbufferParameterName in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +CheckNamedFramebufferStatusEXT(framebuffer, target) +	return		FramebufferStatus +	param		framebuffer	Framebuffer in value +	param		target		FramebufferTarget in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +NamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level) +	return		void +	param		framebuffer	Framebuffer in value +	param		attachment	FramebufferAttachment in value +	param		textarget	TextureTarget in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +NamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level) +	return		void +	param		framebuffer	Framebuffer in value +	param		attachment	FramebufferAttachment in value +	param		textarget	TextureTarget in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +NamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset) +	return		void +	param		framebuffer	Framebuffer in value +	param		attachment	FramebufferAttachment in value +	param		textarget	TextureTarget in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	param		zoffset		CheckedInt32 in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +NamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer) +	return		void +	param		framebuffer	Framebuffer in value +	param		attachment	FramebufferAttachment in value +	param		renderbuffertarget RenderbufferTarget in value +	param		renderbuffer	Renderbuffer in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +GetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params) +	return		void +	param		framebuffer	Framebuffer in value +	param		attachment	FramebufferAttachment in value +	param		pname		FramebufferAttachmentParameterName in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +GenerateTextureMipmapEXT(texture, target) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +GenerateMultiTexMipmapEXT(texunit, target) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +FramebufferDrawBufferEXT(framebuffer, mode) +	return		void +	param		framebuffer	Framebuffer in value +	param		mode		DrawBufferMode in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +FramebufferDrawBuffersEXT(framebuffer, n, bufs) +	return		void +	param		framebuffer	Framebuffer in value +	param		n		SizeI in value +	param		bufs		DrawBufferMode in array [n] +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +FramebufferReadBufferEXT(framebuffer, mode) +	return		void +	param		framebuffer	Framebuffer in value +	param		mode		ReadBufferMode in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	extension	soft WINSOFT +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_object + +GetFramebufferParameterivEXT(framebuffer, pname, params) +	return		void +	param		framebuffer	Framebuffer in value +	param		pname		GetFramebufferParameter in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_object +	dlflags		notlistable +	extension	soft WINSOFT +	glxflags	ignore +	glfflags	capture-execute gl-enum + +# New named framebuffer multisample object commands + +NamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height) +	return		void +	param		renderbuffer	Renderbuffer in value +	param		samples		SizeI in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_direct_state_access +	subcategory	EXT_framebuffer_multisample +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_EXT_framebuffer_multisample + +# New named framebuffer multisample coverage object commands + +NamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height) +	return		void +	param		renderbuffer	Renderbuffer in value +	param		coverageSamples SizeI in value +	param		colorSamples	SizeI in value +	param		internalformat	PixelInternalFormat in value +	param		width		SizeI in value +	param		height		SizeI in value +	category	EXT_direct_state_access +	subcategory	NV_framebuffer_multisample_coverage +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_framebuffer_multisample_coverage + +# New named geometry program/shader frame buffer object commands + +NamedFramebufferTextureEXT(framebuffer, attachment, texture, level) +	return		void +	param		framebuffer	Framebuffer in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +NamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer) +	return		void +	param		framebuffer	Framebuffer in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	param		layer		CheckedInt32 in value +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +NamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face) +	return		void +	param		framebuffer	Framebuffer in value +	param		attachment	FramebufferAttachment in value +	param		texture		Texture in value +	param		level		CheckedInt32 in value +	param		face		TextureTarget in value +	category	EXT_direct_state_access +	subcategory	NV_gpu_program4 +	extension	soft WINSOFT +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_gpu_program4 + +# New explicit multisample query and commands + +TextureRenderbufferEXT(texture, target, renderbuffer) +	return		void +	param		texture		Texture in value +	param		target		TextureTarget in value +	param		renderbuffer	UInt32 in value +	category	EXT_direct_state_access +	subcategory	NV_explicit_multisample +	extension	soft WINSOFT NV50 +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_explicit_multisample + +MultiTexRenderbufferEXT(texunit, target, renderbuffer) +	return		void +	param		texunit		TextureUnit in value +	param		target		TextureTarget in value +	param		renderbuffer	UInt32 in value +	category	EXT_direct_state_access +	subcategory	NV_explicit_multisample +	extension	soft WINSOFT NV50 +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore +	glextmask	GL_MASK_NV_explicit_multisample + +############################################################################### +# +# Extension #354 +# EXT_vertex_array_bgra commands +# +############################################################################### + +# (none) +newcategory: EXT_vertex_array_bgra + +############################################################################### +# +# Extension #355 - WGL_NV_gpu_affinity +# +############################################################################### + +############################################################################### +# +# Extension #356 +# EXT_texture_swizzle commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_swizzle + +############################################################################### +# +# Extension #357 +# NV_explicit_multisample commands +# +############################################################################### + +# From EXT_draw_buffers2:  GetBooleanIndexedvEXT / GetIntegerIndexedvEXT + +GetMultisamplefvNV(pname, index, val) +	return		void +	param		pname		GetMultisamplePNameNV in value +	param		index		UInt32 in value +	param		val		Float32 out array [2] +	category	NV_explicit_multisample +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + +SampleMaskIndexedNV(index, mask) +	return		void +	param		index		UInt32 in value +	param		mask		SampleMaskNV in value +	category	NV_explicit_multisample +	glfflags	ignore +	glxflags	ignore + +TexRenderbufferNV(target, renderbuffer) +	return		void +	param		target		TextureTarget in value +	param		renderbuffer	UInt32 in value +	category	NV_explicit_multisample +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# Extension #358 +# NV_transform_feedback2 commands +# +############################################################################### + +BindTransformFeedbackNV(target, id) +	return		void +	param		target		BufferTargetARB in value +	param		id		UInt32 in value +	category	NV_transform_feedback2 +	glfflags	ignore +	glxflags	ignore + +DeleteTransformFeedbacksNV(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 in array [n] +	category	NV_transform_feedback2 +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + +GenTransformFeedbacksNV(n, ids) +	return		void +	param		n		SizeI in value +	param		ids		UInt32 out array [n] +	category	NV_transform_feedback2 +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + +IsTransformFeedbackNV(id) +	return		Boolean +	param		id		UInt32 in value +	category	NV_transform_feedback2 +	dlflags		notlistable +	glfflags	ignore +	glxflags	ignore + +PauseTransformFeedbackNV() +	return		void +	category	NV_transform_feedback2 +	glfflags	ignore +	glxflags	ignore + +ResumeTransformFeedbackNV() +	return		void +	category	NV_transform_feedback2 +	glfflags	ignore +	glxflags	ignore + +DrawTransformFeedbackNV(mode, id) +	return		void +	param		mode		GLenum in value +	param		id		UInt32 in value +	category	NV_transform_feedback2 +	glfflags	ignore +	glxflags	ignore + +############################################################################### +# +# Extension #359 +# ATI_meminfo commands +# +############################################################################### + +# (none) +newcategory: ATI_meminfo + +############################################################################### +# +# Extension #360 +# AMD_performance_monitor commands +# +############################################################################### + +GetPerfMonitorGroupsAMD(numGroups, groupsSize, groups) +	return		void +	param		numGroups	Int32 out array [1] +	param		groupsSize	SizeI in value +	param		groups		UInt32 out array [groupsSize] +	category	AMD_performance_monitor +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters) +	return		void +	param		group		UInt32 in value +	param		numCounters	Int32 out array [1] +	param		maxActiveCounters Int32 out array [1] +	param		counterSize	SizeI in value +	param		counters	UInt32 out array [counterSize] +	category	AMD_performance_monitor +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetPerfMonitorGroupStringAMD(group, bufSize, length, groupString) +	return		void +	param		group		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		groupString	Char out array [bufSize] +	category	AMD_performance_monitor +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString) +	return		void +	param		group		UInt32 in value +	param		counter		UInt32 in value +	param		bufSize		SizeI in value +	param		length		SizeI out array [1] +	param		counterString	Char out array [bufSize] +	category	AMD_performance_monitor +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetPerfMonitorCounterInfoAMD(group, counter, pname, data) +	return		void +	param		group		UInt32 in value +	param		counter		UInt32 in value +	param		pname		GLenum in value +	param		data		void out array [COMPSIZE(pname)] +	category	AMD_performance_monitor +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GenPerfMonitorsAMD(n, monitors) +	return		void +	param		n		SizeI in value +	param		monitors	UInt32 out array [n] +	category	AMD_performance_monitor +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +# 'monitors' is actually in, not out, but extension spec doesn't use const +DeletePerfMonitorsAMD(n, monitors) +	return		void +	param		n		SizeI in value +	param		monitors	UInt32 out array [n] +	category	AMD_performance_monitor +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +# 'counterList' is actually in, not out, but extension spec doesn't use const +SelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList) +	return		void +	param		monitor		UInt32 in value +	param		enable		Boolean in value +	param		group		UInt32 in value +	param		numCounters	Int32 in value +	param		counterList	UInt32 out array [numCounters] +	category	AMD_performance_monitor +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BeginPerfMonitorAMD(monitor) +	return		void +	param		monitor		UInt32 in value +	category	AMD_performance_monitor +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +EndPerfMonitorAMD(monitor) +	return		void +	param		monitor		UInt32 in value +	category	AMD_performance_monitor +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten) +	return		void +	param		monitor		UInt32 in value +	param		pname		GLenum in value +	param		dataSize	SizeI in value +	param		data		UInt32 out array [dataSize] +	param		bytesWritten	Int32 out array [1] +	category	AMD_performance_monitor +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #361 - WGL_AMD_gpu_association +# +############################################################################### + +############################################################################### +# +# Extension #362 +# AMD_texture_texture4 commands +# +############################################################################### + +# (none) +newcategory: AMD_texture_texture4 + +############################################################################### +# +# Extension #363 +# AMD_vertex_shader_tesselator commands +# +############################################################################### + +TessellationFactorAMD(factor) +	return		void +	param		factor		Float32 in value +	category	AMD_vertex_shader_tesselator +	version		2.0 +	glxsingle	? +	glxflags	ignore +	offset		? + +TessellationModeAMD(mode) +	return		void +	param		mode		GLenum in value +	category	AMD_vertex_shader_tesselator +	version		2.0 +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #364 +# EXT_provoking_vertex commands +# +############################################################################### + +ProvokingVertexEXT(mode) +	return		void +	param		mode		GLenum in value +	category	EXT_provoking_vertex +	version		2.1 +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #365 +# EXT_texture_snorm commands +# +############################################################################### + +# (none) +newcategory: EXT_texture_snorm + +############################################################################### +# +# Extension #366 +# AMD_draw_buffers_blend commands +# +############################################################################### + +# void BlendFuncIndexedAMD(uint buf, enum src, enum dst) +# void BlendFuncSeparateIndexedAMD(uint buf, enum srcRGB, enum dstRGB, enum srcAlpha, enum dstAlpha) +# void BlendEquationIndexedAMD(uint buf, enum mode) +# void BlendEquationSeparateIndexedAMD(uint buf, enum modeRGB, enum modeAlpha) + +BlendFuncIndexedAMD(buf, src, dst) +	return		void +	param		buf		UInt32 in value +	param		src		GLenum in value +	param		dst		GLenum in value +	category	AMD_draw_buffers_blend +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BlendFuncSeparateIndexedAMD(buf, srcRGB, dstRGB, srcAlpha, dstAlpha) +	return		void +	param		buf		UInt32 in value +	param		srcRGB		GLenum in value +	param		dstRGB		GLenum in value +	param		srcAlpha	GLenum in value +	param		dstAlpha	GLenum in value +	category	AMD_draw_buffers_blend +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BlendEquationIndexedAMD(buf, mode) +	return		void +	param		buf		UInt32 in value +	param		mode		GLenum in value +	category	AMD_draw_buffers_blend +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BlendEquationSeparateIndexedAMD(buf, modeRGB, modeAlpha) +	return		void +	param		buf		UInt32 in value +	param		modeRGB		GLenum in value +	param		modeAlpha	GLenum in value +	category	AMD_draw_buffers_blend +	version		2.0 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #367 +# APPLE_texture_range commands +# +############################################################################### + +TextureRangeAPPLE(target, length, pointer) +	return		void +	param		target		GLenum in value +	param		length		SizeI in value +	param		pointer		Void in array [length] +	category	APPLE_texture_range +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetTexParameterPointervAPPLE(target, pname, params) +	return		void +	param		target		GLenum in value +	param		pname		GLenum in value +	param		params		VoidPointer out array [1] +	category	APPLE_texture_range +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #368 +# APPLE_float_pixels commands +# +############################################################################### + +# (none) +newcategory: APPLE_float_pixels + +############################################################################### +# +# Extension #369 +# APPLE_vertex_program_evaluators commands +# +############################################################################### + +EnableVertexAttribAPPLE(index, pname) +	return		void +	param		index		UInt32 in value +	param		pname		GLenum in value +	category	APPLE_vertex_program_evaluators +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +DisableVertexAttribAPPLE(index, pname) +	return		void +	param		index		UInt32 in value +	param		pname		GLenum in value +	category	APPLE_vertex_program_evaluators +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsVertexAttribEnabledAPPLE(index, pname) +	return		Boolean +	param		index		UInt32 in value +	param		pname		GLenum in value +	category	APPLE_vertex_program_evaluators +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points) +	return		void +	param		index		UInt32 in value +	param		size		UInt32 in value +	param		u1		CoordD in value +	param		u2		CoordD in value +	param		stride		Int32 in value +	param		order		CheckedInt32 in value +	param		points		CoordD in array [COMPSIZE(size/stride/order)] +	category	APPLE_vertex_program_evaluators +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points) +	return		void +	param		index		UInt32 in value +	param		size		UInt32 in value +	param		u1		CoordF in value +	param		u2		CoordF in value +	param		stride		Int32 in value +	param		order		CheckedInt32 in value +	param		points		CoordF in array [COMPSIZE(size/stride/order)] +	category	APPLE_vertex_program_evaluators +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points) +	return		void +	param		index		UInt32 in value +	param		size		UInt32 in value +	param		u1		CoordD in value +	param		u2		CoordD in value +	param		ustride		Int32 in value +	param		uorder		CheckedInt32 in value +	param		v1		CoordD in value +	param		v2		CoordD in value +	param		vstride		Int32 in value +	param		vorder		CheckedInt32 in value +	param		points		CoordD in array [COMPSIZE(size/ustride/uorder/vstride/vorder)] +	category	APPLE_vertex_program_evaluators +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points) +	return		void +	param		index		UInt32 in value +	param		size		UInt32 in value +	param		u1		CoordF in value +	param		u2		CoordF in value +	param		ustride		Int32 in value +	param		uorder		CheckedInt32 in value +	param		v1		CoordF in value +	param		v2		CoordF in value +	param		vstride		Int32 in value +	param		vorder		CheckedInt32 in value +	param		points		CoordF in array [COMPSIZE(size/ustride/uorder/vstride/vorder)] +	category	APPLE_vertex_program_evaluators +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #370 +# APPLE_aux_depth_stencil commands +# +############################################################################### + +# (none) +newcategory: APPLE_aux_depth_stencil + +############################################################################### +# +# Extension #371 +# APPLE_object_purgeable commands +# +############################################################################### + +ObjectPurgeableAPPLE(objectType, name, option) +	return		GLenum +	param		objectType	GLenum in value +	param		name		UInt32 in value +	param		option		GLenum in value +	category	APPLE_object_purgeable +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ObjectUnpurgeableAPPLE(objectType, name, option) +	return		GLenum +	param		objectType	GLenum in value +	param		name		UInt32 in value +	param		option		GLenum in value +	category	APPLE_object_purgeable +	version		1.5 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetObjectParameterivAPPLE(objectType, name, pname, params) +	return		void +	param		objectType	GLenum in value +	param		name		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	APPLE_object_purgeable +	dlflags		notlistable +	version		1.5 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #372 +# APPLE_row_bytes commands +# +############################################################################### + +# (none) +newcategory: APPLE_row_bytes + +############################################################################### +# +# Extension #373 +# APPLE_rgb_422 commands +# +############################################################################### + +# (none) +newcategory: APPLE_rgb_422 + +############################################################################### +# +# Extension #374 +# NV_video_capture commands +# +############################################################################### + +BeginVideoCaptureNV(video_capture_slot) +	return		void +	param		video_capture_slot	UInt32 in value +	category	NV_video_capture +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset) +	return		void +	param		video_capture_slot	UInt32 in value +	param		stream		UInt32 in value +	param		frame_region	GLenum in value +	param		offset		BufferOffsetARB in value +	category	NV_video_capture +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +BindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture) +	return		void +	param		video_capture_slot	UInt32 in value +	param		stream		UInt32 in value +	param		frame_region	GLenum in value +	param		target		GLenum in value +	param		texture		UInt32 in value +	category	NV_video_capture +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +EndVideoCaptureNV(video_capture_slot) +	return		void +	param		video_capture_slot	UInt32 in value +	category	NV_video_capture +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetVideoCaptureivNV(video_capture_slot, pname, params) +	return		void +	param		video_capture_slot	UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	NV_video_capture +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVideoCaptureStreamivNV(video_capture_slot, stream, pname, params) +	return		void +	param		video_capture_slot	UInt32 in value +	param		stream		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 out array [COMPSIZE(pname)] +	category	NV_video_capture +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, params) +	return		void +	param		video_capture_slot	UInt32 in value +	param		stream		UInt32 in value +	param		pname		GLenum in value +	param		params		Float32 out array [COMPSIZE(pname)] +	category	NV_video_capture +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, params) +	return		void +	param		video_capture_slot	UInt32 in value +	param		stream		UInt32 in value +	param		pname		GLenum in value +	param		params		Float64 out array [COMPSIZE(pname)] +	category	NV_video_capture +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +VideoCaptureNV(video_capture_slot, sequence_num, capture_time) +	return		GLenum +	param		video_capture_slot	UInt32 in value +	param		sequence_num	UInt32 out reference +	param		capture_time	UInt64EXT out reference +	category	NV_video_capture +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, params) +	return		void +	param		video_capture_slot	UInt32 in value +	param		stream		UInt32 in value +	param		pname		GLenum in value +	param		params		Int32 in array [COMPSIZE(pname)] +	category	NV_video_capture +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, params) +	return		void +	param		video_capture_slot	UInt32 in value +	param		stream		UInt32 in value +	param		pname		GLenum in value +	param		params		Float32 in array [COMPSIZE(pname)] +	category	NV_video_capture +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, params) +	return		void +	param		video_capture_slot	UInt32 in value +	param		stream		UInt32 in value +	param		pname		GLenum in value +	param		params		Float64 in array [COMPSIZE(pname)] +	category	NV_video_capture +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #375 - GLX_EXT_swap_control +# +############################################################################### + +############################################################################### +# +# Extension #376 - also GLX_NV_copy_image, WGL_NV_copy_image +# NV_copy_image commands +# +############################################################################### + +CopyImageSubDataNV(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth) +	return		void +	param		srcName		UInt32 in value +	param		srcTarget	GLenum in value +	param		srcLevel	Int32 in value +	param		srcX		Int32 in value +	param		srcY		Int32 in value +	param		srcZ		Int32 in value +	param		dstName		UInt32 in value +	param		dstTarget	GLenum in value +	param		dstLevel	Int32 in value +	param		dstX		Int32 in value +	param		dstY		Int32 in value +	param		dstZ		Int32 in value +	param		width		SizeI in value +	param		height		SizeI in value +	param		depth		SizeI in value +	category	NV_copy_image +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #377 +# EXT_separate_shader_objects commands +# +############################################################################### + +UseShaderProgramEXT(type, program) +	return		void +	param		type		GLenum in value +	param		program		UInt32 in value +	category	EXT_separate_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ActiveProgramEXT(program) +	return		void +	param		program		UInt32 in value +	category	EXT_separate_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +CreateShaderProgramEXT(type, string) +	return		UInt32 +	param		type		GLenum in value +	param		string		Char in array [] +	category	EXT_separate_shader_objects +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #378 +# NV_parameter_buffer_object2 commands +# +############################################################################### + +newcategory: NV_parameter_buffer_object2 + +############################################################################### +# +# Extension #379 +# NV_shader_buffer_load commands +# +############################################################################### + +MakeBufferResidentNV(target, access) +	return		void +	param		target		GLenum in value +	param		access		GLenum in value +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MakeBufferNonResidentNV(target) +	return		void +	param		target		GLenum in value +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsBufferResidentNV(target) +	return		Boolean +	param		target		GLenum in value +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MakeNamedBufferResidentNV(buffer, access) +	return		void +	param		buffer		UInt32 in value +	param		access		GLenum in value +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +MakeNamedBufferNonResidentNV(buffer) +	return		void +	param		buffer		UInt32 in value +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IsNamedBufferResidentNV(buffer) +	return		Boolean +	param		buffer		UInt32 in value +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetBufferParameterui64vNV(target, pname, params) +	return		void +	param		target		GLenum in value +	param		pname		GLenum in value +	param		params		UInt64EXT out array [COMPSIZE(pname)] +	category	NV_shader_buffer_load +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetNamedBufferParameterui64vNV(buffer, pname, params) +	return		void +	param		buffer		UInt32 in value +	param		pname		GLenum in value +	param		params		UInt64EXT out array [COMPSIZE(pname)] +	category	NV_shader_buffer_load +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +GetIntegerui64vNV(value, result) +	return		void +	param		value		GLenum in value +	param		result		UInt64EXT out array [COMPSIZE(value)] +	category	NV_shader_buffer_load +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +Uniformui64NV(location, value) +	return		void +	param		location	Int32 in value +	param		value		UInt64EXT in value +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +Uniformui64vNV(location, count, value) +	return		void +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt64EXT in array [count] +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetUniformui64vNV(program, location, params) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		params		UInt64EXT out array [COMPSIZE(program/location)] +	category	NV_shader_buffer_load +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +ProgramUniformui64NV(program, location, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		value		UInt64EXT in value +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ProgramUniformui64vNV(program, location, count, value) +	return		void +	param		program		UInt32 in value +	param		location	Int32 in value +	param		count		SizeI in value +	param		value		UInt64EXT in array [count] +	category	NV_shader_buffer_load +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #380 +# NV_vertex_buffer_unified_memory commands +# +############################################################################### + +BufferAddressRangeNV(pname, index, address, length) +	return		void +	param		pname		GLenum in value +	param		index		UInt32 in value +	param		address		UInt64EXT in value +	param		length		BufferSize in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexFormatNV(size, type, stride) +	return		void +	param		size		Int32 in value +	param		type		GLenum in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +NormalFormatNV(type, stride) +	return		void +	param		type		GLenum in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +ColorFormatNV(size, type, stride) +	return		void +	param		size		Int32 in value +	param		type		GLenum in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +IndexFormatNV(type, stride) +	return		void +	param		type		GLenum in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +TexCoordFormatNV(size, type, stride) +	return		void +	param		size		Int32 in value +	param		type		GLenum in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +EdgeFlagFormatNV(stride) +	return		void +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +SecondaryColorFormatNV(size, type, stride) +	return		void +	param		size		Int32 in value +	param		type		GLenum in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +FogCoordFormatNV(type, stride) +	return		void +	param		type		GLenum in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribFormatNV(index, size, type, normalized, stride) +	return		void +	param		index		UInt32 in value +	param		size		Int32 in value +	param		type		GLenum in value +	param		normalized	Boolean in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +VertexAttribIFormatNV(index, size, type, stride) +	return		void +	param		index		UInt32 in value +	param		size		Int32 in value +	param		type		GLenum in value +	param		stride		SizeI in value +	category	NV_vertex_buffer_unified_memory +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +GetIntegerui64i_vNV(value, index, result) +	return		void +	param		value		GLenum in value +	param		index		UInt32 in value +	param		result		UInt64EXT out array [COMPSIZE(value)] +	category	NV_vertex_buffer_unified_memory +	dlflags		notlistable +	version		1.2 +	extension +	glxsingle	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #381 +# NV_texture_barrier commands +# +############################################################################### + +TextureBarrierNV() +	return		void +	category	NV_texture_barrier +	version		1.2 +	extension +	glxropcode	? +	glxflags	ignore +	offset		? + +############################################################################### +# +# Extension #382 +# AMD_shader_stencil_export commands +# +############################################################################### + +newcategory: AMD_shader_stencil_export + +############################################################################### +# +# Extension #383 +# AMD_seamless_cubemap_per_texture commands +# +############################################################################### + +newcategory: AMD_seamless_cubemap_per_texture + +############################################################################### +# +# Extension #384 - GLX_INTEL_swap_event +# +############################################################################### + +############################################################################### +# +# Extension #385 +# AMD_conservative_depth commands +# +############################################################################### + +newcategory: AMD_conservative_depth + diff --git a/src/glx/apple/specs/gl.tm b/src/glx/apple/specs/gl.tm new file mode 100644 index 0000000000..fb4f8515cd --- /dev/null +++ b/src/glx/apple/specs/gl.tm @@ -0,0 +1,322 @@ +AccumOp,*,*,			    GLenum,*,* +AlphaFunction,*,*,		    GLenum,*,* +AttribMask,*,*,			    GLbitfield,*,* +BeginMode,*,*,			    GLenum,*,* +BinormalPointerTypeEXT,*,*,	    GLenum,*,* +BlendEquationMode,*,*,		    GLenum,*,* +BlendEquationModeEXT,*,*,	    GLenum,*,* +BlendFuncSeparateParameterEXT,*,*,  GLenum,*,* +BlendingFactorDest,*,*,		    GLenum,*,* +BlendingFactorSrc,*,*,		    GLenum,*,* +Boolean,*,*,			    GLboolean,*,* +BooleanPointer,*,*,		    GLboolean*,*,* +Char,*,*,			    GLchar,*,* +CharPointer,*,*,		    GLchar*,*,* +CheckedFloat32,*,*,		    GLfloat,*,* +CheckedInt32,*,*,		    GLint,*,* +ClampColorTargetARB,*,*,	    GLenum,*,* +ClampColorModeARB,*,*,		    GLenum,*,* +ClampedColorF,*,*,		    GLclampf,*,* +ClampedFloat32,*,*,		    GLclampf,*,* +ClampedFloat64,*,*,		    GLclampd,*,* +ClampedStencilValue,*,*,	    GLint,*,* +ClearBufferMask,*,*,		    GLbitfield,*,* +ClientAttribMask,*,*,		    GLbitfield,*,* +ClipPlaneName,*,*,		    GLenum,*,* +ColorB,*,*,			    GLbyte,*,* +ColorD,*,*,			    GLdouble,*,* +ColorF,*,*,			    GLfloat,*,* +ColorI,*,*,			    GLint,*,* +ColorIndexValueD,*,*,		    GLdouble,*,* +ColorIndexValueF,*,*,		    GLfloat,*,* +ColorIndexValueI,*,*,		    GLint,*,* +ColorIndexValueS,*,*,		    GLshort,*,* +ColorIndexValueUB,*,*,		    GLubyte,*,* +ColorMaterialParameter,*,*,	    GLenum,*,* +ColorPointerType,*,*,		    GLenum,*,* +ColorS,*,*,			    GLshort,*,* +ColorTableParameterPName,*,*,	    GLenum,*,* +ColorTableParameterPNameSGI,*,*,    GLenum,*,* +ColorTableTarget,*,*,		    GLenum,*,* +ColorTableTargetSGI,*,*,	    GLenum,*,* +ColorUB,*,*,			    GLubyte,*,* +ColorUI,*,*,			    GLuint,*,* +ColorUS,*,*,			    GLushort,*,* +CombinerBiasNV,*,*,		    GLenum,*,* +CombinerComponentUsageNV,*,*,	    GLenum,*,* +CombinerMappingNV,*,*,		    GLenum,*,* +CombinerParameterNV,*,*,	    GLenum,*,* +CombinerPortionNV,*,*,		    GLenum,*,* +CombinerRegisterNV,*,*,		    GLenum,*,* +CombinerScaleNV,*,*,		    GLenum,*,* +CombinerStageNV,*,*,		    GLenum,*,* +CombinerVariableNV,*,*,		    GLenum,*,* +CompressedTextureARB,*,*,	    GLvoid,*,* +ControlPointNV,*,*,		    GLvoid,*,* +ControlPointTypeNV,*,*,		    GLenum,*,* +ConvolutionParameter,*,*,	    GLenum,*,* +ConvolutionParameterEXT,*,*,	    GLenum,*,* +ConvolutionTarget,*,*,		    GLenum,*,* +ConvolutionTargetEXT,*,*,	    GLenum,*,* +CoordD,*,*,			    GLdouble,*,* +CoordF,*,*,			    GLfloat,*,* +CoordI,*,*,			    GLint,*,* +CoordS,*,*,			    GLshort,*,* +CullFaceMode,*,*,		    GLenum,*,* +CullParameterEXT,*,*,		    GLenum,*,* +DepthFunction,*,*,		    GLenum,*,* +DrawBufferMode,*,*,		    GLenum,*,* +DrawBufferName,*,*,		    GLint,*,* +DrawElementsType,*,*,		    GLenum,*,* +ElementPointerTypeATI,*,*,	    GLenum,*,* +EnableCap,*,*,			    GLenum,*,* +ErrorCode,*,*,			    GLenum,*,* +EvalMapsModeNV,*,*,		    GLenum,*,* +EvalTargetNV,*,*,		    GLenum,*,* +FeedbackElement,*,*,		    GLfloat,*,* +FeedbackType,*,*,		    GLenum,*,* +FenceNV,*,*,			    GLuint,*,* +FenceConditionNV,*,*,		    GLenum,*,* +FenceParameterNameNV,*,*,	    GLenum,*,* +FfdMaskSGIX,*,*,		    GLbitfield,*,* +FfdTargetSGIX,*,*,		    GLenum,*,* +Float32,*,*,			    GLfloat,*,* +Float32Pointer,*,*,		    GLfloat*,*,* +Float64,*,*,			    GLdouble,*,* +Float64Pointer,*,*,		    GLdouble*,*,* +FogParameter,*,*,		    GLenum,*,* +FogPointerTypeEXT,*,*,		    GLenum,*,* +FogPointerTypeIBM,*,*,		    GLenum,*,* +FragmentLightModelParameterSGIX,*,*,GLenum,*,* +FragmentLightNameSGIX,*,*,	    GLenum,*,* +FragmentLightParameterSGIX,*,*,     GLenum,*,* +FramebufferAttachment,*,*,	    GLenum,*,* +FramebufferTarget,*,*,		    GLenum,*,* +FrontFaceDirection,*,*,		    GLenum,*,* +FunctionPointer,*,*,		    _GLfuncptr,*,* +GetColorTableParameterPName,*,*,    GLenum,*,* +GetColorTableParameterPNameSGI,*,*, GLenum,*,* +GetConvolutionParameterPName,*,*,   GLenum,*,* +GetHistogramParameterPName,*,*,     GLenum,*,* +GetHistogramParameterPNameEXT,*,*,  GLenum,*,* +GetMapQuery,*,*,		    GLenum,*,* +GetMinmaxParameterPName,*,*,	    GLenum,*,* +GetMinmaxParameterPNameEXT,*,*,     GLenum,*,* +GetPName,*,*,			    GLenum,*,* +GetPointervPName,*,*,		    GLenum,*,* +GetTextureParameter,*,*,	    GLenum,*,* +HintMode,*,*,			    GLenum,*,* +HintTarget,*,*,			    GLenum,*,* +HintTargetPGI,*,*,		    GLenum,*,* +HistogramTarget,*,*,		    GLenum,*,* +HistogramTargetEXT,*,*,		    GLenum,*,* +IglooFunctionSelectSGIX,*,*,	    GLenum,*,* +IglooParameterSGIX,*,*,		    GLvoid,*,* +ImageTransformPNameHP,*,*,	    GLenum,*,* +ImageTransformTargetHP,*,*,	    GLenum,*,* +IndexFunctionEXT,*,*,		    GLenum,*,* +IndexMaterialParameterEXT,*,*,	    GLenum,*,* +IndexPointerType,*,*,		    GLenum,*,* +Int16,*,*,			    GLshort,*,* +Int32,*,*,			    GLint,*,* +Int8,*,*,			    GLbyte,*,* +InterleavedArrayFormat,*,*,	    GLenum,*,* +LightEnvParameterSGIX,*,*,	    GLenum,*,* +LightModelParameter,*,*,	    GLenum,*,* +LightName,*,*,			    GLenum,*,* +LightParameter,*,*,		    GLenum,*,* +LightTextureModeEXT,*,*,	    GLenum,*,* +LightTexturePNameEXT,*,*,	    GLenum,*,* +LineStipple,*,*,		    GLushort,*,* +List,*,*,			    GLuint,*,* +ListMode,*,*,			    GLenum,*,* +ListNameType,*,*,		    GLenum,*,* +ListParameterName,*,*,		    GLenum,*,* +LogicOp,*,*,			    GLenum,*,* +MapAttribParameterNV,*,*,	    GLenum,*,* +MapParameterNV,*,*,		    GLenum,*,* +MapTarget,*,*,			    GLenum,*,* +MapTargetNV,*,*,		    GLenum,*,* +MapTypeNV,*,*,			    GLenum,*,* +MaskedColorIndexValueF,*,*,	    GLfloat,*,* +MaskedColorIndexValueI,*,*,	    GLuint,*,* +MaskedStencilValue,*,*,		    GLuint,*,* +MaterialFace,*,*,		    GLenum,*,* +MaterialParameter,*,*,		    GLenum,*,* +MatrixIndexPointerTypeARB,*,*,	    GLenum,*,* +MatrixMode,*,*,			    GLenum,*,* +MatrixTransformNV,*,*,		    GLenum,*,* +MeshMode1,*,*,			    GLenum,*,* +MeshMode2,*,*,			    GLenum,*,* +MinmaxTarget,*,*,		    GLenum,*,* +MinmaxTargetEXT,*,*,		    GLenum,*,* +NormalPointerType,*,*,		    GLenum,*,* +NurbsCallback,*,*,		    GLenum,*,* +NurbsObj,*,*,			    GLUnurbs*,*,* +NurbsProperty,*,*,		    GLenum,*,* +NurbsTrim,*,*,			    GLenum,*,* +OcclusionQueryParameterNameNV,*,*,  GLenum,*,* +PixelCopyType,*,*,		    GLenum,*,* +PixelFormat,*,*,		    GLenum,*,* +PixelInternalFormat,*,*,	    GLenum,*,* +PixelMap,*,*,			    GLenum,*,* +PixelStoreParameter,*,*,	    GLenum,*,* +PixelTexGenModeSGIX,*,*,	    GLenum,*,* +PixelTexGenParameterNameSGIS,*,*,   GLenum,*,* +PixelTransferParameter,*,*,	    GLenum,*,* +PixelTransformPNameEXT,*,*,	    GLenum,*,* +PixelTransformTargetEXT,*,*,	    GLenum,*,* +PixelType,*,*,			    GLenum,*,* +PointParameterNameARB,*,*,	    GLenum,*,* +PolygonMode,*,*,		    GLenum,*,* +ProgramNV,*,*,			    GLuint,*,* +ProgramCharacterNV,*,*,		    GLubyte,*,* +ProgramParameterNV,*,*,		    GLenum,*,* +ProgramParameterPName,*,*,	    GLenum,*,* +QuadricCallback,*,*,		    GLenum,*,* +QuadricDrawStyle,*,*,		    GLenum,*,* +QuadricNormal,*,*,		    GLenum,*,* +QuadricObj,*,*,			    GLUquadric*,*,* +QuadricOrientation,*,*,		    GLenum,*,* +ReadBufferMode,*,*,		    GLenum,*,* +RenderbufferTarget,*,*,		    GLenum,*,* +RenderingMode,*,*,		    GLenum,*,* +ReplacementCodeSUN,*,*,		    GLuint,*,* +ReplacementCodeTypeSUN,*,*,	    GLenum,*,* +SamplePassARB,*,*,		    GLenum,*,* +SamplePatternEXT,*,*,		    GLenum,*,* +SamplePatternSGIS,*,*,		    GLenum,*,* +SecondaryColorPointerTypeIBM,*,*,   GLenum,*,* +SelectName,*,*,			    GLuint,*,* +SeparableTarget,*,*,		    GLenum,*,* +SeparableTargetEXT,*,*,		    GLenum,*,* +ShadingModel,*,*,		    GLenum,*,* +SizeI,*,*,			    GLsizei,*,* +SpriteParameterNameSGIX,*,*,	    GLenum,*,* +StencilFunction,*,*,		    GLenum,*,* +StencilFaceDirection,*,*,	    GLenum,*,* +StencilOp,*,*,			    GLenum,*,* +StencilValue,*,*,		    GLint,*,* +String,*,*,			    const GLubyte *,*,* +StringName,*,*,			    GLenum,*,* +TangentPointerTypeEXT,*,*,	    GLenum,*,* +TessCallback,*,*,		    GLenum,*,* +TessContour,*,*,		    GLenum,*,* +TessProperty,*,*,		    GLenum,*,* +TesselatorObj,*,*,		    GLUtesselator*,*,* +TexCoordPointerType,*,*,	    GLenum,*,* +Texture,*,*,			    GLuint,*,* +TextureComponentCount,*,*,	    GLint,*,* +TextureCoordName,*,*,		    GLenum,*,* +TextureEnvParameter,*,*,	    GLenum,*,* +TextureEnvTarget,*,*,		    GLenum,*,* +TextureFilterSGIS,*,*,		    GLenum,*,* +TextureGenParameter,*,*,	    GLenum,*,* +TextureNormalModeEXT,*,*,	    GLenum,*,* +TextureParameterName,*,*,	    GLenum,*,* +TextureTarget,*,*,		    GLenum,*,* +TextureUnit,*,*,		    GLenum,*,* +UInt16,*,*,			    GLushort,*,* +UInt32,*,*,			    GLuint,*,* +UInt8,*,*,			    GLubyte,*,* +VertexAttribEnum,*,*,		    GLenum,*,* +VertexAttribEnumNV,*,*,		    GLenum,*,* +VertexAttribPointerTypeNV,*,*,	    GLenum,*,* +VertexPointerType,*,*,		    GLenum,*,* +VertexWeightPointerTypeEXT,*,*,     GLenum,*,* +Void,*,*,			    GLvoid,*,* +VoidPointer,*,*,		    GLvoid*,*,* +ConstVoidPointer,*,*,		    GLvoid* const,*,* +WeightPointerTypeARB,*,*,	    GLenum,*,* +WinCoord,*,*,			    GLint,*,* +void,*,*,			    *,*,* +ArrayObjectPNameATI,*,*,	    GLenum,*,* +ArrayObjectUsageATI,*,*,	    GLenum,*,*, +ConstFloat32,*,*,		    GLfloat,*,* +ConstInt32,*,*,			    GLint,*,* +ConstUInt32,*,*,		    GLuint,*,* +ConstVoid,*,*,			    GLvoid,*,* +DataTypeEXT,*,*,		    GLenum,*,* +FragmentOpATI,*,*,		    GLenum,*,* +GetTexBumpParameterATI,*,*,	    GLenum,*,* +GetVariantValueEXT,*,*,		    GLenum,*,* +ParameterRangeEXT,*,*,		    GLenum,*,* +PreserveModeATI,*,*,		    GLenum,*,* +ProgramFormatARB,*,*,		    GLenum,*,* +ProgramTargetARB,*,*,		    GLenum,*,* +ProgramTarget,*,*,		    GLenum,*,* +ProgramPropertyARB,*,*,		    GLenum,*,* +ProgramStringPropertyARB,*,*,	    GLenum,*,* +ScalarType,*,*,			    GLenum,*,* +SwizzleOpATI,*,*,		    GLenum,*,* +TexBumpParameterATI,*,*,	    GLenum,*,* +VariantCapEXT,*,*,		    GLenum,*,* +VertexAttribPointerPropertyARB,*,*, GLenum,*,* +VertexAttribPointerTypeARB,*,*,     GLenum,*,* +VertexAttribPropertyARB,*,*,	    GLenum,*,* +VertexShaderCoordOutEXT,*,*,	    GLenum,*,* +VertexShaderOpEXT,*,*,		    GLenum,*,* +VertexShaderParameterEXT,*,*,	    GLenum,*,* +VertexShaderStorageTypeEXT,*,*,     GLenum,*,* +VertexShaderTextureUnitParameter,*,*,	GLenum,*,* +VertexShaderWriteMaskEXT,*,*,	    GLenum,*,* +VertexStreamATI,*,*,		    GLenum,*,* +PNTrianglesPNameATI,*,*,	    GLenum,*,* +# ARB_vertex_buffer_object types and core equivalents for new types +BufferOffset,*,*,		    GLintptr,*,* +BufferSize,*,*,			    GLsizeiptr,*,* +BufferAccessARB,*,*,		    GLenum,*,* +BufferOffsetARB,*,*,		    GLintptrARB,*,* +BufferPNameARB,*,*,		    GLenum,*,* +BufferPointerNameARB,*,*,	    GLenum,*,* +BufferSizeARB,*,*,		    GLsizeiptrARB,*,* +BufferTargetARB,*,*,		    GLenum,*,* +BufferUsageARB,*,*,		    GLenum,*,* +# APPLE_fence +ObjectTypeAPPLE,*,*,		    GLenum,*,* +# APPLE_vertex_array_range +VertexArrayPNameAPPLE,*,*,	    GLenum,*,* +# ATI_draw_buffers +DrawBufferModeATI,*,*,		    GLenum,*,* +# NV_half +Half16NV,*,*,			    GLhalfNV,*,* +# NV_pixel_data_range +PixelDataRangeTargetNV,*,*,	    GLenum,*,* +# Generic types for as-yet-unspecified enums +TypeEnum,*,*,			    GLenum,*,* +GLbitfield,*,*,			    GLbitfield,*,* +GLenum,*,*,			    GLenum,*,* +Int64,*,*,			    GLint64,*,* +UInt64,*,*,			    GLuint64,*,* +# Object handle & data pointers +handleARB,*,*,			    GLhandleARB,*,* +charARB,*,*,			    GLcharARB,*,* +charPointerARB,*,*,		    GLcharARB*,*,* +sync,*,*,			    GLsync,*,*, +# EXT_timer_query +Int64EXT,*,*,			    GLint64EXT,*,* +UInt64EXT,*,*,			    GLuint64EXT,*,* +# EXT_direct_state_access +FramebufferAttachment,*,*,	    GLenum,*,* +FramebufferAttachmentParameterName,*,*, GLenum,*,* +Framebuffer,*,*,		    GLuint,*,* +FramebufferStatus,*,*,		    GLenum,*,* +FramebufferTarget,*,*,		    GLenum,*,* +GetFramebufferParameter,*,*,	    GLenum,*,* +Intptr,*,*,			    GLintptr,*,* +ProgramFormat,*,*,		    GLenum,*,* +ProgramProperty,*,*,		    GLenum,*,* +ProgramStringProperty,*,*,	    GLenum,*,* +ProgramTarget,*,*,		    GLenum,*,* +Renderbuffer,*,*,		    GLuint,*,* +RenderbufferParameterName,*,*,	    GLenum,*,* +Sizeiptr,*,*,			    GLsizeiptr,*,* +TextureInternalFormat,*,*,	    GLenum,*,* +VertexBufferObjectAccess,*,*,	    GLenum,*,* +VertexBufferObjectParameter,*,*,    GLenum,*,* +VertexBufferObjectUsage,*,*,	    GLenum,*,* +# ARB_map_buffer_range +BufferAccessMask,*,*,		    GLbitfield,*,* +# NV_explicit_multisample +GetMultisamplePNameNV,*,*,	    GLenum,*,* +SampleMaskNV,*,*,		    GLbitfield,*,* diff --git a/src/glx/apple/specs/glx.spec b/src/glx/apple/specs/glx.spec new file mode 100644 index 0000000000..b8b8df296c --- /dev/null +++ b/src/glx/apple/specs/glx.spec @@ -0,0 +1,602 @@ +# Copyright (c) 1991-2005 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2006-2010 The Khronos Group, Inc. +# +# This document is licensed under the SGI Free Software B License Version +# 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . +# +# $Revision: 10796 $ on $Date: 2010-03-19 17:31:10 -0700 (Fri, 19 Mar 2010) $ + +required-props: +param:		retval retained +dlflags:	notlistable handcode nop +glxflags:	client-handcode server-handcode +glxvendorglx:	* +vectorequiv:	* +category:	pixel-rw bgn-end display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform glx glxopcode +glxopcode:		* + +############################################################################### +# +# GLX1.0 commands +# +############################################################################### +Render() +	return		 void +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 1 + + +RenderLarge() +	return		 void +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 2 + + +CreateContext(gc_id, screen, visual, share_list) +	return		 void +	param		 gc_id		Int32 in value +	param		 screen		Int32 in value +	param		 visual		Int32 in value +	param		 share_list	Int32 in value +	glxflags	 client-handcode server-handcode +	category	 glx +	dlflags		 notlistable +	glxopcode	 3 + + +DestroyContext(context) +	return		 void +	param		 context       Int32 in value +	glxflags	 client-handcode server-handcode +	category	 glx +	dlflags		 notlistable +	glxopcode	 4 + + +MakeCurrent(drawable, context) +	return		 void +	param		 drawable	Int32 in value +	param		 context       Int32 in value +	glxflags	 client-handcode server-handcode +	category	 glx +	dlflags		 notlistable +	glxopcode	 5 + + +IsDirect(dpy, context) +	return		void +	param		dpy		Int32 in value +	param		context		Int32 in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxopcode	6 + + +QueryVersion(major, minor) +	return		 void +	param		 major		Int32 out reference +	param		 minor		Int32 out reference +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 7 + + +WaitGL(context) +	return		 void +	param		 context	Int32 in value +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 8 + + +WaitX() +	return		 void +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 9 + + +CopyContext(source, dest, mask) +	return		 void +	param		 source		Int32 in value +	param		 dest		Int32 in value +	param		 mask		Int32 in value +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 10 + + +SwapBuffers(drawable) +	return		 void +	param		 drawable	Int32 in value +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 11 + + +UseXFont(font, first, count, list_base) +	return		 void +	param		 font		Int32 in value +	param		 first		Int32 in value +	param		 count		Int32 in value +	param		 list_base	Int32 in value +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 12 + + +CreateGLXPixmap(visual, pixmap, glxpixmap) +	return		 void +	param		 visual		Int32 in value +	param		 pixmap		Int32 in value +	param		 glxpixmap	Int32 in value +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 13 + +GetVisualConfigs() +	return		 void +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxopcode	 14 + + +DestroyGLXPixmap(pixmap) +	return		 void +	param		 pixmap		Int32 in value +	glxflags	 client-handcode +	category	 glx +	dlflags		 notlistable +	glxopcode	 15 + + +VendorPrivate() +	return		void +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxopcode	16 + + +VendorPrivateWithReply() +	return		void +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxopcode	17 + +############################################################################### +# +# GLX1.1 commands +# +############################################################################### +QueryExtensionsString(screen) +	return		void +	param		screen		Int32 in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxopcode	18 + +QueryServerString(screen, name) +	return		void +	param		screen		Int32 in value +	param		name		Int32 in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxopcode	19 + +ClientInfo() +	return		void +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxopcode	20 + +############################################################################### +# +# GLX1.3 commands +# +############################################################################### +GetFBConfigs() +	return		void +	category	glx +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	glxopcode	21 + +CreatePixmap(config, pixmap, glxpixmap) +	return		void +	param		config		Int32 in value +	param		pixmap		Int32 in value +	param		glxpixmap	Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	22 + +DestroyPixmap(glxpixmap) +	return		void +	param		glxpixmap	Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	23 + +CreateNewContext(config, render_type, share_list, direct) +	return		void +	param		config		Int32 in value +	param		render_type	Int32 in value +	param		share_list	Int32 in value +	param		direct		Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	24 + +QueryContext() +	return		void +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	25 + +MakeContextCurrent(drawable, readdrawable, context) +	return		void +	param		drawable	Int32 in value +	param		readdrawable	Int32 in value +	param		context		Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	26 + +CreatePbuffer(config, pbuffer) +	return		void +	param		config		Int32 in value +	param		pbuffer		Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	27 + +DestroyPbuffer(pbuffer) +	return		void +	param		pbuffer		Int32 in value +	dlflags		notlistable +	glxflags	client-handcode +	category	glx +	glxopcode	28 + +GetDrawableAttributes(drawable) +	return		void +	param		drawable	Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	29 + +ChangeDrawableAttributes(drawable) +	return		void +	param		drawable	Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	30 + +CreateWindow(config, window, glxwindow) +	return		void +	param		config		Int32 in value +	param		window		Int32 in value +	param		glxwindow	Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	31 + +DestroyWindow(glxwindow) +	return		void +	param		glxwindow	Int32 in value +	dlflags		notlistable +	glxflags	client-handcode server-handcode +	category	glx +	glxopcode	32 + +############################################################################### +# +# IRIX5.3 extension commands +# +############################################################################### + +############################################################################### +# +# SGI_swap_control extension commands +# +############################################################################### +SwapIntervalSGI() +	return		void +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65536 + +############################################################################### +# +# IRIX5.3-PATCH154 extension commands +# +############################################################################### + +############################################################################### +# +# SGI_make_current_read extension commands +# +############################################################################### +MakeCurrentReadSGI(drawable, readdrawable, context) +	return		void +	param		drawable	Int32 in value +	param		readdrawable	Int32 in value +	param		context		Int32 in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65537 + +############################################################################### +# +# SGIX_video_source extension commands +# +############################################################################### +CreateGLXVideoSourceSGIX(dpy, screen, server, path, class, node) +	return		void +	param		dpy			Int32 in value +	param		screen			Int32 in value +	param		server			Int32 in value +	param		path			Int32 in value +	param		class			Int32 in value +	param		node			Int32 in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65538 + +DestroyGLXVideoSourceSGIX(dpy, glxvideosource) +	return		void +	param		dpy			Int32 in value +	param		glxvideosource		Int32 in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65539 + +############################################################################### +# +# IRIX6.2 extension commands +# +############################################################################### + +############################################################################### +# +# EXT_import_context extension commands +# +############################################################################### +QueryContextInfoEXT() +	return		 void +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxvendorglx	 1024 + +############################################################################### +# +# SGIX_fbconfig extension commands +# +############################################################################### +GetFBConfigsSGIX() +	return		 void +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxvendorglx	 65540 + +CreateContextWithConfigSGIX(gc_id, screen, config, share_list) +	return		 void +	param		 gc_id		Int32 in value +	param		 screen		Int32 in value +	param		 config		Int32 in value +	param		 share_list	Int32 in value +	glxflags	 client-handcode server-handcode +	category	 glx +	dlflags		 notlistable +	glxvendorglx	 65541 + +CreateGLXPixmapWithConfigSGIX(config, pixmap, glxpixmap) +	return		 void +	param		 config		Int32 in value +	param		 pixmap		Int32 in value +	param		 glxpixmap	Int32 in value +	category	 glx +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	glxvendorglx	 65542 + +############################################################################### +# +# SGIX_pbuffer extension commands +# +############################################################################### + +CreateGLXPbufferSGIX(config, pbuffer) +	return		 void +	param		 config		Int32 in value +	param		 pbuffer	Int32 in value +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	category	 glx +	glxvendorglx	 65543 + +DestroyGLXPbufferSGIX(pbuffer) +	return		 void +	param		 pbuffer	Int32 in value +	dlflags		 notlistable +	glxflags	 client-handcode +	category	 glx +	glxvendorglx	 65544 + +ChangeDrawableAttributesSGIX(drawable) +	return		 void +	param		 drawable	Int32 in value +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	category	 glx +	glxvendorglx	 65545 + +GetDrawableAttributesSGIX(drawable) +	return		 void +	param		 drawable	Int32 in value +	dlflags		 notlistable +	glxflags	 client-handcode server-handcode +	category	 glx +	glxvendorglx	 65546 + +############################################################################### +# +# SGIX_swap_group extension commands +# +############################################################################### + +JoinSwapGroupSGIX(window,group) +	return		void +	param		window		Int32 in value +	param		group		Int32 in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65547 + +############################################################################### +# +# SGIX_swap_barrier extension commands +# +############################################################################### + +BindSwapBarrierSGIX(window,barrier) +	return		void +	param		window		Int32 in value +	param		barrier		Int32 in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65548 + +QueryMaxSwapBarriersSGIX() +	return		void +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65549 + +############################################################################### +# +# SGIX_hyperpipe extension commands +# +############################################################################### + +QueryHyperpipeNetworkSGIX(dpy, npipes) +	return		GLXHyperpipeNetworkPointer +	param		dpy		Display out reference +	param		npipes		int out reference +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65550 + +HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId) +	return		int +	param		dpy		Display out reference +	param		networkId	int in value +	param		npipes		int in value +	param		cfg		GLXHyperpipeConfig in array[npipes] +	param		hpId		int out reference +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65552 + +QueryHyperpipeConfigSGIX(dpy, hpId, npipes) +	return		GLXHyperpipeConfigPointer +	param		dpy		Display out reference +	param		hpId		int in value +	param		npipes		int out reference +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65551 + +DestroyHyperpipeConfigSGIX(dpy, hpId) +	return		int +	param		dpy		Display out reference +	param		hpId		int in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	65553 + +BindHyperpipeSGIX(dpy, hpId) +	return		int +	param		dpy		Display out reference +	param		hpId		int in value +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	??? + +QueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList) +	return		int +	param		dpy		Display out reference +	param		timeSlice	int in value +	param		attrib		int in value +	param		size		int in value +	param		attribList	Void in array[size] +	param		returnAttribList Void out array[size] +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	??? + +HyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList) +	return		int +	param		dpy		Display out reference +	param		timeSlice	int in value +	param		attrib		int in value +	param		size		int in value +	param		attribList	void in array[size] +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	??? + +QueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList) +	return		int +	param		dpy		Display out reference +	param		timeSlice	int in value +	param		attrib		int in value +	param		size		int in value +	param		returnAttribList void in array[size] +	glxflags	client-handcode server-handcode +	category	glx +	dlflags		notlistable +	glxvendorglx	??? diff --git a/src/glx/apple/specs/glxenum.spec b/src/glx/apple/specs/glxenum.spec new file mode 100644 index 0000000000..547f19e1c2 --- /dev/null +++ b/src/glx/apple/specs/glxenum.spec @@ -0,0 +1,420 @@ +# Copyright (c) 1991-2005 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2006-2010 The Khronos Group, Inc. +# +# This document is licensed under the SGI Free Software B License Version +# 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . +# +# $Revision: 10796 $ on $Date: 2010-03-19 17:31:10 -0700 (Fri, 19 Mar 2010) $ + +# This is the GLX enumerant registry. +# +# It is an extremely important file. Do not mess with it unless +# you know what you're doing and have permission to do so. +# +# Rules for modification are the same as the rules for the OpenGL +# enumerant registry (gl.spec). Basically, don't modify this +# file unless you're the Khronos API Registrar. + +Extensions define: +	VERSION_1_1					= 1 +	VERSION_1_2					= 1 +	VERSION_1_3					= 1 +	VERSION_1_4					= 1 +	SGIS_multisample				= 1 +	EXT_visual_info					= 1 +	SGI_swap_control				= 1 +	SGI_video_sync					= 1 +	SGI_make_current_read				= 1 +	SGIX_video_source				= 1 +	EXT_visual_rating				= 1 +	EXT_import_context				= 1 +	SGIX_fbconfig					= 1 +	SGIX_pbuffer					= 1 +	SGI_cushion					= 1 +	SGIX_video_resize				= 1 +	SGIX_dmbuffer					= 1 +	SGIX_swap_group					= 1 +	SGIX_swap_barrier				= 1 +	SGIS_blended_overlay				= 1 +	SGIS_shared_multisample				= 1 +	SUN_get_transparent_index			= 1 +	3DFX_multisample				= 1 +	MESA_copy_sub_buffer				= 1 +	MESA_pixmap_colormap				= 1 +	MESA_release_buffers				= 1 +	MESA_set_3dfx_mode				= 1 +	SGIX_visual_select_group			= 1 +	SGIX_hyperpipe				  = 1 + +GLXStringName enum: +	VENDOR						= 0x1 +	VERSION						= 0x2 +	EXTENSIONS					= 0x3 + +GLXErrorCode enum: +	BAD_SCREEN					= 1 +	BAD_ATTRIBUTE					= 2 +	NO_EXTENSION					= 3 +	BAD_VISUAL					= 4 +	BAD_CONTEXT					= 5 +	BAD_VALUE					= 6 +	BAD_ENUM					= 7 +	BAD_HYPERPIPE_CONFIG_SGIX			= 91		# SGIX_hyperpipe +	BAD_HYPERPIPE_SGIX				= 92		#   " + +# Reserved bits in bitfields of various purposes + +GLXDrawableTypeMask enum: +	WINDOW_BIT					= 0x00000001	# DRAWABLE_TYPE value +	PIXMAP_BIT					= 0x00000002	#   " +	PBUFFER_BIT					= 0x00000004	#   " +	WINDOW_BIT_SGIX					= 0x00000001	# DRAWABLE_TYPE_SGIX value +	PIXMAP_BIT_SGIX					= 0x00000002	#   " +	PBUFFER_BIT_SGIX				= 0x00000004	#   " + +GLXRenderTypeMask enum: +	RGBA_BIT					= 0x00000001	# RENDER_TYPE value +	COLOR_INDEX_BIT					= 0x00000002	#   " +	RGBA_BIT_SGIX					= 0x00000001	# RENDER_TYPE_SGIX value +	COLOR_INDEX_BIT_SGIX				= 0x00000002	#   " +	RGBA_FLOAT_BIT_ARB				= 0x00000004	# RENDER_TYPE value (from ARB_fbconfig_float) +	RGBA_UNSIGNED_FLOAT_BIT_EXT			= 0x00000008	# RENDER_TYPE value (from EXT_fbconfig_packed_float) + +GLXSyncType enum: +	SYNC_FRAME_SGIX					= 0x00000000	# ChannelRectSyncSGIX synctype +	SYNC_SWAP_SGIX					= 0x00000001	#   " + +GLXEventMask enum: +	PBUFFER_CLOBBER_MASK				= 0x08000000	# SelectEvent mask +	BUFFER_CLOBBER_MASK_SGIX			= 0x08000000	# SelectEventSGIX mask +	BUFFER_SWAP_COMPLETE_INTEL_MASK			= 0x04000000	# SelectEvent mask (for GLX_INTEL_swap_event) + +GLXPbufferClobberMask enum: +	FRONT_LEFT_BUFFER_BIT				= 0x00000001	# PbufferClobberEvent mask +	FRONT_RIGHT_BUFFER_BIT				= 0x00000002	#   " +	BACK_LEFT_BUFFER_BIT				= 0x00000004	#   " +	BACK_RIGHT_BUFFER_BIT				= 0x00000008	#   " +	AUX_BUFFERS_BIT					= 0x00000010	#   " +	DEPTH_BUFFER_BIT				= 0x00000020	#   " +	STENCIL_BUFFER_BIT				= 0x00000040	#   " +	ACCUM_BUFFER_BIT				= 0x00000080	#   " +	FRONT_LEFT_BUFFER_BIT_SGIX			= 0x00000001	# BufferClobberEventSGIX mask +	FRONT_RIGHT_BUFFER_BIT_SGIX			= 0x00000002	#   " +	BACK_LEFT_BUFFER_BIT_SGIX			= 0x00000004	#   " +	BACK_RIGHT_BUFFER_BIT_SGIX			= 0x00000008	#   " +	AUX_BUFFERS_BIT_SGIX				= 0x00000010	#   " +	DEPTH_BUFFER_BIT_SGIX				= 0x00000020	#   " +	STENCIL_BUFFER_BIT_SGIX				= 0x00000040	#   " +	ACCUM_BUFFER_BIT_SGIX				= 0x00000080	#   " +	SAMPLE_BUFFERS_BIT_SGIX				= 0x00000100	#   " + +GLXHyperpipeTypeMask enum: +	HYPERPIPE_DISPLAY_PIPE_SGIX			= 0x00000001	# SGIX_hyperpipe +	HYPERPIPE_RENDER_PIPE_SGIX			= 0x00000002	#   " + +GLXHyperpipeAttrib enum: +	PIPE_RECT_SGIX					= 0x00000001	# SGIX_hyperpipe +	PIPE_RECT_LIMITS_SGIX				= 0x00000002	#   " +	HYPERPIPE_STEREO_SGIX				= 0x00000003	#   " +	HYPERPIPE_PIXEL_AVERAGE_SGIX			= 0x00000004	#   " + +GLXHyperpipeMisc enum: +	HYPERPIPE_PIPE_NAME_LENGTH_SGIX			= 80		# SGIX_hyperpipe + +GLXBindToTextureTargetMask enum: +	TEXTURE_1D_BIT_EXT				= 0x00000001	# EXT_texture_from_pixmap +	TEXTURE_2D_BIT_EXT				= 0x00000002 +	TEXTURE_RECTANGLE_BIT_EXT			= 0x00000004 + +# CONTEXT_FLAGS_ARB bits +GLXContextFlags enum: +	CONTEXT_DEBUG_BIT_ARB				= 0x00000001	# ARB_create_context +	CONTEXT_FORWARD_COMPATIBLE_BIT_ARB		= 0x00000002	# ARB_create_context + +# CONTEXT_PROFILE_MASK_ARB bits +GLXContextProfileMask enum: +	CONTEXT_CORE_PROFILE_BIT_ARB			= 0x00000001	# ARB_create_context_profile +	CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB		= 0x00000002	# ARB_create_context_profile + +GLXAttribute enum: +	USE_GL						= 1		# Visual attributes +	BUFFER_SIZE					= 2		#   " +	LEVEL						= 3		#   " +	RGBA						= 4		#   " +	DOUBLEBUFFER					= 5		#   " +	STEREO						= 6		#   " +	AUX_BUFFERS					= 7		#   " +	RED_SIZE					= 8		#   " +	GREEN_SIZE					= 9		#   " +	BLUE_SIZE					= 10		#   " +	ALPHA_SIZE					= 11		#   " +	DEPTH_SIZE					= 12		#   " +	STENCIL_SIZE					= 13		#   " +	ACCUM_RED_SIZE					= 14		#   " +	ACCUM_GREEN_SIZE				= 15		#   " +	ACCUM_BLUE_SIZE					= 16		#   " +	ACCUM_ALPHA_SIZE				= 17		#   " +	CONFIG_CAVEAT					= 0x20		#   " +	X_VISUAL_TYPE					= 0x22		#   " +	TRANSPARENT_TYPE				= 0x23		#   " +	TRANSPARENT_INDEX_VALUE				= 0x24		#   " +	TRANSPARENT_RED_VALUE				= 0x25		#   " +	TRANSPARENT_GREEN_VALUE				= 0x26		#   " +	TRANSPARENT_BLUE_VALUE				= 0x27		#   " +	TRANSPARENT_ALPHA_VALUE				= 0x28		#   " +	DONT_CARE					= 0xFFFFFFFF	# may be specified for ChooseFBConfig attributes +	NONE						= 0x8000	# several attribute values +	SLOW_CONFIG					= 0x8001	# CONFIG_CAVEAT attribute value +	TRUE_COLOR					= 0x8002	# X_VISUAL_TYPE attribute value +	DIRECT_COLOR					= 0x8003	#   " +	PSEUDO_COLOR					= 0x8004	#   " +	STATIC_COLOR					= 0x8005	#   " +	GRAY_SCALE					= 0x8006	#   " +	STATIC_GRAY					= 0x8007	#   " +	TRANSPARENT_RGB					= 0x8008	# TRANSPARENT_TYPE attribute value +	TRANSPARENT_INDEX				= 0x8009	#   " +	VISUAL_ID					= 0x800B	# Context attribute +	SCREEN						= 0x800C	#   " +	NON_CONFORMANT_CONFIG				= 0x800D	# CONFIG_CAVEAT attribute value +	DRAWABLE_TYPE					= 0x8010	# FBConfig attribute +	RENDER_TYPE					= 0x8011	#   " +	X_RENDERABLE					= 0x8012	#   " +	FBCONFIG_ID					= 0x8013	#   " +	RGBA_TYPE					= 0x8014	# CreateNewContext render_type value +	COLOR_INDEX_TYPE				= 0x8015	#   " +	MAX_PBUFFER_WIDTH				= 0x8016	# FBConfig attribute +	MAX_PBUFFER_HEIGHT				= 0x8017	#   " +	MAX_PBUFFER_PIXELS				= 0x8018	#   " +	PRESERVED_CONTENTS				= 0x801B	# CreateGLXPbuffer attribute +	LARGEST_PBUFFER					= 0x801C	#   " +	WIDTH						= 0x801D	# Drawable attribute +	HEIGHT						= 0x801E	#   " +	EVENT_MASK					= 0x801F	#   " +	DAMAGED						= 0x8020	# PbufferClobber event_type value +	SAVED						= 0x8021	#   " +	WINDOW						= 0x8022	# PbufferClobber draw_type value +	PBUFFER						= 0x8023	#   " +	PBUFFER_HEIGHT					= 0x8040	# CreateGLXPbuffer attribute +	PBUFFER_WIDTH					= 0x8041	#   " +	VISUAL_CAVEAT_EXT				= 0x20		# Visual attribute +	X_VISUAL_TYPE_EXT				= 0x22		#   " +	TRANSPARENT_TYPE_EXT				= 0x23		#   " +	TRANSPARENT_INDEX_VALUE_EXT			= 0x24		#   " +	TRANSPARENT_RED_VALUE_EXT			= 0x25		#   " +	TRANSPARENT_GREEN_VALUE_EXT			= 0x26		#   " +	TRANSPARENT_BLUE_VALUE_EXT			= 0x27		#   " +	TRANSPARENT_ALPHA_VALUE_EXT			= 0x28		#   " +	NONE_EXT					= 0x8000	# several EXT attribute values +	SLOW_VISUAL_EXT					= 0x8001	# VISUAL_CAVEAT_EXT attribute value +	TRUE_COLOR_EXT					= 0x8002	# X_VISUAL_TYPE_EXT attribute value +	DIRECT_COLOR_EXT				= 0x8003	#   " +	PSEUDO_COLOR_EXT				= 0x8004	#   " +	STATIC_COLOR_EXT				= 0x8005	#   " +	GRAY_SCALE_EXT					= 0x8006	#   " +	STATIC_GRAY_EXT					= 0x8007	#   " +	TRANSPARENT_RGB_EXT				= 0x8008	# TRANSPARENT_TYPE_EXT attribute value +	TRANSPARENT_INDEX_EXT				= 0x8009	#   " +	SHARE_CONTEXT_EXT				= 0x800A	# QueryContextInfoEXT attribute +	VISUAL_ID_EXT					= 0x800B	#   " +	SCREEN_EXT					= 0x800C	#   " +	NON_CONFORMANT_VISUAL_EXT			= 0x800D	# VISUAL_CAVEAT_EXT attribute value +	DRAWABLE_TYPE_SGIX				= 0x8010	# FBConfigSGIX attribute +	RENDER_TYPE_SGIX				= 0x8011	#   " +	X_RENDERABLE_SGIX				= 0x8012	#   " +	FBCONFIG_ID_SGIX				= 0x8013	#   " +	RGBA_TYPE_SGIX					= 0x8014	# CreateContextWithConfigSGIX render_type value +	COLOR_INDEX_TYPE_SGIX				= 0x8015	#   " +	MAX_PBUFFER_WIDTH_SGIX				= 0x8016	# FBConfigSGIX attribute +	MAX_PBUFFER_HEIGHT_SGIX				= 0x8017	#   " +	MAX_PBUFFER_PIXELS_SGIX				= 0x8018	#   " +	OPTIMAL_PBUFFER_WIDTH_SGIX			= 0x8019	#   " +	OPTIMAL_PBUFFER_HEIGHT_SGIX			= 0x801A	#   " +	PRESERVED_CONTENTS_SGIX				= 0x801B	# PbufferSGIX attribute +	LARGEST_PBUFFER_SGIX				= 0x801C	#   " +	WIDTH_SGIX					= 0x801D	#   " +	HEIGHT_SGIX					= 0x801E	#   " +	EVENT_MASK_SGIX					= 0x801F	#   " +	DAMAGED_SGIX					= 0x8020	# BufferClobberSGIX event_type value +	SAVED_SGIX					= 0x8021	#   " +	WINDOW_SGIX					= 0x8022	# BufferClobberSGIX draw_type value +	PBUFFER_SGIX					= 0x8023	#   " +	DIGITAL_MEDIA_PBUFFER_SGIX			= 0x8024	# PbufferSGIX attribute +	BLENDED_RGBA_SGIS				= 0x8025	# TRANSPARENT_TYPE_EXT attribute value +	MULTISAMPLE_SUB_RECT_WIDTH_SGIS			= 0x8026	# Visual attribute (shared_multisample) +	MULTISAMPLE_SUB_RECT_HEIGHT_SGIS		= 0x8027	#   " +	VISUAL_SELECT_GROUP_SGIX			= 0x8028	# Visual attribute (visual_select_group) +	HYPERPIPE_ID_SGIX				= 0x8030	# Associated hyperpipe ID (SGIX_hyperpipe) +	SAMPLE_BUFFERS_SGIS				= 100000	# Visual attribute (SGIS_multisample) +	SAMPLES_SGIS					= 100001	#   " +	SAMPLE_BUFFERS_ARB				= 100000	# Visual attribute (ARB_multisample - alias of SGIS_multisample) +	SAMPLES_ARB					= 100001	#   " +	SAMPLE_BUFFERS					= 100000	# Visual attribute (GLX 1.4 core - alias of SGIS_multisample) +	SAMPLES						= 100001	#   " + +############################################################################### + +# ARB: 0x2070-0x209F (shared with WGL) + +# Also includes a bitmask - see ContextFlags above +# ARB_create_context enum: +	CONTEXT_MAJOR_VERSION_ARB			= 0x2091 +	CONTEXT_MINOR_VERSION_ARB			= 0x2092 +	CONTEXT_FLAGS_ARB				= 0x2094 + +############################################################################### + +# NVIDIA: 0x20A0 - 0x219F (shared with WGL) + +# NV_float_buffer enum: +	FLOAT_COMPONENTS_NV				= 0x20B0 +# EXT_fbconfig_packed_float enum: +	RGBA_UNSIGNED_FLOAT_TYPE_EXT			= 0x20B1 +# EXT_framebuffer_sRGB enum: +	FRAMEBUFFER_SRGB_CAPABLE_EXT			= 0x20B2 + +# NV_future_use: 0x20B3-0x20B8 + +# ARB_fbconfig_float enum: +	RGBA_FLOAT_TYPE_ARB				= 0x20B9 + +# NV_future_use: 0x20BA-0x20C2 + +# NV_video_out enum: +	VIDEO_OUT_COLOR_NV				= 0x20C3 +	VIDEO_OUT_ALPHA_NV				= 0x20C4 +	VIDEO_OUT_DEPTH_NV				= 0x20C5 +	VIDEO_OUT_COLOR_AND_ALPHA_NV			= 0x20C6 +	VIDEO_OUT_COLOR_AND_DEPTH_NV			= 0x20C7 +	VIDEO_OUT_FRAME_NV				= 0x20C8 +	VIDEO_OUT_FIELD_1_NV				= 0x20C9 +	VIDEO_OUT_FIELD_2_NV				= 0x20CA +	VIDEO_OUT_STACKED_FIELDS_1_2_NV			= 0x20CB +	VIDEO_OUT_STACKED_FIELDS_2_1_NV			= 0x20CC + +# NV_video_capture enum: +	DEVICE_ID_NV					= 0x20CD +	UNIQUE_ID_NV					= 0x20CE +	NUM_VIDEO_CAPTURE_SLOTS_NV			= 0x20CF + +# EXT_texture_from_pixmap enum: +	BIND_TO_TEXTURE_RGB_EXT				= 0x20D0 +	BIND_TO_TEXTURE_RGBA_EXT			= 0x20D1 +	BIND_TO_MIPMAP_TEXTURE_EXT			= 0x20D2 +	BIND_TO_TEXTURE_TARGETS_EXT			= 0x20D3 +	Y_INVERTED_EXT					= 0x20D4 +	TEXTURE_FORMAT_EXT				= 0x20D5 +	TEXTURE_TARGET_EXT				= 0x20D6 +	MIPMAP_TEXTURE_EXT				= 0x20D7 +	TEXTURE_FORMAT_NONE_EXT				= 0x20D8 +	TEXTURE_FORMAT_RGB_EXT				= 0x20D9 +	TEXTURE_FORMAT_RGBA_EXT				= 0x20DA +	TEXTURE_1D_EXT					= 0x20DB +	TEXTURE_2D_EXT					= 0x20DC +	TEXTURE_RECTANGLE_EXT				= 0x20DD +	FRONT_LEFT_EXT					= 0x20DE +	FRONT_RIGHT_EXT					= 0x20DF +	BACK_LEFT_EXT					= 0x20E0 +	BACK_RIGHT_EXT					= 0x20E1 +	FRONT_EXT					= GLX_FRONT_LEFT_EXT +	BACK_EXT					= GLX_BACK_LEFT_EXT +	AUX0_EXT					= 0x20E2 +	AUX1_EXT					= 0x20E3 +	AUX2_EXT					= 0x20E4 +	AUX3_EXT					= 0x20E5 +	AUX4_EXT					= 0x20E6 +	AUX5_EXT					= 0x20E7 +	AUX6_EXT					= 0x20E8 +	AUX7_EXT					= 0x20E9 +	AUX8_EXT					= 0x20EA +	AUX9_EXT					= 0x20EB + +# NV_future_use: 0x20EC-0x20EF + +NV_present_video enum: +	NUM_VIDEO_SLOTS_NV				= 0x20F0 + +EXT_swap_control enum: +	SWAP_INTERVAL_EXT				= 0x20F1 +	MAX_SWAP_INTERVAL_EXT				= 0x20F2 + +# NV_future_use: 0x20F3-0x219F + +############################################################################### + +# MESA (not in a reserved block) + +# MESA_set_3dfx_mode enum: +#	3DFX_WINDOW_MODE_MESA				= 0x1 +#	3DFX_FULLSCREEN_MODE_MESA			= 0x2 + +############################################################################### + +# SGI_future_use: 0x8029-0x802F +# SGIX_hyperpipe adds attribute name HYPERPIPE_ID_SGIX = 0x8030 +# SGI_future_use: 0x8031-0x803F + +############################################################################### + +# ARB_future_use: 0x8042-0x804F + +############################################################################### + +# 3DFX: 0x8050-0x805F + +# 3DFX_multisample enum: +#	SAMPLE_BUFFERS_3DFX				= 0x8050 +#	SAMPLES_3DFX					= 0x8051 + +############################################################################### + +# OML: 0x8060-0x806F + +# OML_swap_method enum: +#	SWAP_METHOD_OML					= 0x8060 +#	SWAP_EXCHANGE_OML				= 0x8061 +#	SWAP_COPY_OML					= 0x8062 +#	SWAP_UNDEFINED_OML				= 0x8063 + +# OML_future_use: 0x8064-0x806F + +############################################################################### + +# NVIDIA: 0x8070 - 0x816F + +NVIDIA_future_use: 0x8070-0x816F + +############################################################################### + +# SUN: 0x8170 - 0x817F + +SUN_future_use: 0x8170-0x817F + +############################################################################### + +# INTEL: 0x8180 - 0x818F + +# INTEL_swap_event: 0x8180-0x8182 +#	EXCHANGE_COMPLETE_INTEL				= 0x8180 +#	COPY_COMPLETE_INTEL				= 0x8181 +#	FLIP_COMPLETE_INTEL				= 0x8182 + +INTEL_future_use: 0x8183-0x818F + +############################################################################### +### Please remember that new GLX enum allocations must be obtained by request +### to the Khronos API Registrar (see comments at the top of this file) +### File requests in the Khronos Bugzilla, OpenGL project, Registry component. +############################################################################### + +# Any_vendor_future_use: 0x8180-0x9125 + +# Also includes a bitmask - see ContextProfileMask above +# ARB_create_context_profile enum: (equivalent to corresponding GL token) +	CONTEXT_PROFILE_MASK_ARB			= 0x9126 + +# Any_vendor_future_use: 0x9127-0xFFFF +# +#   This range must be the last range in the file.  To generate a new +#   range, allocate multiples of 16 from the beginning of the +#   Any_vendor_future_use range and update glxenum.spec, glxenumext.spec, +#   and extensions.reserved. diff --git a/src/glx/apple/specs/glxenumext.spec b/src/glx/apple/specs/glxenumext.spec new file mode 100644 index 0000000000..797e6970dd --- /dev/null +++ b/src/glx/apple/specs/glxenumext.spec @@ -0,0 +1,515 @@ +# Copyright (c) 1991-2005 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2006-2010 The Khronos Group, Inc. +# +# This document is licensed under the SGI Free Software B License Version +# 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . +# +# $Revision: 10796 $ on $Date: 2010-03-19 17:31:10 -0700 (Fri, 19 Mar 2010) $ + +# List of GLX enumerants for glxext.h header +# +# This is NOT the master GLX enumerant registry (glxenum.spec). +# +# Unlike glxenum.spec, glxenumext.spec is +#   (1) In order by extension number. +#   (2) Includes only GLX extensions and GLX 1.3/1.4 core enumerants, +#	since it's assumed all <glx.h> today support at least GLX 1.2. +#   (3) Has no 'Extensions' section, since enums are always +#	conditionally protected against multiple definition +#	by glextenum.pl. +#   (4) Is processed by glextenum.pl, which has evolved +#	from enum.pl - should merge back into one script. + +# glxext.h version number - this should be automatically updated, +#   when changing either enum or template spec files. + +passthru: +passthru: /* Header file version number, required by OpenGL ABI for Linux */ +passthru: /* glxext.h last updated 2010/02/10 */ +passthru: /* Current version at http://www.opengl.org/registry/ */ +passthru: #define GLX_GLXEXT_VERSION 27 + +############################################################################### +# +# GLX 1.3 enums +# +############################################################################### + +VERSION_1_3 enum: +	WINDOW_BIT					= 0x00000001	# DRAWABLE_TYPE value +	PIXMAP_BIT					= 0x00000002	#   " +	PBUFFER_BIT					= 0x00000004	#   " +	RGBA_BIT					= 0x00000001	# RENDER_TYPE value +	COLOR_INDEX_BIT					= 0x00000002	#   " +	PBUFFER_CLOBBER_MASK				= 0x08000000	# SelectEvent mask +	FRONT_LEFT_BUFFER_BIT				= 0x00000001	# PbufferClobberEvent mask +	FRONT_RIGHT_BUFFER_BIT				= 0x00000002	#   " +	BACK_LEFT_BUFFER_BIT				= 0x00000004	#   " +	BACK_RIGHT_BUFFER_BIT				= 0x00000008	#   " +	AUX_BUFFERS_BIT					= 0x00000010	#   " +	DEPTH_BUFFER_BIT				= 0x00000020	#   " +	STENCIL_BUFFER_BIT				= 0x00000040	#   " +	ACCUM_BUFFER_BIT				= 0x00000080	#   " +	CONFIG_CAVEAT					= 0x20		#   " +	X_VISUAL_TYPE					= 0x22		#   " +	TRANSPARENT_TYPE				= 0x23		#   " +	TRANSPARENT_INDEX_VALUE				= 0x24		#   " +	TRANSPARENT_RED_VALUE				= 0x25		#   " +	TRANSPARENT_GREEN_VALUE				= 0x26		#   " +	TRANSPARENT_BLUE_VALUE				= 0x27		#   " +	TRANSPARENT_ALPHA_VALUE				= 0x28		#   " +	DONT_CARE					= 0xFFFFFFFF	# may be specified for ChooseFBConfig attributes +	NONE						= 0x8000	# several attribute values +	SLOW_CONFIG					= 0x8001	# CONFIG_CAVEAT attribute value +	TRUE_COLOR					= 0x8002	# X_VISUAL_TYPE attribute value +	DIRECT_COLOR					= 0x8003	#   " +	PSEUDO_COLOR					= 0x8004	#   " +	STATIC_COLOR					= 0x8005	#   " +	GRAY_SCALE					= 0x8006	#   " +	STATIC_GRAY					= 0x8007	#   " +	TRANSPARENT_RGB					= 0x8008	# TRANSPARENT_TYPE attribute value +	TRANSPARENT_INDEX				= 0x8009	#   " +	VISUAL_ID					= 0x800B	# Context attribute +	SCREEN						= 0x800C	#   " +	NON_CONFORMANT_CONFIG				= 0x800D	# CONFIG_CAVEAT attribute value +	DRAWABLE_TYPE					= 0x8010	# FBConfig attribute +	RENDER_TYPE					= 0x8011	#   " +	X_RENDERABLE					= 0x8012	#   " +	FBCONFIG_ID					= 0x8013	#   " +	RGBA_TYPE					= 0x8014	# CreateNewContext render_type value +	COLOR_INDEX_TYPE				= 0x8015	#   " +	MAX_PBUFFER_WIDTH				= 0x8016	# FBConfig attribute +	MAX_PBUFFER_HEIGHT				= 0x8017	#   " +	MAX_PBUFFER_PIXELS				= 0x8018	#   " +	PRESERVED_CONTENTS				= 0x801B	# CreateGLXPbuffer attribute +	LARGEST_PBUFFER					= 0x801C	#   " +	WIDTH						= 0x801D	# Drawable attribute +	HEIGHT						= 0x801E	#   " +	EVENT_MASK					= 0x801F	#   " +	DAMAGED						= 0x8020	# PbufferClobber event_type value +	SAVED						= 0x8021	#   " +	WINDOW						= 0x8022	# PbufferClobber draw_type value +	PBUFFER						= 0x8023	#   " +	PBUFFER_HEIGHT					= 0x8040	# CreateGLXPbuffer attribute +	PBUFFER_WIDTH					= 0x8041	#   " + +############################################################################### +# +# GLX 1.4 enums +# +############################################################################### + +VERSION_1_4 enum: +	SAMPLE_BUFFERS					= 100000 +	SAMPLES						= 100001 + +############################################################################### +# +# ARB GLX extensions, in ARB extension order +# +############################################################################### + +############################################################################### + +# No new tokens +# ARB Extension #2 +ARB_get_proc_address enum: + +############################################################################### + +# ARB Extension #5 +ARB_multisample enum: +	SAMPLE_BUFFERS_ARB				= 100000 +	SAMPLES_ARB					= 100001 + +############################################################################### + +# ARB Extension #39 +ARB_fbconfig_float enum: +	RGBA_FLOAT_TYPE_ARB				= 0x20B9 +	RGBA_FLOAT_BIT_ARB				= 0x00000004 + +############################################################################### + +# ARB Extension #56 +ARB_create_context enum: +	CONTEXT_DEBUG_BIT_ARB				= 0x00000001 +	CONTEXT_FORWARD_COMPATIBLE_BIT_ARB		= 0x00000002 +	CONTEXT_MAJOR_VERSION_ARB			= 0x2091 +	CONTEXT_MINOR_VERSION_ARB			= 0x2092 +	CONTEXT_FLAGS_ARB				= 0x2094 + +############################################################################### + +# ARB Extension #75 +ARB_create_context_profile enum: +	CONTEXT_CORE_PROFILE_BIT_ARB			= 0x00000001 +	CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB		= 0x00000002 +	CONTEXT_PROFILE_MASK_ARB			= 0x9126 + + +############################################################################### +# +# non-ARB GLX extensions, in registry order +# +############################################################################### + +############################################################################### + +# Unfortunately, the SGIS_multisample specification and the IRIX +#  implementation are inconsistent; the spec assigns enums as follows. +#  ARB_multisample reuses these enums with ARB suffixes, and it can't +#  be changed at this point. So in the interest of supporting both +#  extensions on non-IRIX platforms, the SGIS enums will be defined +#  here as originally specified. + +# Extension #25 +SGIS_multisample enum: +	SAMPLE_BUFFERS_SGIS				= 100000 +	SAMPLES_SGIS					= 100001 + +############################################################################### + +# Extension #28 +EXT_visual_info enum: +	X_VISUAL_TYPE_EXT				= 0x22 +	TRANSPARENT_TYPE_EXT				= 0x23 +	TRANSPARENT_INDEX_VALUE_EXT			= 0x24 +	TRANSPARENT_RED_VALUE_EXT			= 0x25 +	TRANSPARENT_GREEN_VALUE_EXT			= 0x26 +	TRANSPARENT_BLUE_VALUE_EXT			= 0x27 +	TRANSPARENT_ALPHA_VALUE_EXT			= 0x28 +	NONE_EXT					= 0x8000 +	TRUE_COLOR_EXT					= 0x8002 +	DIRECT_COLOR_EXT				= 0x8003 +	PSEUDO_COLOR_EXT				= 0x8004 +	STATIC_COLOR_EXT				= 0x8005 +	GRAY_SCALE_EXT					= 0x8006 +	STATIC_GRAY_EXT					= 0x8007 +	TRANSPARENT_RGB_EXT				= 0x8008 +	TRANSPARENT_INDEX_EXT				= 0x8009 + +############################################################################### + +# No new tokens +# Extension #40 +SGI_swap_control enum: + +############################################################################### + +# No new tokens +# Extension #41 +SGI_video_sync enum: + +############################################################################### + +# No new tokens +# Extension #42 +SGI_make_current_read enum: + +############################################################################### + +# No new tokens +# Extension #43 +SGIX_video_source enum: + +############################################################################### + +# Extension #44 +EXT_visual_rating enum: +	VISUAL_CAVEAT_EXT				= 0x20 +	SLOW_VISUAL_EXT					= 0x8001 +	NON_CONFORMANT_VISUAL_EXT			= 0x800D +	use EXT_visual_info NONE_EXT + +############################################################################### + +# Extension #47 +EXT_import_context enum: +	SHARE_CONTEXT_EXT				= 0x800A +	VISUAL_ID_EXT					= 0x800B +	SCREEN_EXT					= 0x800C + +############################################################################### + +# Extension #49 +SGIX_fbconfig enum: +	WINDOW_BIT_SGIX					= 0x00000001 +	PIXMAP_BIT_SGIX					= 0x00000002 +	RGBA_BIT_SGIX					= 0x00000001 +	COLOR_INDEX_BIT_SGIX				= 0x00000002 +	DRAWABLE_TYPE_SGIX				= 0x8010 +	RENDER_TYPE_SGIX				= 0x8011 +	X_RENDERABLE_SGIX				= 0x8012 +	FBCONFIG_ID_SGIX				= 0x8013 +	RGBA_TYPE_SGIX					= 0x8014 +	COLOR_INDEX_TYPE_SGIX				= 0x8015 +	use EXT_import_context SCREEN_EXT + +############################################################################### + +# Extension #50 +SGIX_pbuffer enum: +	PBUFFER_BIT_SGIX				= 0x00000004 +	BUFFER_CLOBBER_MASK_SGIX			= 0x08000000 +	FRONT_LEFT_BUFFER_BIT_SGIX			= 0x00000001 +	FRONT_RIGHT_BUFFER_BIT_SGIX			= 0x00000002 +	BACK_LEFT_BUFFER_BIT_SGIX			= 0x00000004 +	BACK_RIGHT_BUFFER_BIT_SGIX			= 0x00000008 +	AUX_BUFFERS_BIT_SGIX				= 0x00000010 +	DEPTH_BUFFER_BIT_SGIX				= 0x00000020 +	STENCIL_BUFFER_BIT_SGIX				= 0x00000040 +	ACCUM_BUFFER_BIT_SGIX				= 0x00000080 +	SAMPLE_BUFFERS_BIT_SGIX				= 0x00000100 +	MAX_PBUFFER_WIDTH_SGIX				= 0x8016 +	MAX_PBUFFER_HEIGHT_SGIX				= 0x8017 +	MAX_PBUFFER_PIXELS_SGIX				= 0x8018 +	OPTIMAL_PBUFFER_WIDTH_SGIX			= 0x8019 +	OPTIMAL_PBUFFER_HEIGHT_SGIX			= 0x801A +	PRESERVED_CONTENTS_SGIX				= 0x801B +	LARGEST_PBUFFER_SGIX				= 0x801C +	WIDTH_SGIX					= 0x801D +	HEIGHT_SGIX					= 0x801E +	EVENT_MASK_SGIX					= 0x801F +	DAMAGED_SGIX					= 0x8020 +	SAVED_SGIX					= 0x8021 +	WINDOW_SGIX					= 0x8022 +	PBUFFER_SGIX					= 0x8023 + +############################################################################### + +# Extension #62 +SGI_cushion enum: +#	 CUSHION_BUFFERS_SGI	 ???? + +############################################################################### + +# Extension #83 +SGIX_video_resize enum: +	SYNC_FRAME_SGIX					= 0x00000000 +	SYNC_SWAP_SGIX					= 0x00000001 + +############################################################################### + +# Extension #86 +SGIX_dmbuffer enum: +	DIGITAL_MEDIA_PBUFFER_SGIX			= 0x8024 + +############################################################################### + +# No new tokens +# Extension #91 +SGIX_swap_group enum: + +############################################################################### + +# No new tokens +# Extension #92 +SGIX_swap_barrier enum: + +############################################################################### + +# Extension #142 +SGIS_blended_overlay enum: +	BLENDED_RGBA_SGIS				= 0x8025 + +############################################################################### + +# Extension #143 +SGIS_shared_multisample enum: +	MULTISAMPLE_SUB_RECT_WIDTH_SGIS			= 0x8026 +	MULTISAMPLE_SUB_RECT_HEIGHT_SGIS		= 0x8027 + +############################################################################### + +# No new tokens +# Extension #183 +SUN_get_transparent_index enum: + +############################################################################### + +# Extension #207 +3DFX_multisample enum: +	SAMPLE_BUFFERS_3DFX				= 0x8050 +	SAMPLES_3DFX					= 0x8051 + +############################################################################### + +# No new tokens +# Extension #215 +MESA_copy_sub_buffer enum: + +############################################################################### + +# No new tokens +# Extension #216 +MESA_pixmap_colormap enum: + +############################################################################### + +# No new tokens +# Extension #217 +MESA_release_buffers enum: + +############################################################################### + +# Extension #218 +MESA_set_3dfx_mode enum: +	3DFX_WINDOW_MODE_MESA				= 0x1 +	3DFX_FULLSCREEN_MODE_MESA			= 0x2 + +############################################################################### + +# Extension #234 +SGIX_visual_select_group enum: +	VISUAL_SELECT_GROUP_SGIX			= 0x8028 + +############################################################################### + +# Extension #237 +OML_swap_method enum: +	SWAP_METHOD_OML					= 0x8060 +	SWAP_EXCHANGE_OML				= 0x8061 +	SWAP_COPY_OML					= 0x8062 +	SWAP_UNDEFINED_OML				= 0x8063 + +############################################################################### + +# No new tokens +# Extension #238 +OML_sync_control enum: + +############################################################################### + +# Extension #281 +NV_float_buffer enum: +	FLOAT_COMPONENTS_NV				= 0x20B0 + +############################################################################### + +# Extension #307 +SGIX_hyperpipe enum: +	HYPERPIPE_PIPE_NAME_LENGTH_SGIX			= 80 +	BAD_HYPERPIPE_CONFIG_SGIX			= 91 +	BAD_HYPERPIPE_SGIX				= 92 +	HYPERPIPE_DISPLAY_PIPE_SGIX			= 0x00000001 +	HYPERPIPE_RENDER_PIPE_SGIX			= 0x00000002 +	PIPE_RECT_SGIX					= 0x00000001 +	PIPE_RECT_LIMITS_SGIX				= 0x00000002 +	HYPERPIPE_STEREO_SGIX				= 0x00000003 +	HYPERPIPE_PIXEL_AVERAGE_SGIX			= 0x00000004 +	HYPERPIPE_ID_SGIX				= 0x8030 + +############################################################################### + +# No new tokens +# Extension #308 +MESA_agp_offset enum: + +############################################################################### + +# Extension #328 +EXT_fbconfig_packed_float enum: +	RGBA_UNSIGNED_FLOAT_TYPE_EXT			= 0x20B1 +	RGBA_UNSIGNED_FLOAT_BIT_EXT			= 0x00000008 + +############################################################################### + +# Extension #337 +EXT_framebuffer_sRGB enum: +	FRAMEBUFFER_SRGB_CAPABLE_EXT			= 0x20B2 + +############################################################################### + +# Extension #344 +EXT_texture_from_pixmap enum: +	TEXTURE_1D_BIT_EXT				= 0x00000001 +	TEXTURE_2D_BIT_EXT				= 0x00000002 +	TEXTURE_RECTANGLE_BIT_EXT			= 0x00000004 +	BIND_TO_TEXTURE_RGB_EXT				= 0x20D0 +	BIND_TO_TEXTURE_RGBA_EXT			= 0x20D1 +	BIND_TO_MIPMAP_TEXTURE_EXT			= 0x20D2 +	BIND_TO_TEXTURE_TARGETS_EXT			= 0x20D3 +	Y_INVERTED_EXT					= 0x20D4 +	TEXTURE_FORMAT_EXT				= 0x20D5 +	TEXTURE_TARGET_EXT				= 0x20D6 +	MIPMAP_TEXTURE_EXT				= 0x20D7 +	TEXTURE_FORMAT_NONE_EXT				= 0x20D8 +	TEXTURE_FORMAT_RGB_EXT				= 0x20D9 +	TEXTURE_FORMAT_RGBA_EXT				= 0x20DA +	TEXTURE_1D_EXT					= 0x20DB +	TEXTURE_2D_EXT					= 0x20DC +	TEXTURE_RECTANGLE_EXT				= 0x20DD +	FRONT_LEFT_EXT					= 0x20DE +	FRONT_RIGHT_EXT					= 0x20DF +	BACK_LEFT_EXT					= 0x20E0 +	BACK_RIGHT_EXT					= 0x20E1 +	FRONT_EXT					= GLX_FRONT_LEFT_EXT +	BACK_EXT					= GLX_BACK_LEFT_EXT +	AUX0_EXT					= 0x20E2 +	AUX1_EXT					= 0x20E3 +	AUX2_EXT					= 0x20E4 +	AUX3_EXT					= 0x20E5 +	AUX4_EXT					= 0x20E6 +	AUX5_EXT					= 0x20E7 +	AUX6_EXT					= 0x20E8 +	AUX7_EXT					= 0x20E9 +	AUX8_EXT					= 0x20EA +	AUX9_EXT					= 0x20EB + +############################################################################### + +# Extension #347 +NV_present_video enum: +	NUM_VIDEO_SLOTS_NV				= 0x20F0 + +############################################################################### + +# Extension #348 +NV_video_out enum: +	VIDEO_OUT_COLOR_NV				= 0x20C3 +	VIDEO_OUT_ALPHA_NV				= 0x20C4 +	VIDEO_OUT_DEPTH_NV				= 0x20C5 +	VIDEO_OUT_COLOR_AND_ALPHA_NV			= 0x20C6 +	VIDEO_OUT_COLOR_AND_DEPTH_NV			= 0x20C7 +	VIDEO_OUT_FRAME_NV				= 0x20C8 +	VIDEO_OUT_FIELD_1_NV				= 0x20C9 +	VIDEO_OUT_FIELD_2_NV				= 0x20CA +	VIDEO_OUT_STACKED_FIELDS_1_2_NV			= 0x20CB +	VIDEO_OUT_STACKED_FIELDS_2_1_NV			= 0x20CC + +############################################################################### + +# No new tokens +# Extension #350 +NV_swap_group enum: + +############################################################################### + +# Extension #374 +NV_video_capture enum: +	DEVICE_ID_NV					= 0x20CD +	UNIQUE_ID_NV					= 0x20CE +	NUM_VIDEO_CAPTURE_SLOTS_NV			= 0x20CF + +############################################################################### + +# Extension #375 +EXT_swap_control enum: +	SWAP_INTERVAL_EXT				= 0x20F1 +	MAX_SWAP_INTERVAL_EXT				= 0x20F2 + +############################################################################### + +# No new tokens +# Extension #376 +NV_copy_image enum: + +############################################################################### + +# Extension #384 +INTEL_swap_event enum: +	BUFFER_SWAP_COMPLETE_INTEL_MASK			= 0x04000000 +	EXCHANGE_COMPLETE_INTEL				= 0x8180 +	COPY_COMPLETE_INTEL				= 0x8181 +	FLIP_COMPLETE_INTEL				= 0x8182 diff --git a/src/glx/apple/specs/glxext.spec b/src/glx/apple/specs/glxext.spec new file mode 100644 index 0000000000..c25b7e6b38 --- /dev/null +++ b/src/glx/apple/specs/glxext.spec @@ -0,0 +1,1330 @@ +# glxext.spec file +# DON'T REMOVE PREVIOUS LINE!!! libspec depends on it! +# +# Copyright (c) 1991-2005 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (c) 2006-2010 The Khronos Group, Inc. +# +# This document is licensed under the SGI Free Software B License Version +# 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . +# +# $Revision: 10796 $ on $Date: 2010-03-19 17:31:10 -0700 (Fri, 19 Mar 2010) $ + +required-props: +param:		retval retained +glxflags:	client-handcode client-intercept server-handcode +glxvendorglx:	* +vectorequiv:	* +category:	VERSION_1_3 VERSION_1_4 ARB_get_proc_address ARB_multisample ARB_fbconfig_float EXT_import_context SGIX_dmbuffer SGIX_fbconfig SGIX_pbuffer SGIX_swap_barrier SGIX_swap_group SGIX_video_resize SGIX_video_source SGI_cushion SGI_make_current_read SGI_swap_control SGI_video_sync SUN_get_transparent_index MESA_agp_offset MESA_copy_sub_buffer MESA_pixmap_colormap MESA_release_buffers MESA_set_3dfx_mode SGIX_visual_select_group OML_sync_control SGIX_hyperpipe EXT_texture_from_pixmap NV_swap_group NV_video_output NV_present_video ARB_create_context NV_video_capture NV_copy_image EXT_swap_control +glxopcode:	* + +# +# Boilerplate to define types used by some extensions. This is done +#   up front, since it involves some complexities in protecting +#   the declarations whether or not the -protect flag is given to +#   the generator scripts. +# + +passthru: #ifndef GLX_ARB_get_proc_address +passthru: typedef void (*__GLXextFuncPtr)(void); +passthru: #endif +passthru: +passthru: #ifndef GLX_SGIX_video_source +passthru: typedef XID GLXVideoSourceSGIX; +passthru: #endif +passthru: +passthru: #ifndef GLX_SGIX_fbconfig +passthru: typedef XID GLXFBConfigIDSGIX; +passthru: typedef struct __GLXFBConfigRec *GLXFBConfigSGIX; +passthru: #endif +passthru: +passthru: #ifndef GLX_SGIX_pbuffer +passthru: typedef XID GLXPbufferSGIX; +passthru: typedef struct { +passthru:     int type; +passthru:     unsigned long serial;	  /* # of last request processed by server */ +passthru:     Bool send_event;		  /* true if this came for SendEvent request */ +passthru:     Display *display;		  /* display the event was read from */ +passthru:     GLXDrawable drawable;	  /* i.d. of Drawable */ +passthru:     int event_type;		  /* GLX_DAMAGED_SGIX or GLX_SAVED_SGIX */ +passthru:     int draw_type;		  /* GLX_WINDOW_SGIX or GLX_PBUFFER_SGIX */ +passthru:     unsigned int mask;	  /* mask indicating which buffers are affected*/ +passthru:     int x, y; +passthru:     int width, height; +passthru:     int count;		  /* if nonzero, at least this many more */ +passthru: } GLXBufferClobberEventSGIX; +passthru: #endif +passthru: +passthru: #ifndef GLX_NV_video_output +passthru: typedef unsigned int GLXVideoDeviceNV; +passthru: #endif +passthru: +passthru: #ifndef GLX_NV_video_capture +passthru: typedef XID GLXVideoCaptureDeviceNV; +passthru: #endif +passthru: +passthru: #ifndef GLEXT_64_TYPES_DEFINED +passthru: /* This code block is duplicated in glext.h, so must be protected */ +passthru: #define GLEXT_64_TYPES_DEFINED +passthru: /* Define int32_t, int64_t, and uint64_t types for UST/MSC */ +passthru: /* (as used in the GLX_OML_sync_control extension). */ +passthru: #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +passthru: #include <inttypes.h> +passthru: #elif defined(__sun__) || defined(__digital__) +passthru: #include <inttypes.h> +passthru: #if defined(__STDC__) +passthru: #if defined(__arch64__) || defined(_LP64) +passthru: typedef long int int64_t; +passthru: typedef unsigned long int uint64_t; +passthru: #else +passthru: typedef long long int int64_t; +passthru: typedef unsigned long long int uint64_t; +passthru: #endif /* __arch64__ */ +passthru: #endif /* __STDC__ */ +passthru: #elif defined( __VMS ) || defined(__sgi) +passthru: #include <inttypes.h> +passthru: #elif defined(__SCO__) || defined(__USLC__) +passthru: #include <stdint.h> +passthru: #elif defined(__UNIXOS2__) || defined(__SOL64__) +passthru: typedef long int int32_t; +passthru: typedef long long int int64_t; +passthru: typedef unsigned long long int uint64_t; +passthru: #elif defined(_WIN32) && defined(__GNUC__) +passthru: #include <stdint.h> +passthru: #elif defined(_WIN32) +passthru: typedef __int32 int32_t; +passthru: typedef __int64 int64_t; +passthru: typedef unsigned __int64 uint64_t; +passthru: #else +passthru: #include <inttypes.h>     /* Fallback option */ +passthru: #endif +passthru: #endif +passthru: + +############################################################################### +# +# GLX 1.3 commands +# +############################################################################### + +GetFBConfigs(dpy, screen, nelements) +	return		GLXFBConfigPointer +	param		dpy		Display out reference +	param		screen		int in value +	param		nelements	int out reference +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	21 + +ChooseFBConfig(dpy, screen, attrib_list, nelements) +	return		GLXFBConfigPointer +	param		dpy		Display out reference +	param		screen		int in value +	param		attrib_list	int in reference +	param		nelements	int out reference +	category	VERSION_1_3 +	glxflags	client-handcode client-intercept server-handcode + +GetFBConfigAttrib(dpy, config, attribute, value) +	return		int +	param		dpy		Display out reference +	param		config		GLXFBConfig in value +	param		attribute	int in value +	param		value		int out reference +	category	VERSION_1_3 +	glxflags	client-handcode client-intercept server-handcode + +GetVisualFromFBConfig(dpy, config) +	return		XVisualInfoPointer +	param		dpy		Display out reference +	param		config		GLXFBConfig in value +	category	VERSION_1_3 +	glxflags	client-handcode client-intercept server-handcode + +CreateWindow(dpy, config, win, attrib_list) +	return		GLXWindow +	param		dpy		Display out reference +	param		config		GLXFBConfig in value +	param		win		Window in value +	param		attrib_list	int in reference +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	31 + +DestroyWindow(dpy, win) +	return		void +	param		dpy		Display out reference +	param		win		GLXWindow in value +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	32 + +CreatePixmap(dpy, config, pixmap, attrib_list) +	return		GLXPixmap +	param		dpy		Display out reference +	param		config		GLXFBConfig in value +	param		pixmap		Pixmap in value +	param		attrib_list	int in reference +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	22 + +DestroyPixmap(dpy, pixmap) +	return		void +	param		dpy		Display out reference +	param		pixmap		GLXPixmap in value +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	23 + +CreatePbuffer(dpy, config, attrib_list) +	return		GLXPbuffer +	param		dpy		Display out reference +	param		config		GLXFBConfig in value +	param		attrib_list	int in reference +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	27 + +DestroyPbuffer(dpy, pbuf) +	return		void +	param		dpy		Display out reference +	param		pbuf		GLXPbuffer in value +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	28 + +# glXGetDrawableAttributes -> GLX opcode 29 +# glXChangeDrawableAttributes -> GLX opcode 30 + +# Uses glXGetDrawableAttributes protocol +QueryDrawable(dpy, draw, attribute, value) +	return		void +	param		dpy		Display out reference +	param		draw		GLXDrawable in value +	param		attribute	int in value +	param		value		uint out reference +	category	VERSION_1_3 +	glxflags	client-handcode client-intercept server-handcode + +CreateNewContext(dpy, config, render_type, share_list, direct) +	return		GLXContext +	param		dpy		Display out reference +	param		config		GLXFBConfig in value +	param		render_type	int in value +	param		share_list	GLXContext in value +	param		direct		Bool in value +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	24 + +MakeContextCurrent(dpy, draw, read, ctx) +	return		Bool +	param		dpy		Display out reference +	param		draw		GLXDrawable in value +	param		read		GLXDrawable in value +	param		ctx		GLXContext in value +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	26 + +GetCurrentReadDrawable() +	return		GLXDrawable +	category	VERSION_1_3 +	glxflags	client-handcode client-intercept server-handcode + +GetCurrentDisplay() +	return		DisplayPointer +	category	VERSION_1_3 +	glxflags	client-handcode client-intercept server-handcode + +QueryContext(dpy, ctx, attribute, value) +	return		int +	param		dpy		Display out reference +	param		ctx		GLXContext in value +	param		attribute	int in value +	param		value		int out reference +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode +	glxopcode	25 + +# Uses glXChangeDrawableAttributes protocol +SelectEvent(dpy, draw, event_mask) +	return		void +	param		dpy		Display out reference +	param		draw		GLXDrawable in value +	param		event_mask	ulong in value +	category	VERSION_1_3 +	glxflags	client-handcode server-handcode + +# Uses glXGetDrawableAttributes protocol +GetSelectedEvent(dpy, draw, event_mask) +	return		void +	param		dpy		Display out reference +	param		draw		GLXDrawable in value +	param		event_mask	ulong out reference +	category	VERSION_1_3 +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# GLX 1.4 commands +# +############################################################################### + +GetProcAddress(procName) +	return		FunctionPointer +	param		procName	GLubyte in reference +	category	VERSION_1_4 +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# ARB Extension #2 +# ARB_get_proc_address commands +# @promoted to core in GLX 1.4, but there's no provision for aliasing +# @in GLX spec files, yet +# +############################################################################### + +GetProcAddressARB(procName) +	return		FunctionPointer +	param		procName	GLubyte in reference +	category	ARB_get_proc_address +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# ARB Extension #5 +# ARB_multisample commands +# +############################################################################### + +# (none) +newcategory: ARB_multisample + +############################################################################### +# +# ARB Extension #39 +# ARB_fbconfig_float commands +# +############################################################################### + +# (none) +newcategory: ARB_fbconfig_float + +############################################################################### +# +# ARB Extension #56 +# ARB_create_context commands +# +############################################################################### + +CreateContextAttribsARB(dpy, config, share_context, direct, attrib_list) +	return		GLXContext +	param		dpy		Display out reference +	param		config		GLXFBConfig in value +	param		share_context	GLXContext in value +	param		direct		Bool in value +	param		attrib_list	int in reference +	category	ARB_create_context +	glxflags	client-handcode client-intercept server-handcode +	glxopcode	34 + +############################################################################### +# +# ARB Extension #75 +# ARB_create_context_profile commands +# +############################################################################### + +# (none) +newcategory: ARB_create_context_profile + + +############################################################################### +# +# Extension #25 +# SGIS_multisample commands +# +############################################################################### + +# (none) +newcategory: SGIS_multisample + +############################################################################### +# +# Extension #28 +# EXT_visual_info commands +# +############################################################################### + +# (none) +newcategory: EXT_visual_info + +############################################################################### +# +# Extension #40 +# SGI_swap_control commands +# +############################################################################### + +SwapIntervalSGI(interval) +	return		int +	param		interval	int in value +	category	SGI_swap_control +	glxflags	client-handcode server-handcode +	glxvendorglx	65536 + +############################################################################### +# +# Extension #41 +# SGI_video_sync commands +# +############################################################################### + +GetVideoSyncSGI(count) +	return		int +	param		count		uint out reference +	category	SGI_video_sync +	glxflags	client-handcode client-intercept server-handcode + +WaitVideoSyncSGI(divisor, remainder, count) +	return		int +	param		divisor		int in value +	param		remainder	int in value +	param		count		uint out reference +	category	SGI_video_sync +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #42 +# SGI_make_current_read commands +# +############################################################################### + +MakeCurrentReadSGI(dpy, draw, read, ctx) +	return		Bool +	param		dpy		Display out reference +	param		draw		GLXDrawable in value +	param		read		GLXDrawable in value +	param		ctx		GLXContext in value +	category	SGI_make_current_read +	glxflags	client-handcode server-handcode +	glxvendorglx	65537 + +GetCurrentReadDrawableSGI() +	return		GLXDrawable +	category	SGI_make_current_read +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #43 +# SGIX_video_source commands +# +############################################################################### + +newcategory: SGIX_video_source +passthru: #ifdef _VL_H + +CreateGLXVideoSourceSGIX(display, screen, server, path, nodeClass, drainNode) +	return		GLXVideoSourceSGIX +	param		display		Display out reference +	param		screen		int in value +	param		server		VLServer in value +	param		path		VLPath in value +	param		nodeClass	int in value +	param		drainNode	VLNode in value +	category	SGIX_video_source +	glxflags	client-handcode server-handcode +	glxvendorglx	65538 + +DestroyGLXVideoSourceSGIX(dpy, glxvideosource) +	return		void +	param		dpy		Display out reference +	param		glxvideosource	GLXVideoSourceSGIX in value +	category	SGIX_video_source +	glxflags	client-handcode server-handcode +	glxvendorglx	65539 + +passend: #endif /* _VL_H */ +endcategory: + +############################################################################### +# +# Extension #44 +# EXT_visual_rating commands +# +############################################################################### + +# (none) +newcategory: EXT_visual_rating + +############################################################################### +# +# Extension #47 +# EXT_import_context commands +# +############################################################################### + +GetCurrentDisplayEXT() +	return		DisplayPointer +	category	EXT_import_context +	glxflags	client-handcode client-intercept server-handcode + +QueryContextInfoEXT(dpy, context, attribute, value) +	return		int +	param		dpy		Display out reference +	param		context		GLXContext in value +	param		attribute	int in value +	param		value		int out reference +	category	EXT_import_context +	glxflags	client-handcode server-handcode +	glxvendorglx	1024 + +# 'constGLXContext' is a hack; the extension specification and glx.h +# should be fixed instead. +GetContextIDEXT(context) +	return		GLXContextID +	param		context		constGLXContext in value +	category	EXT_import_context +	glxflags	client-handcode client-intercept server-handcode + +ImportContextEXT(dpy, contextID) +	return		GLXContext +	param		dpy		Display out reference +	param		contextID	GLXContextID in value +	category	EXT_import_context +	glxflags	client-handcode client-intercept server-handcode + +FreeContextEXT(dpy, context) +	return		void +	param		dpy		Display out reference +	param		context		GLXContext in value +	category	EXT_import_context +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #49 +# SGIX_fbconfig commands +# +############################################################################### + +# GetFBConfigsSGIX protocol -> VendorPrivate opcode 65540 + +GetFBConfigAttribSGIX(dpy, config, attribute, value) +	return		int +	param		dpy		Display out reference +	param		config		GLXFBConfigSGIX in value +	param		attribute	int in value +	param		value		int out reference +	category	SGIX_fbconfig +	glxflags	client-handcode client-intercept server-handcode + +ChooseFBConfigSGIX(dpy, screen, attrib_list, nelements) +	return		GLXFBConfigSGIXPointer +	param		dpy		Display out reference +	param		screen		int in value +	param		attrib_list	int out reference +	param		nelements	int out reference +	category	SGIX_fbconfig +	glxflags	client-handcode client-intercept server-handcode + +CreateGLXPixmapWithConfigSGIX(dpy, config, pixmap) +	return		GLXPixmap +	param		dpy		Display out reference +	param		config		GLXFBConfigSGIX in value +	param		pixmap		Pixmap in value +	category	SGIX_fbconfig +	glxflags	client-handcode server-handcode +	glxvendorglx	65542 + +CreateContextWithConfigSGIX(dpy, config, render_type, share_list, direct) +	return		GLXContext +	param		dpy		Display out reference +	param		config		GLXFBConfigSGIX in value +	param		render_type	int in value +	param		share_list	GLXContext in value +	param		direct		Bool in value +	category	SGIX_fbconfig +	glxflags	client-handcode server-handcode +	glxvendorglx	65541 + +GetVisualFromFBConfigSGIX(dpy, config) +	return		XVisualInfoPointer +	param		dpy		Display out reference +	param		config		GLXFBConfigSGIX in value +	category	SGIX_fbconfig +	glxflags	client-handcode client-intercept server-handcode + +GetFBConfigFromVisualSGIX(dpy, vis) +	return		GLXFBConfigSGIX +	param		dpy		Display out reference +	param		vis		XVisualInfo out reference +	category	SGIX_fbconfig +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #50 +# SGIX_pbuffer commands +# +############################################################################### + +# ChangeDrawableAttributesSGIX protocol -> VendorPrivate opcode 65545 +# GetDrawableAttributesSGIX protocol -> VendorPrivate opcode 65546 + +CreateGLXPbufferSGIX(dpy, config, width,  height, attrib_list) +	return		GLXPbufferSGIX +	param		dpy		Display out reference +	param		config		GLXFBConfigSGIX in value +	param		width		uint in value +	param		height		uint in value +	param		attrib_list	int out reference +	category	SGIX_pbuffer +	glxflags	client-handcode server-handcode +	glxvendorglx	65543 + +DestroyGLXPbufferSGIX(dpy, pbuf) +	return		void +	param		dpy		Display out reference +	param		pbuf		GLXPbufferSGIX in value +	category	SGIX_pbuffer +	glxflags	client-handcode +	glxvendorglx	65544 + +QueryGLXPbufferSGIX(dpy, pbuf, attribute, value) +	return		int +	param		dpy		Display out reference +	param		pbuf		GLXPbufferSGIX in value +	param		attribute	int in value +	param		value		uint out reference +	category	SGIX_pbuffer + +SelectEventSGIX(dpy, drawable, mask) +	return		void +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		mask		ulong in value +	category	SGIX_pbuffer + +GetSelectedEventSGIX(dpy, drawable, mask) +	return		void +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		mask		ulong out reference +	category	SGIX_pbuffer + +############################################################################### +# +# Extension #62 +# SGI_cushion commands +# +############################################################################### + +CushionSGI(dpy, window, cushion) +	return		void +	param		dpy		Display out reference +	param		window		Window in value +	param		cushion		float in value +	category	SGI_cushion + +############################################################################### +# +# Extension #83 +# SGIX_video_resize commands +# +############################################################################### + +BindChannelToWindowSGIX(display, screen, channel, window) +	return		int +	param		display		Display out reference +	param		screen		int in value +	param		channel		int in value +	param		window		Window in value +	category	SGIX_video_resize + +ChannelRectSGIX(display, screen, channel, x, y, w, h) +	return		int +	param		display		Display out reference +	param		screen		int in value +	param		channel		int in value +	param		x		int in value +	param		y		int in value +	param		w		int in value +	param		h		int in value +	category	SGIX_video_resize + +QueryChannelRectSGIX(display, screen, channel, dx, dy, dw, dh) +	return		int +	param		display		Display out reference +	param		screen		int in value +	param		channel		int in value +	param		dx		int out reference +	param		dy		int out reference +	param		dw		int out reference +	param		dh		int out reference +	category	SGIX_video_resize + +QueryChannelDeltasSGIX(display, screen, channel, x, y, w, h) +	return		int +	param		display		Display out reference +	param		screen		int in value +	param		channel		int in value +	param		x		int out reference +	param		y		int out reference +	param		w		int out reference +	param		h		int out reference +	category	SGIX_video_resize + +# @@@ Not in man page - this entry point may not be shipping? +ChannelRectSyncSGIX(display, screen, channel, synctype) +	return		int +	param		display		Display out reference +	param		screen		int in value +	param		channel		int in value +	param		synctype	GLenum in value +	category	SGIX_video_resize + +############################################################################### +# +# Extension #86 +# SGIX_dmbuffer commands +# +############################################################################### + +newcategory: SGIX_dmbuffer +passthru: #ifdef _DM_BUFFER_H_ + +AssociateDMPbufferSGIX(dpy, pbuffer, params, dmbuffer) +	return		Bool +	param		dpy		Display out reference +	param		pbuffer		GLXPbufferSGIX in value +	param		params		DMparams out reference +	param		dmbuffer	DMbuffer in value +	category	SGIX_dmbuffer + +passend: #endif /* _DM_BUFFER_H_ */ +endcategory: + +############################################################################### +# +# Extension #91 +# SGIX_swap_group commands +# +############################################################################### + +JoinSwapGroupSGIX(dpy, drawable, member) +	return		void +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		member		GLXDrawable in value +	category	SGIX_swap_group +	glxflags	client-handcode server-handcode +	glxvendorglx	65547 + +############################################################################### +# +# Extension #92 +# SGIX_swap_barrier commands +# +############################################################################### + +BindSwapBarrierSGIX(dpy, drawable, barrier) +	return		void +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		barrier		int in value +	category	SGIX_swap_barrier +	glxflags	client-handcode server-handcode +	glxvendorglx	65548 + +QueryMaxSwapBarriersSGIX(dpy, screen, max) +	return		Bool +	param		dpy		Display out reference +	param		screen		int in value +	param		max		int out reference +	category	SGIX_swap_barrier +	glxflags	client-handcode server-handcode +	glxvendorglx	65549 + +############################################################################### +# +# Extension #183 +# SUN_get_transparent_index commands +# +############################################################################### + +GetTransparentIndexSUN(dpy, overlay, underlay, pTransparentIndex) +	return		Status +	param		dpy		Display out reference +	param		overlay		Window in value +	param		underlay	Window in value +	param		pTransparentIndex	long out reference +	category	SUN_get_transparent_index + +############################################################################### +# +# Extension #215 +# MESA_copy_sub_buffer commands +# +############################################################################### + +CopySubBufferMESA(dpy, drawable, x, y, width, height) +	return		void +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		x		int in value +	param		y		int in value +	param		width		int in value +	param		height		int in value +	category	MESA_copy_sub_buffer +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #216 +# MESA_pixmap_colormap commands +# +############################################################################### + +CreateGLXPixmapMESA(dpy, visual, pixmap, cmap) +	return		GLXPixmap +	param		dpy		Display out reference +	param		visual		XVisualInfo out reference +	param		pixmap		Pixmap in value +	param		cmap		Colormap in value +	category	MESA_pixmap_colormap +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #217 +# MESA_release_buffers commands +# +############################################################################### + +ReleaseBuffersMESA(dpy, drawable) +	return		Bool +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	category	MESA_release_buffers +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #218 +# MESA_set_3dfx_mode commands +# +############################################################################### + +# Brian's spec has this as returning 'GLboolean' and taking 'GLint mode' +Set3DfxModeMESA(mode) +	return		Bool +	param		mode		int in value +	category	MESA_set_3dfx_mode +	glxflags	client-handcode client-intercept server-handcode + +############################################################################### +# +# Extension #234 +# SGIX_visual_select_group commands +# +############################################################################### + +# (none) +newcategory: SGIX_visual_select_group + +############################################################################### +# +# Extension #237 +# OML_swap_method commands +# +############################################################################### + +# (none) +newcategory:  OML_swap_method + +############################################################################### +# +# Extension #238 +# OML_sync_control commands +# +############################################################################### + +GetSyncValuesOML(dpy, drawable, ust, msc, sbc) +	return		Bool +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		ust		int64_t out reference +	param		msc		int64_t out reference +	param		sbc		int64_t out reference +	category	OML_sync_control +	glxflags	client-handcode server-handcode + +GetMscRateOML(dpy, drawable, numerator, denominator) +	return		Bool +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		numerator	int32_t out reference +	param		denominator	int32_t out reference +	category	OML_sync_control +	glxflags	client-handcode server-handcode + +SwapBuffersMscOML(dpy, drawable, target_msc, divisor, remainder) +	return		int64_t +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		target_msc	int64_t in value +	param		divisor		int64_t in value +	param		remainder	int64_t in value +	category	OML_sync_control +	glxflags	client-handcode server-handcode + +WaitForMscOML(dpy, drawable, target_msc, divisor, remainder, ust, msc, sbc) +	return		Bool +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		target_msc	int64_t in value +	param		divisor		int64_t in value +	param		remainder	int64_t in value +	param		ust		int64_t out reference +	param		msc		int64_t out reference +	param		sbc		int64_t out reference +	category	OML_sync_control +	glxflags	client-handcode server-handcode + +WaitForSbcOML(dpy, drawable, target_sbc, ust, msc, sbc) +	return		Bool +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		target_sbc	int64_t in value +	param		ust		int64_t out reference +	param		msc		int64_t out reference +	param		sbc		int64_t out reference +	category	OML_sync_control +	glxflags	client-handcode server-handcode + +############################################################################### +# +# Extension #281 +# NV_float_buffer commands +# +############################################################################### + +# (none) +newcategory: NV_float_buffer + +############################################################################### +# +# Extension #307 +# SGIX_hyperpipe commands +# +############################################################################### + +newcategory: SGIX_hyperpipe +passthru: +passthru: typedef struct { +passthru:     char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; +passthru:     int     networkId; +passthru: } GLXHyperpipeNetworkSGIX; +passthru: +passthru: typedef struct { +passthru:     char    pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; +passthru:     int     channel; +passthru:     unsigned int +passthru:	      participationType; +passthru:     int     timeSlice; +passthru: } GLXHyperpipeConfigSGIX; +passthru: +passthru: typedef struct { +passthru:     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; +passthru:     int srcXOrigin, srcYOrigin, srcWidth, srcHeight; +passthru:     int destXOrigin, destYOrigin, destWidth, destHeight; +passthru: } GLXPipeRect; +passthru: +passthru: typedef struct { +passthru:     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX]; +passthru:     int XOrigin, YOrigin, maxHeight, maxWidth; +passthru: } GLXPipeRectLimits; +passthru: + +QueryHyperpipeNetworkSGIX(dpy, npipes) +	return		GLXHyperpipeNetworkSGIXPointer +	param		dpy		Display out reference +	param		npipes		int out reference +	glxflags	client-handcode server-handcode +	category	SGIX_hyperpipe +	glxvendorglx	65550 + +HyperpipeConfigSGIX(dpy, networkId, npipes, cfg, hpId) +	return		int +	param		dpy		Display out reference +	param		networkId	int in value +	param		npipes		int in value +	param		cfg		GLXHyperpipeConfigSGIX out array [COMPSIZE(npipes)] +	param		hpId		int out reference +	glxflags	client-handcode server-handcode +	category	SGIX_hyperpipe +	glxvendorglx	65552 + +QueryHyperpipeConfigSGIX(dpy, hpId, npipes) +	return		GLXHyperpipeConfigSGIXPointer +	param		dpy		Display out reference +	param		hpId		int in value +	param		npipes		int out reference +	glxflags	client-handcode server-handcode +	category	SGIX_hyperpipe +	glxvendorglx	65551 + +DestroyHyperpipeConfigSGIX(dpy, hpId) +	return		int +	param		dpy		Display out reference +	param		hpId		int in value +	glxflags	client-handcode server-handcode +	category	SGIX_hyperpipe +	glxvendorglx	65553 + +BindHyperpipeSGIX(dpy, hpId) +	return		int +	param		dpy		Display out reference +	param		hpId		int in value +	glxflags	client-handcode server-handcode +	category	SGIX_hyperpipe +	glxvendorglx	??? + +QueryHyperpipeBestAttribSGIX(dpy, timeSlice, attrib, size, attribList, returnAttribList) +	return		int +	param		dpy		Display out reference +	param		timeSlice	int in value +	param		attrib		int in value +	param		size		int in value +	param		attribList	void out array [COMPSIZE(size)] +	param		returnAttribList void out array [COMPSIZE(size)] +	glxflags	client-handcode server-handcode +	category	SGIX_hyperpipe +	glxvendorglx	??? + +HyperpipeAttribSGIX(dpy, timeSlice, attrib, size, attribList) +	return		int +	param		dpy		Display out reference +	param		timeSlice	int in value +	param		attrib		int in value +	param		size		int in value +	param		attribList	void out array [COMPSIZE(size)] +	glxflags	client-handcode server-handcode +	category	SGIX_hyperpipe +	glxvendorglx	??? + +QueryHyperpipeAttribSGIX(dpy, timeSlice, attrib, size, returnAttribList) +	return		int +	param		dpy		Display out reference +	param		timeSlice	int in value +	param		attrib		int in value +	param		size		int in value +	param		returnAttribList void out array [COMPSIZE(size)] +	glxflags	client-handcode server-handcode +	category	SGIX_hyperpipe +	glxvendorglx	??? + +############################################################################### +# +# Extension #308 +# MESA_agp_offset commands +# +############################################################################### + +GetAGPOffsetMESA(pointer) +	return		uint +	param		pointer		void in reference +	glxflags	client-handcode client-intercept server-handcode +	category	MESA_agp_offset + +############################################################################### +# +# Extension #328 +# EXT_fbconfig_packed_float commands +# +############################################################################### + +# (none) +newcategory: EXT_fbconfig_packed_float + +############################################################################### +# +# Extension #337 +# EXT_framebuffer_sRGB commands +# +############################################################################### + +# (none) +newcategory: EXT_framebuffer_sRGB + +############################################################################### +# +# Extension #344 +# EXT_texture_from_pixmap commands +# +############################################################################### + +BindTexImageEXT(dpy, drawable, buffer, attrib_list) +	return		void +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		buffer		int in value +	param		attrib_list	int in reference +	category	EXT_texture_from_pixmap +	glxflags	client-handcode server-handcode +	glxvendorglx	1330 + +ReleaseTexImageEXT(dpy, drawable, buffer) +	return		void +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		buffer		int in value +	category	EXT_texture_from_pixmap +	glxflags	client-handcode server-handcode +	glxvendorglx	1331 + +############################################################################### +# +# Extension #347 +# NV_present_video commands +# +############################################################################### + +EnumerateVideoDevicesNV(dpy, screen, nelements) +	return		uintPointer +	param		dpy		Display out reference +	param		screen		int in value +	param		nelements	int out reference +	category	NV_present_video +	glxflags	client-handcode server-handcode + +BindVideoDeviceNV(dpy, video_slot, video_device, attrib_list) +	return		int +	param		dpy		Display out reference +	param		video_slot	uint in value +	param		video_device	uint in value +	param		attrib_list	int in reference +	category	NV_present_video +	glxflags	client-handcode server-handcode + +############################################################################### +# +# Extension #348 +# NV_video_output commands +# +############################################################################### + +GetVideoDeviceNV(dpy, screen, numVideoDevices, pVideoDevice) +	return		int +	param		dpy		Display out reference +	param		screen		int in value +	param		numVideoDevices int in value +	param		pVideoDevice	GLXVideoDeviceNV out array [COMPSIZE(numVideoDevices)] +	category	NV_video_output +	glxflags	client-handcode server-handcode + +ReleaseVideoDeviceNV(dpy, screen, VideoDevice) +	return		int +	param		dpy		Display out reference +	param		screen		int in value +	param		VideoDevice	GLXVideoDeviceNV in value +	category	NV_video_output +	glxflags	client-handcode server-handcode + +BindVideoImageNV(dpy, VideoDevice, pbuf, iVideoBuffer) +	return		int +	param		dpy		Display out reference +	param		VideoDevice	GLXVideoDeviceNV in value +	param		pbuf		GLXPbuffer in value +	param		iVideoBuffer	int in value +	category	NV_video_output +	glxflags	client-handcode server-handcode + +ReleaseVideoImageNV(dpy, pbuf) +	return		int +	param		dpy		Display out reference +	param		pbuf		GLXPbuffer in value +	category	NV_video_output +	glxflags	client-handcode server-handcode + +SendPbufferToVideoNV(dpy, pbuf, iBufferType, pulCounterPbuffer, bBlock) +	return		int +	param		dpy		Display out reference +	param		pbuf		GLXPbuffer in value +	param		iBufferType	int in value +	param		pulCounterPbuffer ulong out reference +	param		bBlock		GLboolean in value +	category	NV_video_output +	glxflags	client-handcode server-handcode + +GetVideoInfoNV(dpy, screen, VideoDevice, pulCounterOutputPbuffer, pulCounterOutputVideo) +	return		int +	param		dpy		Display out reference +	param		screen		int in value +	param		VideoDevice	GLXVideoDeviceNV in value +	param		pulCounterOutputPbuffer ulong out reference +	param		pulCounterOutputVideo	ulong out reference +	category	NV_video_output +	glxflags	client-handcode server-handcode + +############################################################################### +# +# Extension #350 +# NV_swap_group commands +# +############################################################################### + +JoinSwapGroupNV(dpy, drawable, group) +	return		Bool +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		group		GLuint in value +	category	NV_swap_group +	glxflags	client-handcode server-handcode + +BindSwapBarrierNV(dpy, group, barrier) +	return		Bool +	param		dpy		Display out reference +	param		group		GLuint in value +	param		barrier		GLuint in value +	category	NV_swap_group +	glxflags	client-handcode server-handcode + +QuerySwapGroupNV(dpy, drawable, group, barrier) +	return		Bool +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		group		GLuint out reference +	param		barrier		GLuint out reference +	category	NV_swap_group +	glxflags	client-handcode server-handcode + +QueryMaxSwapGroupsNV(dpy, screen, maxGroups, maxBarriers) +	return		Bool +	param		dpy		Display out reference +	param		screen		int in value +	param		maxGroups	GLuint out reference +	param		maxBarriers	GLuint out reference +	category	NV_swap_group +	glxflags	client-handcode server-handcode + +QueryFrameCountNV(dpy, screen, count) +	return		Bool +	param		dpy		Display out reference +	param		screen		int in value +	param		count		GLuint out reference +	category	NV_swap_group +	glxflags	client-handcode server-handcode + +ResetFrameCountNV(dpy, screen) +	return		Bool +	param		dpy		Display out reference +	param		screen		int in value +	category	NV_swap_group +	glxflags	client-handcode server-handcode + +############################################################################### +# +# Extension #374 +# NV_video_capture commands +# +############################################################################### + +BindVideoCaptureDeviceNV(dpy, video_capture_slot, device) +	return		int +	param		dpy		Display out reference +	param		video_capture_slot uint in value +	param		device		GLXVideoCaptureDeviceNV in value +	category	NV_video_capture +	glxflags	client-handcode server-handcode + +EnumerateVideoCaptureDevicesNV(dpy, screen, nelements) +	return		GLXVideoCaptureDeviceNVPointer +	param		dpy		Display out reference +	param		screen		int in value +	param		nelements	int out reference +	category	NV_video_capture +	glxflags	client-handcode server-handcode + +LockVideoCaptureDeviceNV(dpy, device) +	return		void +	param		dpy		Display out reference +	param		device		GLXVideoCaptureDeviceNV in value +	category	NV_video_capture +	glxflags	client-handcode server-handcode + +QueryVideoCaptureDeviceNV(dpy, device, attribute, value) +	return		int +	param		dpy		Display out reference +	param		device		GLXVideoCaptureDeviceNV in value +	param		attribute	int in value +	param		value		int out array [COMPSIZE(attribute)] +	category	NV_video_capture +	glxflags	client-handcode server-handcode + +ReleaseVideoCaptureDeviceNV(dpy, device) +	return		void +	param		dpy		Display out reference +	param		device		GLXVideoCaptureDeviceNV in value +	category	NV_video_capture +	glxflags	client-handcode server-handcode + +############################################################################### +# +# Extension #375 +# EXT_swap_control commands +# +############################################################################### + +SwapIntervalEXT(dpy, drawable, interval) +	return		int +	param		dpy		Display out reference +	param		drawable	GLXDrawable in value +	param		interval	int in value +	category	EXT_swap_control +	glxflags	client-handcode server-handcode + +############################################################################### +# +# Extension #376 +# NV_copy_image commands +# +############################################################################### + +CopyImageSubDataNV(dpy, srcCtx, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstCtx, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, width, height, depth) +	return		void +	param		dpy		Display out reference +	param		srcCtx		GLXContext in value +	param		srcName		GLuint in value +	param		srcTarget	GLenum in value +	param		srcLevel	GLint in value +	param		srcX		GLint in value +	param		srcY		GLint in value +	param		srcZ		GLint in value +	param		dstCtx		GLXContext in value +	param		dstName		GLuint in value +	param		dstTarget	GLenum in value +	param		dstLevel	GLint in value +	param		dstX		GLint in value +	param		dstY		GLint in value +	param		dstZ		GLint in value +	param		width		GLsizei in value +	param		height		GLsizei in value +	param		depth		GLsizei in value +	category	NV_copy_image +	glxflags	client-handcode server-handcode + +############################################################################### +# +# Extension #384 +# INTEL_swap_event commands +# +############################################################################### + +# (none) +newcategory: INTEL_swap_event diff --git a/src/glx/apple/specs/update.sh b/src/glx/apple/specs/update.sh new file mode 100755 index 0000000000..f8c3158a53 --- /dev/null +++ b/src/glx/apple/specs/update.sh @@ -0,0 +1,4 @@ +for f in enum.spec enumext.spec gl.spec gl.tm glx.spec glxenum.spec glxenumext.spec glxext.spec ; do +	curl -LO http://www.opengl.org/registry/api/$f +done + diff --git a/src/glx/clientattrib.c b/src/glx/clientattrib.c index a7dfb53486..b26c17938d 100644 --- a/src/glx/clientattrib.c +++ b/src/glx/clientattrib.c @@ -35,6 +35,7 @@  /*****************************************************************************/ +#ifndef GLX_USE_APPLEGL  static void  do_enable_disable(GLenum array, GLboolean val)  { @@ -123,6 +124,7 @@ __indirect_glPopClientAttrib(void)        return;     }  } +#endif  void  __glFreeAttributeState(__GLXcontext * gc) diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index 73d11f14a1..6058c721da 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -30,7 +30,7 @@   *   Kristian Høgsberg (krh@redhat.com)   */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  #include <X11/Xlib.h>  #include <X11/extensions/Xfixes.h> diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c index dbc6082313..429fc6d891 100644 --- a/src/glx/dri_common.c +++ b/src/glx/dri_common.c @@ -33,7 +33,7 @@   *   Kristian Høgsberg (krh@redhat.com)   */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  #include <unistd.h>  #include <dlfcn.h> diff --git a/src/glx/dri_glx.c b/src/glx/dri_glx.c index e47db82b70..74afa60301 100644 --- a/src/glx/dri_glx.c +++ b/src/glx/dri_glx.c @@ -32,7 +32,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.   *   */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  #include <X11/Xlib.h>  #include <X11/extensions/Xfixes.h> diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index 786faff81c..cdb1d9f4dc 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -21,7 +21,7 @@   * SOFTWARE.   */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  #include <X11/Xlib.h>  #include "glxclient.h" diff --git a/src/glx/glcontextmodes.c b/src/glx/glcontextmodes.c index eb9037907f..cdc16f8330 100644 --- a/src/glx/glcontextmodes.c +++ b/src/glx/glcontextmodes.c @@ -237,9 +237,11 @@ _gl_get_context_mode_data(const __GLcontextModes * mode, int attribute,     case GLX_LEVEL:        *value_return = mode->level;        return 0; +#ifndef GLX_USE_APPLEGL               /* This isn't supported by CGL. */     case GLX_TRANSPARENT_TYPE_EXT:        *value_return = mode->transparentPixel;        return 0; +#endif     case GLX_TRANSPARENT_RED_VALUE:        *value_return = mode->transparentRed;        return 0; @@ -285,6 +287,7 @@ _gl_get_context_mode_data(const __GLcontextModes * mode, int attribute,     case GLX_MAX_PBUFFER_PIXELS:        *value_return = mode->maxPbufferPixels;        return 0; +#ifndef GLX_USE_APPLEGL               /* These aren't supported by CGL. */     case GLX_OPTIMAL_PBUFFER_WIDTH_SGIX:        *value_return = mode->optimalPbufferWidth;        return 0; @@ -294,6 +297,7 @@ _gl_get_context_mode_data(const __GLcontextModes * mode, int attribute,     case GLX_SWAP_METHOD_OML:        *value_return = mode->swapMethod;        return 0; +#endif     case GLX_SAMPLE_BUFFERS_SGIS:        *value_return = mode->sampleBuffers;        return 0; diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c index 2098cc6a52..b8d0f21bf0 100644 --- a/src/glx/glx_pbuffer.c +++ b/src/glx/glx_pbuffer.c @@ -37,6 +37,12 @@  #include <string.h>  #include "glxextensions.h" +#ifdef GLX_USE_APPLEGL +#include <pthread.h> +#include "apple_glx_drawable.h" +#include "glx_error.h" +#endif +  #define WARN_ONCE_GLX_1_3(a, b) {		\  		static int warned=1;		\  		if(warned) {			\ @@ -49,19 +55,19 @@   * Emit a warning when clients use GLX 1.3 functions on pre-1.3 systems.   */  static void -warn_GLX_1_3(Display *dpy, const char *function_name) +warn_GLX_1_3(Display * dpy, const char *function_name)  {     __GLXdisplayPrivate *priv = __glXInitialize(dpy);     if (priv->minorVersion < 3) { -      fprintf(stderr,  -	      "WARNING: Application calling GLX 1.3 function \"%s\" " -	      "when GLX 1.3 is not supported!  This is an application bug!\n", -	      function_name); +      fprintf(stderr, +              "WARNING: Application calling GLX 1.3 function \"%s\" " +              "when GLX 1.3 is not supported!  This is an application bug!\n", +              function_name);     }  } - +#ifndef GLX_USE_APPLEGL  /**   * Change a drawable's attribute.   * @@ -320,7 +326,7 @@ GetDrawableAttribute(Display * dpy, GLXDrawable drawable,              }           } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)           {              __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL); @@ -586,6 +592,7 @@ glXCreateGLXPbufferSGIX(Display * dpy, GLXFBConfigSGIX config,                                           attrib_list, GL_FALSE);  } +#endif /* GLX_USE_APPLEGL */  /**   * Create a new pbuffer. @@ -594,12 +601,57 @@ PUBLIC GLXPbuffer  glXCreatePbuffer(Display * dpy, GLXFBConfig config, const int *attrib_list)  {     int i, width, height; +#ifdef GLX_USE_APPLEGL +   GLXPbuffer result; +   int errorcode; +#endif     width = 0;     height = 0;     WARN_ONCE_GLX_1_3(dpy, __func__); +#ifdef GLX_USE_APPLEGL +   for (i = 0; attrib_list[i]; ++i) { +      switch (attrib_list[i]) { +      case GLX_PBUFFER_WIDTH: +         width = attrib_list[i + 1]; +         ++i; +         break; + +      case GLX_PBUFFER_HEIGHT: +         height = attrib_list[i + 1]; +         ++i; +         break; + +      case GLX_LARGEST_PBUFFER: +         /* This is a hint we should probably handle, but how? */ +         ++i; +         break; + +      case GLX_PRESERVED_CONTENTS: +         /* The contents are always preserved with AppleSGLX with CGL. */ +         ++i; +         break; + +      default: +         return None; +      } +   } + +   if (apple_glx_pbuffer_create(dpy, config, width, height, &errorcode, +                                &result)) { +      /*  +       * apple_glx_pbuffer_create only sets the errorcode to core X11 +       * errors.  +       */ +      __glXSendError(dpy, errorcode, 0, X_GLXCreatePbuffer, true); + +      return None; +   } + +   return result; +#else     for (i = 0; attrib_list[i * 2]; i++) {        switch (attrib_list[i * 2]) {        case GLX_PBUFFER_WIDTH: @@ -613,6 +665,7 @@ glXCreatePbuffer(Display * dpy, GLXFBConfig config, const int *attrib_list)     return (GLXPbuffer) CreatePbuffer(dpy, (__GLcontextModes *) config,                                       width, height, attrib_list, GL_TRUE); +#endif  } @@ -622,7 +675,13 @@ glXCreatePbuffer(Display * dpy, GLXFBConfig config, const int *attrib_list)  PUBLIC void  glXDestroyPbuffer(Display * dpy, GLXPbuffer pbuf)  { +#ifdef GLX_USE_APPLEGL +   if (apple_glx_pbuffer_destroy(dpy, pbuf)) { +      __glXSendError(dpy, GLXBadPbuffer, pbuf, X_GLXDestroyPbuffer, false); +   } +#else     DestroyPbuffer(dpy, pbuf); +#endif  } @@ -634,10 +693,47 @@ glXQueryDrawable(Display * dpy, GLXDrawable drawable,                   int attribute, unsigned int *value)  {     WARN_ONCE_GLX_1_3(dpy, __func__); +#ifdef GLX_USE_APPLEGL +   Window root; +   int x, y; +   unsigned int width, height, bd, depth; + +   if (apple_glx_pixmap_query(drawable, attribute, value)) +      return;                   /*done */ + +   if (apple_glx_pbuffer_query(drawable, attribute, value)) +      return;                   /*done */ + +   /* +    * The OpenGL spec states that we should report GLXBadDrawable if +    * the drawable is invalid, however doing so would require that we +    * use XSetErrorHandler(), which is known to not be thread safe. +    * If we use a round-trip call to validate the drawable, there could +    * be a race, so instead we just opt in favor of letting the +    * XGetGeometry request fail with a GetGeometry request X error  +    * rather than GLXBadDrawable, in what is hoped to be a rare +    * case of an invalid drawable.  In practice most and possibly all +    * X11 apps using GLX shouldn't notice a difference. +    */ +   if (XGetGeometry +       (dpy, drawable, &root, &x, &y, &width, &height, &bd, &depth)) { +      switch (attribute) { +      case GLX_WIDTH: +         *value = width; +         break; + +      case GLX_HEIGHT: +         *value = height; +         break; +      } +   } +#else     GetDrawableAttribute(dpy, drawable, attribute, value); +#endif  } +#ifndef GLX_USE_APPLEGL  /**   * Query an attribute of a pbuffer.   */ @@ -647,7 +743,7 @@ glXQueryGLXPbufferSGIX(Display * dpy, GLXPbufferSGIX drawable,  {     return GetDrawableAttribute(dpy, drawable, attribute, value);  } - +#endif  /**   * Select the event mask for a drawable. @@ -655,12 +751,30 @@ glXQueryGLXPbufferSGIX(Display * dpy, GLXPbufferSGIX drawable,  PUBLIC void  glXSelectEvent(Display * dpy, GLXDrawable drawable, unsigned long mask)  { +#ifdef GLX_USE_APPLEGL +   XWindowAttributes xwattr; + +   if (apple_glx_pbuffer_set_event_mask(drawable, mask)) +      return;                   /*done */ + +   /*  +    * The spec allows a window, but currently there are no valid +    * events for a window, so do nothing. +    */ +   if (XGetWindowAttributes(dpy, drawable, &xwattr)) +      return;                   /*done */ +   /* The drawable seems to be invalid.  Report an error. */ + +   __glXSendError(dpy, GLXBadDrawable, drawable, +                  X_GLXChangeDrawableAttributes, false); +#else     CARD32 attribs[2];     attribs[0] = (CARD32) GLX_EVENT_MASK;     attribs[1] = (CARD32) mask;     ChangeDrawableAttribute(dpy, drawable, attribs, 1); +#endif  } @@ -670,6 +784,26 @@ glXSelectEvent(Display * dpy, GLXDrawable drawable, unsigned long mask)  PUBLIC void  glXGetSelectedEvent(Display * dpy, GLXDrawable drawable, unsigned long *mask)  { +#ifdef GLX_USE_APPLEGL +   XWindowAttributes xwattr; + +   if (apple_glx_pbuffer_get_event_mask(drawable, mask)) +      return;                   /*done */ + +   /*  +    * The spec allows a window, but currently there are no valid +    * events for a window, so do nothing, but set the mask to 0. +    */ +   if (XGetWindowAttributes(dpy, drawable, &xwattr)) { +      /* The window is valid, so set the mask to 0. */ +      *mask = 0; +      return;                   /*done */ +   } +   /* The drawable seems to be invalid.  Report an error. */ + +   __glXSendError(dpy, GLXBadDrawable, drawable, X_GLXGetDrawableAttributes, +                  true); +#else     unsigned int value; @@ -680,6 +814,7 @@ glXGetSelectedEvent(Display * dpy, GLXDrawable drawable, unsigned long *mask)     GetDrawableAttribute(dpy, drawable, GLX_EVENT_MASK_SGIX, &value);     *mask = value; +#endif  } @@ -689,8 +824,17 @@ glXCreatePixmap(Display * dpy, GLXFBConfig config, Pixmap pixmap,  {     WARN_ONCE_GLX_1_3(dpy, __func__); +#ifdef GLX_USE_APPLEGL +   const __GLcontextModes *modes = (const __GLcontextModes *) config; + +   if (apple_glx_pixmap_create(dpy, modes->screen, pixmap, modes)) +      return None; + +   return pixmap; +#else     return CreateDrawable(dpy, (__GLcontextModes *) config,                           (Drawable) pixmap, attrib_list, X_GLXCreatePixmap); +#endif  } @@ -699,9 +843,33 @@ glXCreateWindow(Display * dpy, GLXFBConfig config, Window win,                  const int *attrib_list)  {     WARN_ONCE_GLX_1_3(dpy, __func__); +#ifdef GLX_USE_APPLEGL +   XWindowAttributes xwattr; +   XVisualInfo *visinfo; + +   (void) attrib_list;          /*unused according to GLX 1.4 */ +   XGetWindowAttributes(dpy, win, &xwattr); + +   visinfo = glXGetVisualFromFBConfig(dpy, config); + +   if (NULL == visinfo) { +      __glXSendError(dpy, GLXBadFBConfig, 0, X_GLXCreateWindow, false); +      return None; +   } + +   if (visinfo->visualid != XVisualIDFromVisual(xwattr.visual)) { +      __glXSendError(dpy, BadMatch, 0, X_GLXCreateWindow, true); +      return None; +   } + +   XFree(visinfo); + +   return win; +#else     return CreateDrawable(dpy, (__GLcontextModes *) config,                           (Drawable) win, attrib_list, X_GLXCreateWindow); +#endif  } @@ -709,8 +877,12 @@ PUBLIC void  glXDestroyPixmap(Display * dpy, GLXPixmap pixmap)  {     WARN_ONCE_GLX_1_3(dpy, __func__); - +#ifdef GLX_USE_APPLEGL +   if (apple_glx_pixmap_destroy(dpy, pixmap)) +      __glXSendError(dpy, GLXBadPixmap, pixmap, X_GLXDestroyPixmap, false); +#else     DestroyDrawable(dpy, (GLXDrawable) pixmap, X_GLXDestroyPixmap); +#endif  } @@ -718,11 +890,12 @@ PUBLIC void  glXDestroyWindow(Display * dpy, GLXWindow win)  {     WARN_ONCE_GLX_1_3(dpy, __func__); - +#ifndef GLX_USE_APPLEGL     DestroyDrawable(dpy, (GLXDrawable) win, X_GLXDestroyWindow); +#endif  } - +#ifndef GLX_USE_APPLEGL  PUBLIC  GLX_ALIAS_VOID(glXDestroyGLXPbufferSGIX,                 (Display * dpy, GLXPbufferSGIX pbuf), @@ -738,4 +911,4 @@ GLX_ALIAS_VOID(glXGetSelectedEventSGIX,                 (Display * dpy, GLXDrawable drawable,                  unsigned long *mask), (dpy, drawable, mask),                 glXGetSelectedEvent) - +#endif diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h index e4b2c63f77..57d254ea98 100644 --- a/src/glx/glxclient.h +++ b/src/glx/glxclient.h @@ -97,8 +97,13 @@ typedef struct _glapi_table __GLapi;  #define containerOf(ptr, type, member)              \      (type *)( (char *)ptr - offsetof(type,member) ) -#include <GL/internal/dri_interface.h> +extern void DRI_glXUseXFont(Font font, int first, int count, int listbase); + +#endif +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) + +#include <GL/internal/dri_interface.h>  /**   * Display dependent methods.  This structure is initialized during the @@ -185,8 +190,6 @@ extern __GLXDRIdisplay *dri2CreateDisplay(Display * dpy);  extern void dri2InvalidateBuffers(Display *dpy, XID drawable); -extern void DRI_glXUseXFont(Font font, int first, int count, int listbase); -  /*  ** Functions to obtain driver configuration information from a direct  ** rendering client application @@ -405,9 +408,14 @@ struct __GLXcontextRec     const __GLcontextModes *mode;  #ifdef GLX_DIRECT_RENDERING +#ifdef GLX_USE_APPLEGL +   void *driContext; +   Bool do_destroy; +#else     __GLXDRIcontext *driContext;     __DRIcontext *__driContext;  #endif +#endif      /**       * The current read-drawable for this context.  Will be None if this @@ -503,7 +511,7 @@ struct __GLXscreenConfigsRec       */     char *effectiveGLXexts; -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      /**       * Per screen direct rendering interface functions and data.       */ @@ -618,7 +626,7 @@ struct __GLXdisplayPrivateRec       */     __GLXscreenConfigs *screenConfigs; -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      /**       * Per display direct rendering interface functions and data.       */ @@ -796,7 +804,7 @@ extern GLboolean __glXGetMscRateOML(Display * dpy, GLXDrawable drawable,                                      int32_t * numerator,                                      int32_t * denominator); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  GLboolean  __driGetMscRateOML(__DRIdrawable * draw,                     int32_t * numerator, int32_t * denominator, void *private); diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index e256a078f1..be9d6f29c0 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -39,10 +39,17 @@  #include "glcontextmodes.h"  #ifdef GLX_DIRECT_RENDERING +#ifdef GLX_USE_APPLEGL +#include "apple_glx_context.h" +#include "apple_glx.h" +#include "glx_error.h" +#define GC_IS_DIRECT(gc) ((gc)->isDirect) +#else  #include <sys/time.h>  #include <X11/extensions/xf86vmode.h>  #include "xf86dri.h"  #define GC_IS_DIRECT(gc) ((gc)->driContext != NULL) +#endif  #else  #define GC_IS_DIRECT(gc) (0)  #endif @@ -59,7 +66,7 @@ static const char __glXGLXClientVersion[] = "1.4";  /****************************************************************************/ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  static Bool windowExistsFlag;  static int @@ -344,6 +351,12 @@ AllocateGLXContext(Display * dpy)        bufSize = __GLX_MAX_RENDER_CMD_SIZE;     }     gc->maxSmallRenderCommandSize = bufSize; +    +#ifdef GLX_USE_APPLEGL +   gc->driContext = NULL; +   gc->do_destroy = False;    +#endif +     return gc;  } @@ -366,9 +379,14 @@ CreateContext(Display * dpy, int generic_id,  {     GLXContext gc;  #ifdef GLX_DIRECT_RENDERING +#ifdef GLX_USE_APPLEGL +   int errorcode; +   bool x11error; +#else     __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, screen);  #endif - +#endif +         if (dpy == NULL)        return NULL; @@ -379,6 +397,7 @@ CreateContext(Display * dpy, int generic_id,     if (!gc)        return NULL; +#ifndef GLX_USE_APPLEGL  /* TODO: darwin indirect */  #ifdef GLX_DIRECT_RENDERING     if (allowDirect && psc->driScreen) {        gc->driContext = psc->driScreen->createContext(psc, fbconfig, gc, @@ -455,10 +474,26 @@ CreateContext(Display * dpy, int generic_id,     UnlockDisplay(dpy);     SyncHandle(); +#endif     gc->imported = GL_FALSE;     gc->renderType = renderType; +   /* TODO: darwin: Integrate with above to do indirect */ +#ifdef GLX_USE_APPLEGL +   if(apple_glx_create_context(&gc->driContext, dpy, screen, fbconfig,  +                               shareList ? shareList->driContext : NULL, +                               &errorcode, &x11error)) { +      __glXSendError(dpy, errorcode, 0, X_GLXCreateContext, x11error); +      __glXFreeContext(gc); +      return NULL; +   } +    +   gc->currentContextTag = -1; +   gc->mode = fbconfig; +   gc->isDirect = allowDirect; +#endif +     return gc;  } @@ -469,7 +504,7 @@ glXCreateContext(Display * dpy, XVisualInfo * vis,     const __GLcontextModes *mode = NULL;     int renderType = 0; -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) || defined(GLX_USE_APPLEGL)     __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, vis->screen);     mode = _gl_context_modes_find_visual(psc->visuals, vis->visualid); @@ -517,6 +552,7 @@ __glXFreeContext(__GLXcontext * gc)  static void  DestroyContext(Display * dpy, GLXContext gc)  { +#ifndef GLX_USE_APPLEGL /* TODO: darwin: indirect */     xGLXDestroyContextReq *req;     GLXContextID xid;     CARD8 opcode; @@ -542,7 +578,7 @@ DestroyContext(Display * dpy, GLXContext gc)        return;     } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     /* Destroy the direct rendering context */     if (gc->driContext) {        (*gc->driContext->destroyContext) (gc->driContext, gc->psc, dpy); @@ -552,17 +588,31 @@ DestroyContext(Display * dpy, GLXContext gc)  #endif     __glXFreeVertexArrayState(gc); +#else +   __glXLock(); +#endif /* GLX_USE_APPLEGL */        if (gc->currentDpy) { +#ifdef GLX_USE_APPLEGL +      /*  +       * Set the Bool that indicates that we should destroy this GLX context +       * when the context is no longer current. +       */ +      gc->do_destroy = True; +#endif        /* Have to free later cuz it's in use now */        __glXUnlock();     }     else {        /* Destroy the handle if not current to anybody */        __glXUnlock(); +#ifdef GLX_USE_APPLEGL +      if(gc->driContext) +         apple_glx_destroy_context(&gc->driContext, dpy); +#endif        __glXFreeContext(gc);     } - +#ifndef GLX_USE_APPLEGL     if (!imported) {        /*         ** This dpy also created the server side part of the context. @@ -576,6 +626,7 @@ DestroyContext(Display * dpy, GLXContext gc)        UnlockDisplay(dpy);        SyncHandle();     } +#endif  }  PUBLIC void @@ -630,7 +681,9 @@ glXQueryExtension(Display * dpy, int *errorBase, int *eventBase)  PUBLIC void  glXWaitGL(void)  { +#ifndef GLX_USE_APPLEGL     xGLXWaitGLReq *req; +#endif     GLXContext gc = __glXGetCurrentContext();     Display *dpy = gc->currentDpy; @@ -639,8 +692,10 @@ glXWaitGL(void)     /* Flush any pending commands out */     __glXFlushRenderBuffer(gc, gc->pc); - -#ifdef GLX_DIRECT_RENDERING +#ifdef GLX_USE_APPLEGL +   glFinish(); +#else +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     if (gc->driContext) {        int screen;        __GLXDRIdrawable *pdraw = @@ -664,6 +719,7 @@ glXWaitGL(void)     req->contextTag = gc->currentContextTag;     UnlockDisplay(dpy);     SyncHandle(); +#endif /* GLX_USE_APPLEGL */  }  /* @@ -673,7 +729,9 @@ glXWaitGL(void)  PUBLIC void  glXWaitX(void)  { +#ifndef GLX_USE_APPLEGL     xGLXWaitXReq *req; +#endif     GLXContext gc = __glXGetCurrentContext();     Display *dpy = gc->currentDpy; @@ -683,7 +741,10 @@ glXWaitX(void)     /* Flush any pending commands out */     __glXFlushRenderBuffer(gc, gc->pc); -#ifdef GLX_DIRECT_RENDERING +#ifdef GLX_USE_APPLEGL +   apple_glx_waitx(dpy, gc->driContext); +#else +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     if (gc->driContext) {        int screen;        __GLXDRIdrawable *pdraw = @@ -710,12 +771,15 @@ glXWaitX(void)     req->contextTag = gc->currentContextTag;     UnlockDisplay(dpy);     SyncHandle(); +#endif /* GLX_USE_APPLEGL */  }  PUBLIC void  glXUseXFont(Font font, int first, int count, int listBase)  { +#ifndef GLX_USE_APPLEGL     xGLXUseXFontReq *req; +#endif     GLXContext gc = __glXGetCurrentContext();     Display *dpy = gc->currentDpy; @@ -724,8 +788,10 @@ glXUseXFont(Font font, int first, int count, int listBase)     /* Flush any pending commands out */     (void) __glXFlushRenderBuffer(gc, gc->pc); - -#ifdef GLX_DIRECT_RENDERING +#ifdef GLX_USE_APPLEGL +   DRI_glXUseXFont(font, first, count, listBase);  +#else +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     if (gc->driContext) {        DRI_glXUseXFont(font, first, count, listBase);        return; @@ -744,6 +810,7 @@ glXUseXFont(Font font, int first, int count, int listBase)     req->listBase = listBase;     UnlockDisplay(dpy);     SyncHandle(); +#endif /* GLX_USE_APPLEGL */  }  /************************************************************************/ @@ -756,6 +823,17 @@ PUBLIC void  glXCopyContext(Display * dpy, GLXContext source,                 GLXContext dest, unsigned long mask)  { +#ifdef GLX_USE_APPLEGL +   GLXContext gc = __glXGetCurrentContext(); +   int errorcode; +   bool x11error; + +   if(apple_glx_copy_context(gc->driContext, source->driContext, dest->driContext, +                             mask, &errorcode, &x11error)) { +      __glXSendError(dpy, errorcode, 0, X_GLXCopyContext, x11error); +   } +    +#else     xGLXCopyContextReq *req;     GLXContext gc = __glXGetCurrentContext();     GLXContextTag tag; @@ -766,7 +844,7 @@ glXCopyContext(Display * dpy, GLXContext source,        return;     } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     if (gc->driContext) {        /* NOT_DONE: This does not work yet */     } @@ -794,6 +872,7 @@ glXCopyContext(Display * dpy, GLXContext source,     req->contextTag = tag;     UnlockDisplay(dpy);     SyncHandle(); +#endif /* GLX_USE_APPLEGL */  } @@ -808,6 +887,9 @@ glXCopyContext(Display * dpy, GLXContext source,  static Bool  __glXIsDirect(Display * dpy, GLXContextID contextID)  { +#ifndef GLX_USE_APPLEGL /* TODO: apple indirect */ +   return GC_IS_DIRECT(gc); +#else  #if !defined(USE_XCB)     xGLXIsDirectReq *req;     xGLXIsDirectReply reply; @@ -843,6 +925,7 @@ __glXIsDirect(Display * dpy, GLXContextID contextID)     return reply.isDirect;  #endif /* USE_XCB */ +#endif /* GLX_USE_APPLEGL */  }  /** @@ -866,6 +949,18 @@ glXIsDirect(Display * dpy, GLXContext gc)  PUBLIC GLXPixmap  glXCreateGLXPixmap(Display * dpy, XVisualInfo * vis, Pixmap pixmap)  { +#ifdef GLX_USE_APPLEGL +   int screen = vis->screen; +   __GLXscreenConfigs *const psc = GetGLXScreenConfigs(dpy, screen); +   const __GLcontextModes *modes; + +   modes = _gl_context_modes_find_visual(psc->visuals, vis->visualid); +    +   if(apple_glx_pixmap_create(dpy, vis->screen, pixmap, modes)) +      return None; +    +   return pixmap; +#else     xGLXCreateGLXPixmapReq *req;     GLXPixmap xid;     CARD8 opcode; @@ -887,7 +982,7 @@ glXCreateGLXPixmap(Display * dpy, XVisualInfo * vis, Pixmap pixmap)     UnlockDisplay(dpy);     SyncHandle(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     do {        /* FIXME: Maybe delay __DRIdrawable creation until the drawable         * is actually bound to a context... */ @@ -915,6 +1010,7 @@ glXCreateGLXPixmap(Display * dpy, XVisualInfo * vis, Pixmap pixmap)  #endif     return xid; +#endif  }  /* @@ -923,6 +1019,10 @@ glXCreateGLXPixmap(Display * dpy, XVisualInfo * vis, Pixmap pixmap)  PUBLIC void  glXDestroyGLXPixmap(Display * dpy, GLXPixmap glxpixmap)  { +#ifdef GLX_USE_APPLEGL +   if(apple_glx_pixmap_destroy(dpy, glxpixmap)) +      __glXSendError(dpy, GLXBadPixmap, glxpixmap, X_GLXDestroyPixmap, false); +#else     xGLXDestroyGLXPixmapReq *req;     CARD8 opcode; @@ -940,7 +1040,7 @@ glXDestroyGLXPixmap(Display * dpy, GLXPixmap glxpixmap)     UnlockDisplay(dpy);     SyncHandle(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     {        int screen;        __GLXdisplayPrivate *const priv = __glXInitialize(dpy); @@ -953,11 +1053,20 @@ glXDestroyGLXPixmap(Display * dpy, GLXPixmap glxpixmap)        }     }  #endif +#endif /* GLX_USE_APPLEGL */  }  PUBLIC void  glXSwapBuffers(Display * dpy, GLXDrawable drawable)  { +#ifdef GLX_USE_APPLEGL +   GLXContext gc = glXGetCurrentContext(); +   if(gc && apple_glx_is_current_drawable(dpy, gc->driContext, drawable)) { +      apple_glx_swap_buffers(gc->driContext); +   } else { +      __glXSendError(dpy, GLXBadCurrentWindow, 0, X_GLXSwapBuffers, false); +   } +#else     GLXContext gc;     GLXContextTag tag;     CARD8 opcode; @@ -967,7 +1076,7 @@ glXSwapBuffers(Display * dpy, GLXDrawable drawable)     xGLXSwapBuffersReq *req;  #endif -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL);     if (pdraw != NULL) { @@ -1012,6 +1121,7 @@ glXSwapBuffers(Display * dpy, GLXDrawable drawable)     SyncHandle();     XFlush(dpy);  #endif /* USE_XCB */ +#endif /* GLX_USE_APPLEGL */  } @@ -1440,6 +1550,12 @@ glXChooseVisual(Display * dpy, int screen, int *attribList)        }     } +#ifdef GLX_USE_APPLEGL +   if(visualList && getenv("LIBGL_DUMP_VISUALID")) { +      printf("visualid 0x%lx\n", visualList[0].visualid); +   } +#endif +     return visualList;  } @@ -1462,7 +1578,7 @@ glXQueryExtensionsString(Display * dpy, int screen)        }        __glXCalculateUsableExtensions(psc, -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)                                       (psc->driScreen != NULL),  #else                                       GL_FALSE, @@ -1573,6 +1689,7 @@ PUBLIC  GLX_ALIAS(Display *, glXGetCurrentDisplayEXT, (void), (),            glXGetCurrentDisplay) +#ifndef GLX_USE_APPLEGL  /**   * Used internally by libGL to send \c xGLXQueryContextinfoExtReq requests   * to the X-server. @@ -1684,13 +1801,16 @@ static int __glXQueryContextInfo(Display * dpy, GLXContext ctx)     return retval;  } +#endif +  PUBLIC int  glXQueryContext(Display * dpy, GLXContext ctx, int attribute, int *value)  { +#ifndef GLX_USE_APPLEGL     int retVal;     /* get the information from the server if we don't have it already */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     if (!ctx->driContext && (ctx->mode == NULL)) {  #else     if (ctx->mode == NULL) { @@ -1699,13 +1819,17 @@ glXQueryContext(Display * dpy, GLXContext ctx, int attribute, int *value)        if (Success != retVal)           return retVal;     } +#endif +     switch (attribute) { -   case GLX_SHARE_CONTEXT_EXT: +#ifndef GLX_USE_APPLEGL +      case GLX_SHARE_CONTEXT_EXT:        *value = (int) (ctx->share_xid);        break;     case GLX_VISUAL_ID_EXT:        *value = ctx->mode ? ctx->mode->visualID : None;        break; +#endif     case GLX_SCREEN:        *value = (int) (ctx->screen);        break; @@ -1734,6 +1858,9 @@ PUBLIC GLXContextID glXGetContextIDEXT(const GLXContext ctx)  PUBLIC GLXContext  glXImportContextEXT(Display * dpy, GLXContextID contextID)  { +#ifdef GLX_USE_APPLEGL +   return NULL; +#else     GLXContext ctx;     if (contextID == None) { @@ -1754,6 +1881,7 @@ glXImportContextEXT(Display * dpy, GLXContextID contextID)        }     }     return ctx; +#endif  }  PUBLIC void @@ -1881,7 +2009,7 @@ glXGetVisualFromFBConfig(Display * dpy, GLXFBConfig config)     return XGetVisualInfo(dpy, VisualIDMask, &visualTemplate, &count);  } - +#ifndef GLX_USE_APPLEGL  /*  ** GLX_SGI_swap_control  */ @@ -2236,6 +2364,7 @@ __glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count)     return GLX_BAD_CONTEXT;  } +#endif /* GLX_USE_APPLEGL */  /*  ** GLX_SGIX_fbconfig @@ -2262,17 +2391,24 @@ glXCreateGLXPixmapWithConfigSGIX(Display * dpy,                                   GLXFBConfigSGIX config,                                   Pixmap pixmap)  { +#ifndef GLX_USE_APPLEGL     xGLXVendorPrivateWithReplyReq *vpreq;     xGLXCreateGLXPixmapWithConfigSGIXReq *req;     GLXPixmap xid = None;     CARD8 opcode; -   const __GLcontextModes *const fbconfig = (__GLcontextModes *) config;     __GLXscreenConfigs *psc; +#endif +   const __GLcontextModes *const fbconfig = (__GLcontextModes *) config;     if ((dpy == NULL) || (config == NULL)) {        return None;     } +#ifdef GLX_USE_APPLEGL +   if(apple_glx_pixmap_create(dpy, fbconfig->screen, pixmap, fbconfig)) +      return None; +   return pixmap; +#else     psc = GetGLXScreenConfigs(dpy, fbconfig->screen);     if ((psc != NULL) @@ -2300,6 +2436,7 @@ glXCreateGLXPixmapWithConfigSGIX(Display * dpy,     }     return xid; +#endif  }  PUBLIC GLXContext @@ -2345,7 +2482,7 @@ glXGetFBConfigFromVisualSGIX(Display * dpy, XVisualInfo * vis)     return NULL;  } - +#ifndef GLX_USE_APPLEGL  /*  ** GLX_SGIX_swap_group  */ @@ -2420,7 +2557,7 @@ __glXGetSyncValuesOML(Display * dpy, GLXDrawable drawable,     return False;  } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  _X_HIDDEN GLboolean  __driGetMscRateOML(__DRIdrawable * draw,                     int32_t * numerator, int32_t * denominator, void *private) @@ -2876,7 +3013,7 @@ __glXBindTexImageEXT(Display * dpy,           i++;     } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     if (gc->driContext) {        __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable, NULL); @@ -2966,6 +3103,8 @@ __glXReleaseTexImageEXT(Display * dpy, GLXDrawable drawable, int buffer)  /*@}*/ +#endif /* GLX_USE_APPLEGL */ +  /**   * \c strdup is actually not a standard ANSI C or POSIX routine.   * Irix will not define it if ANSI mode is in effect. @@ -3043,6 +3182,7 @@ static const struct name_address_pair GLX_functions[] = {     GLX_FUNCTION(glXQueryDrawable),     GLX_FUNCTION(glXSelectEvent), +#ifndef GLX_USE_APPLEGL     /*** GLX_SGI_swap_control ***/     GLX_FUNCTION2(glXSwapIntervalSGI, __glXSwapIntervalSGI), @@ -3060,6 +3200,7 @@ static const struct name_address_pair GLX_functions[] = {     GLX_FUNCTION2(glXGetCurrentDisplayEXT, glXGetCurrentDisplay),     GLX_FUNCTION(glXImportContextEXT),     GLX_FUNCTION2(glXQueryContextInfoEXT, glXQueryContext), +#endif     /*** GLX_SGIX_fbconfig ***/     GLX_FUNCTION2(glXGetFBConfigAttribSGIX, glXGetFBConfigAttrib), @@ -3069,6 +3210,7 @@ static const struct name_address_pair GLX_functions[] = {     GLX_FUNCTION2(glXGetVisualFromFBConfigSGIX, glXGetVisualFromFBConfig),     GLX_FUNCTION(glXGetFBConfigFromVisualSGIX), +#ifndef GLX_USE_APPLEGL     /*** GLX_SGIX_pbuffer ***/     GLX_FUNCTION(glXCreateGLXPbufferSGIX),     GLX_FUNCTION(glXDestroyGLXPbufferSGIX), @@ -3106,6 +3248,7 @@ static const struct name_address_pair GLX_functions[] = {     GLX_FUNCTION2(glXEndFrameTrackingMESA, __glXEndFrameTrackingMESA),     GLX_FUNCTION2(glXGetFrameUsageMESA, __glXGetFrameUsageMESA),     GLX_FUNCTION2(glXQueryFrameTrackingMESA, __glXQueryFrameTrackingMESA), +#endif     /*** GLX_ARB_get_proc_address ***/     GLX_FUNCTION(glXGetProcAddressARB), @@ -3113,6 +3256,7 @@ static const struct name_address_pair GLX_functions[] = {     /*** GLX 1.4 ***/     GLX_FUNCTION2(glXGetProcAddress, glXGetProcAddressARB), +#ifndef GLX_USE_APPLEGL     /*** GLX_OML_sync_control ***/     GLX_FUNCTION2(glXWaitForSbcOML, __glXWaitForSbcOML),     GLX_FUNCTION2(glXWaitForMscOML, __glXWaitForMscOML), @@ -3123,8 +3267,9 @@ static const struct name_address_pair GLX_functions[] = {     /*** GLX_EXT_texture_from_pixmap ***/     GLX_FUNCTION2(glXBindTexImageEXT, __glXBindTexImageEXT),     GLX_FUNCTION2(glXReleaseTexImageEXT, __glXReleaseTexImageEXT), +#endif -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     /*** DRI configuration ***/     GLX_FUNCTION(glXGetScreenDriver),     GLX_FUNCTION(glXGetDriverConfig), @@ -3133,7 +3278,7 @@ static const struct name_address_pair GLX_functions[] = {     {NULL, NULL}                 /* end of list */  }; - +#ifndef GLX_USE_APPLEGL  static const GLvoid *  get_glx_proc_address(const char *funcName)  { @@ -3147,7 +3292,7 @@ get_glx_proc_address(const char *funcName)     return NULL;  } - +#endif  /**   * Get the address of a named GL function.  This is the pre-GLX 1.4 name for @@ -3170,13 +3315,15 @@ PUBLIC void (*glXGetProcAddressARB(const GLubyte * procName)) (void)      * DRI based drivers from searching the core GL function table for      * internal API functions.      */ - +#ifdef GLX_USE_APPLEGL +   f = (gl_function) apple_glx_get_proc_address(procName); +#else     f = (gl_function) get_glx_proc_address((const char *) procName);     if ((f == NULL) && (procName[0] == 'g') && (procName[1] == 'l')         && (procName[2] != 'X')) {        f = (gl_function) _glapi_get_proc_address((const char *) procName);     } - +#endif     return f;  } @@ -3199,7 +3346,7 @@ PUBLIC void (*glXGetProcAddress(const GLubyte * procName)) (void)  #endif /* __GNUC__ */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  /**   * Get the unadjusted system time (UST).  Currently, the UST is measured in   * microseconds since Epoc.  The actual resolution of the UST may vary from diff --git a/src/glx/glxcurrent.c b/src/glx/glxcurrent.c index c28360bdde..691e8dfadf 100644 --- a/src/glx/glxcurrent.c +++ b/src/glx/glxcurrent.c @@ -33,9 +33,20 @@   * Client-side GLX interface for current context management.   */ +#ifdef PTHREADS +#include <pthread.h> +#endif +  #include "glxclient.h" +#ifdef GLX_USE_APPLEGL +#include <stdlib.h> + +#include "apple_glx.h" +#include "apple_glx_context.h" +#else  #include "glapi.h"  #include "indirect_init.h" +#endif  /*  ** We setup some dummy structures here so that the API can be used @@ -59,11 +70,12 @@ static __GLXcontext dummyContext = {  }; +#ifndef GLX_USE_APPLEGL  /*  ** All indirect rendering contexts will share the same indirect dispatch table.  */  static __GLapi *IndirectAPI = NULL; - +#endif  /*   * Current context management and locking @@ -156,10 +168,12 @@ _X_HIDDEN void  __glXSetCurrentContextNull(void)  {     __glXSetCurrentContext(&dummyContext); -#ifdef GLX_DIRECT_RENDERING +#ifndef GLX_USE_APPLEGL +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     _glapi_set_dispatch(NULL);   /* no-op functions */     _glapi_set_context(NULL);  #endif +#endif  } @@ -186,6 +200,7 @@ glXGetCurrentDrawable(void)  } +#ifndef GLX_USE_APPLEGL  /************************************************************************/  /** @@ -269,7 +284,7 @@ SendMakeCurrentRequest(Display * dpy, CARD8 opcode,  } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)  static __GLXDRIdrawable *  FetchDRIDrawable(Display * dpy, GLXDrawable glxDrawable, GLXContext gc)  { @@ -313,6 +328,8 @@ __glXGenerateError(Display * dpy, GLXContext gc, XID resource,     _XError(dpy, &error);  } +#endif /* GLX_USE_APPLEGL */ +  /**   * Make a particular context current.   * @@ -322,8 +339,17 @@ static Bool  MakeContextCurrent(Display * dpy, GLXDrawable draw,                     GLXDrawable read, GLXContext gc)  { -   xGLXMakeCurrentReply reply;     const GLXContext oldGC = __glXGetCurrentContext(); +#ifdef GLX_USE_APPLEGL +   bool error = apple_glx_make_current_context(dpy,  +                   (oldGC && oldGC != &dummyContext) ? oldGC->driContext : NULL,  +                   gc ? gc->driContext : NULL, draw); +    +   apple_glx_diagnostic("%s: error %s\n", __func__, error ? "YES" : "NO"); +   if(error) +      return GL_FALSE; +#else +   xGLXMakeCurrentReply reply;     const CARD8 opcode = __glXSetupForCommand(dpy);     const CARD8 oldOpcode = ((gc == oldGC) || (oldGC == &dummyContext))        ? opcode : __glXSetupForCommand(oldGC->currentDpy); @@ -360,7 +386,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,        return False;     } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     /* Bind the direct rendering context to the drawable */     if (gc && gc->driContext) {        __GLXDRIdrawable *pdraw = FetchDRIDrawable(dpy, draw, gc); @@ -395,7 +421,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,        return False;     } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     if ((dpy != oldGC->currentDpy || (gc && gc->driContext)) &&         !oldGC->isDirect && oldGC != &dummyContext) {  #else @@ -413,12 +439,13 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,                                      oldGC->currentContextTag, None, None,                                      &dummy_reply);     } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     else if (oldGC->driContext && oldGC != gc) {        oldGC->driContext->unbindContext(oldGC->driContext);     }  #endif +#endif /* GLX_USE_APPLEGL */     /* Update our notion of what is current */     __glXLock(); @@ -428,8 +455,10 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,         * cannot be NULL, therefore if they are the same, gc is not         * NULL and not the dummy.         */ -      gc->currentDrawable = draw; -      gc->currentReadable = read; +      if(gc) { +        gc->currentDrawable = draw; +        gc->currentReadable = read; +      }     }     else {        if (oldGC != &dummyContext) { @@ -439,13 +468,24 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,           oldGC->currentReadable = None;           oldGC->currentContextTag = 0;           oldGC->thread_id = 0; - +#ifdef GLX_USE_APPLEGL +          +         /* +          * At this point we should check if the context has been +          * through glXDestroyContext, and redestroy it if so. +          */ +         if(oldGC->do_destroy) { +            __glXUnlock(); +            /* glXDestroyContext uses the same global lock. */ +            glXDestroyContext(dpy, oldGC); +            __glXLock(); +#else           if (oldGC->xid == None) {              /* We are switching away from a context that was               * previously destroyed, so we need to free the memory               * for the old handle.               */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)              /* Destroy the old direct rendering context */              if (oldGC->driContext) {                 oldGC->driContext->destroyContext(oldGC->driContext, @@ -455,6 +495,7 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,              }  #endif              __glXFreeContext(oldGC); +#endif /* GLX_USE_APPLEGL */           }        }        if (gc) { @@ -463,9 +504,10 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,           gc->currentDpy = dpy;           gc->currentDrawable = draw;           gc->currentReadable = read; +#ifndef GLX_USE_APPLEGL           gc->thread_id = _glthread_GetID(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)           if (!gc->driContext) {  #endif              if (!IndirectAPI) @@ -480,12 +522,13 @@ MakeContextCurrent(Display * dpy, GLXDrawable draw,                 (void) glGetString(GL_VERSION);                 __glXInitVertexArrayState(gc);              } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)           }           else {              gc->currentContextTag = -1;           }  #endif +#endif /* GLX_USE_APPLEGL */        }        else {           __glXSetCurrentContextNull(); diff --git a/src/glx/glxext.c b/src/glx/glxext.c index 6d6f89e79a..82d3a56f37 100644 --- a/src/glx/glxext.c +++ b/src/glx/glxext.c @@ -42,6 +42,10 @@  #include <X11/extensions/Xext.h>  #include <X11/extensions/extutil.h>  #include <X11/extensions/dri2proto.h> +#ifdef GLX_USE_APPLEGL +#include "apple_glx.h" +#include "apple_visual.h" +#endif  #include "glxextensions.h"  #include "glcontextmodes.h" @@ -65,7 +69,12 @@ _X_HIDDEN int __glXDebug = 0;  /* Extension required boiler plate */  static char *__glXExtensionName = GLX_EXTENSION_NAME; +#ifdef GLX_USE_APPLEGL +static XExtensionInfo __glXExtensionInfo_data; +XExtensionInfo *__glXExtensionInfo = &__glXExtensionInfo_data; +#else  XExtensionInfo *__glXExtensionInfo = NULL; +#endif  static /* const */ char *error_list[] = {     "GLXBadContext", @@ -98,6 +107,11 @@ __glXCloseDisplay(Display * dpy, XExtCodes * codes)  } +#ifdef GLX_USE_APPLEGL +static char *__glXErrorString(Display *dpy, int code, XExtCodes *codes,  +                              char *buf, int n); +#endif +  static  XEXT_GENERATE_ERROR_STRING(__glXErrorString, __glXExtensionName,                             __GLX_NUMBER_ERRORS, error_list) @@ -245,7 +259,7 @@ FreeScreenConfigs(__GLXdisplayPrivate * priv)        }        Xfree((char *) psc->serverGLXexts); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)        if (psc->driver_configs) {           unsigned int j;           for (j = 0; psc->driver_configs[j]; j++) @@ -285,7 +299,7 @@ __glXFreeDisplayPrivate(XExtData * extension)        priv->serverGLXversion = 0x0;     /* to protect against double free's */     } -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     /* Free the direct rendering per display data */     if (priv->driswDisplay)        (*priv->driswDisplay->destroyDisplay) (priv->driswDisplay); @@ -358,7 +372,20 @@ QueryVersion(Display * dpy, int opcode, int *major, int *minor)  #endif /* USE_XCB */  } +/*  + * We don't want to enable this GLX_OML_swap_method in glxext.h,  + * because we can't support it.  The X server writes it out though, + * so we should handle it somehow, to avoid false warnings. + */ +enum { +    IGNORE_GLX_SWAP_METHOD_OML = 0x8060 +}; + +/* + * getVisualConfigs uses the !tagged_only path. + * getFBConfigs uses the tagged_only path. + */  _X_HIDDEN void  __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,                                      const INT32 * bp, Bool tagged_only, @@ -392,7 +419,14 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,        config->numAuxBuffers = *bp++;        config->level = *bp++; +#ifdef GLX_USE_APPLEGL +       /* AppleSGLX supports pixmap and pbuffers with all config. */ +       config->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT | GLX_PBUFFER_BIT; +       /* Unfortunately this can create an ABI compatibility problem. */ +       count -= 18; +#else        count -= __GLX_MIN_CONFIG_PROPS; +#endif     }     /* @@ -405,7 +439,9 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,      config-> tag = ( fbconfig_style_tags ) ? *bp++ : 1     for (i = 0; i < count; i += 2) { -      switch (*bp++) { +      long int tag = *bp++; +       +      switch (tag) {        case GLX_RGBA:           FETCH_OR_SET(rgbMode);           break; @@ -483,6 +519,10 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,           break;        case GLX_DRAWABLE_TYPE:           config->drawableType = *bp++; +#ifdef GLX_USE_APPLEGL +         /* AppleSGLX supports pixmap and pbuffers with all config. */ +         config->drawableType |= GLX_WINDOW_BIT | GLX_PIXMAP_BIT | GLX_PBUFFER_BIT;               +#endif           break;        case GLX_RENDER_TYPE:           config->renderType = *bp++; @@ -502,6 +542,7 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,        case GLX_MAX_PBUFFER_PIXELS:           config->maxPbufferPixels = *bp++;           break; +#ifndef GLX_USE_APPLEGL        case GLX_OPTIMAL_PBUFFER_WIDTH_SGIX:           config->optimalPbufferWidth = *bp++;           break; @@ -514,12 +555,19 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,        case GLX_SWAP_METHOD_OML:           config->swapMethod = *bp++;           break; +#endif        case GLX_SAMPLE_BUFFERS_SGIS:           config->sampleBuffers = *bp++;           break;        case GLX_SAMPLES_SGIS:           config->samples = *bp++;           break; +#ifdef GLX_USE_APPLEGL +      case IGNORE_GLX_SWAP_METHOD_OML: +         /* We ignore this tag.  See the comment above this function. */ +         ++bp; +         break; +#else        case GLX_BIND_TO_TEXTURE_RGB_EXT:           config->bindToTextureRgb = *bp++;           break; @@ -535,13 +583,21 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,        case GLX_Y_INVERTED_EXT:           config->yInverted = *bp++;           break; +#endif        case None:           i = count;           break;        default: -         /* Ignore the unrecognized tag's value */ -         bp++; -         break; +         if(getenv("LIBGL_DIAGNOSTIC")) { +             long int tagvalue = *bp++; +             fprintf(stderr, "WARNING: unknown GLX tag from server: " +                     "tag 0x%lx value 0x%lx\n", tag, tagvalue); +         } else { +             /* Ignore the unrecognized tag's value */ +             bp++; +             break; +         } +              break;        }     } @@ -589,9 +645,18 @@ createConfigsFromProperties(Display * dpy, int nvisuals, int nprops,     m = modes;     for (i = 0; i < nvisuals; i++) {        _XRead(dpy, (char *) props, prop_size); -      /* Older X servers don't send this so we default it here. */ +#ifdef GLX_USE_APPLEGL +       /* Older X servers don't send this so we default it here. */        m->drawableType = GLX_WINDOW_BIT; -      __glXInitializeVisualConfigFromTags(m, nprops, props, +#else +      /*  +       * The XQuartz 2.3.2.1 X server doesn't set this properly, so +       * set the proper bits here. +       * AppleSGLX supports windows, pixmaps, and pbuffers with all config. +       */ +      m->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT | GLX_PBUFFER_BIT; +#endif +       __glXInitializeVisualConfigFromTags(m, nprops, props,                                            tagged_only, GL_TRUE);        m->screen = screen;        m = m->next; @@ -712,7 +777,7 @@ AllocAndFetchScreenConfigs(Display * dpy, __GLXdisplayPrivate * priv)        getVisualConfigs(dpy, priv, i);        getFBConfigs(dpy, priv, i); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)        psc->scr = i;        psc->dpy = dpy;        psc->drawHash = __glxHashCreate(); @@ -752,7 +817,7 @@ __glXInitialize(Display * dpy)     __GLXdisplayPrivate *dpyPriv;     XEDataObject dataObj;     int major, minor; -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     Bool glx_direct, glx_accel;  #endif @@ -809,7 +874,7 @@ __glXInitialize(Display * dpy)     dpyPriv->serverGLXvendor = 0x0;     dpyPriv->serverGLXversion = 0x0; -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     glx_direct = (getenv("LIBGL_ALWAYS_INDIRECT") == NULL);     glx_accel = (getenv("LIBGL_ALWAYS_SOFTWARE") == NULL); @@ -825,8 +890,11 @@ __glXInitialize(Display * dpy)     if (glx_direct)        dpyPriv->driswDisplay = driswCreateDisplay(dpy);  #endif - +#ifdef GLX_USE_APPLEGL +   if (apple_init_glx(dpy) || !AllocAndFetchScreenConfigs(dpy, dpyPriv)) { +#else     if (!AllocAndFetchScreenConfigs(dpy, dpyPriv)) { +#endif        __glXUnlock();        Xfree((char *) dpyPriv);        Xfree((char *) private); diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c index 56c69cbfcb..e58c296b30 100644 --- a/src/glx/glxextensions.c +++ b/src/glx/glxextensions.c @@ -75,34 +75,72 @@ static const struct extension_info known_glx_extensions[] = {     { GLX(ARB_multisample),             VER(1,4), Y, Y, N, N },     { GLX(ARB_render_texture),          VER(0,0), N, N, N, N },     { GLX(ATI_pixel_format_float),      VER(0,0), N, N, N, N }, +#ifdef GLX_USE_APPLEGL +   { GLX(EXT_import_context),          VER(0,0), N, N, N, N }, +   { GLX(EXT_visual_info),             VER(0,0), N, N, N, N }, +#else     { GLX(EXT_import_context),          VER(0,0), Y, Y, N, N },     { GLX(EXT_visual_info),             VER(0,0), Y, Y, N, N }, +#endif     { GLX(EXT_visual_rating),           VER(0,0), Y, Y, N, N }, +#ifdef GLX_USE_APPLEGL +   { GLX(MESA_agp_offset),             VER(0,0), N, N, N, N }, /* Deprecated */ +   { GLX(MESA_allocate_memory),        VER(0,0), N, N, N, N }, +   { GLX(MESA_copy_sub_buffer),        VER(0,0), N, N, N, N }, +#else     { GLX(MESA_agp_offset),             VER(0,0), N, N, N, Y }, /* Deprecated */     { GLX(MESA_allocate_memory),        VER(0,0), Y, N, N, Y },     { GLX(MESA_copy_sub_buffer),        VER(0,0), Y, N, N, N }, +#endif     { GLX(MESA_pixmap_colormap),        VER(0,0), N, N, N, N }, /* Deprecated */     { GLX(MESA_release_buffers),        VER(0,0), N, N, N, N }, /* Deprecated */ +#ifdef GLX_USE_APPLEGL +   { GLX(MESA_swap_control),           VER(0,0), N, N, N, N }, +   { GLX(MESA_swap_frame_usage),       VER(0,0), N, N, N, N }, +#else     { GLX(MESA_swap_control),           VER(0,0), Y, N, N, Y },     { GLX(MESA_swap_frame_usage),       VER(0,0), Y, N, N, Y }, +#endif     { GLX(NV_float_buffer),             VER(0,0), N, N, N, N },     { GLX(NV_render_depth_texture),     VER(0,0), N, N, N, N },     { GLX(NV_render_texture_rectangle), VER(0,0), N, N, N, N }, +#ifdef GLX_USE_APPLEGL +   { GLX(NV_vertex_array_range),       VER(0,0), N, N, N, N }, /* Deprecated */ +   { GLX(OML_swap_method),             VER(0,0), N, N, N, N }, +   { GLX(OML_sync_control),            VER(0,0), N, N, N, N }, +   { GLX(SGI_make_current_read),       VER(1,3), N, N, N, N }, +   { GLX(SGI_swap_control),            VER(0,0), N, N, N, N }, +   { GLX(SGI_video_sync),              VER(0,0), N, N, N, N }, +#else     { GLX(NV_vertex_array_range),       VER(0,0), N, N, N, Y }, /* Deprecated */     { GLX(OML_swap_method),             VER(0,0), Y, Y, N, N },     { GLX(OML_sync_control),            VER(0,0), Y, N, N, Y },     { GLX(SGI_make_current_read),       VER(1,3), Y, N, N, N },     { GLX(SGI_swap_control),            VER(0,0), Y, N, N, N },     { GLX(SGI_video_sync),              VER(0,0), Y, N, N, Y }, +#endif     { GLX(SGIS_blended_overlay),        VER(0,0), N, N, N, N },     { GLX(SGIS_color_range),            VER(0,0), N, N, N, N }, +#ifdef GLX_USE_APPLEGL +   { GLX(SGIS_multisample),            VER(0,0), N, N, N, N }, +#else     { GLX(SGIS_multisample),            VER(0,0), Y, Y, N, N }, +#endif     { GLX(SGIX_fbconfig),               VER(1,3), Y, Y, N, N }, +#ifdef GLX_USE_APPLEGL +   { GLX(SGIX_pbuffer),                VER(1,3), N, N, N, N }, +#else     { GLX(SGIX_pbuffer),                VER(1,3), Y, Y, N, N }, +#endif     { GLX(SGIX_swap_barrier),           VER(0,0), N, N, N, N },     { GLX(SGIX_swap_group),             VER(0,0), N, N, N, N }, +#ifdef GLX_USE_APPLEGL +   { GLX(SGIX_visual_select_group),    VER(0,0), N, N, N, N }, +   { GLX(EXT_texture_from_pixmap),     VER(0,0), N, N, N, N }, +#else     { GLX(SGIX_visual_select_group),    VER(0,0), Y, Y, N, N },     { GLX(EXT_texture_from_pixmap),     VER(0,0), Y, N, N, N }, +#endif     { GLX(INTEL_swap_event),            VER(1,4), Y, Y, N, N },     { NULL }  }; diff --git a/src/glx/indirect.c b/src/glx/indirect.c index 42a225f671..172727860e 100644 --- a/src/glx/indirect.c +++ b/src/glx/indirect.c @@ -5198,7 +5198,7 @@ glDeleteTexturesEXT(GLsizei n, const GLuint * textures)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_DeleteTextures(GET_DISPATCH(), (n, textures));      } else @@ -5269,7 +5269,7 @@ glGenTexturesEXT(GLsizei n, GLuint * textures)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GenTextures(GET_DISPATCH(), (n, textures));      } else @@ -5334,7 +5334,7 @@ glIsTextureEXT(GLuint texture)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          return CALL_IsTexture(GET_DISPATCH(), (texture));      } else @@ -5650,7 +5650,7 @@ glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid * table)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetColorTable(GET_DISPATCH(), (target, format, type, table));      } else @@ -5726,7 +5726,7 @@ glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat * params)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetColorTableParameterfv(GET_DISPATCH(),                                        (target, pname, params)); @@ -5799,7 +5799,7 @@ glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint * params)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetColorTableParameteriv(GET_DISPATCH(),                                        (target, pname, params)); @@ -6125,7 +6125,7 @@ gl_dispatch_stub_356(GLenum target, GLenum format, GLenum type,  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetConvolutionFilter(GET_DISPATCH(),                                    (target, format, type, image)); @@ -6203,7 +6203,7 @@ gl_dispatch_stub_357(GLenum target, GLenum pname, GLfloat * params)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetConvolutionParameterfv(GET_DISPATCH(),                                         (target, pname, params)); @@ -6276,7 +6276,7 @@ gl_dispatch_stub_358(GLenum target, GLenum pname, GLint * params)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetConvolutionParameteriv(GET_DISPATCH(),                                         (target, pname, params)); @@ -6356,7 +6356,7 @@ gl_dispatch_stub_361(GLenum target, GLboolean reset, GLenum format,  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetHistogram(GET_DISPATCH(),                            (target, reset, format, type, values)); @@ -6433,7 +6433,7 @@ gl_dispatch_stub_362(GLenum target, GLenum pname, GLfloat * params)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetHistogramParameterfv(GET_DISPATCH(), (target, pname, params));      } else @@ -6504,7 +6504,7 @@ gl_dispatch_stub_363(GLenum target, GLenum pname, GLint * params)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetHistogramParameteriv(GET_DISPATCH(), (target, pname, params));      } else @@ -6579,7 +6579,7 @@ gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum format,  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetMinmax(GET_DISPATCH(), (target, reset, format, type, values));      } else @@ -6653,7 +6653,7 @@ gl_dispatch_stub_365(GLenum target, GLenum pname, GLfloat * params)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetMinmaxParameterfv(GET_DISPATCH(), (target, pname, params));      } else @@ -6721,7 +6721,7 @@ gl_dispatch_stub_366(GLenum target, GLenum pname, GLint * params)  {      __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)      if (gc->driContext) {          CALL_GetMinmaxParameteriv(GET_DISPATCH(), (target, pname, params));      } else diff --git a/src/glx/indirect_size.c b/src/glx/indirect_size.c index 0c136d26cd..411a0e42c5 100644 --- a/src/glx/indirect_size.c +++ b/src/glx/indirect_size.c @@ -48,7 +48,7 @@  #  endif -#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__APPLE__) +#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(GLX_USE_APPLEGL)  #  undef HAVE_ALIAS  #endif  #ifdef HAVE_ALIAS diff --git a/src/glx/singlepix.c b/src/glx/singlepix.c index f5ebf4dfdb..c4010d79bd 100644 --- a/src/glx/singlepix.c +++ b/src/glx/singlepix.c @@ -119,7 +119,7 @@ void NAME(_gloffset_GetSeparableFilter) (GLenum target, GLenum format,  {     __GLXcontext *const gc = __glXGetCurrentContext(); -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)     if (gc->driContext) {        CALL_GetSeparableFilter(GET_DISPATCH(),                                (target, format, type, row, column, span)); diff --git a/src/mesa/glapi/glapi_nop.c b/src/mesa/glapi/glapi_nop.c index df9c587284..4257b1fbce 100644 --- a/src/mesa/glapi/glapi_nop.c +++ b/src/mesa/glapi/glapi_nop.c @@ -48,6 +48,26 @@  #include "glapi/glapi.h" + +/* + * These stubs are kept so that the old DRI drivers still load. + */ +PUBLIC void +_glapi_noop_enable_warnings(GLboolean enable); + +PUBLIC void +_glapi_set_warning_func(_glapi_proc func); + +void +_glapi_noop_enable_warnings(GLboolean enable) +{ +} + +void +_glapi_set_warning_func(_glapi_proc func) +{ +} +  #ifdef DEBUG  /**  | 
