diff options
author | Roland Scheidegger <[email protected]> | 2010-04-30 15:27:13 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2010-04-30 15:27:13 +0200 |
commit | 7662e3519bef3802024da3050b886068281e02b1 (patch) | |
tree | bc5bf675e67febffaf9e4d1fadd139e8c253ae32 /src/glx | |
parent | 9a966b93c03aecac8eb72e6133aa9a2f2c7673f3 (diff) | |
parent | 7c769bef052fc1936d7ab33e291bb4646dc5b0d1 (diff) |
Merge commit 'origin/master' into gallium-msaa
Diffstat (limited to 'src/glx')
68 files changed, 53470 insertions, 94 deletions
diff --git a/src/glx/Makefile b/src/glx/Makefile index 6711fdc61bb..c6ebc49828b 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 fdbdd43000e..d0e88805bcc 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 00000000000..3cc2d130138 --- /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 00000000000..8de22383a78 --- /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 00000000000..073666c367b --- /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 00000000000..2581be1a7d5 --- /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 00000000000..a16dc6ae654 --- /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 00000000000..279f7aded9d --- /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 00000000000..c394b2115cb --- /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 00000000000..7b1bbe02c54 --- /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 00000000000..c5c603e76d5 --- /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 00000000000..4a063fe0edf --- /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 00000000000..737d757ed52 --- /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 00000000000..5e98a00fe79 --- /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 00000000000..f4790119a55 --- /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 00000000000..d9bc0917156 --- /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 00000000000..9b3643bf156 --- /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 00000000000..c58d05a59af --- /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 00000000000..c2a3e3fcf6f --- /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 00000000000..55302243358 --- /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 00000000000..e49eae355e9 --- /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 00000000000..1466fea4874 --- /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 00000000000..af1791afb70 --- /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 00000000000..6db2910a464 --- /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 00000000000..da5aa05fd50 --- /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 00000000000..ebfafa340bf --- /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 00000000000..7d40afe1d7f --- /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 00000000000..0798f45bbfb --- /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 00000000000..64a15f74861 --- /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 00000000000..e39ab152235 --- /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 00000000000..4f2e8f99149 --- /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 <[email protected]> + * Jens Owen <[email protected]> + * Rickard E. (Rik) Faith <[email protected]> + * + */ + +/* 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 00000000000..0108378ca39 --- /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 <[email protected]> + * Jens Owen <[email protected]> + * Rickard E. (Rik) Faith <[email protected]> + * + */ + +#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 00000000000..b5ffe5b46a8 --- /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 <[email protected]> + * Jens Owen <[email protected]> + * Rickard E. (Rik) Fiath <[email protected]> + * + */ + +#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 00000000000..9e986de5042 --- /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 00000000000..159f9c085f1 --- /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 00000000000..bb38d9f1c97 --- /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 00000000000..d32694db72e --- /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 00000000000..acfe6e6a9e6 --- /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 00000000000..1392c155a84 --- /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 00000000000..ed20bdaec0d --- /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 00000000000..44c5a256f20 --- /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 00000000000..282f7ae40b1 --- /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 00000000000..6ba2f854dbf --- /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 00000000000..7280bc9715a --- /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 00000000000..20f96f24180 --- /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 00000000000..6302ed446f1 --- /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 00000000000..bc054f8643d --- /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 00000000000..fb4f8515cdd --- /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 00000000000..b8b8df296c7 --- /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 00000000000..547f19e1c25 --- /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 00000000000..797e6970dd2 --- /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 00000000000..c25b7e6b38d --- /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 00000000000..f8c3158a539 --- /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 a7dfb534860..b26c17938db 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 9347611e7d8..6058c721da7 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -30,7 +30,7 @@ * Kristian Høgsberg ([email protected]) */ -#ifdef GLX_DIRECT_RENDERING +#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) #include <X11/Xlib.h> #include <X11/extensions/Xfixes.h> @@ -194,6 +194,7 @@ dri2CreateDrawable(__GLXscreenConfigs * psc, pdraw->base.psc = psc; pdraw->bufferCount = 0; pdraw->swap_interval = 1; /* default may be overridden below */ + pdraw->have_back = 0; if (psc->config) psc->config->configQueryi(psc->__driScreen, "vblank_mode", &vblank_mode); diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c index dbc6082313b..429fc6d8912 100644 --- a/src/glx/dri_common.c +++ b/src/glx/dri_common.c @@ -33,7 +33,7 @@ * Kristian Høgsberg ([email protected]) */ -#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 e47db82b70f..74afa60301d 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 786faff81c1..cdb1d9f4dc3 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 eb9037907fc..cdc16f8330a 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 2098cc6a52d..b8d0f21bf06 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 e4b2c63f775..57d254ea987 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 e256a078f19..926be1014a8 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) { +#ifdef 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 c28360bdde9..691e8dfadf2 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 6d6f89e79a2..82d3a56f37d 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 56c69cbfcba..e58c296b309 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 42a225f6711..172727860e8 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 0c136d26cdd..411a0e42c55 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 f5ebf4dfdbf..c4010d79bd0 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)); |