diff options
author | marha <marha@users.sourceforge.net> | 2011-01-21 12:52:35 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-01-21 12:52:35 +0000 |
commit | 7719409ebcf17c5288114dee8f60cc9ff889fd3e (patch) | |
tree | e86379743c048712c638bed954264fccea7798c4 /mesalib | |
parent | 26ee05a8febfe1ed6da852777a8c1c2a37e4cf9b (diff) | |
parent | b0be6a88c8fecdf15176f642c0799bff99930e0d (diff) | |
download | vcxsrv-7719409ebcf17c5288114dee8f60cc9ff889fd3e.tar.gz vcxsrv-7719409ebcf17c5288114dee8f60cc9ff889fd3e.tar.bz2 vcxsrv-7719409ebcf17c5288114dee8f60cc9ff889fd3e.zip |
svn merge ^/branches/released .
Diffstat (limited to 'mesalib')
35 files changed, 29355 insertions, 13937 deletions
diff --git a/mesalib/configs/autoconf.in b/mesalib/configs/autoconf.in index a5bbec6de..6b703cf0a 100644 --- a/mesalib/configs/autoconf.in +++ b/mesalib/configs/autoconf.in @@ -1,199 +1,204 @@ -# Autoconf configuration
-
-# Pull in the defaults
-include $(TOP)/configs/default
-
-# This is generated by configure
-CONFIG_NAME = autoconf
-
-# Compiler and flags
-CC = @CC@
-CXX = @CXX@
-OPT_FLAGS = @OPT_FLAGS@
-ARCH_FLAGS = @ARCH_FLAGS@
-ASM_FLAGS = @ASM_FLAGS@
-PIC_FLAGS = @PIC_FLAGS@
-DEFINES = @DEFINES@
-API_DEFINES = @API_DEFINES@
-CFLAGS = @CPPFLAGS@ @CFLAGS@ \
- $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES)
-CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \
- $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
-LDFLAGS = @LDFLAGS@
-EXTRA_LIB_PATH = @EXTRA_LIB_PATH@
-RADEON_CFLAGS = @RADEON_CFLAGS@
-RADEON_LDFLAGS = @RADEON_LDFLAGS@
-INTEL_LIBS = @INTEL_LIBS@
-INTEL_CFLAGS = @INTEL_CFLAGS@
-X11_LIBS = @X11_LIBS@
-X11_CFLAGS = @X11_CFLAGS@
-LLVM_CFLAGS = @LLVM_CFLAGS@
-LLVM_LDFLAGS = @LLVM_LDFLAGS@
-LLVM_LIBS = @LLVM_LIBS@
-GLW_CFLAGS = @GLW_CFLAGS@
-GLUT_CFLAGS = @GLUT_CFLAGS@
-GLX_TLS = @GLX_TLS@
-
-TALLOC_LIBS = @TALLOC_LIBS@
-TALLOC_CFLAGS = @TALLOC_CFLAGS@
-
-# dlopen
-DLOPEN_LIBS = @DLOPEN_LIBS@
-
-# Source selection
-MESA_ASM_SOURCES = @MESA_ASM_SOURCES@
-GLAPI_ASM_SOURCES = @GLAPI_ASM_SOURCES@
-
-# Misc tools and flags
-MAKE = @MAKE@
-SHELL = @SHELL@
-MKLIB_OPTIONS = @MKLIB_OPTIONS@
-MKDEP = @MKDEP@
-MKDEP_OPTIONS = @MKDEP_OPTIONS@
-INSTALL = @INSTALL@
-
-# Python and flags (generally only needed by the developers)
-PYTHON2 = @PYTHON2@
-PYTHON_FLAGS = -t -O -O
-
-# Library names (base name)
-GL_LIB = GL
-GLU_LIB = GLU
-GLUT_LIB = glut
-GLW_LIB = GLw
-OSMESA_LIB = @OSMESA_LIB@
-GLESv1_CM_LIB = GLESv1_CM
-GLESv2_LIB = GLESv2
-VG_LIB = OpenVG
-
-# Library names (actual file names)
-GL_LIB_NAME = @GL_LIB_NAME@
-GLU_LIB_NAME = @GLU_LIB_NAME@
-GLUT_LIB_NAME = @GLUT_LIB_NAME@
-GLW_LIB_NAME = @GLW_LIB_NAME@
-OSMESA_LIB_NAME = @OSMESA_LIB_NAME@
-EGL_LIB_NAME = @EGL_LIB_NAME@
-GLESv1_CM_LIB_NAME = @GLESv1_CM_LIB_NAME@
-GLESv2_LIB_NAME = @GLESv2_LIB_NAME@
-VG_LIB_NAME = @VG_LIB_NAME@
-
-# Globs used to install the lib and all symlinks
-GL_LIB_GLOB = @GL_LIB_GLOB@
-GLU_LIB_GLOB = @GLU_LIB_GLOB@
-GLUT_LIB_GLOB = @GLUT_LIB_GLOB@
-GLW_LIB_GLOB = @GLW_LIB_GLOB@
-OSMESA_LIB_GLOB = @OSMESA_LIB_GLOB@
-EGL_LIB_GLOB = @EGL_LIB_GLOB@
-GLESv1_CM_LIB_GLOB = @GLESv1_CM_LIB_GLOB@
-GLESv2_LIB_GLOB = @GLESv2_LIB_GLOB@
-VG_LIB_GLOB = @VG_LIB_GLOB@
-
-# Directories to build
-LIB_DIR = @LIB_DIR@
-SRC_DIRS = @SRC_DIRS@
-GLU_DIRS = @GLU_DIRS@
-DRIVER_DIRS = @DRIVER_DIRS@
-EGL_DRIVERS_DIRS = @EGL_DRIVERS_DIRS@
-GALLIUM_DIRS = @GALLIUM_DIRS@
-GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@
-GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@
-GALLIUM_TARGET_DIRS = @GALLIUM_TARGET_DIRS@
-GALLIUM_STATE_TRACKERS_DIRS = @GALLIUM_STATE_TRACKERS_DIRS@
-GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
-GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
-
-# Driver specific build vars
-DRI_DIRS = @DRI_DIRS@
-EGL_PLATFORMS = @EGL_PLATFORMS@
-EGL_CLIENT_APIS = @EGL_CLIENT_APIS@
-
-# Dependencies
-X11_INCLUDES = @X11_INCLUDES@
-
-# GLw motif setup
-GLW_SOURCES = @GLW_SOURCES@
-MOTIF_CFLAGS = @MOTIF_CFLAGS@
-
-# Library/program dependencies
-GL_LIB_DEPS = $(EXTRA_LIB_PATH) @GL_LIB_DEPS@
-OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \
- $(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@
-EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @EGL_LIB_DEPS@
-GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \
- $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@
-GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \
- $(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@
-GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \
- $(EXTRA_LIB_PATH) @GLW_LIB_DEPS@
-APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@
-GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv1_CM_LIB_DEPS@
-GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv2_LIB_DEPS@
-VG_LIB_DEPS = $(EXTRA_LIB_PATH) @VG_LIB_DEPS@
-
-# DRI dependencies
-DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@
-LIBDRM_CFLAGS = @LIBDRM_CFLAGS@
-LIBDRM_LIB = @LIBDRM_LIBS@
-DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@
-EXPAT_INCLUDES = @EXPAT_INCLUDES@
-
-# Autoconf directories
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-libdir = @libdir@
-includedir = @includedir@
-
-# Installation directories (for make install)
-INSTALL_DIR = $(prefix)
-INSTALL_LIB_DIR = $(libdir)
-INSTALL_INC_DIR = $(includedir)
-
-# DRI installation directories
-DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@
-
-# Where libGL will look for DRI hardware drivers
-DRI_DRIVER_SEARCH_DIR = @DRI_DRIVER_SEARCH_DIR@
-
-# EGL driver install directory
-EGL_DRIVER_INSTALL_DIR = @EGL_DRIVER_INSTALL_DIR@
-
-# Xorg driver install directory (for xorg state-tracker)
-XORG_DRIVER_INSTALL_DIR = @XORG_DRIVER_INSTALL_DIR@
-
-# pkg-config substitutions
-GL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@
-GL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@
-GL_PC_CFLAGS = @GL_PC_CFLAGS@
-DRI_PC_REQ_PRIV = @DRI_PC_REQ_PRIV@
-GLU_PC_REQ = @GLU_PC_REQ@
-GLU_PC_REQ_PRIV = @GLU_PC_REQ_PRIV@
-GLU_PC_LIB_PRIV = @GLU_PC_LIB_PRIV@
-GLU_PC_CFLAGS = @GLU_PC_CFLAGS@
-GLUT_PC_REQ_PRIV = @GLUT_PC_REQ_PRIV@
-GLUT_PC_LIB_PRIV = @GLUT_PC_LIB_PRIV@
-GLUT_PC_CFLAGS = @GLUT_PC_CFLAGS@
-GLW_PC_REQ_PRIV = @GLW_PC_REQ_PRIV@
-GLW_PC_LIB_PRIV = @GLW_PC_LIB_PRIV@
-GLW_PC_CFLAGS = @GLW_PC_CFLAGS@
-OSMESA_PC_REQ = @OSMESA_PC_REQ@
-OSMESA_PC_LIB_PRIV = @OSMESA_PC_LIB_PRIV@
-GLESv1_CM_PC_LIB_PRIV = @GLESv1_CM_PC_LIB_PRIV@
-GLESv2_PC_LIB_PRIV = @GLESv2_PC_LIB_PRIV@
-EGL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@
-EGL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@
-EGL_PC_CFLAGS = @GL_PC_CFLAGS@
-
-XCB_DRI2_CFLAGS = @XCB_DRI2_CFLAGS@
-XCB_DRI2_LIBS = @XCB_DRI2_LIBS@
-LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
-LIBUDEV_LIBS = @LIBUDEV_LIBS@
-
-MESA_LLVM = @MESA_LLVM@
-
-LLVM_VERSION = @LLVM_VERSION@
-ifneq ($(LLVM_VERSION),)
- HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=))
- DEFINES += -DHAVE_LLVM=$(HAVE_LLVM)
-endif
-
-HAVE_XF86VIDMODE = @HAVE_XF86VIDMODE@
+# Autoconf configuration + +# Pull in the defaults +include $(TOP)/configs/default + +# This is generated by configure +CONFIG_NAME = autoconf + +# Compiler and flags +CC = @CC@ +CXX = @CXX@ +OPT_FLAGS = @OPT_FLAGS@ +ARCH_FLAGS = @ARCH_FLAGS@ +ASM_FLAGS = @ASM_FLAGS@ +PIC_FLAGS = @PIC_FLAGS@ +DEFINES = @DEFINES@ +API_DEFINES = @API_DEFINES@ +SHARED_GLAPI = @SHARED_GLAPI@ +CFLAGS = @CPPFLAGS@ @CFLAGS@ \ + $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(ASM_FLAGS) $(DEFINES) +CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \ + $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) +LDFLAGS = @LDFLAGS@ +EXTRA_LIB_PATH = @EXTRA_LIB_PATH@ +RADEON_CFLAGS = @RADEON_CFLAGS@ +RADEON_LDFLAGS = @RADEON_LDFLAGS@ +INTEL_LIBS = @INTEL_LIBS@ +INTEL_CFLAGS = @INTEL_CFLAGS@ +X11_LIBS = @X11_LIBS@ +X11_CFLAGS = @X11_CFLAGS@ +LLVM_CFLAGS = @LLVM_CFLAGS@ +LLVM_LDFLAGS = @LLVM_LDFLAGS@ +LLVM_LIBS = @LLVM_LIBS@ +GLW_CFLAGS = @GLW_CFLAGS@ +GLUT_CFLAGS = @GLUT_CFLAGS@ +GLX_TLS = @GLX_TLS@ + +TALLOC_LIBS = @TALLOC_LIBS@ +TALLOC_CFLAGS = @TALLOC_CFLAGS@ + +# dlopen +DLOPEN_LIBS = @DLOPEN_LIBS@ + +# Source selection +MESA_ASM_SOURCES = @MESA_ASM_SOURCES@ +GLAPI_ASM_SOURCES = @GLAPI_ASM_SOURCES@ + +# Misc tools and flags +MAKE = @MAKE@ +SHELL = @SHELL@ +MKLIB_OPTIONS = @MKLIB_OPTIONS@ +MKDEP = @MKDEP@ +MKDEP_OPTIONS = @MKDEP_OPTIONS@ +INSTALL = @INSTALL@ + +# Python and flags (generally only needed by the developers) +PYTHON2 = @PYTHON2@ +PYTHON_FLAGS = -t -O -O + +# Library names (base name) +GL_LIB = GL +GLU_LIB = GLU +GLUT_LIB = glut +GLW_LIB = GLw +OSMESA_LIB = @OSMESA_LIB@ +GLESv1_CM_LIB = GLESv1_CM +GLESv2_LIB = GLESv2 +VG_LIB = OpenVG +GLAPI_LIB = glapi + +# Library names (actual file names) +GL_LIB_NAME = @GL_LIB_NAME@ +GLU_LIB_NAME = @GLU_LIB_NAME@ +GLUT_LIB_NAME = @GLUT_LIB_NAME@ +GLW_LIB_NAME = @GLW_LIB_NAME@ +OSMESA_LIB_NAME = @OSMESA_LIB_NAME@ +EGL_LIB_NAME = @EGL_LIB_NAME@ +GLESv1_CM_LIB_NAME = @GLESv1_CM_LIB_NAME@ +GLESv2_LIB_NAME = @GLESv2_LIB_NAME@ +VG_LIB_NAME = @VG_LIB_NAME@ +GLAPI_LIB_NAME = @GLAPI_LIB_NAME@ + +# Globs used to install the lib and all symlinks +GL_LIB_GLOB = @GL_LIB_GLOB@ +GLU_LIB_GLOB = @GLU_LIB_GLOB@ +GLUT_LIB_GLOB = @GLUT_LIB_GLOB@ +GLW_LIB_GLOB = @GLW_LIB_GLOB@ +OSMESA_LIB_GLOB = @OSMESA_LIB_GLOB@ +EGL_LIB_GLOB = @EGL_LIB_GLOB@ +GLESv1_CM_LIB_GLOB = @GLESv1_CM_LIB_GLOB@ +GLESv2_LIB_GLOB = @GLESv2_LIB_GLOB@ +VG_LIB_GLOB = @VG_LIB_GLOB@ +GLAPI_LIB_GLOB = @GLAPI_LIB_GLOB@ + +# Directories to build +LIB_DIR = @LIB_DIR@ +SRC_DIRS = @SRC_DIRS@ +GLU_DIRS = @GLU_DIRS@ +DRIVER_DIRS = @DRIVER_DIRS@ +EGL_DRIVERS_DIRS = @EGL_DRIVERS_DIRS@ +GALLIUM_DIRS = @GALLIUM_DIRS@ +GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@ +GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@ +GALLIUM_TARGET_DIRS = @GALLIUM_TARGET_DIRS@ +GALLIUM_STATE_TRACKERS_DIRS = @GALLIUM_STATE_TRACKERS_DIRS@ +GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a +GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a) + +# Driver specific build vars +DRI_DIRS = @DRI_DIRS@ +EGL_PLATFORMS = @EGL_PLATFORMS@ +EGL_CLIENT_APIS = @EGL_CLIENT_APIS@ + +# Dependencies +X11_INCLUDES = @X11_INCLUDES@ + +# GLw motif setup +GLW_SOURCES = @GLW_SOURCES@ +MOTIF_CFLAGS = @MOTIF_CFLAGS@ + +# Library/program dependencies +GL_LIB_DEPS = $(EXTRA_LIB_PATH) @GL_LIB_DEPS@ +OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \ + $(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@ +EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @EGL_LIB_DEPS@ +GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \ + $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@ +GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \ + $(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@ +GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \ + $(EXTRA_LIB_PATH) @GLW_LIB_DEPS@ +APP_LIB_DEPS = $(EXTRA_LIB_PATH) @APP_LIB_DEPS@ +GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv1_CM_LIB_DEPS@ +GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) @GLESv2_LIB_DEPS@ +VG_LIB_DEPS = $(EXTRA_LIB_PATH) @VG_LIB_DEPS@ +GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) @GLAPI_LIB_DEPS@ + +# DRI dependencies +DRI_LIB_DEPS = $(EXTRA_LIB_PATH) @DRI_LIB_DEPS@ +LIBDRM_CFLAGS = @LIBDRM_CFLAGS@ +LIBDRM_LIB = @LIBDRM_LIBS@ +DRI2PROTO_CFLAGS = @DRI2PROTO_CFLAGS@ +EXPAT_INCLUDES = @EXPAT_INCLUDES@ + +# Autoconf directories +prefix = @prefix@ +exec_prefix = @exec_prefix@ +libdir = @libdir@ +includedir = @includedir@ + +# Installation directories (for make install) +INSTALL_DIR = $(prefix) +INSTALL_LIB_DIR = $(libdir) +INSTALL_INC_DIR = $(includedir) + +# DRI installation directories +DRI_DRIVER_INSTALL_DIR = @DRI_DRIVER_INSTALL_DIR@ + +# Where libGL will look for DRI hardware drivers +DRI_DRIVER_SEARCH_DIR = @DRI_DRIVER_SEARCH_DIR@ + +# EGL driver install directory +EGL_DRIVER_INSTALL_DIR = @EGL_DRIVER_INSTALL_DIR@ + +# Xorg driver install directory (for xorg state-tracker) +XORG_DRIVER_INSTALL_DIR = @XORG_DRIVER_INSTALL_DIR@ + +# pkg-config substitutions +GL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@ +GL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@ +GL_PC_CFLAGS = @GL_PC_CFLAGS@ +DRI_PC_REQ_PRIV = @DRI_PC_REQ_PRIV@ +GLU_PC_REQ = @GLU_PC_REQ@ +GLU_PC_REQ_PRIV = @GLU_PC_REQ_PRIV@ +GLU_PC_LIB_PRIV = @GLU_PC_LIB_PRIV@ +GLU_PC_CFLAGS = @GLU_PC_CFLAGS@ +GLUT_PC_REQ_PRIV = @GLUT_PC_REQ_PRIV@ +GLUT_PC_LIB_PRIV = @GLUT_PC_LIB_PRIV@ +GLUT_PC_CFLAGS = @GLUT_PC_CFLAGS@ +GLW_PC_REQ_PRIV = @GLW_PC_REQ_PRIV@ +GLW_PC_LIB_PRIV = @GLW_PC_LIB_PRIV@ +GLW_PC_CFLAGS = @GLW_PC_CFLAGS@ +OSMESA_PC_REQ = @OSMESA_PC_REQ@ +OSMESA_PC_LIB_PRIV = @OSMESA_PC_LIB_PRIV@ +GLESv1_CM_PC_LIB_PRIV = @GLESv1_CM_PC_LIB_PRIV@ +GLESv2_PC_LIB_PRIV = @GLESv2_PC_LIB_PRIV@ +EGL_PC_REQ_PRIV = @GL_PC_REQ_PRIV@ +EGL_PC_LIB_PRIV = @GL_PC_LIB_PRIV@ +EGL_PC_CFLAGS = @GL_PC_CFLAGS@ + +XCB_DRI2_CFLAGS = @XCB_DRI2_CFLAGS@ +XCB_DRI2_LIBS = @XCB_DRI2_LIBS@ +LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@ +LIBUDEV_LIBS = @LIBUDEV_LIBS@ + +MESA_LLVM = @MESA_LLVM@ + +LLVM_VERSION = @LLVM_VERSION@ +ifneq ($(LLVM_VERSION),) + HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=)) + DEFINES += -DHAVE_LLVM=$(HAVE_LLVM) +endif + +HAVE_XF86VIDMODE = @HAVE_XF86VIDMODE@ diff --git a/mesalib/configs/default b/mesalib/configs/default index 02b66039a..9030cf5b9 100644 --- a/mesalib/configs/default +++ b/mesalib/configs/default @@ -1,180 +1,184 @@ -# Default/template configuration
-
-# This is included by other config files which may override some
-# of these variables.
-# Think of this as a base class from which configs are derived.
-
-
-CONFIG_NAME = default
-
-# Version info
-MESA_MAJOR=7
-MESA_MINOR=11
-MESA_TINY=0
-MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
-
-# external projects. This should be useless now that we use libdrm.
-DRM_SOURCE_PATH=$(TOP)/../drm
-
-# Compiler and flags
-CC = cc
-CXX = CC
-HOST_CC = $(CC)
-CFLAGS = -O
-CXXFLAGS = -O
-LDFLAGS =
-HOST_CFLAGS = $(CFLAGS)
-GLU_CFLAGS =
-GLX_TLS = no
-
-# Compiler for building demos/tests/etc
-APP_CC = $(CC)
-APP_CXX = $(CXX)
-
-# Misc tools and flags
-SHELL = /bin/sh
-MKLIB = $(SHELL) $(TOP)/bin/mklib
-MKLIB_OPTIONS =
-MKDEP = makedepend
-MKDEP_OPTIONS = -fdepend
-MAKE = make
-
-# Use MINSTALL for installing libraries, INSTALL for everything else
-MINSTALL = $(SHELL) $(TOP)/bin/minstall
-INSTALL = $(MINSTALL)
-
-# Tools for regenerating glapi (generally only needed by the developers)
-PYTHON2 = python
-PYTHON_FLAGS = -t -O -O
-INDENT = indent
-INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool
-
-# Library names (base name)
-GL_LIB = GL
-GLU_LIB = GLU
-GLUT_LIB = glut
-GLW_LIB = GLw
-OSMESA_LIB = OSMesa
-EGL_LIB = EGL
-GLESv1_CM_LIB = GLESv1_CM
-GLESv2_LIB = GLESv2
-VG_LIB = OpenVG
-
-
-# Library names (actual file names)
-GL_LIB_NAME = lib$(GL_LIB).so
-GLU_LIB_NAME = lib$(GLU_LIB).so
-GLUT_LIB_NAME = lib$(GLUT_LIB).so
-GLW_LIB_NAME = lib$(GLW_LIB).so
-OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
-EGL_LIB_NAME = lib$(EGL_LIB).so
-GLESv1_CM_LIB_NAME = lib$(GLESv1_CM_LIB).so
-GLESv2_LIB_NAME = lib$(GLESv2_LIB).so
-VG_LIB_NAME = lib$(VG_LIB).so
-
-# globs used to install the lib and all symlinks
-GL_LIB_GLOB = $(GL_LIB_NAME)*
-GLU_LIB_GLOB = $(GLU_LIB_NAME)*
-GLUT_LIB_GLOB = $(GLUT_LIB_NAME)*
-GLW_LIB_GLOB = $(GLW_LIB_NAME)*
-OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
-EGL_LIB_GLOB = $(EGL_LIB_NAME)*
-GLESv1_CM_LIB_GLOB = $(GLESv1_CM_LIB_NAME)*
-GLESv2_LIB_GLOB = $(GLESv2_LIB_NAME)*
-VG_LIB_GLOB = $(VG_LIB_NAME)*
-
-TALLOC_LIBS = `pkg-config --libs talloc`
-TALLOC_CFLAGS = `pkg-config --cflags talloc`
-
-# Optional assembly language optimization files for libGL
-MESA_ASM_SOURCES =
-
-# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
-# order to build the Motif widget too)
-GLW_SOURCES = GLwDrawA.c
-MOTIF_CFLAGS = -I/usr/include/Motif1.2
-
-
-# Directories to build
-LIB_DIR = lib
-SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \
- gallium egl gallium/winsys gallium/targets glu glut/glx glw
-GLU_DIRS = sgi
-DRIVER_DIRS = x11 osmesa
-
-# EGL drivers to build
-EGL_DRIVERS_DIRS = glx
-
-# Gallium directories and
-GALLIUM_DIRS = auxiliary drivers state_trackers
-GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
-GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad i915 i965 svga r300 nvfx nv50 failover
-GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
-GALLIUM_WINSYS_DIRS = sw sw/xlib
-GALLIUM_TARGET_DIRS = libgl-xlib
-GALLIUM_STATE_TRACKERS_DIRS = glx vega
-
-# native platforms EGL should support
-EGL_PLATFORMS = x11
-EGL_CLIENT_APIS = $(GL_LIB)
-
-# Library dependencies
-#EXTRA_LIB_PATH ?=
-GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread $(TALLOC_LIBS)
-EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -ldl -lpthread
-OSMESA_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
-GLU_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
-GLUT_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm
-GLW_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
-APP_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
-GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
-GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
-VG_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
-
-# Program dependencies - specific GL/glut libraries added in Makefiles
-APP_LIB_DEPS = -lm
-X11_LIBS = -lX11
-
-DLOPEN_LIBS = -ldl
-
-# Installation directories (for make install)
-INSTALL_DIR = /usr/local
-INSTALL_LIB_DIR = $(INSTALL_DIR)/$(LIB_DIR)
-INSTALL_INC_DIR = $(INSTALL_DIR)/include
-DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri
-
-# Where libGL will look for DRI hardware drivers
-DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
-
-# EGL driver install directory
-EGL_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/egl
-
-# Xorg driver install directory (for xorg state-tracker)
-XORG_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/xorg/modules/drivers
-
-# pkg-config substitutions
-GL_PC_REQ_PRIV =
-GL_PC_LIB_PRIV =
-GL_PC_CFLAGS =
-DRI_PC_REQ_PRIV =
-GLU_PC_REQ = gl
-GLU_PC_REQ_PRIV =
-GLU_PC_LIB_PRIV =
-GLU_PC_CFLAGS =
-GLUT_PC_REQ_PRIV =
-GLUT_PC_LIB_PRIV =
-GLUT_PC_CFLAGS =
-GLW_PC_REQ_PRIV =
-GLW_PC_LIB_PRIV =
-GLW_PC_CFLAGS =
-OSMESA_PC_REQ =
-OSMESA_PC_LIB_PRIV =
-GLESv1_CM_PC_REQ_PRIV =
-GLESv1_CM_PC_LIB_PRIV =
-GLESv1_CM_PC_CFLAGS =
-GLESv2_PC_REQ_PRIV =
-GLESv2_PC_LIB_PRIV =
-GLESv2_PC_CFLAGS =
-VG_PC_REQ_PRIV =
-VG_PC_LIB_PRIV =
-VG_PC_CFLAGS =
+# Default/template configuration + +# This is included by other config files which may override some +# of these variables. +# Think of this as a base class from which configs are derived. + + +CONFIG_NAME = default + +# Version info +MESA_MAJOR=7 +MESA_MINOR=11 +MESA_TINY=0 +MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY) + +# external projects. This should be useless now that we use libdrm. +DRM_SOURCE_PATH=$(TOP)/../drm + +# Compiler and flags +CC = cc +CXX = CC +HOST_CC = $(CC) +CFLAGS = -O +CXXFLAGS = -O +LDFLAGS = +HOST_CFLAGS = $(CFLAGS) +GLU_CFLAGS = +GLX_TLS = no + +# Compiler for building demos/tests/etc +APP_CC = $(CC) +APP_CXX = $(CXX) + +# Misc tools and flags +SHELL = /bin/sh +MKLIB = $(SHELL) $(TOP)/bin/mklib +MKLIB_OPTIONS = +MKDEP = makedepend +MKDEP_OPTIONS = -fdepend +MAKE = make + +# Use MINSTALL for installing libraries, INSTALL for everything else +MINSTALL = $(SHELL) $(TOP)/bin/minstall +INSTALL = $(MINSTALL) + +# Tools for regenerating glapi (generally only needed by the developers) +PYTHON2 = python +PYTHON_FLAGS = -t -O -O +INDENT = indent +INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool + +# Library names (base name) +GL_LIB = GL +GLU_LIB = GLU +GLUT_LIB = glut +GLW_LIB = GLw +OSMESA_LIB = OSMesa +EGL_LIB = EGL +GLESv1_CM_LIB = GLESv1_CM +GLESv2_LIB = GLESv2 +VG_LIB = OpenVG +GLAPI_LIB = glapi + + +# Library names (actual file names) +GL_LIB_NAME = lib$(GL_LIB).so +GLU_LIB_NAME = lib$(GLU_LIB).so +GLUT_LIB_NAME = lib$(GLUT_LIB).so +GLW_LIB_NAME = lib$(GLW_LIB).so +OSMESA_LIB_NAME = lib$(OSMESA_LIB).so +EGL_LIB_NAME = lib$(EGL_LIB).so +GLESv1_CM_LIB_NAME = lib$(GLESv1_CM_LIB).so +GLESv2_LIB_NAME = lib$(GLESv2_LIB).so +VG_LIB_NAME = lib$(VG_LIB).so +GLAPI_LIB_NAME = lib$(GLAPI_LIB).so + +# globs used to install the lib and all symlinks +GL_LIB_GLOB = $(GL_LIB_NAME)* +GLU_LIB_GLOB = $(GLU_LIB_NAME)* +GLUT_LIB_GLOB = $(GLUT_LIB_NAME)* +GLW_LIB_GLOB = $(GLW_LIB_NAME)* +OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)* +EGL_LIB_GLOB = $(EGL_LIB_NAME)* +GLESv1_CM_LIB_GLOB = $(GLESv1_CM_LIB_NAME)* +GLESv2_LIB_GLOB = $(GLESv2_LIB_NAME)* +VG_LIB_GLOB = $(VG_LIB_NAME)* +GLAPI_LIB_GLOB = $(GLAPI_LIB_NAME)* + +TALLOC_LIBS = `pkg-config --libs talloc` +TALLOC_CFLAGS = `pkg-config --cflags talloc` + +# Optional assembly language optimization files for libGL +MESA_ASM_SOURCES = + +# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in +# order to build the Motif widget too) +GLW_SOURCES = GLwDrawA.c +MOTIF_CFLAGS = -I/usr/include/Motif1.2 + + +# Directories to build +LIB_DIR = lib +SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \ + gallium egl gallium/winsys gallium/targets glu glut/glx glw +GLU_DIRS = sgi +DRIVER_DIRS = x11 osmesa + +# EGL drivers to build +EGL_DRIVERS_DIRS = glx + +# Gallium directories and +GALLIUM_DIRS = auxiliary drivers state_trackers +GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a +GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad i915 i965 svga r300 nvfx nv50 failover +GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a) +GALLIUM_WINSYS_DIRS = sw sw/xlib +GALLIUM_TARGET_DIRS = libgl-xlib +GALLIUM_STATE_TRACKERS_DIRS = glx vega + +# native platforms EGL should support +EGL_PLATFORMS = x11 +EGL_CLIENT_APIS = $(GL_LIB) + +# Library dependencies +#EXTRA_LIB_PATH ?= +GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread $(TALLOC_LIBS) +EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -ldl -lpthread +OSMESA_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) +GLU_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm +GLUT_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm +GLW_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXt -lX11 +APP_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm +GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread +GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread +VG_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread +GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread + +# Program dependencies - specific GL/glut libraries added in Makefiles +APP_LIB_DEPS = -lm +X11_LIBS = -lX11 + +DLOPEN_LIBS = -ldl + +# Installation directories (for make install) +INSTALL_DIR = /usr/local +INSTALL_LIB_DIR = $(INSTALL_DIR)/$(LIB_DIR) +INSTALL_INC_DIR = $(INSTALL_DIR)/include +DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri + +# Where libGL will look for DRI hardware drivers +DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR) + +# EGL driver install directory +EGL_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/egl + +# Xorg driver install directory (for xorg state-tracker) +XORG_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/xorg/modules/drivers + +# pkg-config substitutions +GL_PC_REQ_PRIV = +GL_PC_LIB_PRIV = +GL_PC_CFLAGS = +DRI_PC_REQ_PRIV = +GLU_PC_REQ = gl +GLU_PC_REQ_PRIV = +GLU_PC_LIB_PRIV = +GLU_PC_CFLAGS = +GLUT_PC_REQ_PRIV = +GLUT_PC_LIB_PRIV = +GLUT_PC_CFLAGS = +GLW_PC_REQ_PRIV = +GLW_PC_LIB_PRIV = +GLW_PC_CFLAGS = +OSMESA_PC_REQ = +OSMESA_PC_LIB_PRIV = +GLESv1_CM_PC_REQ_PRIV = +GLESv1_CM_PC_LIB_PRIV = +GLESv1_CM_PC_CFLAGS = +GLESv2_PC_REQ_PRIV = +GLESv2_PC_LIB_PRIV = +GLESv2_PC_CFLAGS = +VG_PC_REQ_PRIV = +VG_PC_LIB_PRIV = +VG_PC_CFLAGS = diff --git a/mesalib/configure.ac b/mesalib/configure.ac index 237da19b8..1c6edb75b 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -1,1825 +1,1859 @@ -dnl Process this file with autoconf to create configure.
-
-AC_PREREQ([2.59])
-
-dnl Versioning - scrape the version from configs/default
-m4_define([mesa_version],
- [m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n' | tr -d '\r'])])
-m4_ifval(mesa_version,,
- [m4_fatal([Failed to get the Mesa version from `make -f bin/version.mk version`])])
-
-dnl Tell the user about autoconf.html in the --help output
-m4_divert_once([HELP_END], [
-See docs/autoconf.html for more details on the options for Mesa.])
-
-AC_INIT([Mesa],[mesa_version],
- [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
-AC_CONFIG_AUX_DIR([bin])
-AC_CANONICAL_HOST
-
-dnl Versions for external dependencies
-LIBDRM_REQUIRED=2.4.23
-LIBDRM_RADEON_REQUIRED=2.4.23
-DRI2PROTO_REQUIRED=2.1
-GLPROTO_REQUIRED=1.4.11
-LIBDRM_XORG_REQUIRED=2.4.23
-LIBKMS_XORG_REQUIRED=1.0.0
-
-dnl Check for progs
-AC_PROG_CPP
-AC_PROG_CC
-AC_PROG_CXX
-AC_CHECK_PROGS([MAKE], [gmake make])
-AC_CHECK_PROGS([PYTHON2], [python2 python])
-AC_PATH_PROG([MKDEP], [makedepend])
-AC_PATH_PROG([SED], [sed])
-
-if test "x$MKDEP" = "x"; then
- AC_MSG_ERROR([makedepend is required to build Mesa])
-fi
-
-dnl Our fallback install-sh is a symlink to minstall. Use the existing
-dnl configuration in that case.
-AC_PROG_INSTALL
-test "x$INSTALL" = "x$ac_install_sh" && INSTALL='$(MINSTALL)'
-
-dnl We need a POSIX shell for parts of the build. Assume we have one
-dnl in most cases.
-case "$host_os" in
-solaris*)
- # Solaris /bin/sh is too old/non-POSIX compliant
- AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh])
- SHELL="$POSIX_SHELL"
- ;;
-esac
-
-dnl clang is mostly GCC-compatible, but its version is much lower,
-dnl so we have to check for it.
-AC_MSG_CHECKING([if compiling with clang])
-
-AC_COMPILE_IFELSE(
-[AC_LANG_PROGRAM([], [[
-#ifndef __clang__
- not clang
-#endif
-]])],
-[CLANG=yes], [CLANG=no])
-
-AC_MSG_RESULT([$CLANG])
-
-dnl If we're using GCC, make sure that it is at least version 3.3.0. Older
-dnl versions are explictly not supported.
-if test "x$GCC" = xyes -a "x$CLANG" = xno; then
- AC_MSG_CHECKING([whether gcc version is sufficient])
- major=0
- minor=0
-
- GCC_VERSION=`$CC -dumpversion`
- if test $? -eq 0; then
- major=`echo $GCC_VERSION | cut -d. -f1`
- minor=`echo $GCC_VERSION | cut -d. -f1`
- fi
-
- if test $major -lt 3 -o $major -eq 3 -a $minor -lt 3 ; then
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.])
- else
- AC_MSG_RESULT([yes])
- fi
-fi
-
-
-MKDEP_OPTIONS=-fdepend
-dnl Ask gcc where it's keeping its secret headers
-if test "x$GCC" = xyes; then
- for dir in include include-fixed; do
- GCC_INCLUDES=`$CC -print-file-name=$dir`
- if test "x$GCC_INCLUDES" != x && \
- test "$GCC_INCLUDES" != "$dir" && \
- test -d "$GCC_INCLUDES"; then
- MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES"
- fi
- done
-fi
-AC_SUBST([MKDEP_OPTIONS])
-
-dnl Make sure the pkg-config macros are defined
-m4_ifndef([PKG_PROG_PKG_CONFIG],
- [m4_fatal([Could not locate the pkg-config autoconf macros.
- These are usually located in /usr/share/aclocal/pkg.m4. If your macros
- are in a different location, try setting the environment variable
- ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
-PKG_PROG_PKG_CONFIG()
-
-dnl LIB_DIR - library basename
-LIB_DIR=`echo $libdir | $SED 's%.*/%%'`
-AC_SUBST([LIB_DIR])
-
-dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later
-_SAVE_LDFLAGS="$LDFLAGS"
-AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker])
-AC_SUBST([EXTRA_LIB_PATH])
-
-dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later
-_SAVE_CPPFLAGS="$CPPFLAGS"
-AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers])
-AC_SUBST([X11_INCLUDES])
-
-dnl Compiler macros
-DEFINES=""
-AC_SUBST([DEFINES])
-case "$host_os" in
-linux*|*-gnu*|gnu*)
- DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS"
- ;;
-solaris*)
- DEFINES="$DEFINES -DPTHREADS -DSVR4"
- ;;
-cygwin*)
- DEFINES="$DEFINES -DPTHREADS"
- ;;
-esac
-
-dnl Add flags for gcc and g++
-if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99"
- if test "x$CLANG" = "xno"; then
- CFLAGS="$CFLAGS -ffast-math"
- fi
-
- # Enable -fvisibility=hidden if using a gcc that supports it
- save_CFLAGS="$CFLAGS"
- AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
- CFLAGS="$CFLAGS -fvisibility=hidden"
- AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
- [CFLAGS="$save_CFLAGS" ; AC_MSG_RESULT([no])]);
-
- # Work around aliasing bugs - developers should comment this out
- CFLAGS="$CFLAGS -fno-strict-aliasing"
-fi
-if test "x$GXX" = xyes; then
- CXXFLAGS="$CXXFLAGS -Wall"
-
- # Enable -fvisibility=hidden if using a gcc that supports it
- save_CXXFLAGS="$CXXFLAGS"
- AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
- CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
- AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
- [CXXFLAGS="$save_CXXFLAGS" ; AC_MSG_RESULT([no])]);
-
- # Work around aliasing bugs - developers should comment this out
- CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
-fi
-
-dnl These should be unnecessary, but let the user set them if they want
-AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler.
- Default is to use CFLAGS.])
-AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the
- compiler. Default is to use CFLAGS.])
-AC_SUBST([OPT_FLAGS])
-AC_SUBST([ARCH_FLAGS])
-
-dnl
-dnl Hacks to enable 32 or 64 bit build
-dnl
-AC_ARG_ENABLE([32-bit],
- [AS_HELP_STRING([--enable-32-bit],
- [build 32-bit libraries @<:@default=auto@:>@])],
- [enable_32bit="$enableval"],
- [enable_32bit=auto]
-)
-if test "x$enable_32bit" = xyes; then
- if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -m32"
- ARCH_FLAGS="$ARCH_FLAGS -m32"
- fi
- if test "x$GXX" = xyes; then
- CXXFLAGS="$CXXFLAGS -m32"
- fi
-fi
-AC_ARG_ENABLE([64-bit],
- [AS_HELP_STRING([--enable-64-bit],
- [build 64-bit libraries @<:@default=auto@:>@])],
- [enable_64bit="$enableval"],
- [enable_64bit=auto]
-)
-if test "x$enable_64bit" = xyes; then
- if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -m64"
- fi
- if test "x$GXX" = xyes; then
- CXXFLAGS="$CXXFLAGS -m64"
- fi
-fi
-
-dnl
-dnl shared/static libraries, mimic libtool options
-dnl
-AC_ARG_ENABLE([static],
- [AS_HELP_STRING([--enable-static],
- [build static libraries @<:@default=disabled@:>@])],
- [enable_static="$enableval"],
- [enable_static=no]
-)
-case "x$enable_static" in
-xyes|xno ) ;;
-x ) enable_static=no ;;
-* )
- AC_MSG_ERROR([Static library option '$enable_static' is not a valid])
- ;;
-esac
-AC_ARG_ENABLE([shared],
- [AS_HELP_STRING([--disable-shared],
- [build shared libraries @<:@default=enabled@:>@])],
- [enable_shared="$enableval"],
- [enable_shared=yes]
-)
-case "x$enable_shared" in
-xyes|xno ) ;;
-x ) enable_shared=yes ;;
-* )
- AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid])
- ;;
-esac
-
-dnl Can't have static and shared libraries, default to static if user
-dnl explicitly requested. If both disabled, set to static since shared
-dnl was explicitly requirested.
-case "x$enable_static$enable_shared" in
-xyesyes )
- AC_MSG_WARN([Can't build static and shared libraries, disabling shared])
- enable_shared=no
- ;;
-xnono )
- AC_MSG_WARN([Can't disable both static and shared libraries, enabling static])
- enable_static=yes
- ;;
-esac
-
-dnl
-dnl mklib options
-dnl
-AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib])
-if test "$enable_static" = yes; then
- MKLIB_OPTIONS="$MKLIB_OPTIONS -static"
-fi
-AC_SUBST([MKLIB_OPTIONS])
-
-dnl
-dnl other compiler options
-dnl
-AC_ARG_ENABLE([debug],
- [AS_HELP_STRING([--enable-debug],
- [use debug compiler flags and macros @<:@default=disabled@:>@])],
- [enable_debug="$enableval"],
- [enable_debug=no]
-)
-if test "x$enable_debug" = xyes; then
- DEFINES="$DEFINES -DDEBUG"
- if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -g"
- fi
- if test "x$GXX" = xyes; then
- CXXFLAGS="$CXXFLAGS -g"
- fi
-fi
-
-dnl
-dnl library names
-dnl
-LIB_PREFIX_GLOB='lib'
-LIB_VERSION_SEPARATOR='.'
-if test "$enable_static" = yes; then
- LIB_EXTENSION='a'
-else
- case "$host_os" in
- darwin* )
- LIB_EXTENSION='dylib' ;;
- cygwin* )
- dnl prefix can be 'cyg' or 'lib'
- LIB_PREFIX_GLOB='???'
- LIB_VERSION_SEPARATOR='-'
- LIB_EXTENSION='dll' ;;
- aix* )
- LIB_EXTENSION='a' ;;
- * )
- LIB_EXTENSION='so' ;;
- esac
-fi
-
-GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
-GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION}
-GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION}
-GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION}
-OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
-EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
-GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION}
-GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION}
-VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION}
-
-GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-GLU_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLU_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-GLUT_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLUT_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-GLW_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLW_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-OSMESA_LIB_GLOB=${LIB_PREFIX_GLOB}'$(OSMESA_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*'
-
-AC_SUBST([GL_LIB_NAME])
-AC_SUBST([GLU_LIB_NAME])
-AC_SUBST([GLUT_LIB_NAME])
-AC_SUBST([GLW_LIB_NAME])
-AC_SUBST([OSMESA_LIB_NAME])
-AC_SUBST([EGL_LIB_NAME])
-AC_SUBST([GLESv1_CM_LIB_NAME])
-AC_SUBST([GLESv2_LIB_NAME])
-AC_SUBST([VG_LIB_NAME])
-
-AC_SUBST([GL_LIB_GLOB])
-AC_SUBST([GLU_LIB_GLOB])
-AC_SUBST([GLUT_LIB_GLOB])
-AC_SUBST([GLW_LIB_GLOB])
-AC_SUBST([OSMESA_LIB_GLOB])
-AC_SUBST([EGL_LIB_GLOB])
-AC_SUBST([GLESv1_CM_LIB_GLOB])
-AC_SUBST([GLESv2_LIB_GLOB])
-AC_SUBST([VG_LIB_GLOB])
-
-dnl
-dnl Arch/platform-specific settings
-dnl
-AC_ARG_ENABLE([asm],
- [AS_HELP_STRING([--disable-asm],
- [disable assembly usage @<:@default=enabled on supported plaforms@:>@])],
- [enable_asm="$enableval"],
- [enable_asm=yes]
-)
-asm_arch=""
-ASM_FLAGS=""
-MESA_ASM_SOURCES=""
-GLAPI_ASM_SOURCES=""
-AC_MSG_CHECKING([whether to enable assembly])
-test "x$enable_asm" = xno && AC_MSG_RESULT([no])
-# disable if cross compiling on x86/x86_64 since we must run gen_matypes
-if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
- case "$host_cpu" in
- i?86 | x86_64)
- enable_asm=no
- AC_MSG_RESULT([no, cross compiling])
- ;;
- esac
-fi
-# check for supported arches
-if test "x$enable_asm" = xyes; then
- case "$host_cpu" in
- i?86)
- case "$host_os" in
- linux* | *freebsd* | dragonfly* | *netbsd*)
- test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86
- ;;
- esac
- ;;
- x86_64)
- case "$host_os" in
- linux* | *freebsd* | dragonfly* | *netbsd*)
- test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64
- ;;
- esac
- ;;
- powerpc)
- case "$host_os" in
- linux*)
- asm_arch=ppc
- ;;
- esac
- ;;
- sparc*)
- case "$host_os" in
- linux*)
- asm_arch=sparc
- ;;
- esac
- ;;
- esac
-
- case "$asm_arch" in
- x86)
- ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM"
- MESA_ASM_SOURCES='$(X86_SOURCES)'
- GLAPI_ASM_SOURCES='$(X86_API)'
- AC_MSG_RESULT([yes, x86])
- ;;
- x86_64)
- ASM_FLAGS="-DUSE_X86_64_ASM"
- MESA_ASM_SOURCES='$(X86-64_SOURCES)'
- GLAPI_ASM_SOURCES='$(X86-64_API)'
- AC_MSG_RESULT([yes, x86_64])
- ;;
- ppc)
- ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM"
- MESA_ASM_SOURCES='$(PPC_SOURCES)'
- AC_MSG_RESULT([yes, ppc])
- ;;
- sparc)
- ASM_FLAGS="-DUSE_SPARC_ASM"
- MESA_ASM_SOURCES='$(SPARC_SOURCES)'
- GLAPI_ASM_SOURCES='$(SPARC_API)'
- AC_MSG_RESULT([yes, sparc])
- ;;
- *)
- AC_MSG_RESULT([no, platform not supported])
- ;;
- esac
-fi
-AC_SUBST([ASM_FLAGS])
-AC_SUBST([MESA_ASM_SOURCES])
-AC_SUBST([GLAPI_ASM_SOURCES])
-
-dnl PIC code macro
-MESA_PIC_FLAGS
-
-dnl Check to see if dlopen is in default libraries (like Solaris, which
-dnl has it in libc), or if libdl is needed to get it.
-AC_CHECK_FUNC([dlopen], [],
- [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])])
-AC_SUBST([DLOPEN_LIBS])
-
-dnl See if posix_memalign is available
-AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"])
-
-dnl SELinux awareness.
-AC_ARG_ENABLE([selinux],
- [AS_HELP_STRING([--enable-selinux],
- [Build SELinux-aware Mesa @<:@default=disabled@:>@])],
- [MESA_SELINUX="$enableval"],
- [MESA_SELINUX=no])
-if test "x$enable_selinux" = "xyes"; then
- AC_CHECK_HEADER([selinux/selinux.h],[],
- [AC_MSG_ERROR([SELinux headers not found])])
- AC_CHECK_LIB([selinux],[is_selinux_enabled],[],
- [AC_MSG_ERROR([SELinux library not found])])
- SELINUX_LIBS="-lselinux"
- DEFINES="$DEFINES -DMESA_SELINUX"
-fi
-
-dnl Determine which APIs to support
-AC_ARG_ENABLE([opengl],
- [AS_HELP_STRING([--disable-opengl],
- [disable support for standard OpenGL API @<:@default=no@:>@])],
- [enable_opengl="$enableval"],
- [enable_opengl=yes])
-AC_ARG_ENABLE([gles1],
- [AS_HELP_STRING([--enable-gles1],
- [enable support for OpenGL ES 1.x API @<:@default=no@:>@])],
- [enable_gles1="$enableval"],
- [enable_gles1=no])
-AC_ARG_ENABLE([gles2],
- [AS_HELP_STRING([--enable-gles2],
- [enable support for OpenGL ES 2.x API @<:@default=no@:>@])],
- [enable_gles2="$enableval"],
- [enable_gles2=no])
-AC_ARG_ENABLE([gles-overlay],
- [AS_HELP_STRING([--enable-gles-overlay],
- [DEPRECATED. Same as --enable-gles1 and --enable-gles2])],
- [enable_gles1="$enableval"; enable_gles2="$enableval"],
- [])
-
-AC_ARG_ENABLE([openvg],
- [AS_HELP_STRING([--enable-openvg],
- [enable support for OpenVG API @<:@default=no@:>@])],
- [enable_openvg="$enableval"],
- [enable_openvg=no])
-
-dnl smooth the transition; should be removed eventually
-if test "x$enable_openvg" = xno; then
- case "x$with_state_trackers" in
- x*vega*)
- AC_MSG_WARN([vega state tracker is enabled without --enable-openvg])
- enable_openvg=yes
- ;;
- esac
-fi
-
-if test "x$enable_opengl" = xno -a \
- "x$enable_gles1" = xno -a \
- "x$enable_gles2" = xno -a \
- "x$enable_openvg" = xno; then
- AC_MSG_ERROR([at least one API should be enabled])
-fi
-
-API_DEFINES=""
-if test "x$enable_opengl" = xno; then
- API_DEFINES="$API_DEFINES -DFEATURE_GL=0"
-else
- API_DEFINES="$API_DEFINES -DFEATURE_GL=1"
-fi
-if test "x$enable_gles1" = xyes; then
- API_DEFINES="$API_DEFINES -DFEATURE_ES1=1"
-fi
-if test "x$enable_gles2" = xyes; then
- API_DEFINES="$API_DEFINES -DFEATURE_ES2=1"
-fi
-AC_SUBST([API_DEFINES])
-
-dnl
-dnl Driver configuration. Options are xlib, dri and osmesa right now.
-dnl More later: fbdev, ...
-dnl
-default_driver="xlib"
-
-case "$host_os" in
-linux*)
- case "$host_cpu" in
- i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
- esac
- ;;
-*freebsd* | dragonfly* | *netbsd*)
- case "$host_cpu" in
- i*86|x86_64|powerpc*|sparc*) default_driver="dri";;
- esac
- ;;
-esac
-
-if test "x$enable_opengl" = xno; then
- default_driver="no"
-fi
-
-AC_ARG_WITH([driver],
- [AS_HELP_STRING([--with-driver=DRIVER],
- [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])],
- [mesa_driver="$withval"],
- [mesa_driver="$default_driver"])
-dnl Check for valid option
-case "x$mesa_driver" in
-xxlib|xdri|xosmesa)
- if test "x$enable_opengl" = xno; then
- AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled])
- fi
- ;;
-xno)
- ;;
-*)
- AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option])
- ;;
-esac
-
-PKG_CHECK_MODULES([TALLOC], [talloc])
-AC_SUBST([TALLOC_LIBS])
-AC_SUBST([TALLOC_CFLAGS])
-
-dnl
-dnl Driver specific build directories
-dnl
-
-dnl this variable will be prepended to SRC_DIRS and is not exported
-CORE_DIRS=""
-
-SRC_DIRS=""
-GLU_DIRS="sgi"
-GALLIUM_DIRS="auxiliary drivers state_trackers"
-GALLIUM_TARGET_DIRS=""
-GALLIUM_WINSYS_DIRS="sw"
-GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug noop identity"
-GALLIUM_STATE_TRACKERS_DIRS=""
-
-# build glapi if OpenGL is enabled
-if test "x$enable_opengl" = xyes; then
- CORE_DIRS="$CORE_DIRS mapi/glapi"
-fi
-
-# build es1api if OpenGL ES 1.x is enabled
-if test "x$enable_gles1" = xyes; then
- CORE_DIRS="$CORE_DIRS mapi/es1api"
-fi
-
-# build es2api if OpenGL ES 2.x is enabled
-if test "x$enable_gles2" = xyes; then
- CORE_DIRS="$CORE_DIRS mapi/es2api"
-fi
-
-# build vgapi if OpenVG is enabled
-if test "x$enable_openvg" = xyes; then
- CORE_DIRS="$CORE_DIRS mapi/vgapi"
-fi
-
-# build glsl and mesa if OpenGL or OpenGL ES is enabled
-case "x$enable_opengl$enable_gles1$enable_gles2" in
-x*yes*)
- CORE_DIRS="$CORE_DIRS glsl mesa"
- ;;
-esac
-
-case "$mesa_driver" in
-xlib)
- DRIVER_DIRS="x11"
- GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib"
- GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib"
- ;;
-dri)
- SRC_DIRS="$SRC_DIRS glx"
- DRIVER_DIRS="dri"
- GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri"
- ;;
-osmesa)
- DRIVER_DIRS="osmesa"
- ;;
-no)
- DRIVER_DRIS=""
- ;;
-esac
-AC_SUBST([SRC_DIRS])
-AC_SUBST([GLU_DIRS])
-AC_SUBST([DRIVER_DIRS])
-AC_SUBST([GALLIUM_DIRS])
-AC_SUBST([GALLIUM_TARGET_DIRS])
-AC_SUBST([GALLIUM_WINSYS_DIRS])
-AC_SUBST([GALLIUM_DRIVERS_DIRS])
-AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS])
-AC_SUBST([MESA_LLVM])
-
-dnl
-dnl Find out if X is available. The variable have_x is set if libX11 is
-dnl found to mimic AC_PATH_XTRA.
-dnl
-if test -n "$PKG_CONFIG"; then
- AC_MSG_CHECKING([pkg-config files for X11 are available])
- PKG_CHECK_EXISTS([x11],[
- x11_pkgconfig=yes
- have_x=yes
- ],[
- x11_pkgconfig=no
- ])
- AC_MSG_RESULT([$x11_pkgconfig])
-else
- x11_pkgconfig=no
-fi
-dnl Use the autoconf macro if no pkg-config files
-if test "$x11_pkgconfig" = yes; then
- PKG_CHECK_MODULES([X11], [x11])
-else
- AC_PATH_XTRA
- test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS"
- test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11"
- AC_SUBST([X11_CFLAGS])
- AC_SUBST([X11_LIBS])
-fi
-
-dnl Try to tell the user that the --x-* options are only used when
-dnl pkg-config is not available. This must be right after AC_PATH_XTRA.
-m4_divert_once([HELP_BEGIN],
-[These options are only used when the X libraries cannot be found by the
-pkg-config utility.])
-
-dnl We need X for xlib and dri, so bomb now if it's not found
-case "$mesa_driver" in
-xlib|dri)
- if test "$no_x" = yes; then
- AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver])
- fi
- ;;
-esac
-
-dnl XCB - this is only used for GLX right now
-AC_ARG_ENABLE([xcb],
- [AS_HELP_STRING([--enable-xcb],
- [use XCB for GLX @<:@default=disabled@:>@])],
- [enable_xcb="$enableval"],
- [enable_xcb=no])
-if test "x$enable_xcb" = xyes; then
- DEFINES="$DEFINES -DUSE_XCB"
-else
- enable_xcb=no
-fi
-
-dnl
-dnl libGL configuration per driver
-dnl
-case "$mesa_driver" in
-xlib)
- if test "$x11_pkgconfig" = yes; then
- PKG_CHECK_MODULES([XLIBGL], [x11 xext])
- GL_PC_REQ_PRIV="x11 xext"
- X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
- GL_LIB_DEPS="$XLIBGL_LIBS"
- else
- # should check these...
- X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
- GL_LIB_DEPS="$X_LIBS -lX11 -lXext"
- GL_PC_LIB_PRIV="$GL_LIB_DEPS"
- GL_PC_CFLAGS="$X11_INCLUDES"
- fi
- GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread $TALLOC_LIBS"
- GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread $TALLOC_LIBS"
-
- # if static, move the external libraries to the programs
- # and empty the libraries for libGL
- if test "$enable_static" = yes; then
- APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS"
- GL_LIB_DEPS=""
- fi
- ;;
-dri|no) # these checks are still desired when there is no mesa_driver
- # DRI must be shared, I think
- if test "$enable_static" = yes; then
- AC_MSG_ERROR([Can't use static libraries for DRI drivers])
- fi
-
- # Check for libdrm
- PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED])
- PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED])
- PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
- GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED glproto >= $GLPROTO_REQUIRED"
- DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
-
- # find the DRI deps for libGL
- if test "$x11_pkgconfig" = yes; then
- dri_modules="x11 xext xdamage xfixes"
-
- # add xf86vidmode if available
- PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
- if test "$HAVE_XF86VIDMODE" = yes ; then
- dri_modules="$dri_modules xxf86vm"
- fi
-
- # add xcb modules if necessary
- if test "$enable_xcb" = yes; then
- dri_modules="$dri_modules x11-xcb xcb-glx"
- fi
-
- PKG_CHECK_MODULES([DRIGL], [$dri_modules])
- GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
- X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS"
- GL_LIB_DEPS="$DRIGL_LIBS"
- else
- # should check these...
- X11_INCLUDES="$X11_INCLUDES $X_CFLAGS"
- GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes"
- GL_PC_LIB_PRIV="$GL_LIB_DEPS"
- GL_PC_CFLAGS="$X11_INCLUDES"
-
- # XCB can only be used from pkg-config
- if test "$enable_xcb" = yes; then
- PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx])
- GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx"
- X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS"
- GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS"
- fi
- fi
-
- # need DRM libs, -lpthread, etc.
- GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
- GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
- GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
- GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
- GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
- GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
- ;;
-osmesa)
- # No libGL for osmesa
- GL_LIB_DEPS=""
- ;;
-esac
-AC_SUBST([GL_LIB_DEPS])
-AC_SUBST([GL_PC_REQ_PRIV])
-AC_SUBST([GL_PC_LIB_PRIV])
-AC_SUBST([GL_PC_CFLAGS])
-AC_SUBST([DRI_PC_REQ_PRIV])
-AC_SUBST([GLESv1_CM_LIB_DEPS])
-AC_SUBST([GLESv1_CM_PC_LIB_PRIV])
-AC_SUBST([GLESv2_LIB_DEPS])
-AC_SUBST([GLESv2_PC_LIB_PRIV])
-
-
-AC_SUBST([HAVE_XF86VIDMODE])
-
-PKG_CHECK_MODULES([LIBDRM_RADEON],
- [libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED],
- HAVE_LIBDRM_RADEON=yes,
- HAVE_LIBDRM_RADEON=no)
-
-dnl
-dnl More X11 setup
-dnl
-if test "$mesa_driver" = xlib; then
- DEFINES="$DEFINES -DUSE_XSHM"
-fi
-
-dnl
-dnl TLS detection
-dnl
-
-AC_ARG_ENABLE([glx-tls],
- [AS_HELP_STRING([--enable-glx-tls],
- [enable TLS support in GLX @<:@default=disabled@:>@])],
- [GLX_USE_TLS="$enableval"],
- [GLX_USE_TLS=no])
-AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
-
-dnl
-dnl More DRI setup
-dnl
-dnl Directory for DRI drivers
-AC_ARG_WITH([dri-driverdir],
- [AS_HELP_STRING([--with-dri-driverdir=DIR],
- [directory for the DRI drivers @<:@${libdir}/dri@:>@])],
- [DRI_DRIVER_INSTALL_DIR="$withval"],
- [DRI_DRIVER_INSTALL_DIR='${libdir}/dri'])
-AC_SUBST([DRI_DRIVER_INSTALL_DIR])
-dnl Extra search path for DRI drivers
-AC_ARG_WITH([dri-searchpath],
- [AS_HELP_STRING([--with-dri-searchpath=DIRS...],
- [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])],
- [DRI_DRIVER_SEARCH_DIR="$withval"],
- [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}'])
-AC_SUBST([DRI_DRIVER_SEARCH_DIR])
-dnl Direct rendering or just indirect rendering
-AC_ARG_ENABLE([driglx-direct],
- [AS_HELP_STRING([--disable-driglx-direct],
- [enable direct rendering in GLX and EGL for DRI @<:@default=enabled@:>@])],
- [driglx_direct="$enableval"],
- [driglx_direct="yes"])
-dnl Which drivers to build - default is chosen by platform
-AC_ARG_WITH([dri-drivers],
- [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@],
- [comma delimited DRI drivers list, e.g.
- "swrast,i965,radeon" @<:@default=auto@:>@])],
- [with_dri_drivers="$withval"],
- [with_dri_drivers=yes])
-if test "x$with_dri_drivers" = x; then
- with_dri_drivers=no
-fi
-
-dnl If $with_dri_drivers is yes, directories will be added through
-dnl platform checks
-DRI_DIRS=""
-case "$with_dri_drivers" in
-no) ;;
-yes)
- DRI_DIRS="yes"
- ;;
-*)
- # verify the requested driver directories exist
- dri_drivers=`IFS=', '; echo $with_dri_drivers`
- for driver in $dri_drivers; do
- test -d "$srcdir/src/mesa/drivers/dri/$driver" || \
- AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist])
- done
- DRI_DIRS="$dri_drivers"
- ;;
-esac
-
-dnl Set DRI_DIRS, DEFINES and LIB_DEPS
-if test "$mesa_driver" = dri -o "$mesa_driver" = no; then
- # Use TLS in GLX?
- if test "x$GLX_USE_TLS" = xyes; then
- DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS"
- fi
-
- # Platform specific settings and drivers to build
- case "$host_os" in
- linux*)
- DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
- if test "x$driglx_direct" = xyes; then
- DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
- fi
- DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
-
- case "$host_cpu" in
- x86_64)
- # sis is missing because they have not be converted to use
- # the new interface. i810 are missing because there is no
- # x86-64 system where they could *ever* be used.
- if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 r600 radeon \
- savage tdfx unichrome swrast"
- fi
- ;;
- powerpc*)
- # Build only the drivers for cards that exist on PowerPC.
- # At some point MGA will be added, but not yet.
- if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast"
- fi
- ;;
- sparc*)
- # Build only the drivers for cards that exist on sparc`
- if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast"
- fi
- ;;
- esac
- ;;
- freebsd* | dragonfly* | *netbsd*)
- DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
- DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
- DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
- if test "x$driglx_direct" = xyes; then
- DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
- fi
-
- if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon tdfx \
- unichrome savage sis swrast"
- fi
- ;;
- gnu*)
- DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
- DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS"
- ;;
- solaris*)
- DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER"
- DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING"
- if test "x$driglx_direct" = xyes; then
- DEFINES="$DEFINES -DGLX_DIRECT_RENDERING"
- fi
- ;;
- esac
-
- # default drivers
- if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \
- savage sis tdfx unichrome swrast"
- fi
-
- DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'`
-
- # Check for expat
- if test "$mesa_driver" = dri; then
- EXPAT_INCLUDES=""
- EXPAT_LIB=-lexpat
- AC_ARG_WITH([expat],
- [AS_HELP_STRING([--with-expat=DIR],
- [expat install directory])],[
- EXPAT_INCLUDES="-I$withval/include"
- CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES"
- LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR"
- EXPAT_LIB="-L$withval/$LIB_DIR -lexpat"
- ])
- AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])])
- AC_CHECK_LIB([expat],[XML_ParserCreate],[],
- [AC_MSG_ERROR([Expat required for DRI.])])
- fi
-
- # put all the necessary libs together
- DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS $TALLOC_LIBS"
-fi
-AC_SUBST([DRI_DIRS])
-AC_SUBST([EXPAT_INCLUDES])
-AC_SUBST([DRI_LIB_DEPS])
-
-case $DRI_DIRS in
-*i915*|*i965*)
- PKG_CHECK_MODULES([INTEL], [libdrm_intel >= 2.4.23])
- ;;
-esac
-
-case $DRI_DIRS in
-*radeon*|*r200*|*r300*|*r600*)
- if test "x$HAVE_LIBDRM_RADEON" = xyes; then
- RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS"
- RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS
- fi
- ;;
-esac
-AC_SUBST([RADEON_CFLAGS])
-AC_SUBST([RADEON_LDFLAGS])
-
-
-dnl
-dnl OSMesa configuration
-dnl
-if test "$mesa_driver" = xlib; then
- default_gl_osmesa=yes
-else
- default_gl_osmesa=no
-fi
-AC_ARG_ENABLE([gl-osmesa],
- [AS_HELP_STRING([--enable-gl-osmesa],
- [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])],
- [gl_osmesa="$enableval"],
- [gl_osmesa="$default_gl_osmesa"])
-if test "x$gl_osmesa" = xyes; then
- if test "x$enable_opengl" = xno; then
- AC_MSG_ERROR([OpenGL is not available for OSMesa driver])
- fi
- if test "$mesa_driver" = osmesa; then
- AC_MSG_ERROR([libGL is not available for OSMesa driver])
- else
- DRIVER_DIRS="$DRIVER_DIRS osmesa"
- fi
-fi
-
-dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...)
-AC_ARG_WITH([osmesa-bits],
- [AS_HELP_STRING([--with-osmesa-bits=BITS],
- [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])],
- [osmesa_bits="$withval"],
- [osmesa_bits=8])
-if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then
- AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver])
- osmesa_bits=8
-fi
-case "x$osmesa_bits" in
-x8)
- OSMESA_LIB=OSMesa
- ;;
-x16|x32)
- OSMESA_LIB="OSMesa$osmesa_bits"
- DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31"
- ;;
-*)
- AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option])
- ;;
-esac
-AC_SUBST([OSMESA_LIB])
-
-case "$DRIVER_DIRS" in
-*osmesa*)
- # only link libraries with osmesa if shared
- if test "$enable_static" = no; then
- OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS $TALLOC_LIBS"
- else
- OSMESA_LIB_DEPS=""
- fi
- OSMESA_MESA_DEPS=""
- OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS $TALLOC_LIBS"
- ;;
-esac
-AC_SUBST([OSMESA_LIB_DEPS])
-AC_SUBST([OSMESA_MESA_DEPS])
-AC_SUBST([OSMESA_PC_REQ])
-AC_SUBST([OSMESA_PC_LIB_PRIV])
-
-dnl
-dnl EGL configuration
-dnl
-AC_ARG_ENABLE([egl],
- [AS_HELP_STRING([--disable-egl],
- [disable EGL library @<:@default=enabled@:>@])],
- [enable_egl="$enableval"],
- [enable_egl=yes])
-if test "x$enable_egl" = xno; then
- if test "x$mesa_driver" = xno; then
- AC_MSG_ERROR([cannot disable EGL when there is no mesa driver])
- fi
- if test "x$enable_openvg" = xyes; then
- AC_MSG_ERROR([cannot enable OpenVG without EGL])
- fi
-fi
-if test "x$enable_egl" = xyes; then
- SRC_DIRS="$SRC_DIRS egl"
- EGL_LIB_DEPS="$DLOPEN_LIBS -lpthread"
- EGL_DRIVERS_DIRS=""
- if test "$enable_static" != yes; then
- # build egl_glx when libGL is built
- if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then
- EGL_DRIVERS_DIRS="glx"
- fi
-
- if test "$mesa_driver" = dri; then
- # build egl_dri2 when xcb-dri2 is available
- PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
- [have_xcb_dri2=yes],[have_xcb_dri2=no])
- PKG_CHECK_MODULES([LIBUDEV], [libudev > 150],
- [have_libudev=yes],[have_libudev=no])
-
- if test "$have_xcb_dri2" = yes; then
- EGL_DRIVER_DRI2=dri2
- DEFINES="$DEFINES -DHAVE_XCB_DRI2"
- if test "$have_libudev" = yes; then
- DEFINES="$DEFINES -DHAVE_LIBUDEV"
- fi
- fi
- fi
-
- EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2"
- fi
-fi
-AC_SUBST([EGL_LIB_DEPS])
-AC_SUBST([EGL_DRIVERS_DIRS])
-
-dnl
-dnl GLU configuration
-dnl
-AC_ARG_ENABLE([glu],
- [AS_HELP_STRING([--disable-glu],
- [enable OpenGL Utility library @<:@default=enabled@:>@])],
- [enable_glu="$enableval"],
- [enable_glu=yes])
-
-if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then
- AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver])
- enable_glu=no
-fi
-
-if test "x$enable_glu" = xyes; then
- SRC_DIRS="$SRC_DIRS glu"
-
- case "$mesa_driver" in
- osmesa)
- # Link libGLU to libOSMesa instead of libGL
- GLU_LIB_DEPS=""
- GLU_PC_REQ="osmesa"
- if test "$enable_static" = no; then
- GLU_MESA_DEPS='-l$(OSMESA_LIB)'
- else
- GLU_MESA_DEPS=""
- fi
- ;;
- *)
- # If static, empty GLU_LIB_DEPS and add libs for programs to link
- GLU_PC_REQ="gl"
- GLU_PC_LIB_PRIV="-lm"
- if test "$enable_static" = no; then
- GLU_LIB_DEPS="-lm"
- GLU_MESA_DEPS='-l$(GL_LIB)'
- else
- GLU_LIB_DEPS=""
- GLU_MESA_DEPS=""
- APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++"
- fi
- ;;
- esac
-fi
-if test "$enable_static" = no; then
- GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS"
-fi
-GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS"
-AC_SUBST([GLU_LIB_DEPS])
-AC_SUBST([GLU_MESA_DEPS])
-AC_SUBST([GLU_PC_REQ])
-AC_SUBST([GLU_PC_REQ_PRIV])
-AC_SUBST([GLU_PC_LIB_PRIV])
-AC_SUBST([GLU_PC_CFLAGS])
-
-dnl
-dnl GLw configuration
-dnl
-AC_ARG_ENABLE([glw],
- [AS_HELP_STRING([--disable-glw],
- [enable Xt/Motif widget library @<:@default=enabled@:>@])],
- [enable_glw="$enableval"],
- [enable_glw=yes])
-dnl Don't build GLw on osmesa
-if test "x$enable_glw" = xyes; then
- case "$mesa_driver" in
- osmesa|no)
- AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver])
- enable_glw=no
- ;;
- esac
-fi
-AC_ARG_ENABLE([motif],
- [AS_HELP_STRING([--enable-motif],
- [use Motif widgets in GLw @<:@default=disabled@:>@])],
- [enable_motif="$enableval"],
- [enable_motif=no])
-
-if test "x$enable_glw" = xyes; then
- SRC_DIRS="$SRC_DIRS glw"
- if test "$x11_pkgconfig" = yes; then
- PKG_CHECK_MODULES([GLW],[x11 xt])
- GLW_PC_REQ_PRIV="x11 xt"
- GLW_LIB_DEPS="$GLW_LIBS"
- else
- # should check these...
- GLW_LIB_DEPS="$X_LIBS -lXt -lX11"
- GLW_PC_LIB_PRIV="$GLW_LIB_DEPS"
- GLW_PC_CFLAGS="$X11_INCLUDES"
- fi
-
- GLW_SOURCES="GLwDrawA.c"
- MOTIF_CFLAGS=
- if test "x$enable_motif" = xyes; then
- GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c"
- AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no])
- if test "x$MOTIF_CONFIG" != xno; then
- MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags`
- MOTIF_LIBS=`$MOTIF_CONFIG --libs`
- else
- AC_CHECK_HEADER([Xm/PrimitiveP.h], [],
- [AC_MSG_ERROR([Can't locate Motif headers])])
- AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"],
- [AC_MSG_ERROR([Can't locate Motif Xm library])])
- fi
- # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11
- GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS"
- GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV"
- GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS"
- fi
-
- # If static, empty GLW_LIB_DEPS and add libs for programs to link
- GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV"
- if test "$enable_static" = no; then
- GLW_MESA_DEPS='-l$(GL_LIB)'
- GLW_LIB_DEPS="$GLW_LIB_DEPS"
- else
- APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS"
- GLW_LIB_DEPS=""
- GLW_MESA_DEPS=""
- fi
-fi
-AC_SUBST([GLW_LIB_DEPS])
-AC_SUBST([GLW_MESA_DEPS])
-AC_SUBST([GLW_SOURCES])
-AC_SUBST([MOTIF_CFLAGS])
-AC_SUBST([GLW_PC_REQ_PRIV])
-AC_SUBST([GLW_PC_LIB_PRIV])
-AC_SUBST([GLW_PC_CFLAGS])
-
-dnl
-dnl GLUT configuration
-dnl
-if test -f "$srcdir/include/GL/glut.h"; then
- default_glut=yes
-else
- default_glut=no
-fi
-AC_ARG_ENABLE([glut],
- [AS_HELP_STRING([--disable-glut],
- [enable GLUT library @<:@default=enabled if source available@:>@])],
- [enable_glut="$enableval"],
- [enable_glut="$default_glut"])
-
-dnl Don't build glut on osmesa
-if test "x$enable_glut" = xyes; then
- case "$mesa_driver" in
- osmesa|no)
- AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver])
- enable_glut=no
- ;;
- esac
-fi
-dnl Can't build glut if GLU not available
-if test "x$enable_glu$enable_glut" = xnoyes; then
- AC_MSG_WARN([Disabling glut since GLU is disabled])
- enable_glut=no
-fi
-
-if test "x$enable_glut" = xyes; then
- SRC_DIRS="$SRC_DIRS glut/glx"
- if test "$x11_pkgconfig" = yes; then
- PKG_CHECK_MODULES([GLUT],[x11 xmu xi])
- GLUT_PC_REQ_PRIV="x11 xmu xi"
- GLUT_LIB_DEPS="$GLUT_LIBS"
- else
- # should check these...
- GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi"
- GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS"
- GLUT_PC_CFLAGS="$X11_INCLUDES"
- fi
- if test "x$GCC" = xyes; then
- GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions"
- fi
- GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm"
- GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm"
-
- # If static, empty GLUT_LIB_DEPS and add libs for programs to link
- if test "$enable_static" = no; then
- GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)'
- else
- APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS"
- GLUT_LIB_DEPS=""
- GLUT_MESA_DEPS=""
- fi
-fi
-AC_SUBST([GLUT_LIB_DEPS])
-AC_SUBST([GLUT_MESA_DEPS])
-AC_SUBST([GLUT_CFLAGS])
-AC_SUBST([GLUT_PC_REQ_PRIV])
-AC_SUBST([GLUT_PC_LIB_PRIV])
-AC_SUBST([GLUT_PC_CFLAGS])
-
-dnl
-dnl Program library dependencies
-dnl Only libm is added here if necessary as the libraries should
-dnl be pulled in by the linker
-dnl
-if test "x$APP_LIB_DEPS" = x; then
- case "$host_os" in
- solaris*)
- APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm"
- ;;
- cygwin*)
- APP_LIB_DEPS="-lX11"
- ;;
- *)
- APP_LIB_DEPS="-lm"
- ;;
- esac
-fi
-AC_SUBST([APP_LIB_DEPS])
-AC_SUBST([PROGRAM_DIRS])
-
-dnl
-dnl Gallium configuration
-dnl
-AC_ARG_ENABLE([gallium],
- [AS_HELP_STRING([--disable-gallium],
- [build gallium @<:@default=enabled@:>@])],
- [enable_gallium="$enableval"],
- [enable_gallium=yes])
-if test "x$enable_gallium" = xno -a "x$enable_openvg" = xyes; then
- AC_MSG_ERROR([cannot enable OpenVG without Gallium])
-fi
-if test "x$enable_gallium" = xyes; then
- SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
- AC_CHECK_HEADER([udis86.h], [HAS_UDIS86="yes"],
- [HAS_UDIS86="no"])
- AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no])
-fi
-
-AC_SUBST([LLVM_CFLAGS])
-AC_SUBST([LLVM_LIBS])
-AC_SUBST([LLVM_LDFLAGS])
-AC_SUBST([LLVM_VERSION])
-
-dnl
-dnl Gallium state trackers configuration
-dnl
-
-AC_ARG_ENABLE([gallium-egl],
- [AS_HELP_STRING([--enable-gallium-egl],
- [enable gallium EGL state tracker @<:@default=auto@:>@])],
- [enable_gallium_egl="$enableval"],
- [enable_gallium_egl=auto])
-if test "x$enable_gallium_egl" = xauto; then
- case "$mesa_driver" in
- dri|no)
- enable_gallium_egl=$enable_egl
- ;;
- *)
- enable_gallium_egl=$enable_openvg
- ;;
- esac
-fi
-case "x$enable_egl$enable_gallium_egl" in
-xnoyes)
- AC_MSG_ERROR([cannot build Gallium EGL state tracker without EGL])
-esac
-
-AC_ARG_WITH([state-trackers],
- [AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@],
- [comma delimited state_trackers list, e.g.
- "egl,glx" @<:@default=auto@:>@])],
- [with_state_trackers="$withval"],
- [with_state_trackers=yes])
-
-case "$with_state_trackers" in
-no)
- GALLIUM_STATE_TRACKERS_DIRS=""
- ;;
-yes)
- # look at what else is built
- case "$mesa_driver" in
- xlib)
- GALLIUM_STATE_TRACKERS_DIRS=glx
- ;;
- dri)
- GALLIUM_STATE_TRACKERS_DIRS="dri"
- HAVE_ST_DRI="yes"
- # Have only tested st/xorg on 1.6.0 servers
- PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED],
- HAVE_ST_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg",
- HAVE_ST_XORG="no")
- ;;
- esac
-
- if test "x$enable_egl" = xyes; then
- if test "$enable_openvg" = yes; then
- GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vega"
- st_egl="yes"
- fi
-
- if test "$enable_gallium_egl" = yes; then
- GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl"
- HAVE_ST_EGL="yes"
- fi
- fi
- ;;
-*)
- # verify the requested state tracker exist
- state_trackers=""
- _state_trackers=`IFS=', '; echo $with_state_trackers`
- for tracker in $_state_trackers; do
- case "$tracker" in
- dri)
- if test "x$mesa_driver" != xdri; then
- AC_MSG_ERROR([cannot build dri state tracker without mesa driver set to dri])
- fi
- HAVE_ST_DRI="yes"
- ;;
- egl)
- if test "x$enable_egl" != xyes; then
- AC_MSG_ERROR([cannot build egl state tracker without EGL library])
- fi
- HAVE_ST_EGL="yes"
- ;;
- xorg)
- PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0])
- PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED])
- PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED])
- HAVE_ST_XORG="yes"
- ;;
- vega)
- if test "x$enable_openvg" != xyes; then
- AC_MSG_ERROR([cannot build vega state tracker without --enable-openvg])
- fi
- ;;
- esac
-
- if test -n "$tracker"; then
- test -d "$srcdir/src/gallium/state_trackers/$tracker" || \
- AC_MSG_ERROR([state tracker '$tracker' doesn't exist])
- if test -n "$state_trackers"; then
- state_trackers="$state_trackers $tracker"
- else
- state_trackers="$tracker"
- fi
- fi
- done
- GALLIUM_STATE_TRACKERS_DIRS="$state_trackers"
- ;;
-esac
-
-
-EGL_CLIENT_APIS=""
-VG_LIB_DEPS=""
-
-case "x$enable_opengl$enable_gles1$enable_gles2" in
-x*yes*)
- EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)'
- ;;
-esac
-if test "x$enable_openvg" = xyes; then
- EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)'
- VG_LIB_DEPS="$VG_LIB_DEPS -lpthread"
-fi
-
-AC_SUBST([VG_LIB_DEPS])
-AC_SUBST([EGL_CLIENT_APIS])
-
-if test "x$HAVE_ST_EGL" = xyes; then
- GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl"
-fi
-
-if test "x$HAVE_ST_XORG" = xyes; then
- PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
- HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71",
- HAVE_XEXTPROTO_71="no")
-fi
-
-AC_ARG_WITH([egl-platforms],
- [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@],
- [comma delimited native platforms libEGL supports, e.g.
- "x11,drm" @<:@default=auto@:>@])],
- [with_egl_platforms="$withval"],
- [with_egl_platforms=yes])
-AC_ARG_WITH([egl-displays],
- [AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@],
- [DEPRECATED. Use --with-egl-platforms instead])],
- [with_egl_platforms="$withval"])
-
-EGL_PLATFORMS=""
-case "$with_egl_platforms" in
-yes)
- if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then
- EGL_PLATFORMS="x11"
- if test "$mesa_driver" = dri; then
- EGL_PLATFORMS="$EGL_PLATFORMS drm"
- fi
- fi
- ;;
-*)
- if test "x$enable_egl" != xyes; then
- AC_MSG_ERROR([cannot build egl state tracker without EGL library])
- fi
- # verify the requested driver directories exist
- egl_platforms=`IFS=', '; echo $with_egl_platforms`
- for plat in $egl_platforms; do
- test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \
- AC_MSG_ERROR([EGL platform '$plat' does't exist])
- if test "$plat" = "fbdev"; then
- GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
- fi
- done
- EGL_PLATFORMS="$egl_platforms"
- ;;
-esac
-AC_SUBST([EGL_PLATFORMS])
-
-AC_ARG_WITH([egl-driver-dir],
- [AS_HELP_STRING([--with-egl-driver-dir=DIR],
- [directory for EGL drivers [[default=${libdir}/egl]]])],
- [EGL_DRIVER_INSTALL_DIR="$withval"],
- [EGL_DRIVER_INSTALL_DIR='${libdir}/egl'])
-AC_SUBST([EGL_DRIVER_INSTALL_DIR])
-
-AC_ARG_WITH([xorg-driver-dir],
- [AS_HELP_STRING([--with-xorg-driver-dir=DIR],
- [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])],
- [XORG_DRIVER_INSTALL_DIR="$withval"],
- [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"])
-AC_SUBST([XORG_DRIVER_INSTALL_DIR])
-
-AC_ARG_WITH([max-width],
- [AS_HELP_STRING([--with-max-width=N],
- [Maximum framebuffer width (4096)])],
- [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}";
- AS_IF([test "${withval}" -gt "4096"],
- [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
-)
-AC_ARG_WITH([max-height],
- [AS_HELP_STRING([--with-max-height=N],
- [Maximum framebuffer height (4096)])],
- [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}";
- AS_IF([test "${withval}" -gt "4096"],
- [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])]
-)
-
-dnl
-dnl Gallium LLVM
-dnl
-AC_ARG_ENABLE([gallium-llvm],
- [AS_HELP_STRING([--enable-gallium-llvm],
- [build gallium LLVM support @<:@default=disabled@:>@])],
- [enable_gallium_llvm="$enableval"],
- [enable_gallium_llvm=auto])
-if test "x$enable_gallium_llvm" = xyes; then
- if test "x$LLVM_CONFIG" != xno; then
- LLVM_VERSION=`$LLVM_CONFIG --version`
- LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
- LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++"
-
- if test "x$HAS_UDIS86" != xno; then
- LLVM_LIBS="$LLVM_LIBS -ludis86"
- DEFINES="$DEFINES -DHAVE_UDIS86"
- fi
- LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags`
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
- DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS"
- MESA_LLVM=1
- else
- MESA_LLVM=0
- fi
-else
- MESA_LLVM=0
-fi
-
-dnl
-dnl Gallium helper functions
-dnl
-gallium_check_st() {
- if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
- GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
- fi
- if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then
- GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2"
- fi
- if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then
- GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3"
- fi
-}
-
-
-dnl
-dnl Gallium SVGA configuration
-dnl
-AC_ARG_ENABLE([gallium-svga],
- [AS_HELP_STRING([--enable-gallium-svga],
- [build gallium SVGA @<:@default=disabled@:>@])],
- [enable_gallium_svga="$enableval"],
- [enable_gallium_svga=auto])
-if test "x$enable_gallium_svga" = xyes; then
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
- gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx"
-elif test "x$enable_gallium_svga" = xauto; then
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga"
-fi
-
-dnl
-dnl Gallium i915 configuration
-dnl
-AC_ARG_ENABLE([gallium-i915],
- [AS_HELP_STRING([--enable-gallium-i915],
- [build gallium i915 @<:@default=disabled@:>@])],
- [enable_gallium_i915="$enableval"],
- [enable_gallium_i915=auto])
-if test "x$enable_gallium_i915" = xyes; then
- GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
- gallium_check_st "i915/drm" "dri-i915" "xorg-i915"
-elif test "x$enable_gallium_i915" = xauto; then
- GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw"
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915"
-fi
-
-dnl
-dnl Gallium i965 configuration
-dnl
-AC_ARG_ENABLE([gallium-i965],
- [AS_HELP_STRING([--enable-gallium-i965],
- [build gallium i965 @<:@default=disabled@:>@])],
- [enable_gallium_i965="$enableval"],
- [enable_gallium_i965=auto])
-if test "x$enable_gallium_i965" = xyes; then
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
- gallium_check_st "i965/drm" "dri-i965" "xorg-i965"
-elif test "x$enable_gallium_i965" = xauto; then
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965"
-fi
-
-dnl
-dnl Gallium Radeon r300g configuration
-dnl
-AC_ARG_ENABLE([gallium-radeon],
- [AS_HELP_STRING([--enable-gallium-radeon],
- [build gallium radeon @<:@default=disabled@:>@])],
- [enable_gallium_radeon="$enableval"],
- [enable_gallium_radeon=auto])
-if test "x$enable_gallium_radeon" = xauto; then
- if test "x$HAVE_LIBDRM_RADEON" = xyes; then
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
- gallium_check_st "radeon/drm" "dri-r300"
- else
- AC_MSG_WARN([libdrm_radeon is missing, not building gallium-radeon (r300)])
- fi
-fi
-if test "x$enable_gallium_radeon" = xyes; then
- if test "x$HAVE_LIBDRM_RADEON" = xyes; then
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
- gallium_check_st "radeon/drm" "dri-r300" "xorg-radeon"
- else
- AC_MSG_ERROR([libdrm_radeon is missing, cannot build gallium-radeon (r300)])
- fi
-fi
-
-dnl
-dnl Gallium Radeon r600g configuration
-dnl
-AC_ARG_ENABLE([gallium-r600],
- [AS_HELP_STRING([--enable-gallium-r600],
- [build gallium radeon @<:@default=disabled@:>@])],
- [enable_gallium_r600="$enableval"],
- [enable_gallium_r600=auto])
-if test "x$enable_gallium_r600" = xyes; then
- if test "x$HAVE_LIBDRM_RADEON" = xyes; then
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
- gallium_check_st "r600/drm" "dri-r600"
- else
- AC_MSG_ERROR([libdrm_radeon is missing, cannot build gallium-r600])
- fi
-fi
-
-dnl
-dnl Gallium Nouveau configuration
-dnl
-AC_ARG_ENABLE([gallium-nouveau],
- [AS_HELP_STRING([--enable-gallium-nouveau],
- [build gallium nouveau @<:@default=disabled@:>@])],
- [enable_gallium_nouveau="$enableval"],
- [enable_gallium_nouveau=no])
-if test "x$enable_gallium_nouveau" = xyes; then
- GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0"
- gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau"
-fi
-
-dnl
-dnl Gallium swrast configuration
-dnl
-AC_ARG_ENABLE([gallium-swrast],
- [AS_HELP_STRING([--enable-gallium-swrast],
- [build gallium swrast @<:@default=auto@:>@])],
- [enable_gallium_swrast="$enableval"],
- [enable_gallium_swrast=auto])
-if test "x$enable_gallium_swrast" = xyes || test "x$enable_gallium_swrast" = xauto; then
- if test "x$HAVE_ST_DRI" = xyes; then
- GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast"
- fi
-fi
-
-dnl prepend CORE_DIRS to SRC_DIRS
-SRC_DIRS="$CORE_DIRS $SRC_DIRS"
-
-dnl Restore LDFLAGS and CPPFLAGS
-LDFLAGS="$_SAVE_LDFLAGS"
-CPPFLAGS="$_SAVE_CPPFLAGS"
-
-dnl Substitute the config
-AC_CONFIG_FILES([configs/autoconf])
-
-dnl Replace the configs/current symlink
-AC_CONFIG_COMMANDS([configs],[
-if test -f configs/current || test -L configs/current; then
- rm -f configs/current
-fi
-ln -s autoconf configs/current
-])
-
-AC_OUTPUT
-
-dnl
-dnl Output some configuration info for the user
-dnl
-echo ""
-echo " prefix: $prefix"
-echo " exec_prefix: $exec_prefix"
-echo " libdir: $libdir"
-echo " includedir: $includedir"
-
-dnl API info
-echo ""
-echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)"
-echo " OpenVG: $enable_openvg"
-
-dnl Driver info
-echo ""
-echo " Driver: $mesa_driver"
-if test "$mesa_driver" != no; then
- if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then
- echo " OSMesa: lib$OSMESA_LIB"
- else
- echo " OSMesa: no"
- fi
- if test "$mesa_driver" = dri; then
- # cleanup the drivers var
- dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'`
- if test "x$DRI_DIRS" = x; then
- echo " DRI drivers: no"
- else
- echo " DRI drivers: $dri_dirs"
- fi
- echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR"
- echo " Use XCB: $enable_xcb"
- fi
-fi
-echo ""
-echo " GLU: $enable_glu"
-echo " GLw: $enable_glw (Motif: $enable_motif)"
-echo " glut: $enable_glut"
-
-dnl EGL
-echo ""
-echo " EGL: $enable_egl"
-if test "$enable_egl" = yes; then
- echo " EGL platforms: $EGL_PLATFORMS"
-
- egl_drivers=""
- for d in $EGL_DRIVERS_DIRS; do
- egl_drivers="$egl_drivers builtin:egl_$d"
- done
-
- if test "$enable_gallium" = yes -a "$HAVE_ST_EGL" = yes; then
- echo " EGL drivers: ${egl_drivers} egl_gallium"
- echo " EGL Gallium STs:$EGL_CLIENT_APIS"
- else
- echo " EGL drivers: $egl_drivers"
- fi
-fi
-
-echo ""
-if test "x$MESA_LLVM" = x1; then
- echo " llvm: yes"
- echo " llvm-config: $LLVM_CONFIG"
- echo " llvm-version: $LLVM_VERSION"
-else
- echo " llvm: no"
-fi
-
-echo ""
-if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
- echo " Gallium: yes"
- echo " Gallium dirs: $GALLIUM_DIRS"
- echo " Target dirs: $GALLIUM_TARGET_DIRS"
- echo " Winsys dirs: $GALLIUM_WINSYS_DIRS"
- echo " Driver dirs: $GALLIUM_DRIVERS_DIRS"
- echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS"
-else
- echo " Gallium: no"
-fi
-
-dnl Libraries
-echo ""
-echo " Shared libs: $enable_shared"
-echo " Static libs: $enable_static"
-
-dnl Compiler options
-# cleanup the CFLAGS/CXXFLAGS/DEFINES vars
-cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
- $SED 's/^ *//;s/ */ /;s/ *$//'`
-cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \
- $SED 's/^ *//;s/ */ /;s/ *$//'`
-defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'`
-echo ""
-echo " CFLAGS: $cflags"
-echo " CXXFLAGS: $cxxflags"
-echo " Macros: $defines"
-echo ""
-echo " PYTHON2: $PYTHON2"
-
-echo ""
-echo " Run '${MAKE-make}' to build Mesa"
-echo ""
+dnl Process this file with autoconf to create configure. + +AC_PREREQ([2.59]) + +dnl Versioning - scrape the version from configs/default +m4_define([mesa_version], + [m4_esyscmd([${MAKE-make} -s -f bin/version.mk version | tr -d '\n' | tr -d '\r'])]) +m4_ifval(mesa_version,, + [m4_fatal([Failed to get the Mesa version from `make -f bin/version.mk version`])]) + +dnl Tell the user about autoconf.html in the --help output +m4_divert_once([HELP_END], [ +See docs/autoconf.html for more details on the options for Mesa.]) + +AC_INIT([Mesa],[mesa_version], + [https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa]) +AC_CONFIG_AUX_DIR([bin]) +AC_CANONICAL_HOST + +dnl Versions for external dependencies +LIBDRM_REQUIRED=2.4.23 +LIBDRM_RADEON_REQUIRED=2.4.23 +DRI2PROTO_REQUIRED=2.1 +GLPROTO_REQUIRED=1.4.11 +LIBDRM_XORG_REQUIRED=2.4.23 +LIBKMS_XORG_REQUIRED=1.0.0 + +dnl Check for progs +AC_PROG_CPP +AC_PROG_CC +AC_PROG_CXX +AC_CHECK_PROGS([MAKE], [gmake make]) +AC_CHECK_PROGS([PYTHON2], [python2 python]) +AC_PATH_PROG([MKDEP], [makedepend]) +AC_PATH_PROG([SED], [sed]) + +if test "x$MKDEP" = "x"; then + AC_MSG_ERROR([makedepend is required to build Mesa]) +fi + +dnl Our fallback install-sh is a symlink to minstall. Use the existing +dnl configuration in that case. +AC_PROG_INSTALL +test "x$INSTALL" = "x$ac_install_sh" && INSTALL='$(MINSTALL)' + +dnl We need a POSIX shell for parts of the build. Assume we have one +dnl in most cases. +case "$host_os" in +solaris*) + # Solaris /bin/sh is too old/non-POSIX compliant + AC_PATH_PROGS(POSIX_SHELL, [ksh93 ksh sh]) + SHELL="$POSIX_SHELL" + ;; +esac + +dnl clang is mostly GCC-compatible, but its version is much lower, +dnl so we have to check for it. +AC_MSG_CHECKING([if compiling with clang]) + +AC_COMPILE_IFELSE( +[AC_LANG_PROGRAM([], [[ +#ifndef __clang__ + not clang +#endif +]])], +[CLANG=yes], [CLANG=no]) + +AC_MSG_RESULT([$CLANG]) + +dnl If we're using GCC, make sure that it is at least version 3.3.0. Older +dnl versions are explictly not supported. +if test "x$GCC" = xyes -a "x$CLANG" = xno; then + AC_MSG_CHECKING([whether gcc version is sufficient]) + major=0 + minor=0 + + GCC_VERSION=`$CC -dumpversion` + if test $? -eq 0; then + major=`echo $GCC_VERSION | cut -d. -f1` + minor=`echo $GCC_VERSION | cut -d. -f1` + fi + + if test $major -lt 3 -o $major -eq 3 -a $minor -lt 3 ; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([If using GCC, version 3.3.0 or later is required.]) + else + AC_MSG_RESULT([yes]) + fi +fi + + +MKDEP_OPTIONS=-fdepend +dnl Ask gcc where it's keeping its secret headers +if test "x$GCC" = xyes; then + for dir in include include-fixed; do + GCC_INCLUDES=`$CC -print-file-name=$dir` + if test "x$GCC_INCLUDES" != x && \ + test "$GCC_INCLUDES" != "$dir" && \ + test -d "$GCC_INCLUDES"; then + MKDEP_OPTIONS="$MKDEP_OPTIONS -I$GCC_INCLUDES" + fi + done +fi +AC_SUBST([MKDEP_OPTIONS]) + +dnl Make sure the pkg-config macros are defined +m4_ifndef([PKG_PROG_PKG_CONFIG], + [m4_fatal([Could not locate the pkg-config autoconf macros. + These are usually located in /usr/share/aclocal/pkg.m4. If your macros + are in a different location, try setting the environment variable + ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])]) +PKG_PROG_PKG_CONFIG() + +dnl LIB_DIR - library basename +LIB_DIR=`echo $libdir | $SED 's%.*/%%'` +AC_SUBST([LIB_DIR]) + +dnl Cache LDFLAGS so we can add EXTRA_LIB_PATH and restore it later +_SAVE_LDFLAGS="$LDFLAGS" +AC_ARG_VAR([EXTRA_LIB_PATH],[Extra -L paths for the linker]) +AC_SUBST([EXTRA_LIB_PATH]) + +dnl Cache CPPFLAGS so we can add *_INCLUDES and restore it later +_SAVE_CPPFLAGS="$CPPFLAGS" +AC_ARG_VAR([X11_INCLUDES],[Extra -I paths for X11 headers]) +AC_SUBST([X11_INCLUDES]) + +dnl Compiler macros +DEFINES="" +AC_SUBST([DEFINES]) +case "$host_os" in +linux*|*-gnu*|gnu*) + DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS" + ;; +solaris*) + DEFINES="$DEFINES -DPTHREADS -DSVR4" + ;; +cygwin*) + DEFINES="$DEFINES -DPTHREADS" + ;; +esac + +dnl Add flags for gcc and g++ +if test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99" + if test "x$CLANG" = "xno"; then + CFLAGS="$CFLAGS -ffast-math" + fi + + # Enable -fvisibility=hidden if using a gcc that supports it + save_CFLAGS="$CFLAGS" + AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden]) + CFLAGS="$CFLAGS -fvisibility=hidden" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]), + [CFLAGS="$save_CFLAGS" ; AC_MSG_RESULT([no])]); + + # Work around aliasing bugs - developers should comment this out + CFLAGS="$CFLAGS -fno-strict-aliasing" +fi +if test "x$GXX" = xyes; then + CXXFLAGS="$CXXFLAGS -Wall" + + # Enable -fvisibility=hidden if using a gcc that supports it + save_CXXFLAGS="$CXXFLAGS" + AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden]) + CXXFLAGS="$CXXFLAGS -fvisibility=hidden" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]), + [CXXFLAGS="$save_CXXFLAGS" ; AC_MSG_RESULT([no])]); + + # Work around aliasing bugs - developers should comment this out + CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" +fi + +dnl These should be unnecessary, but let the user set them if they want +AC_ARG_VAR([OPT_FLAGS], [Additional optimization flags for the compiler. + Default is to use CFLAGS.]) +AC_ARG_VAR([ARCH_FLAGS], [Additional architecture specific flags for the + compiler. Default is to use CFLAGS.]) +AC_SUBST([OPT_FLAGS]) +AC_SUBST([ARCH_FLAGS]) + +dnl +dnl Hacks to enable 32 or 64 bit build +dnl +AC_ARG_ENABLE([32-bit], + [AS_HELP_STRING([--enable-32-bit], + [build 32-bit libraries @<:@default=auto@:>@])], + [enable_32bit="$enableval"], + [enable_32bit=auto] +) +if test "x$enable_32bit" = xyes; then + if test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -m32" + ARCH_FLAGS="$ARCH_FLAGS -m32" + fi + if test "x$GXX" = xyes; then + CXXFLAGS="$CXXFLAGS -m32" + fi +fi +AC_ARG_ENABLE([64-bit], + [AS_HELP_STRING([--enable-64-bit], + [build 64-bit libraries @<:@default=auto@:>@])], + [enable_64bit="$enableval"], + [enable_64bit=auto] +) +if test "x$enable_64bit" = xyes; then + if test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -m64" + fi + if test "x$GXX" = xyes; then + CXXFLAGS="$CXXFLAGS -m64" + fi +fi + +dnl +dnl shared/static libraries, mimic libtool options +dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static], + [build static libraries @<:@default=disabled@:>@])], + [enable_static="$enableval"], + [enable_static=no] +) +case "x$enable_static" in +xyes|xno ) ;; +x ) enable_static=no ;; +* ) + AC_MSG_ERROR([Static library option '$enable_static' is not a valid]) + ;; +esac +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--disable-shared], + [build shared libraries @<:@default=enabled@:>@])], + [enable_shared="$enableval"], + [enable_shared=yes] +) +case "x$enable_shared" in +xyes|xno ) ;; +x ) enable_shared=yes ;; +* ) + AC_MSG_ERROR([Shared library option '$enable_shared' is not a valid]) + ;; +esac + +dnl Can't have static and shared libraries, default to static if user +dnl explicitly requested. If both disabled, set to static since shared +dnl was explicitly requirested. +case "x$enable_static$enable_shared" in +xyesyes ) + AC_MSG_WARN([Can't build static and shared libraries, disabling shared]) + enable_shared=no + ;; +xnono ) + AC_MSG_WARN([Can't disable both static and shared libraries, enabling static]) + enable_static=yes + ;; +esac + +dnl +dnl mklib options +dnl +AC_ARG_VAR([MKLIB_OPTIONS],[Options for the Mesa library script, mklib]) +if test "$enable_static" = yes; then + MKLIB_OPTIONS="$MKLIB_OPTIONS -static" +fi +AC_SUBST([MKLIB_OPTIONS]) + +dnl +dnl other compiler options +dnl +AC_ARG_ENABLE([debug], + [AS_HELP_STRING([--enable-debug], + [use debug compiler flags and macros @<:@default=disabled@:>@])], + [enable_debug="$enableval"], + [enable_debug=no] +) +if test "x$enable_debug" = xyes; then + DEFINES="$DEFINES -DDEBUG" + if test "x$GCC" = xyes; then + CFLAGS="$CFLAGS -g" + fi + if test "x$GXX" = xyes; then + CXXFLAGS="$CXXFLAGS -g" + fi +fi + +dnl +dnl library names +dnl +LIB_PREFIX_GLOB='lib' +LIB_VERSION_SEPARATOR='.' +if test "$enable_static" = yes; then + LIB_EXTENSION='a' +else + case "$host_os" in + darwin* ) + LIB_EXTENSION='dylib' ;; + cygwin* ) + dnl prefix can be 'cyg' or 'lib' + LIB_PREFIX_GLOB='???' + LIB_VERSION_SEPARATOR='-' + LIB_EXTENSION='dll' ;; + aix* ) + LIB_EXTENSION='a' ;; + * ) + LIB_EXTENSION='so' ;; + esac +fi + +GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION} +GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION} +GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION} +GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION} +OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION} +EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION} +GLESv1_CM_LIB_NAME='lib$(GLESv1_CM_LIB).'${LIB_EXTENSION} +GLESv2_LIB_NAME='lib$(GLESv2_LIB).'${LIB_EXTENSION} +VG_LIB_NAME='lib$(VG_LIB).'${LIB_EXTENSION} +GLAPI_LIB_NAME='lib$(GLAPI_LIB).'${LIB_EXTENSION} + +GL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +GLU_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLU_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +GLUT_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLUT_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +GLW_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLW_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +OSMESA_LIB_GLOB=${LIB_PREFIX_GLOB}'$(OSMESA_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +EGL_LIB_GLOB=${LIB_PREFIX_GLOB}'$(EGL_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +GLESv1_CM_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv1_CM_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +GLESv2_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLESv2_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +VG_LIB_GLOB=${LIB_PREFIX_GLOB}'$(VG_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' +GLAPI_LIB_GLOB=${LIB_PREFIX_GLOB}'$(GLAPI_LIB)'${LIB_VERSION_SEPARATOR}'*'${LIB_EXTENSION}'*' + +AC_SUBST([GL_LIB_NAME]) +AC_SUBST([GLU_LIB_NAME]) +AC_SUBST([GLUT_LIB_NAME]) +AC_SUBST([GLW_LIB_NAME]) +AC_SUBST([OSMESA_LIB_NAME]) +AC_SUBST([EGL_LIB_NAME]) +AC_SUBST([GLESv1_CM_LIB_NAME]) +AC_SUBST([GLESv2_LIB_NAME]) +AC_SUBST([VG_LIB_NAME]) +AC_SUBST([GLAPI_LIB_NAME]) + +AC_SUBST([GL_LIB_GLOB]) +AC_SUBST([GLU_LIB_GLOB]) +AC_SUBST([GLUT_LIB_GLOB]) +AC_SUBST([GLW_LIB_GLOB]) +AC_SUBST([OSMESA_LIB_GLOB]) +AC_SUBST([EGL_LIB_GLOB]) +AC_SUBST([GLESv1_CM_LIB_GLOB]) +AC_SUBST([GLESv2_LIB_GLOB]) +AC_SUBST([VG_LIB_GLOB]) +AC_SUBST([GLAPI_LIB_GLOB]) + +dnl +dnl Arch/platform-specific settings +dnl +AC_ARG_ENABLE([asm], + [AS_HELP_STRING([--disable-asm], + [disable assembly usage @<:@default=enabled on supported plaforms@:>@])], + [enable_asm="$enableval"], + [enable_asm=yes] +) +asm_arch="" +ASM_FLAGS="" +MESA_ASM_SOURCES="" +GLAPI_ASM_SOURCES="" +AC_MSG_CHECKING([whether to enable assembly]) +test "x$enable_asm" = xno && AC_MSG_RESULT([no]) +# disable if cross compiling on x86/x86_64 since we must run gen_matypes +if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then + case "$host_cpu" in + i?86 | x86_64) + enable_asm=no + AC_MSG_RESULT([no, cross compiling]) + ;; + esac +fi +# check for supported arches +if test "x$enable_asm" = xyes; then + case "$host_cpu" in + i?86) + case "$host_os" in + linux* | *freebsd* | dragonfly* | *netbsd*) + test "x$enable_64bit" = xyes && asm_arch=x86_64 || asm_arch=x86 + ;; + esac + ;; + x86_64) + case "$host_os" in + linux* | *freebsd* | dragonfly* | *netbsd*) + test "x$enable_32bit" = xyes && asm_arch=x86 || asm_arch=x86_64 + ;; + esac + ;; + powerpc) + case "$host_os" in + linux*) + asm_arch=ppc + ;; + esac + ;; + sparc*) + case "$host_os" in + linux*) + asm_arch=sparc + ;; + esac + ;; + esac + + case "$asm_arch" in + x86) + ASM_FLAGS="-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM" + MESA_ASM_SOURCES='$(X86_SOURCES)' + GLAPI_ASM_SOURCES='$(X86_API)' + AC_MSG_RESULT([yes, x86]) + ;; + x86_64) + ASM_FLAGS="-DUSE_X86_64_ASM" + MESA_ASM_SOURCES='$(X86-64_SOURCES)' + GLAPI_ASM_SOURCES='$(X86-64_API)' + AC_MSG_RESULT([yes, x86_64]) + ;; + ppc) + ASM_FLAGS="-DUSE_PPC_ASM -DUSE_VMX_ASM" + MESA_ASM_SOURCES='$(PPC_SOURCES)' + AC_MSG_RESULT([yes, ppc]) + ;; + sparc) + ASM_FLAGS="-DUSE_SPARC_ASM" + MESA_ASM_SOURCES='$(SPARC_SOURCES)' + GLAPI_ASM_SOURCES='$(SPARC_API)' + AC_MSG_RESULT([yes, sparc]) + ;; + *) + AC_MSG_RESULT([no, platform not supported]) + ;; + esac +fi +AC_SUBST([ASM_FLAGS]) +AC_SUBST([MESA_ASM_SOURCES]) +AC_SUBST([GLAPI_ASM_SOURCES]) + +dnl PIC code macro +MESA_PIC_FLAGS + +dnl Check to see if dlopen is in default libraries (like Solaris, which +dnl has it in libc), or if libdl is needed to get it. +AC_CHECK_FUNC([dlopen], [], + [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])]) +AC_SUBST([DLOPEN_LIBS]) + +dnl See if posix_memalign is available +AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES -DHAVE_POSIX_MEMALIGN"]) + +dnl SELinux awareness. +AC_ARG_ENABLE([selinux], + [AS_HELP_STRING([--enable-selinux], + [Build SELinux-aware Mesa @<:@default=disabled@:>@])], + [MESA_SELINUX="$enableval"], + [MESA_SELINUX=no]) +if test "x$enable_selinux" = "xyes"; then + AC_CHECK_HEADER([selinux/selinux.h],[], + [AC_MSG_ERROR([SELinux headers not found])]) + AC_CHECK_LIB([selinux],[is_selinux_enabled],[], + [AC_MSG_ERROR([SELinux library not found])]) + SELINUX_LIBS="-lselinux" + DEFINES="$DEFINES -DMESA_SELINUX" +fi + +dnl Determine which APIs to support +AC_ARG_ENABLE([opengl], + [AS_HELP_STRING([--disable-opengl], + [disable support for standard OpenGL API @<:@default=no@:>@])], + [enable_opengl="$enableval"], + [enable_opengl=yes]) +AC_ARG_ENABLE([gles1], + [AS_HELP_STRING([--enable-gles1], + [enable support for OpenGL ES 1.x API @<:@default=no@:>@])], + [enable_gles1="$enableval"], + [enable_gles1=no]) +AC_ARG_ENABLE([gles2], + [AS_HELP_STRING([--enable-gles2], + [enable support for OpenGL ES 2.x API @<:@default=no@:>@])], + [enable_gles2="$enableval"], + [enable_gles2=no]) +AC_ARG_ENABLE([gles-overlay], + [AS_HELP_STRING([--enable-gles-overlay], + [DEPRECATED. Same as --enable-gles1 and --enable-gles2])], + [enable_gles1="$enableval"; enable_gles2="$enableval"], + []) + +AC_ARG_ENABLE([openvg], + [AS_HELP_STRING([--enable-openvg], + [enable support for OpenVG API @<:@default=no@:>@])], + [enable_openvg="$enableval"], + [enable_openvg=no]) + +dnl smooth the transition; should be removed eventually +if test "x$enable_openvg" = xno; then + case "x$with_state_trackers" in + x*vega*) + AC_MSG_WARN([vega state tracker is enabled without --enable-openvg]) + enable_openvg=yes + ;; + esac +fi + +if test "x$enable_opengl" = xno -a \ + "x$enable_gles1" = xno -a \ + "x$enable_gles2" = xno -a \ + "x$enable_openvg" = xno; then + AC_MSG_ERROR([at least one API should be enabled]) +fi + +API_DEFINES="" +if test "x$enable_opengl" = xno; then + API_DEFINES="$API_DEFINES -DFEATURE_GL=0" +else + API_DEFINES="$API_DEFINES -DFEATURE_GL=1" +fi +if test "x$enable_gles1" = xyes; then + API_DEFINES="$API_DEFINES -DFEATURE_ES1=1" +fi +if test "x$enable_gles2" = xyes; then + API_DEFINES="$API_DEFINES -DFEATURE_ES2=1" +fi +AC_SUBST([API_DEFINES]) + +AC_ARG_ENABLE([shared-glapi], + [AS_HELP_STRING([--enable-shared-glapi], + [EXPERIMENTAL. Enable shared glapi for OpenGL @<:@default=no@:>@])], + [enable_shared_glapi="$enableval"], + [enable_shared_glapi=no]) + +SHARED_GLAPI="0" +if test "x$enable_shared_glapi" = xyes; then + SHARED_GLAPI="1" +fi +AC_SUBST([SHARED_GLAPI]) + +dnl +dnl Driver configuration. Options are xlib, dri and osmesa right now. +dnl More later: fbdev, ... +dnl +default_driver="xlib" + +case "$host_os" in +linux*) + case "$host_cpu" in + i*86|x86_64|powerpc*|sparc*) default_driver="dri";; + esac + ;; +*freebsd* | dragonfly* | *netbsd*) + case "$host_cpu" in + i*86|x86_64|powerpc*|sparc*) default_driver="dri";; + esac + ;; +esac + +if test "x$enable_opengl" = xno; then + default_driver="no" +fi + +AC_ARG_WITH([driver], + [AS_HELP_STRING([--with-driver=DRIVER], + [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])], + [mesa_driver="$withval"], + [mesa_driver="$default_driver"]) +dnl Check for valid option +case "x$mesa_driver" in +xxlib|xdri|xosmesa) + if test "x$enable_opengl" = xno; then + AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled]) + fi + ;; +xno) + ;; +*) + AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option]) + ;; +esac + +PKG_CHECK_MODULES([TALLOC], [talloc]) +AC_SUBST([TALLOC_LIBS]) +AC_SUBST([TALLOC_CFLAGS]) + +dnl +dnl Driver specific build directories +dnl + +dnl this variable will be prepended to SRC_DIRS and is not exported +CORE_DIRS="" + +SRC_DIRS="" +GLU_DIRS="sgi" +GALLIUM_DIRS="auxiliary drivers state_trackers" +GALLIUM_TARGET_DIRS="" +GALLIUM_WINSYS_DIRS="sw" +GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug noop identity" +GALLIUM_STATE_TRACKERS_DIRS="" + +# build shared-glapi if enabled for OpenGL or if OpenGL ES is enabled +case "x$enabled_shared_glapi$enable_gles1$enable_gles2" in +x*yes*) + CORE_DIRS="$CORE_DIRS mapi/shared-glapi" + ;; +esac + +# build glapi if OpenGL is enabled +if test "x$enable_opengl" = xyes; then + CORE_DIRS="$CORE_DIRS mapi/glapi" +fi + +# build es1api if OpenGL ES 1.x is enabled +if test "x$enable_gles1" = xyes; then + CORE_DIRS="$CORE_DIRS mapi/es1api" +fi + +# build es2api if OpenGL ES 2.x is enabled +if test "x$enable_gles2" = xyes; then + CORE_DIRS="$CORE_DIRS mapi/es2api" +fi + +# build vgapi if OpenVG is enabled +if test "x$enable_openvg" = xyes; then + CORE_DIRS="$CORE_DIRS mapi/vgapi" +fi + +# build glsl and mesa if OpenGL or OpenGL ES is enabled +case "x$enable_opengl$enable_gles1$enable_gles2" in +x*yes*) + CORE_DIRS="$CORE_DIRS glsl mesa" + ;; +esac + +case "$mesa_driver" in +xlib) + DRIVER_DIRS="x11" + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib" + GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib" + ;; +dri) + SRC_DIRS="$SRC_DIRS glx" + DRIVER_DIRS="dri" + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib sw/dri" + ;; +osmesa) + DRIVER_DIRS="osmesa" + ;; +no) + DRIVER_DRIS="" + ;; +esac +AC_SUBST([SRC_DIRS]) +AC_SUBST([GLU_DIRS]) +AC_SUBST([DRIVER_DIRS]) +AC_SUBST([GALLIUM_DIRS]) +AC_SUBST([GALLIUM_TARGET_DIRS]) +AC_SUBST([GALLIUM_WINSYS_DIRS]) +AC_SUBST([GALLIUM_DRIVERS_DIRS]) +AC_SUBST([GALLIUM_STATE_TRACKERS_DIRS]) +AC_SUBST([MESA_LLVM]) + +dnl +dnl Find out if X is available. The variable have_x is set if libX11 is +dnl found to mimic AC_PATH_XTRA. +dnl +if test -n "$PKG_CONFIG"; then + AC_MSG_CHECKING([pkg-config files for X11 are available]) + PKG_CHECK_EXISTS([x11],[ + x11_pkgconfig=yes + have_x=yes + ],[ + x11_pkgconfig=no + ]) + AC_MSG_RESULT([$x11_pkgconfig]) +else + x11_pkgconfig=no +fi +dnl Use the autoconf macro if no pkg-config files +if test "$x11_pkgconfig" = yes; then + PKG_CHECK_MODULES([X11], [x11]) +else + AC_PATH_XTRA + test -z "$X11_CFLAGS" && X11_CFLAGS="$X_CFLAGS" + test -z "$X11_LIBS" && X11_LIBS="$X_LIBS -lX11" + AC_SUBST([X11_CFLAGS]) + AC_SUBST([X11_LIBS]) +fi + +dnl Try to tell the user that the --x-* options are only used when +dnl pkg-config is not available. This must be right after AC_PATH_XTRA. +m4_divert_once([HELP_BEGIN], +[These options are only used when the X libraries cannot be found by the +pkg-config utility.]) + +dnl We need X for xlib and dri, so bomb now if it's not found +case "$mesa_driver" in +xlib|dri) + if test "$no_x" = yes; then + AC_MSG_ERROR([X11 development libraries needed for $mesa_driver driver]) + fi + ;; +esac + +dnl XCB - this is only used for GLX right now +AC_ARG_ENABLE([xcb], + [AS_HELP_STRING([--enable-xcb], + [use XCB for GLX @<:@default=disabled@:>@])], + [enable_xcb="$enableval"], + [enable_xcb=no]) +if test "x$enable_xcb" = xyes; then + DEFINES="$DEFINES -DUSE_XCB" +else + enable_xcb=no +fi + +dnl +dnl libGL configuration per driver +dnl +case "$mesa_driver" in +xlib) + if test "$x11_pkgconfig" = yes; then + PKG_CHECK_MODULES([XLIBGL], [x11 xext]) + GL_PC_REQ_PRIV="x11 xext" + X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS" + GL_LIB_DEPS="$XLIBGL_LIBS" + else + # should check these... + X11_INCLUDES="$X11_INCLUDES $X_CFLAGS" + GL_LIB_DEPS="$X_LIBS -lX11 -lXext" + GL_PC_LIB_PRIV="$GL_LIB_DEPS" + GL_PC_CFLAGS="$X11_INCLUDES" + fi + GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm -lpthread $TALLOC_LIBS" + GL_PC_LIB_PRIV="$GL_PC_LIB_PRIV $SELINUX_LIBS -lm -lpthread $TALLOC_LIBS" + + # if static, move the external libraries to the programs + # and empty the libraries for libGL + if test "$enable_static" = yes; then + APP_LIB_DEPS="$APP_LIB_DEPS $GL_LIB_DEPS" + GL_LIB_DEPS="" + fi + ;; +dri|no) # these checks are still desired when there is no mesa_driver + # DRI must be shared, I think + if test "$enable_static" = yes; then + AC_MSG_ERROR([Can't use static libraries for DRI drivers]) + fi + + # Check for libdrm + PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED]) + PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED]) + PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED]) + GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED glproto >= $GLPROTO_REQUIRED" + DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED" + + # find the DRI deps for libGL + if test "$x11_pkgconfig" = yes; then + dri_modules="x11 xext xdamage xfixes" + + # add xf86vidmode if available + PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no) + if test "$HAVE_XF86VIDMODE" = yes ; then + dri_modules="$dri_modules xxf86vm" + fi + + # add xcb modules if necessary + if test "$enable_xcb" = yes; then + dri_modules="$dri_modules x11-xcb xcb-glx" + fi + + PKG_CHECK_MODULES([DRIGL], [$dri_modules]) + GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules" + X11_INCLUDES="$X11_INCLUDES $DRIGL_CFLAGS" + GL_LIB_DEPS="$DRIGL_LIBS" + else + # should check these... + X11_INCLUDES="$X11_INCLUDES $X_CFLAGS" + GL_LIB_DEPS="$X_LIBS -lX11 -lXext -lXxf86vm -lXdamage -lXfixes" + GL_PC_LIB_PRIV="$GL_LIB_DEPS" + GL_PC_CFLAGS="$X11_INCLUDES" + + # XCB can only be used from pkg-config + if test "$enable_xcb" = yes; then + PKG_CHECK_MODULES([XCB],[x11-xcb xcb-glx]) + GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV x11-xcb xcb-glx" + X11_INCLUDES="$X11_INCLUDES $XCB_CFLAGS" + GL_LIB_DEPS="$GL_LIB_DEPS $XCB_LIBS" + fi + fi + + # need DRM libs, -lpthread, etc. + GL_LIB_DEPS="$GL_LIB_DEPS $LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS" + GL_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS" + GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS" + GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS" + GLESv2_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS" + GLESv2_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS" + ;; +osmesa) + # No libGL for osmesa + GL_LIB_DEPS="" + ;; +esac +AC_SUBST([GL_LIB_DEPS]) +AC_SUBST([GL_PC_REQ_PRIV]) +AC_SUBST([GL_PC_LIB_PRIV]) +AC_SUBST([GL_PC_CFLAGS]) +AC_SUBST([DRI_PC_REQ_PRIV]) +AC_SUBST([GLESv1_CM_LIB_DEPS]) +AC_SUBST([GLESv1_CM_PC_LIB_PRIV]) +AC_SUBST([GLESv2_LIB_DEPS]) +AC_SUBST([GLESv2_PC_LIB_PRIV]) + +GLAPI_LIB_DEPS="-lpthread" +AC_SUBST([GLAPI_LIB_DEPS]) + +AC_SUBST([HAVE_XF86VIDMODE]) + +PKG_CHECK_MODULES([LIBDRM_RADEON], + [libdrm_radeon libdrm >= $LIBDRM_RADEON_REQUIRED], + HAVE_LIBDRM_RADEON=yes, + HAVE_LIBDRM_RADEON=no) + +dnl +dnl More X11 setup +dnl +if test "$mesa_driver" = xlib; then + DEFINES="$DEFINES -DUSE_XSHM" +fi + +dnl +dnl TLS detection +dnl + +AC_ARG_ENABLE([glx-tls], + [AS_HELP_STRING([--enable-glx-tls], + [enable TLS support in GLX @<:@default=disabled@:>@])], + [GLX_USE_TLS="$enableval"], + [GLX_USE_TLS=no]) +AC_SUBST(GLX_TLS, ${GLX_USE_TLS}) + +dnl +dnl More DRI setup +dnl +dnl Directory for DRI drivers +AC_ARG_WITH([dri-driverdir], + [AS_HELP_STRING([--with-dri-driverdir=DIR], + [directory for the DRI drivers @<:@${libdir}/dri@:>@])], + [DRI_DRIVER_INSTALL_DIR="$withval"], + [DRI_DRIVER_INSTALL_DIR='${libdir}/dri']) +AC_SUBST([DRI_DRIVER_INSTALL_DIR]) +dnl Extra search path for DRI drivers +AC_ARG_WITH([dri-searchpath], + [AS_HELP_STRING([--with-dri-searchpath=DIRS...], + [semicolon delimited DRI driver search directories @<:@${libdir}/dri@:>@])], + [DRI_DRIVER_SEARCH_DIR="$withval"], + [DRI_DRIVER_SEARCH_DIR='${DRI_DRIVER_INSTALL_DIR}']) +AC_SUBST([DRI_DRIVER_SEARCH_DIR]) +dnl Direct rendering or just indirect rendering +AC_ARG_ENABLE([driglx-direct], + [AS_HELP_STRING([--disable-driglx-direct], + [enable direct rendering in GLX and EGL for DRI @<:@default=enabled@:>@])], + [driglx_direct="$enableval"], + [driglx_direct="yes"]) +dnl Which drivers to build - default is chosen by platform +AC_ARG_WITH([dri-drivers], + [AS_HELP_STRING([--with-dri-drivers@<:@=DIRS...@:>@], + [comma delimited DRI drivers list, e.g. + "swrast,i965,radeon" @<:@default=auto@:>@])], + [with_dri_drivers="$withval"], + [with_dri_drivers=yes]) +if test "x$with_dri_drivers" = x; then + with_dri_drivers=no +fi + +dnl If $with_dri_drivers is yes, directories will be added through +dnl platform checks +DRI_DIRS="" +case "$with_dri_drivers" in +no) ;; +yes) + DRI_DIRS="yes" + ;; +*) + # verify the requested driver directories exist + dri_drivers=`IFS=', '; echo $with_dri_drivers` + for driver in $dri_drivers; do + test -d "$srcdir/src/mesa/drivers/dri/$driver" || \ + AC_MSG_ERROR([DRI driver directory '$driver' doesn't exist]) + done + DRI_DIRS="$dri_drivers" + ;; +esac + +dnl Set DRI_DIRS, DEFINES and LIB_DEPS +if test "$mesa_driver" = dri -o "$mesa_driver" = no; then + # Use TLS in GLX? + if test "x$GLX_USE_TLS" = xyes; then + DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS" + fi + + # Platform specific settings and drivers to build + case "$host_os" in + linux*) + DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" + if test "x$driglx_direct" = xyes; then + DEFINES="$DEFINES -DGLX_DIRECT_RENDERING" + fi + DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS" + + case "$host_cpu" in + x86_64) + # sis is missing because they have not be converted to use + # the new interface. i810 are missing because there is no + # x86-64 system where they could *ever* be used. + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 r600 radeon \ + savage tdfx unichrome swrast" + fi + ;; + powerpc*) + # Build only the drivers for cards that exist on PowerPC. + # At some point MGA will be added, but not yet. + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="mach64 r128 r200 r300 r600 radeon tdfx swrast" + fi + ;; + sparc*) + # Build only the drivers for cards that exist on sparc` + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="mach64 r128 r200 r300 r600 radeon swrast" + fi + ;; + esac + ;; + freebsd* | dragonfly* | *netbsd*) + DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1" + DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS" + DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING" + if test "x$driglx_direct" = xyes; then + DEFINES="$DEFINES -DGLX_DIRECT_RENDERING" + fi + + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon tdfx \ + unichrome savage sis swrast" + fi + ;; + gnu*) + DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" + DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS" + ;; + solaris*) + DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER" + DEFINES="$DEFINES -DGLX_INDIRECT_RENDERING" + if test "x$driglx_direct" = xyes; then + DEFINES="$DEFINES -DGLX_DIRECT_RENDERING" + fi + ;; + esac + + # default drivers + if test "x$DRI_DIRS" = "xyes"; then + DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \ + savage sis tdfx unichrome swrast" + fi + + DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'` + + # Check for expat + if test "$mesa_driver" = dri; then + EXPAT_INCLUDES="" + EXPAT_LIB=-lexpat + AC_ARG_WITH([expat], + [AS_HELP_STRING([--with-expat=DIR], + [expat install directory])],[ + EXPAT_INCLUDES="-I$withval/include" + CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES" + LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR" + EXPAT_LIB="-L$withval/$LIB_DIR -lexpat" + ]) + AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])]) + AC_CHECK_LIB([expat],[XML_ParserCreate],[], + [AC_MSG_ERROR([Expat required for DRI.])]) + fi + + # put all the necessary libs together + DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS $TALLOC_LIBS" +fi +AC_SUBST([DRI_DIRS]) +AC_SUBST([EXPAT_INCLUDES]) +AC_SUBST([DRI_LIB_DEPS]) + +case $DRI_DIRS in +*i915*|*i965*) + PKG_CHECK_MODULES([INTEL], [libdrm_intel >= 2.4.23]) + ;; +esac + +case $DRI_DIRS in +*radeon*|*r200*|*r300*|*r600*) + if test "x$HAVE_LIBDRM_RADEON" = xyes; then + RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS" + RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS + fi + ;; +esac +AC_SUBST([RADEON_CFLAGS]) +AC_SUBST([RADEON_LDFLAGS]) + + +dnl +dnl OSMesa configuration +dnl +if test "$mesa_driver" = xlib; then + default_gl_osmesa=yes +else + default_gl_osmesa=no +fi +AC_ARG_ENABLE([gl-osmesa], + [AS_HELP_STRING([--enable-gl-osmesa], + [enable OSMesa with libGL @<:@default=enabled for xlib driver@:>@])], + [gl_osmesa="$enableval"], + [gl_osmesa="$default_gl_osmesa"]) +if test "x$gl_osmesa" = xyes; then + if test "x$enable_opengl" = xno; then + AC_MSG_ERROR([OpenGL is not available for OSMesa driver]) + fi + if test "$mesa_driver" = osmesa; then + AC_MSG_ERROR([libGL is not available for OSMesa driver]) + else + DRIVER_DIRS="$DRIVER_DIRS osmesa" + fi +fi + +dnl Configure the channel bits for OSMesa (libOSMesa, libOSMesa16, ...) +AC_ARG_WITH([osmesa-bits], + [AS_HELP_STRING([--with-osmesa-bits=BITS], + [OSMesa channel bits and library name: 8, 16, 32 @<:@default=8@:>@])], + [osmesa_bits="$withval"], + [osmesa_bits=8]) +if test "$mesa_driver" != osmesa && test "x$osmesa_bits" != x8; then + AC_MSG_WARN([Ignoring OSMesa channel bits for non-OSMesa driver]) + osmesa_bits=8 +fi +case "x$osmesa_bits" in +x8) + OSMESA_LIB=OSMesa + ;; +x16|x32) + OSMESA_LIB="OSMesa$osmesa_bits" + DEFINES="$DEFINES -DCHAN_BITS=$osmesa_bits -DDEFAULT_SOFTWARE_DEPTH_BITS=31" + ;; +*) + AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option]) + ;; +esac +AC_SUBST([OSMESA_LIB]) + +case "$DRIVER_DIRS" in +*osmesa*) + # only link libraries with osmesa if shared + if test "$enable_static" = no; then + OSMESA_LIB_DEPS="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS $TALLOC_LIBS" + else + OSMESA_LIB_DEPS="" + fi + OSMESA_MESA_DEPS="" + OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS $TALLOC_LIBS" + ;; +esac +AC_SUBST([OSMESA_LIB_DEPS]) +AC_SUBST([OSMESA_MESA_DEPS]) +AC_SUBST([OSMESA_PC_REQ]) +AC_SUBST([OSMESA_PC_LIB_PRIV]) + +dnl +dnl EGL configuration +dnl +AC_ARG_ENABLE([egl], + [AS_HELP_STRING([--disable-egl], + [disable EGL library @<:@default=enabled@:>@])], + [enable_egl="$enableval"], + [enable_egl=yes]) +if test "x$enable_egl" = xno; then + if test "x$mesa_driver" = xno; then + AC_MSG_ERROR([cannot disable EGL when there is no mesa driver]) + fi + if test "x$enable_openvg" = xyes; then + AC_MSG_ERROR([cannot enable OpenVG without EGL]) + fi +fi +if test "x$enable_egl" = xyes; then + SRC_DIRS="$SRC_DIRS egl" + EGL_LIB_DEPS="$DLOPEN_LIBS -lpthread" + EGL_DRIVERS_DIRS="" + if test "$enable_static" != yes; then + # build egl_glx when libGL is built + if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then + EGL_DRIVERS_DIRS="glx" + fi + + if test "$mesa_driver" = dri; then + # build egl_dri2 when xcb-dri2 is available + PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes], + [have_xcb_dri2=yes],[have_xcb_dri2=no]) + PKG_CHECK_MODULES([LIBUDEV], [libudev > 150], + [have_libudev=yes],[have_libudev=no]) + + if test "$have_xcb_dri2" = yes; then + EGL_DRIVER_DRI2=dri2 + DEFINES="$DEFINES -DHAVE_XCB_DRI2" + if test "$have_libudev" = yes; then + DEFINES="$DEFINES -DHAVE_LIBUDEV" + fi + fi + fi + + EGL_DRIVERS_DIRS="$EGL_DRIVERS_DIRS $EGL_DRIVER_DRI2" + fi +fi +AC_SUBST([EGL_LIB_DEPS]) +AC_SUBST([EGL_DRIVERS_DIRS]) + +dnl +dnl GLU configuration +dnl +AC_ARG_ENABLE([glu], + [AS_HELP_STRING([--disable-glu], + [enable OpenGL Utility library @<:@default=enabled@:>@])], + [enable_glu="$enableval"], + [enable_glu=yes]) + +if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then + AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver]) + enable_glu=no +fi + +if test "x$enable_glu" = xyes; then + SRC_DIRS="$SRC_DIRS glu" + + case "$mesa_driver" in + osmesa) + # Link libGLU to libOSMesa instead of libGL + GLU_LIB_DEPS="" + GLU_PC_REQ="osmesa" + if test "$enable_static" = no; then + GLU_MESA_DEPS='-l$(OSMESA_LIB)' + else + GLU_MESA_DEPS="" + fi + ;; + *) + # If static, empty GLU_LIB_DEPS and add libs for programs to link + GLU_PC_REQ="gl" + GLU_PC_LIB_PRIV="-lm" + if test "$enable_static" = no; then + GLU_LIB_DEPS="-lm" + GLU_MESA_DEPS='-l$(GL_LIB)' + else + GLU_LIB_DEPS="" + GLU_MESA_DEPS="" + APP_LIB_DEPS="$APP_LIB_DEPS -lstdc++" + fi + ;; + esac +fi +if test "$enable_static" = no; then + GLU_LIB_DEPS="$GLU_LIB_DEPS $OS_CPLUSPLUS_LIBS" +fi +GLU_PC_LIB_PRIV="$GLU_PC_LIB_PRIV $OS_CPLUSPLUS_LIBS" +AC_SUBST([GLU_LIB_DEPS]) +AC_SUBST([GLU_MESA_DEPS]) +AC_SUBST([GLU_PC_REQ]) +AC_SUBST([GLU_PC_REQ_PRIV]) +AC_SUBST([GLU_PC_LIB_PRIV]) +AC_SUBST([GLU_PC_CFLAGS]) + +dnl +dnl GLw configuration +dnl +AC_ARG_ENABLE([glw], + [AS_HELP_STRING([--disable-glw], + [enable Xt/Motif widget library @<:@default=enabled@:>@])], + [enable_glw="$enableval"], + [enable_glw=yes]) +dnl Don't build GLw on osmesa +if test "x$enable_glw" = xyes; then + case "$mesa_driver" in + osmesa|no) + AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver]) + enable_glw=no + ;; + esac +fi +AC_ARG_ENABLE([motif], + [AS_HELP_STRING([--enable-motif], + [use Motif widgets in GLw @<:@default=disabled@:>@])], + [enable_motif="$enableval"], + [enable_motif=no]) + +if test "x$enable_glw" = xyes; then + SRC_DIRS="$SRC_DIRS glw" + if test "$x11_pkgconfig" = yes; then + PKG_CHECK_MODULES([GLW],[x11 xt]) + GLW_PC_REQ_PRIV="x11 xt" + GLW_LIB_DEPS="$GLW_LIBS" + else + # should check these... + GLW_LIB_DEPS="$X_LIBS -lXt -lX11" + GLW_PC_LIB_PRIV="$GLW_LIB_DEPS" + GLW_PC_CFLAGS="$X11_INCLUDES" + fi + + GLW_SOURCES="GLwDrawA.c" + MOTIF_CFLAGS= + if test "x$enable_motif" = xyes; then + GLW_SOURCES="$GLW_SOURCES GLwMDrawA.c" + AC_PATH_PROG([MOTIF_CONFIG], [motif-config], [no]) + if test "x$MOTIF_CONFIG" != xno; then + MOTIF_CFLAGS=`$MOTIF_CONFIG --cflags` + MOTIF_LIBS=`$MOTIF_CONFIG --libs` + else + AC_CHECK_HEADER([Xm/PrimitiveP.h], [], + [AC_MSG_ERROR([Can't locate Motif headers])]) + AC_CHECK_LIB([Xm], [XmGetPixmap], [MOTIF_LIBS="-lXm"], + [AC_MSG_ERROR([Can't locate Motif Xm library])]) + fi + # MOTIF_LIBS is prepended to GLW_LIB_DEPS since Xm needs Xt/X11 + GLW_LIB_DEPS="$MOTIF_LIBS $GLW_LIB_DEPS" + GLW_PC_LIB_PRIV="$MOTIF_LIBS $GLW_PC_LIB_PRIV" + GLW_PC_CFLAGS="$MOTIF_CFLAGS $GLW_PC_CFLAGS" + fi + + # If static, empty GLW_LIB_DEPS and add libs for programs to link + GLW_PC_LIB_PRIV="$GLW_PC_LIB_PRIV" + if test "$enable_static" = no; then + GLW_MESA_DEPS='-l$(GL_LIB)' + GLW_LIB_DEPS="$GLW_LIB_DEPS" + else + APP_LIB_DEPS="$APP_LIB_DEPS $GLW_LIB_DEPS" + GLW_LIB_DEPS="" + GLW_MESA_DEPS="" + fi +fi +AC_SUBST([GLW_LIB_DEPS]) +AC_SUBST([GLW_MESA_DEPS]) +AC_SUBST([GLW_SOURCES]) +AC_SUBST([MOTIF_CFLAGS]) +AC_SUBST([GLW_PC_REQ_PRIV]) +AC_SUBST([GLW_PC_LIB_PRIV]) +AC_SUBST([GLW_PC_CFLAGS]) + +dnl +dnl GLUT configuration +dnl +if test -f "$srcdir/include/GL/glut.h"; then + default_glut=yes +else + default_glut=no +fi +AC_ARG_ENABLE([glut], + [AS_HELP_STRING([--disable-glut], + [enable GLUT library @<:@default=enabled if source available@:>@])], + [enable_glut="$enableval"], + [enable_glut="$default_glut"]) + +dnl Don't build glut on osmesa +if test "x$enable_glut" = xyes; then + case "$mesa_driver" in + osmesa|no) + AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver]) + enable_glut=no + ;; + esac +fi +dnl Can't build glut if GLU not available +if test "x$enable_glu$enable_glut" = xnoyes; then + AC_MSG_WARN([Disabling glut since GLU is disabled]) + enable_glut=no +fi + +if test "x$enable_glut" = xyes; then + SRC_DIRS="$SRC_DIRS glut/glx" + if test "$x11_pkgconfig" = yes; then + PKG_CHECK_MODULES([GLUT],[x11 xmu xi]) + GLUT_PC_REQ_PRIV="x11 xmu xi" + GLUT_LIB_DEPS="$GLUT_LIBS" + else + # should check these... + GLUT_LIB_DEPS="$X_LIBS -lX11 -lXmu -lXi" + GLUT_PC_LIB_PRIV="$GLUT_LIB_DEPS" + GLUT_PC_CFLAGS="$X11_INCLUDES" + fi + if test "x$GCC" = xyes; then + GLUT_CFLAGS="$GLUT_CFLAGS -fexceptions" + fi + GLUT_LIB_DEPS="$GLUT_LIB_DEPS -lm" + GLUT_PC_LIB_PRIV="$GLUT_PC_LIB_PRIV -lm" + + # If static, empty GLUT_LIB_DEPS and add libs for programs to link + if test "$enable_static" = no; then + GLUT_MESA_DEPS='-l$(GLU_LIB) -l$(GL_LIB)' + else + APP_LIB_DEPS="$APP_LIB_DEPS $GLUT_LIB_DEPS" + GLUT_LIB_DEPS="" + GLUT_MESA_DEPS="" + fi +fi +AC_SUBST([GLUT_LIB_DEPS]) +AC_SUBST([GLUT_MESA_DEPS]) +AC_SUBST([GLUT_CFLAGS]) +AC_SUBST([GLUT_PC_REQ_PRIV]) +AC_SUBST([GLUT_PC_LIB_PRIV]) +AC_SUBST([GLUT_PC_CFLAGS]) + +dnl +dnl Program library dependencies +dnl Only libm is added here if necessary as the libraries should +dnl be pulled in by the linker +dnl +if test "x$APP_LIB_DEPS" = x; then + case "$host_os" in + solaris*) + APP_LIB_DEPS="-lX11 -lsocket -lnsl -lm" + ;; + cygwin*) + APP_LIB_DEPS="-lX11" + ;; + *) + APP_LIB_DEPS="-lm" + ;; + esac +fi +AC_SUBST([APP_LIB_DEPS]) +AC_SUBST([PROGRAM_DIRS]) + +dnl +dnl Gallium configuration +dnl +AC_ARG_ENABLE([gallium], + [AS_HELP_STRING([--disable-gallium], + [build gallium @<:@default=enabled@:>@])], + [enable_gallium="$enableval"], + [enable_gallium=yes]) +if test "x$enable_gallium" = xno -a "x$enable_openvg" = xyes; then + AC_MSG_ERROR([cannot enable OpenVG without Gallium]) +fi +if test "x$enable_gallium" = xyes; then + SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets" + AC_CHECK_HEADER([udis86.h], [HAS_UDIS86="yes"], + [HAS_UDIS86="no"]) + AC_PATH_PROG([LLVM_CONFIG], [llvm-config], [no]) +fi + +AC_SUBST([LLVM_CFLAGS]) +AC_SUBST([LLVM_LIBS]) +AC_SUBST([LLVM_LDFLAGS]) +AC_SUBST([LLVM_VERSION]) + +dnl +dnl Gallium state trackers configuration +dnl + +AC_ARG_ENABLE([gallium-egl], + [AS_HELP_STRING([--enable-gallium-egl], + [enable gallium EGL state tracker @<:@default=auto@:>@])], + [enable_gallium_egl="$enableval"], + [enable_gallium_egl=auto]) +if test "x$enable_gallium_egl" = xauto; then + case "$mesa_driver" in + dri|no) + enable_gallium_egl=$enable_egl + ;; + *) + enable_gallium_egl=$enable_openvg + ;; + esac +fi +case "x$enable_egl$enable_gallium_egl" in +xnoyes) + AC_MSG_ERROR([cannot build Gallium EGL state tracker without EGL]) +esac + +AC_ARG_WITH([state-trackers], + [AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@], + [comma delimited state_trackers list, e.g. + "egl,glx" @<:@default=auto@:>@])], + [with_state_trackers="$withval"], + [with_state_trackers=yes]) + +case "$with_state_trackers" in +no) + GALLIUM_STATE_TRACKERS_DIRS="" + ;; +yes) + # look at what else is built + case "$mesa_driver" in + xlib) + GALLIUM_STATE_TRACKERS_DIRS=glx + ;; + dri) + GALLIUM_STATE_TRACKERS_DIRS="dri" + HAVE_ST_DRI="yes" + # Have only tested st/xorg on 1.6.0 servers + PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED], + HAVE_ST_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg", + HAVE_ST_XORG="no") + ;; + esac + + if test "x$enable_egl" = xyes; then + if test "$enable_openvg" = yes; then + GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vega" + st_egl="yes" + fi + + if test "$enable_gallium_egl" = yes; then + GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl" + HAVE_ST_EGL="yes" + fi + fi + ;; +*) + # verify the requested state tracker exist + state_trackers="" + _state_trackers=`IFS=', '; echo $with_state_trackers` + for tracker in $_state_trackers; do + case "$tracker" in + dri) + if test "x$mesa_driver" != xdri; then + AC_MSG_ERROR([cannot build dri state tracker without mesa driver set to dri]) + fi + HAVE_ST_DRI="yes" + ;; + egl) + if test "x$enable_egl" != xyes; then + AC_MSG_ERROR([cannot build egl state tracker without EGL library]) + fi + HAVE_ST_EGL="yes" + ;; + xorg) + PKG_CHECK_MODULES([XORG], [xorg-server >= 1.6.0]) + PKG_CHECK_MODULES([LIBDRM_XORG], [libdrm >= $LIBDRM_XORG_REQUIRED]) + PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED]) + HAVE_ST_XORG="yes" + ;; + vega) + if test "x$enable_openvg" != xyes; then + AC_MSG_ERROR([cannot build vega state tracker without --enable-openvg]) + fi + have_st_vega="yes" + ;; + esac + + if test -n "$tracker"; then + test -d "$srcdir/src/gallium/state_trackers/$tracker" || \ + AC_MSG_ERROR([state tracker '$tracker' doesn't exist]) + if test -n "$state_trackers"; then + state_trackers="$state_trackers $tracker" + else + state_trackers="$tracker" + fi + fi + done + GALLIUM_STATE_TRACKERS_DIRS="$state_trackers" + + # append --enable-openvg/--enable-gallium-egl to --with-state-trackers + if test "x$have_st_vega" != xyes -a "x$enable_openvg" = xyes; then + AC_MSG_ERROR([--with-state-trackers specified but vega is missing]) + fi + if test "x$HAVE_ST_EGL" != xyes -a "x$enable_gallium_egl" = xyes; then + AC_MSG_ERROR([--with-state-trackers specified but egl is missing]) + fi + ;; +esac + + +EGL_CLIENT_APIS="" +VG_LIB_DEPS="" + +case "x$enable_opengl$enable_gles1$enable_gles2" in +x*yes*) + EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)' + ;; +esac +if test "x$enable_openvg" = xyes; then + EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)' + VG_LIB_DEPS="$VG_LIB_DEPS -lpthread" +fi + +AC_SUBST([VG_LIB_DEPS]) +AC_SUBST([EGL_CLIENT_APIS]) + +if test "x$HAVE_ST_EGL" = xyes; then + GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS egl" +fi + +if test "x$HAVE_ST_XORG" = xyes; then + PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1], + HAVE_XEXTPROTO_71="yes"; DEFINES="$DEFINES -DHAVE_XEXTPROTO_71", + HAVE_XEXTPROTO_71="no") +fi + +AC_ARG_WITH([egl-platforms], + [AS_HELP_STRING([--with-egl-platforms@<:@=DIRS...@:>@], + [comma delimited native platforms libEGL supports, e.g. + "x11,drm" @<:@default=auto@:>@])], + [with_egl_platforms="$withval"], + [with_egl_platforms=yes]) +AC_ARG_WITH([egl-displays], + [AS_HELP_STRING([--with-egl-displays@<:@=DIRS...@:>@], + [DEPRECATED. Use --with-egl-platforms instead])], + [with_egl_platforms="$withval"]) + +EGL_PLATFORMS="" +case "$with_egl_platforms" in +yes) + if test "x$enable_egl" = xyes && test "x$mesa_driver" != xosmesa; then + EGL_PLATFORMS="x11" + if test "$mesa_driver" = dri; then + EGL_PLATFORMS="$EGL_PLATFORMS drm" + fi + fi + ;; +*) + if test "x$enable_egl" != xyes; then + AC_MSG_ERROR([cannot build egl state tracker without EGL library]) + fi + # verify the requested driver directories exist + egl_platforms=`IFS=', '; echo $with_egl_platforms` + for plat in $egl_platforms; do + test -d "$srcdir/src/gallium/state_trackers/egl/$plat" || \ + AC_MSG_ERROR([EGL platform '$plat' does't exist]) + if test "$plat" = "fbdev"; then + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev" + fi + done + EGL_PLATFORMS="$egl_platforms" + ;; +esac +AC_SUBST([EGL_PLATFORMS]) + +AC_ARG_WITH([egl-driver-dir], + [AS_HELP_STRING([--with-egl-driver-dir=DIR], + [directory for EGL drivers [[default=${libdir}/egl]]])], + [EGL_DRIVER_INSTALL_DIR="$withval"], + [EGL_DRIVER_INSTALL_DIR='${libdir}/egl']) +AC_SUBST([EGL_DRIVER_INSTALL_DIR]) + +AC_ARG_WITH([xorg-driver-dir], + [AS_HELP_STRING([--with-xorg-driver-dir=DIR], + [Default xorg driver directory[[default=${libdir}/xorg/modules/drivers]]])], + [XORG_DRIVER_INSTALL_DIR="$withval"], + [XORG_DRIVER_INSTALL_DIR="${libdir}/xorg/modules/drivers"]) +AC_SUBST([XORG_DRIVER_INSTALL_DIR]) + +AC_ARG_WITH([max-width], + [AS_HELP_STRING([--with-max-width=N], + [Maximum framebuffer width (4096)])], + [DEFINES="${DEFINES} -DMAX_WIDTH=${withval}"; + AS_IF([test "${withval}" -gt "4096"], + [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])] +) +AC_ARG_WITH([max-height], + [AS_HELP_STRING([--with-max-height=N], + [Maximum framebuffer height (4096)])], + [DEFINES="${DEFINES} -DMAX_HEIGHT=${withval}"; + AS_IF([test "${withval}" -gt "4096"], + [AC_MSG_WARN([Large framebuffer: see s_tritemp.h comments.])])] +) + +dnl +dnl Gallium LLVM +dnl +AC_ARG_ENABLE([gallium-llvm], + [AS_HELP_STRING([--enable-gallium-llvm], + [build gallium LLVM support @<:@default=disabled@:>@])], + [enable_gallium_llvm="$enableval"], + [enable_gallium_llvm=auto]) +if test "x$enable_gallium_llvm" = xyes; then + if test "x$LLVM_CONFIG" != xno; then + LLVM_VERSION=`$LLVM_CONFIG --version` + LLVM_CFLAGS=`$LLVM_CONFIG --cppflags` + LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++" + + if test "x$HAS_UDIS86" != xno; then + LLVM_LIBS="$LLVM_LIBS -ludis86" + DEFINES="$DEFINES -DHAVE_UDIS86" + fi + LLVM_LDFLAGS=`$LLVM_CONFIG --ldflags` + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe" + DEFINES="$DEFINES -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS" + MESA_LLVM=1 + else + MESA_LLVM=0 + fi +else + MESA_LLVM=0 +fi + +dnl +dnl Gallium helper functions +dnl +gallium_check_st() { + if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1" + fi + if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then + GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $2" + fi + if test "x$HAVE_ST_XORG" = xyes && test "x$3" != x; then + GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $3" + fi +} + + +dnl +dnl Gallium SVGA configuration +dnl +AC_ARG_ENABLE([gallium-svga], + [AS_HELP_STRING([--enable-gallium-svga], + [build gallium SVGA @<:@default=disabled@:>@])], + [enable_gallium_svga="$enableval"], + [enable_gallium_svga=auto]) +if test "x$enable_gallium_svga" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga" + gallium_check_st "svga/drm" "dri-vmwgfx" "xorg-vmwgfx" +elif test "x$enable_gallium_svga" = xauto; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS svga" +fi + +dnl +dnl Gallium i915 configuration +dnl +AC_ARG_ENABLE([gallium-i915], + [AS_HELP_STRING([--enable-gallium-i915], + [build gallium i915 @<:@default=disabled@:>@])], + [enable_gallium_i915="$enableval"], + [enable_gallium_i915=auto]) +if test "x$enable_gallium_i915" = xyes; then + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw" + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915" + gallium_check_st "i915/drm" "dri-i915" "xorg-i915" +elif test "x$enable_gallium_i915" = xauto; then + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS i915/sw" + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i915" +fi + +dnl +dnl Gallium i965 configuration +dnl +AC_ARG_ENABLE([gallium-i965], + [AS_HELP_STRING([--enable-gallium-i965], + [build gallium i965 @<:@default=disabled@:>@])], + [enable_gallium_i965="$enableval"], + [enable_gallium_i965=auto]) +if test "x$enable_gallium_i965" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965" + gallium_check_st "i965/drm" "dri-i965" "xorg-i965" +elif test "x$enable_gallium_i965" = xauto; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS i965" +fi + +dnl +dnl Gallium Radeon r300g configuration +dnl +AC_ARG_ENABLE([gallium-radeon], + [AS_HELP_STRING([--enable-gallium-radeon], + [build gallium radeon @<:@default=disabled@:>@])], + [enable_gallium_radeon="$enableval"], + [enable_gallium_radeon=auto]) +if test "x$enable_gallium_radeon" = xauto; then + if test "x$HAVE_LIBDRM_RADEON" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" + gallium_check_st "radeon/drm" "dri-r300" + else + AC_MSG_WARN([libdrm_radeon is missing, not building gallium-radeon (r300)]) + fi +fi +if test "x$enable_gallium_radeon" = xyes; then + if test "x$HAVE_LIBDRM_RADEON" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" + gallium_check_st "radeon/drm" "dri-r300" "xorg-radeon" + else + AC_MSG_ERROR([libdrm_radeon is missing, cannot build gallium-radeon (r300)]) + fi +fi + +dnl +dnl Gallium Radeon r600g configuration +dnl +AC_ARG_ENABLE([gallium-r600], + [AS_HELP_STRING([--enable-gallium-r600], + [build gallium radeon @<:@default=disabled@:>@])], + [enable_gallium_r600="$enableval"], + [enable_gallium_r600=auto]) +if test "x$enable_gallium_r600" = xyes; then + if test "x$HAVE_LIBDRM_RADEON" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600" + gallium_check_st "r600/drm" "dri-r600" + else + AC_MSG_ERROR([libdrm_radeon is missing, cannot build gallium-r600]) + fi +fi + +dnl +dnl Gallium Nouveau configuration +dnl +AC_ARG_ENABLE([gallium-nouveau], + [AS_HELP_STRING([--enable-gallium-nouveau], + [build gallium nouveau @<:@default=disabled@:>@])], + [enable_gallium_nouveau="$enableval"], + [enable_gallium_nouveau=no]) +if test "x$enable_gallium_nouveau" = xyes; then + GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0" + gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" +fi + +dnl +dnl Gallium swrast configuration +dnl +AC_ARG_ENABLE([gallium-swrast], + [AS_HELP_STRING([--enable-gallium-swrast], + [build gallium swrast @<:@default=auto@:>@])], + [enable_gallium_swrast="$enableval"], + [enable_gallium_swrast=auto]) +if test "x$enable_gallium_swrast" = xyes || test "x$enable_gallium_swrast" = xauto; then + if test "x$HAVE_ST_DRI" = xyes; then + GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS dri-swrast" + fi +fi + +dnl prepend CORE_DIRS to SRC_DIRS +SRC_DIRS="$CORE_DIRS $SRC_DIRS" + +dnl Restore LDFLAGS and CPPFLAGS +LDFLAGS="$_SAVE_LDFLAGS" +CPPFLAGS="$_SAVE_CPPFLAGS" + +dnl Substitute the config +AC_CONFIG_FILES([configs/autoconf]) + +dnl Replace the configs/current symlink +AC_CONFIG_COMMANDS([configs],[ +if test -f configs/current || test -L configs/current; then + rm -f configs/current +fi +ln -s autoconf configs/current +]) + +AC_OUTPUT + +dnl +dnl Output some configuration info for the user +dnl +echo "" +echo " prefix: $prefix" +echo " exec_prefix: $exec_prefix" +echo " libdir: $libdir" +echo " includedir: $includedir" + +dnl API info +echo "" +echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)" +echo " OpenVG: $enable_openvg" + +dnl Driver info +echo "" +echo " Driver: $mesa_driver" +if test "$mesa_driver" != no; then + if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then + echo " OSMesa: lib$OSMESA_LIB" + else + echo " OSMesa: no" + fi + if test "$mesa_driver" = dri; then + # cleanup the drivers var + dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'` + if test "x$DRI_DIRS" = x; then + echo " DRI drivers: no" + else + echo " DRI drivers: $dri_dirs" + fi + echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR" + echo " Use XCB: $enable_xcb" + fi +fi +echo "" +echo " GLU: $enable_glu" +echo " GLw: $enable_glw (Motif: $enable_motif)" +echo " glut: $enable_glut" + +dnl EGL +echo "" +echo " EGL: $enable_egl" +if test "$enable_egl" = yes; then + echo " EGL platforms: $EGL_PLATFORMS" + + egl_drivers="" + for d in $EGL_DRIVERS_DIRS; do + egl_drivers="$egl_drivers builtin:egl_$d" + done + + if test "$enable_gallium" = yes -a "$HAVE_ST_EGL" = yes; then + echo " EGL drivers: ${egl_drivers} egl_gallium" + echo " EGL Gallium STs:$EGL_CLIENT_APIS" + else + echo " EGL drivers: $egl_drivers" + fi +fi + +echo "" +if test "x$MESA_LLVM" = x1; then + echo " llvm: yes" + echo " llvm-config: $LLVM_CONFIG" + echo " llvm-version: $LLVM_VERSION" +else + echo " llvm: no" +fi + +echo "" +if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then + echo " Gallium: yes" + echo " Gallium dirs: $GALLIUM_DIRS" + echo " Target dirs: $GALLIUM_TARGET_DIRS" + echo " Winsys dirs: $GALLIUM_WINSYS_DIRS" + echo " Driver dirs: $GALLIUM_DRIVERS_DIRS" + echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS" +else + echo " Gallium: no" +fi + +dnl Libraries +echo "" +echo " Shared libs: $enable_shared" +echo " Static libs: $enable_static" + +dnl Compiler options +# cleanup the CFLAGS/CXXFLAGS/DEFINES vars +cflags=`echo $CFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \ + $SED 's/^ *//;s/ */ /;s/ *$//'` +cxxflags=`echo $CXXFLAGS $OPT_FLAGS $PIC_FLAGS $ARCH_FLAGS | \ + $SED 's/^ *//;s/ */ /;s/ *$//'` +defines=`echo $DEFINES $ASM_FLAGS | $SED 's/^ *//;s/ */ /;s/ *$//'` +echo "" +echo " CFLAGS: $cflags" +echo " CXXFLAGS: $cxxflags" +echo " Macros: $defines" +echo "" +echo " PYTHON2: $PYTHON2" + +echo "" +echo " Run '${MAKE-make}' to build Mesa" +echo "" diff --git a/mesalib/docs/README.WIN32 b/mesalib/docs/README.WIN32 index 204b8e660..986b5994f 100644 --- a/mesalib/docs/README.WIN32 +++ b/mesalib/docs/README.WIN32 @@ -1,6 +1,10 @@ File: docs/README.WIN32 -Last updated: Apr 25, 2007 - Karl Schultz - kschultz@users.sourceforge.net +Last updated: Apr 25, 2007 + +NOTE: This information only applies to Mesa 7.8 and older. Nowadays +it's probably better to use Scons to build for Windows. + Quick Start ----- ----- @@ -130,11 +134,5 @@ change all the gl* symbols to mgl*. Because this is easy to do with a global replace operation in a text editor, no additional mangled version of mesa.def is maintained or shipped. -If you have a Windows-related build problem or question, it is -probably better to direct it to me (kschultz@users.sourceforge.net), -rather than directly to the other Mesa developers. I will help you as -much as I can. I also monitor the Mesa mailing lists and will answer -questions in this area there as well. - - -Karl Schultz +If you have a Windows-related build problem or question, please post +to the mesa-dev or mesa-users list. diff --git a/mesalib/src/glsl/glsl_symbol_table.cpp b/mesalib/src/glsl/glsl_symbol_table.cpp index b64b9179d..f8c6c38fa 100644 --- a/mesalib/src/glsl/glsl_symbol_table.cpp +++ b/mesalib/src/glsl/glsl_symbol_table.cpp @@ -1,172 +1,168 @@ -/* -*- c++ -*- */
-/*
- * Copyright © 2010 Intel Corporation
- *
- * 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 (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 NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS 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 "glsl_symbol_table.h"
-
-class symbol_table_entry {
-public:
- /* Callers of this talloc-based new need not call delete. It's
- * easier to just talloc_free 'ctx' (or any of its ancestors). */
- static void* operator new(size_t size, void *ctx)
- {
- void *entry = talloc_size(ctx, size);
- assert(entry != NULL);
- return entry;
- }
-
- /* If the user *does* call delete, that's OK, we will just
- * talloc_free in that case. Here, C++ will have already called the
- * destructor so tell talloc not to do that again. */
- static void operator delete(void *table, void *ctx)
- {
- talloc_set_destructor(table, NULL);
- talloc_free(table);
- }
- static void operator delete(void *table)
- {
- talloc_set_destructor(table, NULL);
- talloc_free(table);
- }
-
- symbol_table_entry(ir_variable *v) : v(v), f(0), t(0) {}
- symbol_table_entry(ir_function *f) : v(0), f(f), t(0) {}
- symbol_table_entry(const glsl_type *t) : v(0), f(0), t(t) {}
-
- ir_variable *v;
- ir_function *f;
- const glsl_type *t;
-};
-
-glsl_symbol_table::glsl_symbol_table()
-{
- this->language_version = 120;
- this->table = _mesa_symbol_table_ctor();
- this->mem_ctx = talloc_init("symbol table entries");
-}
-
-glsl_symbol_table::~glsl_symbol_table()
-{
- _mesa_symbol_table_dtor(table);
- talloc_free(mem_ctx);
-}
-
-void glsl_symbol_table::push_scope()
-{
- _mesa_symbol_table_push_scope(table);
-}
-
-void glsl_symbol_table::pop_scope()
-{
- _mesa_symbol_table_pop_scope(table);
-}
-
-bool glsl_symbol_table::name_declared_this_scope(const char *name)
-{
- return _mesa_symbol_table_symbol_scope(table, -1, name) == 0;
-}
-
-bool glsl_symbol_table::add_variable(ir_variable *v)
-{
- if (this->language_version == 110) {
- /* In 1.10, functions and variables have separate namespaces. */
- symbol_table_entry *existing = get_entry(v->name);
- if (name_declared_this_scope(v->name)) {
- /* If there's already an existing function (not a constructor!) in
- * the current scope, just update the existing entry to include 'v'.
- */
- if (existing->v == NULL && existing->t == NULL) {
- existing->v = v;
- return true;
- }
- } else {
- /* If not declared at this scope, add a new entry. But if an existing
- * entry includes a function, propagate that to this block - otherwise
- * the new variable declaration would shadow the function.
- */
- symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(v);
- if (existing != NULL)
- entry->f = existing->f;
- int added = _mesa_symbol_table_add_symbol(table, -1, v->name, entry);
- assert(added == 0);
- (void)added;
- return true;
- }
- return false;
- }
-
- /* 1.20+ rules: */
- symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(v);
- return _mesa_symbol_table_add_symbol(table, -1, v->name, entry) == 0;
-}
-
-bool glsl_symbol_table::add_type(const char *name, const glsl_type *t)
-{
- symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(t);
- return _mesa_symbol_table_add_symbol(table, -1, name, entry) == 0;
-}
-
-bool glsl_symbol_table::add_function(ir_function *f)
-{
- if (this->language_version == 110 && name_declared_this_scope(f->name)) {
- /* In 1.10, functions and variables have separate namespaces. */
- symbol_table_entry *existing = get_entry(f->name);
- if ((existing->f == NULL) && (existing->t == NULL)) {
- existing->f = f;
- return true;
- }
- }
- symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(f);
- return _mesa_symbol_table_add_symbol(table, -1, f->name, entry) == 0;
-}
-
-void glsl_symbol_table::add_global_function(ir_function *f)
-{
- symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(f);
- int added = _mesa_symbol_table_add_global_symbol(table, -1, f->name, entry);
- assert(added == 0);
-}
-
-ir_variable *glsl_symbol_table::get_variable(const char *name)
-{
- symbol_table_entry *entry = get_entry(name);
- return entry != NULL ? entry->v : NULL;
-}
-
-const glsl_type *glsl_symbol_table::get_type(const char *name)
-{
- symbol_table_entry *entry = get_entry(name);
- return entry != NULL ? entry->t : NULL;
-}
-
-ir_function *glsl_symbol_table::get_function(const char *name)
-{
- symbol_table_entry *entry = get_entry(name);
- return entry != NULL ? entry->f : NULL;
-}
-
-symbol_table_entry *glsl_symbol_table::get_entry(const char *name)
-{
- return (symbol_table_entry *)
- _mesa_symbol_table_find_symbol(table, -1, name);
-}
+/* -*- c++ -*- */ +/* + * Copyright © 2010 Intel Corporation + * + * 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 (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 NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS 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 "glsl_symbol_table.h" + +class symbol_table_entry { +public: + /* Callers of this talloc-based new need not call delete. It's + * easier to just talloc_free 'ctx' (or any of its ancestors). */ + static void* operator new(size_t size, void *ctx) + { + void *entry = talloc_size(ctx, size); + assert(entry != NULL); + return entry; + } + + /* If the user *does* call delete, that's OK, we will just talloc_free. */ + static void operator delete(void *entry, void *ctx) + { + talloc_free(entry); + } + static void operator delete(void *entry) + { + talloc_free(entry); + } + + symbol_table_entry(ir_variable *v) : v(v), f(0), t(0) {} + symbol_table_entry(ir_function *f) : v(0), f(f), t(0) {} + symbol_table_entry(const glsl_type *t) : v(0), f(0), t(t) {} + + ir_variable *v; + ir_function *f; + const glsl_type *t; +}; + +glsl_symbol_table::glsl_symbol_table() +{ + this->language_version = 120; + this->table = _mesa_symbol_table_ctor(); + this->mem_ctx = talloc_init("symbol table entries"); +} + +glsl_symbol_table::~glsl_symbol_table() +{ + _mesa_symbol_table_dtor(table); + talloc_free(mem_ctx); +} + +void glsl_symbol_table::push_scope() +{ + _mesa_symbol_table_push_scope(table); +} + +void glsl_symbol_table::pop_scope() +{ + _mesa_symbol_table_pop_scope(table); +} + +bool glsl_symbol_table::name_declared_this_scope(const char *name) +{ + return _mesa_symbol_table_symbol_scope(table, -1, name) == 0; +} + +bool glsl_symbol_table::add_variable(ir_variable *v) +{ + if (this->language_version == 110) { + /* In 1.10, functions and variables have separate namespaces. */ + symbol_table_entry *existing = get_entry(v->name); + if (name_declared_this_scope(v->name)) { + /* If there's already an existing function (not a constructor!) in + * the current scope, just update the existing entry to include 'v'. + */ + if (existing->v == NULL && existing->t == NULL) { + existing->v = v; + return true; + } + } else { + /* If not declared at this scope, add a new entry. But if an existing + * entry includes a function, propagate that to this block - otherwise + * the new variable declaration would shadow the function. + */ + symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(v); + if (existing != NULL) + entry->f = existing->f; + int added = _mesa_symbol_table_add_symbol(table, -1, v->name, entry); + assert(added == 0); + (void)added; + return true; + } + return false; + } + + /* 1.20+ rules: */ + symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(v); + return _mesa_symbol_table_add_symbol(table, -1, v->name, entry) == 0; +} + +bool glsl_symbol_table::add_type(const char *name, const glsl_type *t) +{ + symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(t); + return _mesa_symbol_table_add_symbol(table, -1, name, entry) == 0; +} + +bool glsl_symbol_table::add_function(ir_function *f) +{ + if (this->language_version == 110 && name_declared_this_scope(f->name)) { + /* In 1.10, functions and variables have separate namespaces. */ + symbol_table_entry *existing = get_entry(f->name); + if ((existing->f == NULL) && (existing->t == NULL)) { + existing->f = f; + return true; + } + } + symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(f); + return _mesa_symbol_table_add_symbol(table, -1, f->name, entry) == 0; +} + +void glsl_symbol_table::add_global_function(ir_function *f) +{ + symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(f); + int added = _mesa_symbol_table_add_global_symbol(table, -1, f->name, entry); + assert(added == 0); +} + +ir_variable *glsl_symbol_table::get_variable(const char *name) +{ + symbol_table_entry *entry = get_entry(name); + return entry != NULL ? entry->v : NULL; +} + +const glsl_type *glsl_symbol_table::get_type(const char *name) +{ + symbol_table_entry *entry = get_entry(name); + return entry != NULL ? entry->t : NULL; +} + +ir_function *glsl_symbol_table::get_function(const char *name) +{ + symbol_table_entry *entry = get_entry(name); + return entry != NULL ? entry->f : NULL; +} + +symbol_table_entry *glsl_symbol_table::get_entry(const char *name) +{ + return (symbol_table_entry *) + _mesa_symbol_table_find_symbol(table, -1, name); +} diff --git a/mesalib/src/mapi/glapi/Makefile b/mesalib/src/mapi/glapi/Makefile index 803926147..203a8abd0 100644 --- a/mesalib/src/mapi/glapi/Makefile +++ b/mesalib/src/mapi/glapi/Makefile @@ -1,53 +1,67 @@ -# src/mapi/glapi/Makefile
-
-TOP = ../../..
-include $(TOP)/configs/current
-
-TARGET = glapi
-
-MAPI = $(TOP)/src/mapi/mapi
-
-include sources.mak
-GLAPI_OBJECTS = $(GLAPI_SOURCES:.c=.o)
-GLAPI_ASM_OBJECTS = $(GLAPI_ASM_SOURCES:.S=.o)
-
-include $(MAPI)/sources.mak
-MAPI_UTIL_OBJECTS := $(MAPI_UTIL_SOURCES:.c=.o)
-MAPI_UTIL_SOURCES := $(addprefix $(MAPI)/, $(MAPI_UTIL_SOURCES))
-
-TARGET_OBJECTS = $(GLAPI_OBJECTS) $(GLAPI_ASM_OBJECTS) $(MAPI_UTIL_OBJECTS)
-
-INCLUDE_DIRS = \
- -I$(TOP)/include \
- -I$(TOP)/src/mapi \
- -I$(TOP)/src/mesa
-
-default: depend lib$(TARGET).a
-
-lib$(TARGET).a: $(TARGET_OBJECTS)
- @$(MKLIB) -o $(TARGET) -static $(TARGET_OBJECTS)
-
-$(GLAPI_OBJECTS): %.o: %.c
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) -DMAPI_MODE_UTIL $< -o $@
-
-$(GLAPI_ASM_OBJECTS): %.o: %.S
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
-
-$(MAPI_UTIL_OBJECTS): %.o: $(MAPI)/%.c
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) -DMAPI_MODE_UTIL $< -o $@
-
-install:
-
-clean:
- -rm -f $(TARGET_OBJECTS)
- -rm -f lib$(TARGET).a
- -rm -f depend depend.bak
-
-depend: $(GLAPI_SOURCES) $(MAPI_UTIL_SOURCES)
- @ echo "running $(MKDEP)"
- @ touch depend
- @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(INCLUDE_DIRS) \
- -DMAPI_MODE_UTIL $(GLAPI_SOURCES) $(MAPI_UTIL_SOURCES) \
- 2>/dev/null | sed -e 's,^$(MAPI)/,,' > depend
-
--include depend
+# src/mapi/glapi/Makefile + +TOP = ../../.. +include $(TOP)/configs/current + +TARGET = glapi + +MAPI = $(TOP)/src/mapi/mapi + +include sources.mak +include $(MAPI)/sources.mak + +glapi_CPPFLAGS := \ + -I$(TOP)/include \ + -I$(TOP)/src/mapi \ + -I$(TOP)/src/mesa \ + -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\" + +ifeq ($(SHARED_GLAPI),1) +glapi_CPPFLAGS += -DMAPI_MODE_BRIDGE +glapi_SOURCES := $(addprefix $(MAPI)/, $(MAPI_BRIDGE_SOURCES)) + +glapi_GLAPI_OBJECTS := +glapi_ASM_OBJECTS := +glapi_MAPI_OBJECTS := $(MAPI_BRIDGE_SOURCES:.c=.o) +else +glapi_CPPFLAGS += -DMAPI_MODE_UTIL +glapi_SOURCES := $(GLAPI_SOURCES) $(addprefix $(MAPI)/, $(MAPI_UTIL_SOURCES)) + +glapi_GLAPI_OBJECTS := $(GLAPI_SOURCES:.c=.o) +glapi_ASM_OBJECTS := $(GLAPI_ASM_SOURCES:.S=.o) +glapi_MAPI_OBJECTS := $(MAPI_UTIL_SOURCES:.c=.o) +endif # SHARED_GLAPI + +glapi_OBJECTS := \ + $(glapi_GLAPI_OBJECTS) \ + $(glapi_ASM_OBJECTS) \ + $(glapi_MAPI_OBJECTS) + +default: depend lib$(TARGET).a + +lib$(TARGET).a: $(glapi_OBJECTS) + @$(MKLIB) -o $(TARGET) -static $(glapi_OBJECTS) + +$(glapi_GLAPI_OBJECTS): %.o: %.c + $(CC) -c $(glapi_CPPFLAGS) $(CFLAGS) $< -o $@ + +$(glapi_ASM_OBJECTS): %.o: %.S + $(CC) -c $(glapi_CPPFLAGS) $(CFLAGS) $< -o $@ + +$(glapi_MAPI_OBJECTS): %.o: $(MAPI)/%.c + $(CC) -c $(glapi_CPPFLAGS) $(CFLAGS) $< -o $@ + +install: + +clean: + -rm -f $(glapi_OBJECTS) + -rm -f lib$(TARGET).a + -rm -f depend depend.bak + +depend: $(glapi_SOURCES) + @ echo "running $(MKDEP)" + @ touch depend + @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(glapi_CPPFLAGS) \ + $(glapi_SOURCES) 2>/dev/null | sed -e 's,^$(MAPI)/,,' > depend + +-include depend diff --git a/mesalib/src/mapi/glapi/gen-es/Makefile b/mesalib/src/mapi/glapi/gen-es/Makefile index 6ca403498..7a5bb35ca 100644 --- a/mesalib/src/mapi/glapi/gen-es/Makefile +++ b/mesalib/src/mapi/glapi/gen-es/Makefile @@ -1,92 +1,91 @@ -TOP = ../../../..
-GLAPI = ../gen
-include $(TOP)/configs/current
-
-OUTPUTS := \
- glapi/glapitable.h \
- glapi/glapitemp.h \
- glapi/glprocs.h \
- glapi/glapi_sparc.S \
- glapi/glapi_x86-64.S \
- glapi/glapi_x86.S \
- main/glapidispatch.h \
- main/remap_helper.h
-
-COMMON = gl_XML.py glX_XML.py license.py typeexpr.py
-COMMON := $(addprefix $(GLAPI)/, $(COMMON))
-
-ES1_APIXML := es1_API.xml
-ES2_APIXML := es2_API.xml
-ES1_OUTPUT_DIR := $(TOP)/src/mapi/es1api
-ES2_OUTPUT_DIR := $(TOP)/src/mapi/es2api
-
-ES1_DEPS = $(ES1_APIXML) base1_API.xml es1_EXT.xml es_EXT.xml \
- es1_COMPAT.xml es_COMPAT.xml
-ES2_DEPS = $(ES2_APIXML) base2_API.xml es2_EXT.xml es_EXT.xml \
- es2_COMPAT.xml es_COMPAT.xml
-
-ES1_OUTPUTS := $(addprefix $(ES1_OUTPUT_DIR)/, $(OUTPUTS))
-ES2_OUTPUTS := $(addprefix $(ES2_OUTPUT_DIR)/, $(OUTPUTS))
-
-all: es1 es2
-
-es1: $(ES1_OUTPUTS)
-es2: $(ES2_OUTPUTS)
-
-$(ES1_OUTPUTS): APIXML := $(ES1_APIXML)
-$(ES2_OUTPUTS): APIXML := $(ES2_APIXML)
-$(ES1_OUTPUTS): $(ES1_DEPS)
-$(ES2_OUTPUTS): $(ES2_DEPS)
-
-define gen-glapi
- @mkdir -p $(dir $@)
- $(PYTHON2) $(PYTHON_FLAGS) $< -f $(APIXML) $(1) > $@
-endef
-
-%/glapidispatch.h: $(GLAPI)/gl_table.py $(COMMON)
- $(call gen-glapi,-c -m remap_table)
-
-%/glapitable.h: $(GLAPI)/gl_table.py $(COMMON)
- $(call gen-glapi,-c)
-
-%/glapitemp.h: $(GLAPI)/gl_apitemp.py $(COMMON)
- $(call gen-glapi,-c)
-
-%/glprocs.h: $(GLAPI)/gl_procs.py $(COMMON)
- $(call gen-glapi,-c)
-
-%/glapi_sparc.S: $(GLAPI)/gl_SPARC_asm.py $(COMMON)
- $(call gen-glapi)
-
-%/glapi_x86-64.S: $(GLAPI)/gl_x86-64_asm.py $(COMMON)
- $(call gen-glapi)
-
-%/glapi_x86.S: $(GLAPI)/gl_x86_asm.py $(COMMON)
- $(call gen-glapi)
-
-%/main/remap_helper.h: $(GLAPI)/remap_helper.py $(COMMON)
- $(call gen-glapi)
-
-verify_xml:
- @if [ ! -f gl.h ]; then \
- echo "Please copy gl.h and gl2.h to this directory"; \
- exit 1; \
- fi
- @echo "Verifying that es1_API.xml covers OpenGL ES 1.1..."
- @$(PYTHON2) $(PYTHON_FLAGS) gl_parse_header.py gl.h > tmp.xml
- @$(PYTHON2) $(PYTHON_FLAGS) gl_compare.py difference tmp.xml es1_API.xml
- @echo "Verifying that es2_API.xml covers OpenGL ES 2.0..."
- @$(PYTHON2) $(PYTHON_FLAGS) gl_parse_header.py gl2.h > tmp.xml
- @$(PYTHON2) $(PYTHON_FLAGS) gl_compare.py difference tmp.xml es2_API.xml
- @rm -f tmp.xml
-
-clean-es1:
- -rm -rf $(ES1_OUTPUT_DIR)/glapi
- -rm -rf $(ES1_OUTPUT_DIR)/main
-
-clean-es2:
- -rm -rf $(ES2_OUTPUT_DIR)/glapi
- -rm -rf $(ES2_OUTPUT_DIR)/main
-
-clean: clean-es1 clean-es2
- -rm -f *~ *.pyc *.pyo
+TOP = ../../../.. +MAPI = $(TOP)/src/mapi/mapi +GLAPI = ../gen +include $(TOP)/configs/current + +OUTPUTS := \ + glapi_mapi_tmp.h \ + main/glapidispatch.h \ + main/remap_helper.h + +COMMON = gl_and_es_API.xml gl_XML.py glX_XML.py license.py typeexpr.py +COMMON := $(addprefix $(GLAPI)/, $(COMMON)) + +ES1_APIXML := es1_API.xml +ES2_APIXML := es2_API.xml +ES1_OUTPUT_DIR := $(TOP)/src/mapi/es1api +ES2_OUTPUT_DIR := $(TOP)/src/mapi/es2api + +ES1_DEPS = $(ES1_APIXML) base1_API.xml es1_EXT.xml es_EXT.xml \ + es1_COMPAT.xml es_COMPAT.xml +ES2_DEPS = $(ES2_APIXML) base2_API.xml es2_EXT.xml es_EXT.xml \ + es2_COMPAT.xml es_COMPAT.xml + +ES1_OUTPUTS := $(addprefix $(ES1_OUTPUT_DIR)/, $(OUTPUTS)) +ES2_OUTPUTS := $(addprefix $(ES2_OUTPUT_DIR)/, $(OUTPUTS)) + +SHARED_GLAPI_APIXML := $(GLAPI)/gl_and_es_API.xml +SHARED_GLAPI_OUTPUT_DIR := $(TOP)/src/mapi/shared-glapi +SHARED_GLAPI_DEPS := $(SHARED_GLAPI_APIXML) +SHARED_GLAPI_OUTPUTS = $(SHARED_GLAPI_OUTPUT_DIR)/glapi_mapi_tmp.h + +all: es1 es2 shared-glapi + +es1: $(ES1_OUTPUTS) +es2: $(ES2_OUTPUTS) +shared-glapi: $(SHARED_GLAPI_OUTPUTS) + +$(ES1_OUTPUTS): APIXML := $(ES1_APIXML) +$(ES1_OUTPUTS): PRINTER := es1api +$(ES1_OUTPUTS): $(ES1_DEPS) + +$(ES2_OUTPUTS): APIXML := $(ES2_APIXML) +$(ES2_OUTPUTS): PRINTER := es2api +$(ES2_OUTPUTS): $(ES2_DEPS) + +$(SHARED_GLAPI_OUTPUTS): APIXML := $(SHARED_GLAPI_APIXML) +$(SHARED_GLAPI_OUTPUTS): PRINTER := shared-glapi +$(SHARED_GLAPI_OUTPUTS): $(SHARED_GLAPI_DEPS) + +define gen-glapi + @mkdir -p $(dir $@) + $(PYTHON2) $(PYTHON_FLAGS) $< -f $(APIXML) $(1) > $@ +endef + +%/glapi_mapi_tmp.h: $(MAPI)/mapi_abi.py $(COMMON) + @mkdir -p $(dir $@) + $(PYTHON2) $(PYTHON_FLAGS) $< \ + --printer $(PRINTER) --mode lib $(GLAPI)/gl_and_es_API.xml > $@ + +%/main/glapidispatch.h: $(GLAPI)/gl_table.py $(COMMON) + $(call gen-glapi,-c -m remap_table) + +%/main/remap_helper.h: $(GLAPI)/remap_helper.py $(COMMON) + $(call gen-glapi) + +verify_xml: + @if [ ! -f gl.h ]; then \ + echo "Please copy gl.h and gl2.h to this directory"; \ + exit 1; \ + fi + @echo "Verifying that es1_API.xml covers OpenGL ES 1.1..." + @$(PYTHON2) $(PYTHON_FLAGS) gl_parse_header.py gl.h > tmp.xml + @$(PYTHON2) $(PYTHON_FLAGS) gl_compare.py difference tmp.xml es1_API.xml + @echo "Verifying that es2_API.xml covers OpenGL ES 2.0..." + @$(PYTHON2) $(PYTHON_FLAGS) gl_parse_header.py gl2.h > tmp.xml + @$(PYTHON2) $(PYTHON_FLAGS) gl_compare.py difference tmp.xml es2_API.xml + @rm -f tmp.xml + +clean-es1: + -rm -f $(ES1_OUTPUTS) + -rm -rf $(ES1_OUTPUT_DIR)/main + +clean-es2: + -rm -f $(ES2_OUTPUTS) + -rm -rf $(ES2_OUTPUT_DIR)/main + +clean-shared-glapi: + -rm -f $(SHARED_GLAPI_OUTPUTS) + +clean: clean-es1 clean-es2 clean-shared-glapi + -rm -f *~ *.pyc *.pyo diff --git a/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml b/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml new file mode 100644 index 000000000..a3665e540 --- /dev/null +++ b/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml @@ -0,0 +1,36 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- This is included by gl_and_es_API.xml. Could be moved to gl_API.xml. --> + +<OpenGLAPI> + +<category name="GL_ARB_get_program_binary " number="96"> + <enum name="PROGRAM_BINARY_RETRIEVABLE_HINT" value="0x8257"/> + <enum name="PROGRAM_BINARY_LENGTH" value="0x8741"/> + <enum name="NUM_PROGRAM_BINARY_FORMATS" value="0x87FE"/> + <enum name="PROGRAM_BINARY_FORMATS" value="0x87FF"/> + + <function name="GetProgramBinary" offset="assign" static_dispatch="false"> + <param name="program" type="GLuint"/> + <param name="bufSize" type="GLsizei"/> + <param name="length" type="GLsizei *"/> + <param name="binaryFormat" type="GLenum *"/> + <param name="binary" type="GLvoid *"/> + </function> + + <function name="ProgramBinary" offset="assign" static_dispatch="false"> + <param name="program" type="GLuint"/> + <param name="binaryFormat" type="GLenum"/> + <param name="binary" type="const GLvoid *"/> + <param name="length" type="GLsizei"/> + </function> + + <function name="ProgramParameteri" offset="assign" static_dispatch="false"> + <param name="program" type="GLuint"/> + <param name="pname" type="GLenum"/> + <param name="value" type="GLint"/> + </function> +</category> + +</OpenGLAPI> diff --git a/mesalib/src/mapi/glapi/gen/Makefile b/mesalib/src/mapi/glapi/gen/Makefile index 570cc8547..51eaf7e93 100644 --- a/mesalib/src/mapi/glapi/gen/Makefile +++ b/mesalib/src/mapi/glapi/gen/Makefile @@ -1,213 +1,228 @@ -# This file isn't used during a normal compilation since we don't want to
-# require Python in order to compile Mesa.
-# Instead, when the Mesa developers update/change the API interface it's
-# up to him/her to re-run this makefile and check in the newly generated files.
-
-
-TOP = ../../../..
-include $(TOP)/configs/current
-
-MESA_DIR = $(TOP)/src/mesa
-MESA_GLAPI_DIR = $(TOP)/src/mapi/glapi
-MESA_GLX_DIR = $(TOP)/src/glx
-
-MESA_GLAPI_OUTPUTS = \
- $(MESA_GLAPI_DIR)/glprocs.h \
- $(MESA_GLAPI_DIR)/glapitemp.h \
- $(MESA_GLAPI_DIR)/glapitable.h
-
-MESA_GLAPI_ASM_OUTPUTS = \
- $(MESA_GLAPI_DIR)/glapi_x86.S \
- $(MESA_GLAPI_DIR)/glapi_x86-64.S \
- $(MESA_GLAPI_DIR)/glapi_sparc.S
-
-MESA_OUTPUTS = \
- $(MESA_GLAPI_OUTPUTS) \
- $(MESA_GLAPI_ASM_OUTPUTS) \
- $(MESA_DIR)/main/enums.c \
- $(MESA_DIR)/main/glapidispatch.h \
- $(MESA_DIR)/main/remap_helper.h \
- $(MESA_GLX_DIR)/indirect.c \
- $(MESA_GLX_DIR)/indirect.h \
- $(MESA_GLX_DIR)/indirect_init.c \
- $(MESA_GLX_DIR)/indirect_size.h \
- $(MESA_GLX_DIR)/indirect_size.c
-
-######################################################################
-
-XORG_GLX_DIR = $(XORG_BASE)/glx
-XORG_GLAPI_DIR = $(XORG_BASE)/glx
-
-XORG_GLAPI_FILES = \
- $(XORG_GLAPI_DIR)/glapi.h \
- $(XORG_GLAPI_DIR)/glapi.c \
- $(XORG_GLAPI_DIR)/glapi_getproc.c \
- $(XORG_GLAPI_DIR)/glapi_nop.c \
- $(XORG_GLAPI_DIR)/glthread.c \
- $(XORG_GLAPI_DIR)/glthread.h
-
-XORG_GLAPI_OUTPUTS = \
- $(XORG_GLAPI_DIR)/glprocs.h \
- $(XORG_GLAPI_DIR)/glapitemp.h \
- $(XORG_GLAPI_DIR)/glapioffsets.h \
- $(XORG_GLAPI_DIR)/glapitable.h \
- $(XORG_GLAPI_DIR)/glapidispatch.h
-
-XORG_OUTPUTS = \
- $(XORG_GLAPI_FILES) \
- $(XORG_GLAPI_OUTPUTS) \
- $(XORG_GLX_DIR)/indirect_dispatch.c \
- $(XORG_GLX_DIR)/indirect_dispatch_swap.c \
- $(XORG_GLX_DIR)/indirect_dispatch.h \
- $(XORG_GLX_DIR)/indirect_reqsize.c \
- $(XORG_GLX_DIR)/indirect_reqsize.h \
- $(XORG_GLX_DIR)/indirect_size.h \
- $(XORG_GLX_DIR)/indirect_size_get.c \
- $(XORG_GLX_DIR)/indirect_size_get.h \
- $(XORG_GLX_DIR)/indirect_table.c
-
-######################################################################
-
-API_XML = \
- gl_API.xml \
- ARB_copy_buffer.xml \
- ARB_depth_clamp.xml \
- ARB_draw_buffers_blend.xml \
- ARB_draw_elements_base_vertex.xml \
- ARB_draw_instanced.xml \
- ARB_ES2_compatibility.xml \
- ARB_framebuffer_object.xml \
- ARB_geometry_shader4.xml \
- ARB_instanced_arrays.xml \
- ARB_map_buffer_range.xml \
- ARB_seamless_cube_map.xml \
- ARB_sync.xml \
- ARB_vertex_array_object.xml \
- APPLE_object_purgeable.xml \
- APPLE_vertex_array_object.xml \
- EXT_draw_buffers2.xml \
- EXT_framebuffer_object.xml \
- EXT_gpu_shader4.xml \
- EXT_packed_depth_stencil.xml \
- EXT_provoking_vertex.xml \
- EXT_separate_shader_objects.xml \
- EXT_texture_array.xml \
- EXT_texture_integer.xml \
- EXT_transform_feedback.xml \
- NV_conditional_render.xml \
- NV_primitive_restart.xml \
- OES_EGL_image.xml \
- GL3x.xml
-
-
-COMMON = $(API_XML) gl_XML.py glX_XML.py license.py typeexpr.py
-
-COMMON_GLX = $(COMMON) glX_API.xml glX_XML.py glX_proto_common.py
-
-######################################################################
-
-all: mesa xorg
-
-mesa: $(MESA_OUTPUTS)
-
-xorg: check-xorg-source $(XORG_OUTPUTS)
-
-check-xorg-source:
- @if ! test -d $(XORG_GLX_DIR); then \
- echo "ERROR: Must specify path to xserver/GL/ checkout; set XORG_BASE env var."; \
- exit 1; \
- fi
-
-clean:
- -rm -f *~ *.pyo
- -rm -f $(MESA_OUTPUTS)
-
-######################################################################
-
-$(XORG_GLAPI_DIR)/%.c: $(MESA_GLAPI_DIR)/%.c
- cp $< $@
-
-$(XORG_GLAPI_DIR)/%.h: $(MESA_GLAPI_DIR)/%.h
- cp $< $@
-
-######################################################################
-
-$(MESA_GLAPI_DIR)/glprocs.h: gl_procs.py $(COMMON)
- $(PYTHON2) $(PYTHON_FLAGS) $< > $@
-
-$(MESA_GLAPI_DIR)/glapitemp.h: gl_apitemp.py $(COMMON)
- $(PYTHON2) $(PYTHON_FLAGS) $< > $@
-
-$(MESA_GLAPI_DIR)/glapitable.h: gl_table.py $(COMMON)
- $(PYTHON2) $(PYTHON_FLAGS) $< > $@
-
-######################################################################
-
-$(MESA_GLAPI_DIR)/glapi_x86.S: gl_x86_asm.py $(COMMON)
- $(PYTHON2) $(PYTHON_FLAGS) $< > $@
-
-$(MESA_GLAPI_DIR)/glapi_x86-64.S: gl_x86-64_asm.py $(COMMON)
- $(PYTHON2) $(PYTHON_FLAGS) $< > $@
-
-$(MESA_GLAPI_DIR)/glapi_sparc.S: gl_SPARC_asm.py $(COMMON)
- $(PYTHON2) $(PYTHON_FLAGS) $< > $@
-
-######################################################################
-
-$(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON) $(ES_API)
- $(PYTHON2) $(PYTHON_FLAGS) $< -f gl_API.xml \
- -f $(MESA_GLAPI_DIR)/gen-es/es1_API.xml \
- -f $(MESA_GLAPI_DIR)/gen-es/es2_API.xml > $@
-
-$(MESA_DIR)/main/glapidispatch.h: gl_table.py $(COMMON)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m remap_table > $@
-
-$(MESA_DIR)/main/remap_helper.h: remap_helper.py $(COMMON)
- $(PYTHON2) $(PYTHON_FLAGS) $< > $@
-
-######################################################################
-
-$(MESA_GLX_DIR)/indirect.c: glX_proto_send.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m proto | $(INDENT) $(INDENT_FLAGS) > $@
-
-$(MESA_GLX_DIR)/indirect.h: glX_proto_send.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m init_h > $@
-
-$(MESA_GLX_DIR)/indirect_init.c: glX_proto_send.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m init_c > $@
-
-$(MESA_GLX_DIR)/indirect_size.h $(XORG_GLX_DIR)/indirect_size.h: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m size_h --only-set -h _INDIRECT_SIZE_H_ \
- | $(INDENT) $(INDENT_FLAGS) > $@
-
-$(MESA_GLX_DIR)/indirect_size.c: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m size_c --only-set \
- | $(INDENT) $(INDENT_FLAGS) > $@
-
-######################################################################
-
-$(XORG_GLX_DIR)/indirect_dispatch.c: glX_proto_recv.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_c > $@
-
-$(XORG_GLX_DIR)/indirect_dispatch_swap.c: glX_proto_recv.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_c -s > $@
-
-$(XORG_GLX_DIR)/indirect_dispatch.h: glX_proto_recv.py gl_and_glX_API.xml $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_h -f gl_and_glX_API.xml -s > $@
-
-$(XORG_GLX_DIR)/indirect_size_get.h: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m size_h --only-get -h '_INDIRECT_SIZE_GET_H_' \
- | $(INDENT) $(INDENT_FLAGS) > $@
-
-$(XORG_GLX_DIR)/indirect_size_get.c: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m size_c | $(INDENT) $(INDENT_FLAGS) > $@
-
-$(XORG_GLX_DIR)/indirect_reqsize.h: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m reqsize_h --only-get -h '_INDIRECT_SIZE_GET_H_' \
- | $(INDENT) $(INDENT_FLAGS) -l200 > $@
-
-$(XORG_GLX_DIR)/indirect_reqsize.c: glX_proto_size.py $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -m reqsize_c | $(INDENT) $(INDENT_FLAGS) > $@
-
-$(XORG_GLX_DIR)/indirect_table.c: glX_server_table.py gl_and_glX_API.xml $(COMMON_GLX)
- $(PYTHON2) $(PYTHON_FLAGS) $< -f gl_and_glX_API.xml > $@
+# This file isn't used during a normal compilation since we don't want to +# require Python in order to compile Mesa. +# Instead, when the Mesa developers update/change the API interface it's +# up to him/her to re-run this makefile and check in the newly generated files. + + +TOP = ../../../.. +include $(TOP)/configs/current + +MESA_DIR = $(TOP)/src/mesa +MESA_GLAPI_DIR = $(TOP)/src/mapi/glapi +MESA_MAPI_DIR = $(TOP)/src/mapi/mapi +MESA_GLX_DIR = $(TOP)/src/glx + +MESA_GLAPI_OUTPUTS = \ + $(MESA_GLAPI_DIR)/glapi_mapi_tmp.h \ + $(MESA_GLAPI_DIR)/glprocs.h \ + $(MESA_GLAPI_DIR)/glapitemp.h \ + $(MESA_GLAPI_DIR)/glapitable.h + +MESA_GLAPI_ASM_OUTPUTS = \ + $(MESA_GLAPI_DIR)/glapi_x86.S \ + $(MESA_GLAPI_DIR)/glapi_x86-64.S \ + $(MESA_GLAPI_DIR)/glapi_sparc.S + +MESA_OUTPUTS = \ + $(MESA_GLAPI_OUTPUTS) \ + $(MESA_GLAPI_ASM_OUTPUTS) \ + $(MESA_DIR)/main/enums.c \ + $(MESA_DIR)/main/glapidispatch.h \ + $(MESA_DIR)/main/remap_helper.h \ + $(MESA_GLX_DIR)/indirect.c \ + $(MESA_GLX_DIR)/indirect.h \ + $(MESA_GLX_DIR)/indirect_init.c \ + $(MESA_GLX_DIR)/indirect_size.h \ + $(MESA_GLX_DIR)/indirect_size.c + +###################################################################### + +XORG_GLX_DIR = $(XORG_BASE)/glx +XORG_GLAPI_DIR = $(XORG_BASE)/glx + +XORG_GLAPI_FILES = \ + $(XORG_GLAPI_DIR)/glapi.h \ + $(XORG_GLAPI_DIR)/glapi.c \ + $(XORG_GLAPI_DIR)/glapi_getproc.c \ + $(XORG_GLAPI_DIR)/glapi_nop.c \ + $(XORG_GLAPI_DIR)/glthread.c \ + $(XORG_GLAPI_DIR)/glthread.h + +XORG_GLAPI_OUTPUTS = \ + $(XORG_GLAPI_DIR)/glprocs.h \ + $(XORG_GLAPI_DIR)/glapitemp.h \ + $(XORG_GLAPI_DIR)/glapioffsets.h \ + $(XORG_GLAPI_DIR)/glapitable.h \ + $(XORG_GLAPI_DIR)/glapidispatch.h + +XORG_OUTPUTS = \ + $(XORG_GLAPI_FILES) \ + $(XORG_GLAPI_OUTPUTS) \ + $(XORG_GLX_DIR)/indirect_dispatch.c \ + $(XORG_GLX_DIR)/indirect_dispatch_swap.c \ + $(XORG_GLX_DIR)/indirect_dispatch.h \ + $(XORG_GLX_DIR)/indirect_reqsize.c \ + $(XORG_GLX_DIR)/indirect_reqsize.h \ + $(XORG_GLX_DIR)/indirect_size.h \ + $(XORG_GLX_DIR)/indirect_size_get.c \ + $(XORG_GLX_DIR)/indirect_size_get.h \ + $(XORG_GLX_DIR)/indirect_table.c + +###################################################################### + +API_XML = \ + gl_API.xml \ + ARB_copy_buffer.xml \ + ARB_depth_clamp.xml \ + ARB_draw_buffers_blend.xml \ + ARB_draw_elements_base_vertex.xml \ + ARB_draw_instanced.xml \ + ARB_ES2_compatibility.xml \ + ARB_framebuffer_object.xml \ + ARB_geometry_shader4.xml \ + ARB_instanced_arrays.xml \ + ARB_map_buffer_range.xml \ + ARB_seamless_cube_map.xml \ + ARB_sync.xml \ + ARB_vertex_array_object.xml \ + APPLE_object_purgeable.xml \ + APPLE_vertex_array_object.xml \ + EXT_draw_buffers2.xml \ + EXT_framebuffer_object.xml \ + EXT_gpu_shader4.xml \ + EXT_packed_depth_stencil.xml \ + EXT_provoking_vertex.xml \ + EXT_separate_shader_objects.xml \ + EXT_texture_array.xml \ + EXT_texture_integer.xml \ + EXT_transform_feedback.xml \ + NV_conditional_render.xml \ + NV_primitive_restart.xml \ + OES_EGL_image.xml \ + GL3x.xml + + +COMMON = $(API_XML) gl_XML.py glX_XML.py license.py typeexpr.py + +COMMON_ES = \ + $(COMMON) \ + gl_and_es_API.xml \ + es_EXT.xml \ + ARB_ES2_compatibility.xml \ + ARB_get_program_binary.xml \ + OES_fixed_point.xml \ + OES_single_precision.xml + +COMMON_GLX = $(COMMON) glX_API.xml glX_XML.py glX_proto_common.py + +###################################################################### + +all: mesa xorg + +mesa: $(MESA_OUTPUTS) + +xorg: check-xorg-source $(XORG_OUTPUTS) + +check-xorg-source: + @if ! test -d $(XORG_GLX_DIR); then \ + echo "ERROR: Must specify path to xserver/GL/ checkout; set XORG_BASE env var."; \ + exit 1; \ + fi + +clean: + -rm -f *~ *.pyo + -rm -f $(MESA_OUTPUTS) + +###################################################################### + +$(XORG_GLAPI_DIR)/%.c: $(MESA_GLAPI_DIR)/%.c + cp $< $@ + +$(XORG_GLAPI_DIR)/%.h: $(MESA_GLAPI_DIR)/%.h + cp $< $@ + +###################################################################### + +$(MESA_GLAPI_DIR)/glapi_mapi_tmp.h: $(MESA_MAPI_DIR)/mapi_abi.py $(COMMON_ES) + $(PYTHON2) $(PYTHON_FLAGS) $< \ + --printer glapi --mode lib gl_and_es_API.xml > $@ + +$(MESA_GLAPI_DIR)/glprocs.h: gl_procs.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< > $@ + +$(MESA_GLAPI_DIR)/glapitemp.h: gl_apitemp.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< > $@ + +$(MESA_GLAPI_DIR)/glapitable.h: gl_table.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< > $@ + +###################################################################### + +$(MESA_GLAPI_DIR)/glapi_x86.S: gl_x86_asm.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< > $@ + +$(MESA_GLAPI_DIR)/glapi_x86-64.S: gl_x86-64_asm.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< > $@ + +$(MESA_GLAPI_DIR)/glapi_sparc.S: gl_SPARC_asm.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< > $@ + +###################################################################### + +$(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON) $(ES_API) + $(PYTHON2) $(PYTHON_FLAGS) $< -f gl_API.xml \ + -f $(MESA_GLAPI_DIR)/gen-es/es1_API.xml \ + -f $(MESA_GLAPI_DIR)/gen-es/es2_API.xml > $@ + +$(MESA_DIR)/main/glapidispatch.h: gl_table.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< -m remap_table > $@ + +$(MESA_DIR)/main/remap_helper.h: remap_helper.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< > $@ + +###################################################################### + +$(MESA_GLX_DIR)/indirect.c: glX_proto_send.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m proto | $(INDENT) $(INDENT_FLAGS) > $@ + +$(MESA_GLX_DIR)/indirect.h: glX_proto_send.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m init_h > $@ + +$(MESA_GLX_DIR)/indirect_init.c: glX_proto_send.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m init_c > $@ + +$(MESA_GLX_DIR)/indirect_size.h $(XORG_GLX_DIR)/indirect_size.h: glX_proto_size.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m size_h --only-set -h _INDIRECT_SIZE_H_ \ + | $(INDENT) $(INDENT_FLAGS) > $@ + +$(MESA_GLX_DIR)/indirect_size.c: glX_proto_size.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m size_c --only-set \ + | $(INDENT) $(INDENT_FLAGS) > $@ + +###################################################################### + +$(XORG_GLX_DIR)/indirect_dispatch.c: glX_proto_recv.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_c > $@ + +$(XORG_GLX_DIR)/indirect_dispatch_swap.c: glX_proto_recv.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_c -s > $@ + +$(XORG_GLX_DIR)/indirect_dispatch.h: glX_proto_recv.py gl_and_glX_API.xml $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_h -f gl_and_glX_API.xml -s > $@ + +$(XORG_GLX_DIR)/indirect_size_get.h: glX_proto_size.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m size_h --only-get -h '_INDIRECT_SIZE_GET_H_' \ + | $(INDENT) $(INDENT_FLAGS) > $@ + +$(XORG_GLX_DIR)/indirect_size_get.c: glX_proto_size.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m size_c | $(INDENT) $(INDENT_FLAGS) > $@ + +$(XORG_GLX_DIR)/indirect_reqsize.h: glX_proto_size.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m reqsize_h --only-get -h '_INDIRECT_SIZE_GET_H_' \ + | $(INDENT) $(INDENT_FLAGS) -l200 > $@ + +$(XORG_GLX_DIR)/indirect_reqsize.c: glX_proto_size.py $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -m reqsize_c | $(INDENT) $(INDENT_FLAGS) > $@ + +$(XORG_GLX_DIR)/indirect_table.c: glX_server_table.py gl_and_glX_API.xml $(COMMON_GLX) + $(PYTHON2) $(PYTHON_FLAGS) $< -f gl_and_glX_API.xml > $@ diff --git a/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml b/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml new file mode 100644 index 000000000..ee408f4f1 --- /dev/null +++ b/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml @@ -0,0 +1,259 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- This is included by gl_and_es_API.xml. Could be moved to gl_API.xml. --> +<!-- this extension is incomplete --> + +<OpenGLAPI> + +<category name="GL_OES_fixed_point" number="292"> + <enum name="FIXED_OES" value="0x140C"/> + + <type name="fixed" size="4" /> + <type name="clampx" size="4" /> + + <!-- OpenGL ES 1.0 --> + <function name="AlphaFuncxOES" offset="assign" static_dispatch="false"> + <param name="func" type="GLenum"/> + <param name="ref" type="GLclampx"/> + </function> + + <function name="ClearColorxOES" offset="assign" static_dispatch="false"> + <param name="red" type="GLclampx"/> + <param name="green" type="GLclampx"/> + <param name="blue" type="GLclampx"/> + <param name="alpha" type="GLclampx"/> + </function> + + <function name="ClearDepthxOES" offset="assign" static_dispatch="false"> + <param name="depth" type="GLclampx"/> + </function> + + <function name="Color4xOES" offset="assign" static_dispatch="false"> + <param name="red" type="GLfixed"/> + <param name="green" type="GLfixed"/> + <param name="blue" type="GLfixed"/> + <param name="alpha" type="GLfixed"/> + </function> + + <function name="DepthRangexOES" offset="assign" static_dispatch="false"> + <param name="zNear" type="GLclampx"/> + <param name="zFar" type="GLclampx"/> + </function> + + <function name="FogxOES" offset="assign" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="FogxvOES" offset="assign" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="FrustumxOES" offset="assign" static_dispatch="false"> + <param name="left" type="GLfixed"/> + <param name="right" type="GLfixed"/> + <param name="bottom" type="GLfixed"/> + <param name="top" type="GLfixed"/> + <param name="zNear" type="GLfixed"/> + <param name="zFar" type="GLfixed"/> + </function> + + <function name="LightModelxOES" offset="assign" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="LightModelxvOES" offset="assign" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="LightxOES" offset="assign" static_dispatch="false"> + <param name="light" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="LightxvOES" offset="assign" static_dispatch="false"> + <param name="light" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="LineWidthxOES" offset="assign" static_dispatch="false"> + <param name="width" type="GLfixed"/> + </function> + + <function name="LoadMatrixxOES" offset="assign" static_dispatch="false"> + <param name="m" type="const GLfixed *" count="16"/> + </function> + + <function name="MaterialxOES" offset="assign" static_dispatch="false"> + <param name="face" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="MaterialxvOES" offset="assign" static_dispatch="false"> + <param name="face" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="MultMatrixxOES" offset="assign" static_dispatch="false"> + <param name="m" type="const GLfixed *" count="16"/> + </function> + + <function name="MultiTexCoord4xOES" offset="assign" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="s" type="GLfixed"/> + <param name="t" type="GLfixed"/> + <param name="r" type="GLfixed"/> + <param name="q" type="GLfixed"/> + </function> + + <function name="Normal3xOES" offset="assign" static_dispatch="false"> + <param name="nx" type="GLfixed"/> + <param name="ny" type="GLfixed"/> + <param name="nz" type="GLfixed"/> + </function> + + <function name="OrthoxOES" offset="assign" static_dispatch="false"> + <param name="left" type="GLfixed"/> + <param name="right" type="GLfixed"/> + <param name="bottom" type="GLfixed"/> + <param name="top" type="GLfixed"/> + <param name="zNear" type="GLfixed"/> + <param name="zFar" type="GLfixed"/> + </function> + + <function name="PointSizexOES" offset="assign" static_dispatch="false"> + <param name="size" type="GLfixed"/> + </function> + + <function name="PolygonOffsetxOES" offset="assign" static_dispatch="false"> + <param name="factor" type="GLfixed"/> + <param name="units" type="GLfixed"/> + </function> + + <function name="RotatexOES" offset="assign" static_dispatch="false"> + <param name="angle" type="GLfixed"/> + <param name="x" type="GLfixed"/> + <param name="y" type="GLfixed"/> + <param name="z" type="GLfixed"/> + </function> + + <function name="SampleCoveragexOES" offset="assign" static_dispatch="false"> + <param name="value" type="GLclampx"/> + <param name="invert" type="GLboolean"/> + </function> + + <function name="ScalexOES" offset="assign" static_dispatch="false"> + <param name="x" type="GLfixed"/> + <param name="y" type="GLfixed"/> + <param name="z" type="GLfixed"/> + </function> + + <function name="TexEnvxOES" offset="assign" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="TexEnvxvOES" offset="assign" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="TexParameterxOES" offset="assign" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="TranslatexOES" offset="assign" static_dispatch="false"> + <param name="x" type="GLfixed"/> + <param name="y" type="GLfixed"/> + <param name="z" type="GLfixed"/> + </function> + + <!-- OpenGL ES 1.1 --> + <function name="ClipPlanexOES" offset="assign" static_dispatch="false"> + <param name="plane" type="GLenum"/> + <param name="equation" type="const GLfixed *" count="4"/> + </function> + + <function name="GetClipPlanexOES" offset="assign" static_dispatch="false"> + <param name="plane" type="GLenum"/> + <param name="equation" type="GLfixed *" output="true" count="4"/> + </function> + + <function name="GetFixedvOES" offset="assign" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="GetLightxvOES" offset="assign" static_dispatch="false"> + <param name="light" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="GetMaterialxvOES" offset="assign" static_dispatch="false"> + <param name="face" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="GetTexEnvxvOES" offset="assign" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="GetTexParameterxvOES" offset="assign" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="PointParameterxOES" offset="assign" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="PointParameterxvOES" offset="assign" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *"/> + </function> + + <function name="TexParameterxvOES" offset="assign" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <!-- texgen --> + <function name="GetTexGenxvOES" offset="assign" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="TexGenxOES" offset="assign" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLint"/> + </function> + + <function name="TexGenxvOES" offset="assign" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> +</category> + +</OpenGLAPI> diff --git a/mesalib/src/mapi/glapi/gen/OES_single_precision.xml b/mesalib/src/mapi/glapi/gen/OES_single_precision.xml new file mode 100644 index 000000000..df8efc8f8 --- /dev/null +++ b/mesalib/src/mapi/glapi/gen/OES_single_precision.xml @@ -0,0 +1,47 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- This is included by gl_and_es_API.xml. Could be moved to gl_API.xml. --> + +<OpenGLAPI> + +<category name="GL_OES_single_precision" number="293"> + <function name="ClearDepthfOES" alias="ClearDepthf" static_dispatch="false"> + <param name="depth" type="GLclampf"/> + </function> + + <function name="ClipPlanefOES" offset="assign" static_dispatch="false"> + <param name="plane" type="GLenum"/> + <param name="equation" type="const GLfloat *" count="4"/> + </function> + + <function name="DepthRangefOES" alias="DepthRangef" static_dispatch="false"> + <param name="zNear" type="GLclampf"/> + <param name="zFar" type="GLclampf"/> + </function> + + <function name="GetClipPlanefOES" offset="assign" static_dispatch="false"> + <param name="plane" type="GLenum"/> + <param name="equation" type="GLfloat *" output="true" count="4"/> + </function> + + <function name="FrustumfOES" offset="assign" static_dispatch="false"> + <param name="left" type="GLfloat"/> + <param name="right" type="GLfloat"/> + <param name="bottom" type="GLfloat"/> + <param name="top" type="GLfloat"/> + <param name="zNear" type="GLfloat"/> + <param name="zFar" type="GLfloat"/> + </function> + + <function name="OrthofOES" offset="assign" static_dispatch="false"> + <param name="left" type="GLfloat"/> + <param name="right" type="GLfloat"/> + <param name="bottom" type="GLfloat"/> + <param name="top" type="GLfloat"/> + <param name="zNear" type="GLfloat"/> + <param name="zFar" type="GLfloat"/> + </function> +</category> + +</OpenGLAPI> diff --git a/mesalib/src/mapi/glapi/gen/es_EXT.xml b/mesalib/src/mapi/glapi/gen/es_EXT.xml new file mode 100644 index 000000000..1327bb602 --- /dev/null +++ b/mesalib/src/mapi/glapi/gen/es_EXT.xml @@ -0,0 +1,618 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "../gen/gl_API.dtd"> + +<!-- OpenGL ES specific extensions --> + +<OpenGLAPI> + +<!-- part of es1.1 extension pack --> +<category name="GL_OES_blend_equation_separate" number="1"> + <enum name="BLEND_EQUATION_RGB_OES" value="0x8009"/> + <enum name="BLEND_EQUATION_ALPHA_OES" value="0x883D"/> + + <function name="BlendEquationSeparateOES" alias="BlendEquationSeparateEXT" static_dispatch="false"> + <param name="modeRGB" type="GLenum"/> + <param name="modeA" type="GLenum"/> + </function> +</category> + +<!-- part of es1.1 extension pack --> +<category name="GL_OES_blend_func_separate" number="2"> + <enum name="BLEND_DST_RGB_OES" value="0x80C8"/> + <enum name="BLEND_SRC_RGB_OES" value="0x80C9"/> + <enum name="BLEND_DST_ALPHA_OES" value="0x80CA"/> + <enum name="BLEND_SRC_ALPHA_OES" value="0x80CB"/> + + <function name="BlendFuncSeparateOES" alias="BlendFuncSeparateEXT" static_dispatch="false"> + <param name="sfactorRGB" type="GLenum"/> + <param name="dfactorRGB" type="GLenum"/> + <param name="sfactorAlpha" type="GLenum"/> + <param name="dfactorAlpha" type="GLenum"/> + </function> +</category> + +<!-- part of es1.1 extension pack --> +<category name="GL_OES_blend_subtract" number="3"> + <enum name="FUNC_ADD_OES" value="0x8006"/> + <enum name="BLEND_EQUATION_OES" value="0x8009"/> + <enum name="FUNC_SUBTRACT_OES" value="0x800A"/> + <enum name="FUNC_REVERSE_SUBTRACT_OES" value="0x800B"/> + + <function name="BlendEquationOES" alias="BlendEquation" static_dispatch="false"> + <param name="mode" type="GLenum"/> + </function> +</category> + +<!-- core addition to es1.0 and later --> +<category name="GL_OES_byte_coordinates" number="4"> + <enum name="BYTE" value="0x1400"/> +</category> + +<category name="GL_OES_compressed_paletted_texture" number="6"> + <enum name="PALETTE4_RGB8_OES" value="0x8B90"/> + <enum name="PALETTE4_RGBA8_OES" value="0x8B91"/> + <enum name="PALETTE4_R5_G6_B5_OES" value="0x8B92"/> + <enum name="PALETTE4_RGBA4_OES" value="0x8B93"/> + <enum name="PALETTE4_RGB5_A1_OES" value="0x8B94"/> + <enum name="PALETTE8_RGB8_OES" value="0x8B95"/> + <enum name="PALETTE8_RGBA8_OES" value="0x8B96"/> + <enum name="PALETTE8_R5_G6_B5_OES" value="0x8B97"/> + <enum name="PALETTE8_RGBA4_OES" value="0x8B98"/> + <enum name="PALETTE8_RGB5_A1_OES" value="0x8B99"/> +</category> + +<!-- optional for es1.1 --> +<category name="GL_OES_draw_texture" number="7"> + <enum name="TEXTURE_CROP_RECT_OES" value="0x8B9D"/> + + <function name="DrawTexiOES" offset="assign" static_dispatch="false"> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="z" type="GLint"/> + <param name="width" type="GLint"/> + <param name="height" type="GLint"/> + </function> + + <function name="DrawTexivOES" offset="assign" static_dispatch="false"> + <param name="coords" type="const GLint *" count="5"/> + </function> + + <function name="DrawTexfOES" offset="assign" static_dispatch="false"> + <param name="x" type="GLfloat"/> + <param name="y" type="GLfloat"/> + <param name="z" type="GLfloat"/> + <param name="width" type="GLfloat"/> + <param name="height" type="GLfloat"/> + </function> + + <function name="DrawTexfvOES" offset="assign" static_dispatch="false"> + <param name="coords" type="const GLfloat *" count="5"/> + </function> + + <function name="DrawTexsOES" offset="assign" static_dispatch="false"> + <param name="x" type="GLshort"/> + <param name="y" type="GLshort"/> + <param name="z" type="GLshort"/> + <param name="width" type="GLshort"/> + <param name="height" type="GLshort"/> + </function> + + <function name="DrawTexsvOES" offset="assign" static_dispatch="false"> + <param name="coords" type="const GLshort *" count="5"/> + </function> + + <function name="DrawTexxOES" offset="assign" static_dispatch="false"> + <param name="x" type="GLfixed"/> + <param name="y" type="GLfixed"/> + <param name="z" type="GLfixed"/> + <param name="width" type="GLfixed"/> + <param name="height" type="GLfixed"/> + </function> + + <function name="DrawTexxvOES" offset="assign" static_dispatch="false"> + <param name="coords" type="const GLfixed *" count="5"/> + </function> + + <!-- TexParameter{ifx}v is skipped here --> +</category> + +<!-- core addition to es1.0 and later --> +<!-- 9. GL_OES_fixed_point --> + +<!-- part of es1.1 extension pack --> +<category name="GL_OES_framebuffer_object" number="10"> + <enum name="NONE_OES" value="0"/> + <enum name="INVALID_FRAMEBUFFER_OPERATION_OES" value="0x0506"/> + <enum name="RGBA4_OES" value="0x8056"/> + <enum name="RGB5_A1_OES" value="0x8057"/> + <enum name="DEPTH_COMPONENT16_OES" value="0x81A5"/> + + <enum name="MAX_RENDERBUFFER_SIZE_OES" value="0x84E8"/> + <enum name="FRAMEBUFFER_BINDING_OES" value="0x8CA6"/> + <enum name="RENDERBUFFER_BINDING_OES" value="0x8CA7"/> + <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" value="0x8CD0"/> + <enum name="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" value="0x8CD1"/> + <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" value="0x8CD2"/> + <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" value="0x8CD3"/> + <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" value="0x8CD4"/> + <enum name="FRAMEBUFFER_COMPLETE_OES" value="0x8CD5"/> + <enum name="FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES" value="0x8CD6"/> + <enum name="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES" value="0x8CD7"/> + <enum name="FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES" value="0x8CD9"/> + <enum name="FRAMEBUFFER_INCOMPLETE_FORMATS_OES" value="0x8CDA"/> + <enum name="FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES" value="0x8CDB"/> + <enum name="FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES" value="0x8CDC"/> + <enum name="FRAMEBUFFER_UNSUPPORTED_OES" value="0x8CDD"/> + <enum name="COLOR_ATTACHMENT0_OES" value="0x8CE0"/> + <enum name="DEPTH_ATTACHMENT_OES" value="0x8D00"/> + <enum name="STENCIL_ATTACHMENT_OES" value="0x8D20"/> + <enum name="FRAMEBUFFER_OES" value="0x8D40"/> + <enum name="RENDERBUFFER_OES" value="0x8D41"/> + <enum name="RENDERBUFFER_WIDTH_OES" value="0x8D42"/> + <enum name="RENDERBUFFER_HEIGHT_OES" value="0x8D43"/> + <enum name="RENDERBUFFER_INTERNAL_FORMAT_OES" value="0x8D44"/> + <enum name="STENCIL_INDEX1_OES" value="0x8D46"/> + <enum name="STENCIL_INDEX4_OES" value="0x8D47"/> + <enum name="STENCIL_INDEX8_OES" value="0x8D48"/> + <enum name="RENDERBUFFER_RED_SIZE_OES" value="0x8D50"/> + <enum name="RENDERBUFFER_GREEN_SIZE_OES" value="0x8D51"/> + <enum name="RENDERBUFFER_BLUE_SIZE_OES" value="0x8D52"/> + <enum name="RENDERBUFFER_ALPHA_SIZE_OES" value="0x8D53"/> + <enum name="RENDERBUFFER_DEPTH_SIZE_OES" value="0x8D54"/> + <enum name="RENDERBUFFER_STENCIL_SIZE_OES" value="0x8D55"/> + <enum name="RGB565_OES" value="0x8D62"/> + + <function name="BindFramebufferOES" alias="BindFramebufferEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="framebuffer" type="GLuint"/> + </function> + + <function name="BindRenderbufferOES" alias="BindRenderbufferEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="renderbuffer" type="GLuint"/> + </function> + + <function name="CheckFramebufferStatusOES" alias="CheckFramebufferStatusEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <return type="GLenum"/> + </function> + + <function name="DeleteFramebuffersOES" alias="DeleteFramebuffersEXT" static_dispatch="false"> + <param name="n" type="GLsizei" counter="true"/> + <param name="framebuffers" type="const GLuint *" count="n"/> + </function> + + <function name="DeleteRenderbuffersOES" alias="DeleteRenderbuffersEXT" static_dispatch="false"> + <param name="n" type="GLsizei" counter="true"/> + <param name="renderbuffers" type="const GLuint *" count="n"/> + </function> + + <function name="FramebufferRenderbufferOES" alias="FramebufferRenderbufferEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="attachment" type="GLenum"/> + <param name="renderbuffertarget" type="GLenum"/> + <param name="renderbuffer" type="GLuint"/> + </function> + + <function name="FramebufferTexture2DOES" alias="FramebufferTexture2DEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="attachment" type="GLenum"/> + <param name="textarget" type="GLenum"/> + <param name="texture" type="GLuint"/> + <param name="level" type="GLint"/> + </function> + + <function name="GenerateMipmapOES" alias="GenerateMipmapEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + </function> + + <function name="GenFramebuffersOES" alias="GenFramebuffersEXT" static_dispatch="false"> + <param name="n" type="GLsizei" counter="true"/> + <param name="framebuffers" type="GLuint *" count="n" output="true"/> + </function> + + <function name="GenRenderbuffersOES" alias="GenRenderbuffersEXT" static_dispatch="false"> + <param name="n" type="GLsizei" counter="true"/> + <param name="renderbuffers" type="GLuint *" count="n" output="true"/> + </function> + + <function name="GetFramebufferAttachmentParameterivOES" alias="GetFramebufferAttachmentParameterivEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="attachment" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLint *" output="true"/> + </function> + + <function name="GetRenderbufferParameterivOES" alias="GetRenderbufferParameterivEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLint *" output="true"/> + </function> + + <function name="IsFramebufferOES" alias="IsFramebufferEXT" static_dispatch="false"> + <param name="framebuffer" type="GLuint"/> + <return type="GLboolean"/> + </function> + + <function name="IsRenderbufferOES" alias="IsRenderbufferEXT" static_dispatch="false"> + <param name="renderbuffer" type="GLuint"/> + <return type="GLboolean"/> + </function> + + <function name="RenderbufferStorageOES" alias="RenderbufferStorageEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="internalformat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </function> +</category> + +<!-- core addition to es1.1 --> +<category name="GL_OES_matrix_get" number="11"> + <enum name="MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES" value="0x898D"/> + <enum name="PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES" value="0x898E"/> + <enum name="TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES" value="0x898F"/> +</category> + +<!-- optional for es1.1 --> +<category name="GL_OES_matrix_palette" number="12"> + <enum name="MAX_VERTEX_UNITS_OES" value="0x86A4"/> + <enum name="WEIGHT_ARRAY_TYPE_OES" value="0x86A9"/> + <enum name="WEIGHT_ARRAY_STRIDE_OES" value="0x86AA"/> + <enum name="WEIGHT_ARRAY_SIZE_OES" value="0x86AB"/> + <enum name="WEIGHT_ARRAY_POINTER_OES" value="0x86AC"/> + <enum name="WEIGHT_ARRAY_OES" value="0x86AD"/> + <enum name="MATRIX_PALETTE_OES" value="0x8840"/> + <enum name="MAX_PALETTE_MATRICES_OES" value="0x8842"/> + <enum name="CURRENT_PALETTE_MATRIX_OES" value="0x8843"/> + <enum name="MATRIX_INDEX_ARRAY_OES" value="0x8844"/> + <enum name="MATRIX_INDEX_ARRAY_SIZE_OES" value="0x8846"/> + <enum name="MATRIX_INDEX_ARRAY_TYPE_OES" value="0x8847"/> + <enum name="MATRIX_INDEX_ARRAY_STRIDE_OES" value="0x8848"/> + <enum name="MATRIX_INDEX_ARRAY_POINTER_OES" value="0x8849"/> + <enum name="WEIGHT_ARRAY_BUFFER_BINDING_OES" value="0x889E"/> + <enum name="MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES" value="0x8B9E"/> + + <function name="CurrentPaletteMatrixOES" alias="CurrentPaletteMatrixARB" static_dispatch="false"> + <param name="matrixpaletteindex" type="GLuint"/> + </function> + + <!-- no offset --> + <function name="LoadPaletteFromModelViewMatrixOES" static_dispatch="false"> + </function> + + <function name="MatrixIndexPointerOES" alias="MatrixIndexPointerARB" static_dispatch="false"> + <param name="size" type="GLint"/> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </function> + + <function name="WeightPointerOES" alias="WeightPointerARB" static_dispatch="false"> + <param name="size" type="GLint"/> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </function> +</category> + +<!-- required for es1.1 --> +<category name="GL_OES_point_size_array" number="14"> + <enum name="POINT_SIZE_ARRAY_TYPE_OES" value="0x898A"/> + <enum name="POINT_SIZE_ARRAY_STRIDE_OES" value="0x898B"/> + <enum name="POINT_SIZE_ARRAY_POINTER_OES" value="0x898C"/> + <enum name="POINT_SIZE_ARRAY_OES" value="0x8B9C"/> + <enum name="POINT_SIZE_ARRAY_BUFFER_BINDING_OES" value="0x8B9F"/> + + <function name="PointSizePointerOES" offset="assign" static_dispatch="false"> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </function> +</category> + +<!-- required for es1.1 --> +<category name="GL_OES_point_sprite" number="15"> + <enum name="POINT_SPRITE_OES" value="0x8861"/> + <enum name="COORD_REPLACE_OES" value="0x8862"/> +</category> + +<!-- optional for es1.0 --> +<category name="GL_OES_query_matrix" number="16"> + <function name="QueryMatrixxOES" offset="assign" static_dispatch="false"> + <param name="mantissa" type="GLfixed *" count="16" /> + <param name="exponent" type="GLint *" count="16" /> + <return type="GLbitfield"/> + </function> +</category> + +<!-- required for es1.0 and later --> +<!-- 17. GL_OES_read_format --> + +<!-- core addition to es1.0 and later --> +<!-- 18. GL_OES_single_precision --> + +<!-- part of es1.1 extension pack --> +<category name="GL_OES_texture_cube_map" number="20"> + <enum name="TEXTURE_GEN_MODE_OES" value="0x2500"/> + <enum name="NORMAL_MAP_OES" value="0x8511"/> + <enum name="REFLECTION_MAP_OES" value="0x8512"/> + <enum name="TEXTURE_CUBE_MAP_OES" value="0x8513"/> + <enum name="TEXTURE_BINDING_CUBE_MAP_OES" value="0x8514"/> + <enum name="TEXTURE_CUBE_MAP_POSITIVE_X_OES" value="0x8515"/> + <enum name="TEXTURE_CUBE_MAP_NEGATIVE_X_OES" value="0x8516"/> + <enum name="TEXTURE_CUBE_MAP_POSITIVE_Y_OES" value="0x8517"/> + <enum name="TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" value="0x8518"/> + <enum name="TEXTURE_CUBE_MAP_POSITIVE_Z_OES" value="0x8519"/> + <enum name="TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" value="0x851A"/> + <enum name="MAX_CUBE_MAP_TEXTURE_SIZE_OES" value="0x851C"/> + <enum name="TEXTURE_GEN_STR_OES" value="0x8D60"/> + + <function name="GetTexGenfvOES" alias="GetTexGenfv" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfloat *" output="true" variable_param="pname"/> + </function> + + <function name="GetTexGenivOES" alias="GetTexGeniv" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLint *" output="true" variable_param="pname"/> + </function> + + <function name="TexGenfOES" alias="TexGenf" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfloat"/> + </function> + + <function name="TexGenfvOES" alias="TexGenfv" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfloat *" variable_param="pname"/> + </function> + + <function name="TexGeniOES" alias="TexGeni" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLint"/> + </function> + + <function name="TexGenivOES" alias="TexGeniv" static_dispatch="false"> + <param name="coord" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLint *" variable_param="pname"/> + </function> +</category> + +<category name="GL_OES_texture_env_crossbar" number="21"> + <!-- No new functions, types, enums. --> +</category> + +<category name="GL_OES_texture_mirrored_repeat" number="22"> + <!-- No new functions, types, enums. --> +</category> + +<!-- 23. GL_OES_EGL_image --> + +<category name="GL_OES_depth24" number="24"> + <enum name="DEPTH_COMPONENT24_OES" value="0x81A6"/> +</category> + +<category name="GL_OES_depth32" number="25"> + <enum name="DEPTH_COMPONENT32_OES" value="0x81A7"/> +</category> + +<!-- 26. GL_OES_element_index_uint --> + +<!-- 27. GL_OES_fbo_render_mipmap --> + +<category name="GL_OES_mapbuffer" number="29"> + <enum name="WRITE_ONLY_OES" value="0x88B9"/> + <enum name="BUFFER_ACCESS_OES" value="0x88BB"/> + <enum name="BUFFER_MAPPED_OES" value="0x88BC"/> + <enum name="BUFFER_MAP_POINTER_OES" value="0x88BD"/> + + <function name="GetBufferPointervOES" alias="GetBufferPointervARB" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLvoid **"/> + </function> + + <function name="MapBufferOES" alias="MapBufferARB" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="access" type="GLenum"/> + <return type="GLvoid *"/> + </function> + + <function name="UnmapBufferOES" alias="UnmapBufferARB" static_dispatch="false"> + <param name="target" type="GLenum"/> + <return type="GLboolean"/> + </function> +</category> + +<category name="GL_OES_rgb8_rgba8" number="30"> + <enum name="RGB8_OES" value="0x8051"/> + <enum name="RGBA8_OES" value="0x8058"/> +</category> + +<category name="GL_OES_stencil1" number="31"> + <enum name="STENCIL_INDEX1_OES" value="0x8D46"/> +</category> + +<category name="GL_OES_stencil4" number="32"> + <enum name="STENCIL_INDEX4_OES" value="0x8D47"/> +</category> + +<category name="GL_OES_stencil8" number="33"> + <enum name="STENCIL_INDEX8_OES" value="0x8D48"/> +</category> + +<category name="GL_OES_texture_3D" number="34"> + <enum name="TEXTURE_BINDING_3D_OES" value="0x806A"/> + <enum name="TEXTURE_3D_OES" value="0x806F"/> + <enum name="TEXTURE_WRAP_R_OES" value="0x8072"/> + <enum name="MAX_3D_TEXTURE_SIZE_OES" value="0x8073"/> + <enum name="SAMPLER_3D_OES" value="0x8B5F"/> + <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES" value="0x8CD4"/> + + <function name="CompressedTexImage3DOES" alias="CompressedTexImage3DARB" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="internalformat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="border" type="GLint"/> + <param name="imageSize" type="GLsizei" counter="true"/> + <param name="data" type="const GLvoid *" count="imageSize"/> + </function> + + <function name="CompressedTexSubImage3DOES" alias="CompressedTexSubImage3DARB" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="zoffset" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="format" type="GLenum"/> + <param name="imageSize" type="GLsizei" counter="true"/> + <param name="data" type="const GLvoid *" count="imageSize"/> + </function> + + <function name="CopyTexSubImage3DOES" alias="CopyTexSubImage3D" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="zoffset" type="GLint"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </function> + + <function name="FramebufferTexture3DOES" alias="FramebufferTexture3DEXT" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="attachment" type="GLenum"/> + <param name="textarget" type="GLenum"/> + <param name="texture" type="GLuint"/> + <param name="level" type="GLint"/> + <param name="zoffset" type="GLint"/> + </function> + + <function name="TexImage3DOES" alias="TexImage3D" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="internalformat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="border" type="GLint"/> + <param name="format" type="GLenum"/> + <param name="type" type="GLenum"/> + <param name="pixels" type="const GLvoid *" img_width="width" img_height="height" img_depth="depth" img_format="format" img_type="type" img_target="target" img_null_flag="true" img_pad_dimensions="true"/> + </function> + + <function name="TexSubImage3DOES" alias="TexSubImage3D" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="level" type="GLint"/> + <param name="xoffset" type="GLint"/> + <param name="yoffset" type="GLint"/> + <param name="zoffset" type="GLint"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + <param name="format" type="GLenum"/> + <param name="type" type="GLenum"/> + <param name="UNUSED" type="GLuint" padding="true"/> + <param name="pixels" type="const GLvoid *" img_width="width" img_height="height" img_depth="depth" img_xoff="xoffset" img_yoff="yoffset" img_zoff="zoffset" img_format="format" img_type="type" img_target="target" img_pad_dimensions="true"/> + </function> +</category> + +<!-- the other name is OES_texture_float_linear --> +<!-- 35. GL_OES_texture_half_float_linear --> + +<!-- the other name is OES_texture_float --> +<category name="GL_OES_texture_half_float" number="36"> + <enum name="HALF_FLOAT_OES" value="0x8D61"/> +</category> + +<!-- 37. GL_OES_texture_npot --> + +<category name="GL_OES_vertex_half_float" number="38"> + <enum name="HALF_FLOAT_OES" value="0x8D61"/> +</category> + +<!-- 41. GL_EXT_texture_filter_anisotropic --> + +<category name="GL_EXT_texture_type_2_10_10_10_REV" number="42"> + <enum name="UNSIGNED_INT_2_10_10_10_REV_EXT" value="0x8368"/> +</category> + +<category name="GL_OES_packed_depth_stencil" number="43"> + <enum name="DEPTH_STENCIL_OES" value="0x84F9"/> + <enum name="UNSIGNED_INT_24_8_OES" value="0x84FA"/> + <enum name="DEPTH24_STENCIL8_OES" value="0x88F0"/> +</category> + +<!-- 44. GL_OES_depth_texture --> + +<category name="GL_OES_standard_derivatives" number="45"> + <enum name="FRAGMENT_SHADER_DERIVATIVE_HINT_OES" value="0x8B8B"/> +</category> + +<category name="GL_OES_vertex_type_10_10_10_2" number="46"> + <enum name="UNSIGNED_INT_10_10_10_2_OES" value="0x8DF6"/> + <enum name="INT_10_10_10_2_OES" value="0x8DF7"/> +</category> + +<category name="GL_OES_get_program_binary" number="47"> + <enum name="PROGRAM_BINARY_LENGTH_OES" value="0x8741"/> + <enum name="NUM_PROGRAM_BINARY_FORMATS_OES" value="0x87FE"/> + <enum name="PROGRAM_BINARY_FORMATS_OES" value="0x87FF"/> + + <function name="GetProgramBinaryOES" alias="GetProgramBinary" static_dispatch="false"> + <param name="program" type="GLuint"/> + <param name="bufSize" type="GLsizei"/> + <param name="length" type="GLsizei *"/> + <param name="binaryFormat" type="GLenum *"/> + <param name="binary" type="GLvoid *"/> + </function> + + <function name="ProgramBinaryOES" alias="ProgramBinary" static_dispatch="false"> + <param name="program" type="GLuint"/> + <param name="binaryFormat" type="GLenum"/> + <param name="binary" type="const GLvoid *"/> + <param name="length" type="GLint"/> + </function> +</category> + +<category name="GL_EXT_texture_compression_dxt1" number="49"> + <enum name="COMPRESSED_RGB_S3TC_DXT1_EXT" value="0x83F0"/> + <enum name="COMPRESSED_RGBA_S3TC_DXT1_EXT" value="0x83F1"/> +</category> + +<category name="GL_EXT_texture_format_BGRA8888" number="51"> + <enum name="BGRA_EXT" value="0x80E1"/> +</category> + +<category name="GL_EXT_texture_lod_bias" number="60"> + <enum name="TEXTURE_FILTER_CONTROL_EXT" value="0x8500"/> + <enum name="TEXTURE_LOD_BIAS_EXT" value="0x8501"/> + <enum name="MAX_TEXTURE_LOD_BIAS_EXT" value="0x84FD"/> +</category> + +<!-- 65. GL_EXT_blend_minmax --> + +<category name="GL_EXT_read_format_bgra" number="66"> + <enum name="BGRA_EXT" value="0x80E1"/> + <enum name="UNSIGNED_SHORT_4_4_4_4_REV_EXT" value="0x8365"/> + <enum name="UNSIGNED_SHORT_1_5_5_5_REV_EXT" value="0x8366"/> +</category> + +<!-- 69. GL_EXT_multi_draw_arrays --> + +</OpenGLAPI> diff --git a/mesalib/src/mapi/glapi/gen/glX_proto_send.py b/mesalib/src/mapi/glapi/gen/glX_proto_send.py index 9c4f45481..6330d91f7 100644 --- a/mesalib/src/mapi/glapi/gen/glX_proto_send.py +++ b/mesalib/src/mapi/glapi/gen/glX_proto_send.py @@ -1,1044 +1,1097 @@ -#!/usr/bin/env python
-
-# (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
-# on 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 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:
-# Ian Romanick <idr@us.ibm.com>
-# Jeremy Kolb <jkolb@brandeis.edu>
-
-import gl_XML, glX_XML, glX_proto_common, license
-import sys, getopt, copy, string
-
-def convertStringForXCB(str):
- tmp = ""
- special = [ "ARB" ]
- i = 0
- while i < len(str):
- if str[i:i+3] in special:
- tmp = '%s_%s' % (tmp, string.lower(str[i:i+3]))
- i = i + 2;
- elif str[i].isupper():
- tmp = '%s_%s' % (tmp, string.lower(str[i]))
- else:
- tmp = '%s%s' % (tmp, str[i])
- i += 1
- return tmp
-
-def hash_pixel_function(func):
- """Generate a 'unique' key for a pixel function. The key is based on
- the parameters written in the command packet. This includes any
- padding that might be added for the original function and the 'NULL
- image' flag."""
-
-
- h = ""
- hash_pre = ""
- hash_suf = ""
- for param in func.parameterIterateGlxSend():
- if param.is_image():
- [dim, junk, junk, junk, junk] = param.get_dimensions()
-
- d = (dim + 1) & ~1
- hash_pre = "%uD%uD_" % (d - 1, d)
-
- if param.img_null_flag:
- hash_suf = "_NF"
-
- h += "%u" % (param.size())
-
- if func.pad_after(param):
- h += "4"
-
-
- n = func.name.replace("%uD" % (dim), "")
- n = "__glx_%s_%uD%uD" % (n, d - 1, d)
-
- h = hash_pre + h + hash_suf
- return [h, n]
-
-
-class glx_pixel_function_stub(glX_XML.glx_function):
- """Dummy class used to generate pixel "utility" functions that are
- shared by multiple dimension image functions. For example, these
- objects are used to generate shared functions used to send GLX
- protocol for TexImage1D and TexImage2D, TexSubImage1D and
- TexSubImage2D, etc."""
-
- def __init__(self, func, name):
- # The parameters to the utility function are the same as the
- # parameters to the real function except for the added "pad"
- # parameters.
-
- self.name = name
- self.images = []
- self.parameters = []
- self.parameters_by_name = {}
- for _p in func.parameterIterator():
- p = copy.copy(_p)
- self.parameters.append(p)
- self.parameters_by_name[ p.name ] = p
-
-
- if p.is_image():
- self.images.append(p)
- p.height = "height"
-
- if p.img_yoff == None:
- p.img_yoff = "yoffset"
-
- if p.depth:
- if p.extent == None:
- p.extent = "extent"
-
- if p.img_woff == None:
- p.img_woff = "woffset"
-
-
- pad_name = func.pad_after(p)
- if pad_name:
- pad = copy.copy(p)
- pad.name = pad_name
- self.parameters.append(pad)
- self.parameters_by_name[ pad.name ] = pad
-
-
- self.return_type = func.return_type
-
- self.glx_rop = ~0
- self.glx_sop = 0
- self.glx_vendorpriv = 0
-
- self.glx_doubles_in_order = func.glx_doubles_in_order
-
- self.vectorequiv = None
- self.output = None
- self.can_be_large = func.can_be_large
- self.reply_always_array = func.reply_always_array
- self.dimensions_in_reply = func.dimensions_in_reply
- self.img_reset = None
-
- self.server_handcode = 0
- self.client_handcode = 0
- self.ignore = 0
-
- self.count_parameter_list = func.count_parameter_list
- self.counter_list = func.counter_list
- self.offsets_calculated = 0
- return
-
-
-class PrintGlxProtoStubs(glX_proto_common.glx_print_proto):
- def __init__(self):
- glX_proto_common.glx_print_proto.__init__(self)
- self.name = "glX_proto_send.py (from Mesa)"
- self.license = license.bsd_license_template % ( "(C) Copyright IBM Corporation 2004, 2005", "IBM")
-
-
- self.last_category = ""
- self.generic_sizes = [3, 4, 6, 8, 12, 16, 24, 32]
- self.pixel_stubs = {}
- self.debug = 0
- return
-
- def printRealHeader(self):
- print ''
- print '#include <GL/gl.h>'
- print '#include "indirect.h"'
- print '#include "glxclient.h"'
- print '#include "indirect_size.h"'
- print '#include "glapi.h"'
- print '#include "glthread.h"'
- print '#include <GL/glxproto.h>'
- print '#ifdef USE_XCB'
- print '#include <X11/Xlib-xcb.h>'
- print '#include <xcb/xcb.h>'
- print '#include <xcb/glx.h>'
- print '#endif /* USE_XCB */'
-
- print ''
- print '#define __GLX_PAD(n) (((n) + 3) & ~3)'
- print ''
- self.printFastcall()
- self.printNoinline()
- print ''
- print '#ifndef __GNUC__'
- print '# define __builtin_expect(x, y) x'
- print '#endif'
- print ''
- print '/* If the size and opcode values are known at compile-time, this will, on'
- print ' * x86 at least, emit them with a single instruction.'
- print ' */'
- print '#define emit_header(dest, op, size) \\'
- print ' do { union { short s[2]; int i; } temp; \\'
- print ' temp.s[0] = (size); temp.s[1] = (op); \\'
- print ' *((int *)(dest)) = temp.i; } while(0)'
- print ''
- print """NOINLINE 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;
-}
-
-NOINLINE void
-__glXReadPixelReply( Display *dpy, struct glx_context * 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);
- }
- }
-}
-
-#define X_GLXSingle 0
-
-NOINLINE FASTCALL GLubyte *
-__glXSetupSingleRequest( struct glx_context * 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;
-}
-
-NOINLINE FASTCALL GLubyte *
-__glXSetupVendorRequest( struct glx_context * 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;
-}
-
-const GLuint __glXDefaultPixelStore[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 1 };
-
-#define zero (__glXDefaultPixelStore+0)
-#define one (__glXDefaultPixelStore+8)
-#define default_pixel_store_1D (__glXDefaultPixelStore+4)
-#define default_pixel_store_1D_size 20
-#define default_pixel_store_2D (__glXDefaultPixelStore+4)
-#define default_pixel_store_2D_size 20
-#define default_pixel_store_3D (__glXDefaultPixelStore+0)
-#define default_pixel_store_3D_size 36
-#define default_pixel_store_4D (__glXDefaultPixelStore+0)
-#define default_pixel_store_4D_size 36
-"""
-
- for size in self.generic_sizes:
- self.print_generic_function(size)
- return
-
-
- def printBody(self, api):
-
- self.pixel_stubs = {}
- generated_stubs = []
-
- for func in api.functionIterateGlx():
- if func.client_handcode: continue
-
- # If the function is a pixel function with a certain
- # GLX protocol signature, create a fake stub function
- # for it. For example, create a single stub function
- # that is used to implement both glTexImage1D and
- # glTexImage2D.
-
- if func.glx_rop != 0:
- do_it = 0
- for image in func.get_images():
- if image.img_pad_dimensions:
- do_it = 1
- break
-
-
- if do_it:
- [h, n] = hash_pixel_function(func)
-
-
- self.pixel_stubs[ func.name ] = n
- if h not in generated_stubs:
- generated_stubs.append(h)
-
- fake_func = glx_pixel_function_stub( func, n )
- self.printFunction(fake_func, fake_func.name)
-
-
- self.printFunction(func, func.name)
- if func.glx_sop and func.glx_vendorpriv:
- self.printFunction(func, func.glx_vendorpriv_names[0])
-
- return
-
-
- def printFunction(self, func, name):
- footer = '}\n'
- if func.glx_rop == ~0:
- print 'static %s' % (func.return_type)
- print '%s( unsigned opcode, unsigned dim, %s )' % (func.name, func.get_parameter_string())
- print '{'
- else:
- if func.has_different_protocol(name):
- if func.return_type == "void":
- ret_string = ''
- else:
- ret_string = "return "
-
- func_name = func.static_glx_name(name)
- print '#define %s %d' % (func.opcode_vendor_name(name), func.glx_vendorpriv)
- print '%s gl%s(%s)' % (func.return_type, func_name, func.get_parameter_string())
- print '{'
- print ' struct glx_context * const gc = __glXGetCurrentContext();'
- print ''
- print '#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)'
- print ' if (gc->isDirect) {'
- print ' %sGET_DISPATCH()->%s(%s);' % (ret_string, func.name, func.get_called_parameter_string())
- print ' } else'
- print '#endif'
- print ' {'
-
- footer = '}\n}\n'
- else:
- print '#define %s %d' % (func.opcode_name(), func.opcode_value())
-
- print '%s __indirect_gl%s(%s)' % (func.return_type, name, func.get_parameter_string())
- print '{'
-
-
- if func.glx_rop != 0 or func.vectorequiv != None:
- if len(func.images):
- self.printPixelFunction(func)
- else:
- self.printRenderFunction(func)
- elif func.glx_sop != 0 or func.glx_vendorpriv != 0:
- self.printSingleFunction(func, name)
- pass
- else:
- print "/* Missing GLX protocol for %s. */" % (name)
-
- print footer
- return
-
-
- def print_generic_function(self, n):
- size = (n + 3) & ~3
- print """static FASTCALL NOINLINE void
-generic_%u_byte( GLint rop, const void * ptr )
-{
- struct glx_context * const gc = __glXGetCurrentContext();
- const GLuint cmdlen = %u;
-
- emit_header(gc->pc, rop, cmdlen);
- (void) memcpy((void *)(gc->pc + 4), ptr, %u);
- gc->pc += cmdlen;
- if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }
-}
-""" % (n, size + 4, size)
- return
-
-
- def common_emit_one_arg(self, p, pc, adjust, extra_offset):
- if p.is_array():
- src_ptr = p.name
- else:
- src_ptr = "&" + p.name
-
- if p.is_padding:
- print '(void) memset((void *)(%s + %u), 0, %s);' \
- % (pc, p.offset + adjust, p.size_string() )
- elif not extra_offset:
- print '(void) memcpy((void *)(%s + %u), (void *)(%s), %s);' \
- % (pc, p.offset + adjust, src_ptr, p.size_string() )
- else:
- print '(void) memcpy((void *)(%s + %u + %s), (void *)(%s), %s);' \
- % (pc, p.offset + adjust, extra_offset, src_ptr, p.size_string() )
-
- def common_emit_args(self, f, pc, adjust, skip_vla):
- extra_offset = None
-
- for p in f.parameterIterateGlxSend( not skip_vla ):
- if p.name != f.img_reset:
- self.common_emit_one_arg(p, pc, adjust, extra_offset)
-
- if p.is_variable_length():
- temp = p.size_string()
- if extra_offset:
- extra_offset += " + %s" % (temp)
- else:
- extra_offset = temp
-
- return
-
-
- def pixel_emit_args(self, f, pc, large):
- """Emit the arguments for a pixel function. This differs from
- common_emit_args in that pixel functions may require padding
- be inserted (i.e., for the missing width field for
- TexImage1D), and they may also require a 'NULL image' flag
- be inserted before the image data."""
-
- if large:
- adjust = 8
- else:
- adjust = 4
-
- for param in f.parameterIterateGlxSend():
- if not param.is_image():
- self.common_emit_one_arg(param, pc, adjust, None)
-
- if f.pad_after(param):
- print '(void) memcpy((void *)(%s + %u), zero, 4);' % (pc, (param.offset + param.size()) + adjust)
-
- else:
- [dim, width, height, depth, extent] = param.get_dimensions()
- if f.glx_rop == ~0:
- dim_str = "dim"
- else:
- dim_str = str(dim)
-
- if param.is_padding:
- print '(void) memset((void *)(%s + %u), 0, %s);' \
- % (pc, (param.offset - 4) + adjust, param.size_string() )
-
- if param.img_null_flag:
- if large:
- print '(void) memcpy((void *)(%s + %u), zero, 4);' % (pc, (param.offset - 4) + adjust)
- else:
- print '(void) memcpy((void *)(%s + %u), (void *)((%s == NULL) ? one : zero), 4);' % (pc, (param.offset - 4) + adjust, param.name)
-
-
- pixHeaderPtr = "%s + %u" % (pc, adjust)
- pcPtr = "%s + %u" % (pc, param.offset + adjust)
-
- if not large:
- if param.img_send_null:
- condition = '(compsize > 0) && (%s != NULL)' % (param.name)
- else:
- condition = 'compsize > 0'
-
- print 'if (%s) {' % (condition)
- print ' (*gc->fillImage)(gc, %s, %s, %s, %s, %s, %s, %s, %s, %s);' % (dim_str, width, height, depth, param.img_format, param.img_type, param.name, pcPtr, pixHeaderPtr)
- print '} else {'
- print ' (void) memcpy( %s, default_pixel_store_%uD, default_pixel_store_%uD_size );' % (pixHeaderPtr, dim, dim)
- print '}'
- else:
- print '__glXSendLargeImage(gc, compsize, %s, %s, %s, %s, %s, %s, %s, %s, %s);' % (dim_str, width, height, depth, param.img_format, param.img_type, param.name, pcPtr, pixHeaderPtr)
-
- return
-
-
- def large_emit_begin(self, f, op_name = None):
- if not op_name:
- op_name = f.opcode_real_name()
-
- print 'const GLint op = %s;' % (op_name)
- print 'const GLuint cmdlenLarge = cmdlen + 4;'
- print 'GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc);'
- print '(void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4);'
- print '(void) memcpy((void *)(pc + 4), (void *)(&op), 4);'
- return
-
-
- def common_func_print_just_start(self, f, name):
- print ' struct glx_context * const gc = __glXGetCurrentContext();'
-
- # The only reason that single and vendor private commands need
- # a variable called 'dpy' is becuase they use the SyncHandle
- # macro. For whatever brain-dead reason, that macro is hard-
- # coded to use a variable called 'dpy' instead of taking a
- # parameter.
-
- # FIXME Simplify the logic related to skip_condition and
- # FIXME condition_list in this function. Basically, remove
- # FIXME skip_condition, and just append the "dpy != NULL" type
- # FIXME condition to condition_list from the start. The only
- # FIXME reason it's done in this confusing way now is to
- # FIXME minimize the diffs in the generated code.
-
- if not f.glx_rop:
- for p in f.parameterIterateOutputs():
- if p.is_image() and (p.img_format != "GL_COLOR_INDEX" or p.img_type != "GL_BITMAP"):
- print ' const __GLXattribute * const state = gc->client_state_private;'
- break
-
- print ' Display * const dpy = gc->currentDpy;'
- skip_condition = "dpy != NULL"
- elif f.can_be_large:
- skip_condition = "gc->currentDpy != NULL"
- else:
- skip_condition = None
-
-
- if f.return_type != 'void':
- print ' %s retval = (%s) 0;' % (f.return_type, f.return_type)
-
-
- if name != None and name not in f.glx_vendorpriv_names:
- print '#ifndef USE_XCB'
- self.emit_packet_size_calculation(f, 0)
- if name != None and name not in f.glx_vendorpriv_names:
- print '#endif'
-
- condition_list = []
- for p in f.parameterIterateCounters():
- condition_list.append( "%s >= 0" % (p.name) )
- # 'counter' parameters cannot be negative
- print " if (%s < 0) {" % p.name
- print " __glXSetError(gc, GL_INVALID_VALUE);"
- if f.return_type != 'void':
- print " return 0;"
- else:
- print " return;"
- print " }"
-
- if skip_condition:
- condition_list.append( skip_condition )
-
- if len( condition_list ) > 0:
- if len( condition_list ) > 1:
- skip_condition = "(%s)" % (string.join( condition_list, ") && (" ))
- else:
- skip_condition = "%s" % (condition_list.pop(0))
-
- print ' if (__builtin_expect(%s, 1)) {' % (skip_condition)
- return 1
- else:
- return 0
-
-
- def printSingleFunction(self, f, name):
- self.common_func_print_just_start(f, name)
-
- if self.debug:
- print ' printf( "Enter %%s...\\n", "gl%s" );' % (f.name)
-
- if name not in f.glx_vendorpriv_names:
-
- # XCB specific:
- print '#ifdef USE_XCB'
- if self.debug:
- print ' printf("\\tUsing XCB.\\n");'
- print ' xcb_connection_t *c = XGetXCBConnection(dpy);'
- print ' (void) __glXFlushRenderBuffer(gc, gc->pc);'
- xcb_name = 'xcb_glx%s' % convertStringForXCB(name)
-
- iparams=[]
- extra_iparams = []
- output = None
- for p in f.parameterIterator():
- if p.is_output:
- output = p
-
- if p.is_image():
- if p.img_format != "GL_COLOR_INDEX" or p.img_type != "GL_BITMAP":
- extra_iparams.append("state->storePack.swapEndian")
- else:
- extra_iparams.append("0")
-
- # Hardcode this in. lsb_first param (apparently always GL_FALSE)
- # also present in GetPolygonStipple, but taken care of above.
- if xcb_name == "xcb_glx_read_pixels":
- extra_iparams.append("0")
- else:
- iparams.append(p.name)
-
-
- xcb_request = '%s(%s)' % (xcb_name, ", ".join(["c", "gc->currentContextTag"] + iparams + extra_iparams))
-
- if f.needs_reply():
- print ' %s_reply_t *reply = %s_reply(c, %s, NULL);' % (xcb_name, xcb_name, xcb_request)
- if output and f.reply_always_array:
- print ' (void)memcpy(%s, %s_data(reply), %s_data_length(reply) * sizeof(%s));' % (output.name, xcb_name, xcb_name, output.get_base_type_string())
-
- elif output and not f.reply_always_array:
- if not output.is_image():
- print ' if (%s_data_length(reply) == 0)' % (xcb_name)
- print ' (void)memcpy(%s, &reply->datum, sizeof(reply->datum));' % (output.name)
- print ' else'
- print ' (void)memcpy(%s, %s_data(reply), %s_data_length(reply) * sizeof(%s));' % (output.name, xcb_name, xcb_name, output.get_base_type_string())
-
-
- if f.return_type != 'void':
- print ' retval = reply->ret_val;'
- print ' free(reply);'
- else:
- print ' ' + xcb_request + ';'
- print '#else'
- # End of XCB specific.
-
-
- if f.parameters != []:
- pc_decl = "GLubyte const * pc ="
- else:
- pc_decl = "(void)"
-
- if name in f.glx_vendorpriv_names:
- print ' %s __glXSetupVendorRequest(gc, %s, %s, cmdlen);' % (pc_decl, f.opcode_real_name(), f.opcode_vendor_name(name))
- else:
- print ' %s __glXSetupSingleRequest(gc, %s, cmdlen);' % (pc_decl, f.opcode_name())
-
- self.common_emit_args(f, "pc", 0, 0)
-
- images = f.get_images()
-
- for img in images:
- if img.is_output:
- o = f.command_fixed_length() - 4
- print ' *(int32_t *)(pc + %u) = 0;' % (o)
- if img.img_format != "GL_COLOR_INDEX" or img.img_type != "GL_BITMAP":
- print ' * (int8_t *)(pc + %u) = state->storePack.swapEndian;' % (o)
-
- if f.img_reset:
- print ' * (int8_t *)(pc + %u) = %s;' % (o + 1, f.img_reset)
-
-
- return_name = ''
- if f.needs_reply():
- if f.return_type != 'void':
- return_name = " retval"
- return_str = " retval = (%s)" % (f.return_type)
- else:
- return_str = " (void)"
-
- got_reply = 0
-
- for p in f.parameterIterateOutputs():
- if p.is_image():
- [dim, w, h, d, junk] = p.get_dimensions()
- if f.dimensions_in_reply:
- print " __glXReadPixelReply(dpy, gc, %u, 0, 0, 0, %s, %s, %s, GL_TRUE);" % (dim, p.img_format, p.img_type, p.name)
- else:
- print " __glXReadPixelReply(dpy, gc, %u, %s, %s, %s, %s, %s, %s, GL_FALSE);" % (dim, w, h, d, p.img_format, p.img_type, p.name)
-
- got_reply = 1
- else:
- if f.reply_always_array:
- aa = "GL_TRUE"
- else:
- aa = "GL_FALSE"
-
- # gl_parameter.size() returns the size
- # of the entire data item. If the
- # item is a fixed-size array, this is
- # the size of the whole array. This
- # is not what __glXReadReply wants. It
- # wants the size of a single data
- # element in the reply packet.
- # Dividing by the array size (1 for
- # non-arrays) gives us this.
-
- s = p.size() / p.get_element_count()
- print " %s __glXReadReply(dpy, %s, %s, %s);" % (return_str, s, p.name, aa)
- got_reply = 1
-
-
- # If a reply wasn't read to fill an output parameter,
- # read a NULL reply to get the return value.
-
- if not got_reply:
- print " %s __glXReadReply(dpy, 0, NULL, GL_FALSE);" % (return_str)
-
-
- elif self.debug:
- # Only emit the extra glFinish call for functions
- # that don't already require a reply from the server.
- print ' __indirect_glFinish();'
-
- if self.debug:
- print ' printf( "Exit %%s.\\n", "gl%s" );' % (name)
-
-
- print ' UnlockDisplay(dpy); SyncHandle();'
-
- if name not in f.glx_vendorpriv_names:
- print '#endif /* USE_XCB */'
-
- print ' }'
- print ' return%s;' % (return_name)
- return
-
-
- def printPixelFunction(self, f):
- if self.pixel_stubs.has_key( f.name ):
- # Normally gl_function::get_parameter_string could be
- # used. However, this call needs to have the missing
- # dimensions (e.g., a fake height value for
- # glTexImage1D) added in.
-
- p_string = ""
- for param in f.parameterIterateGlxSend():
- if param.is_padding:
- continue
-
- p_string += ", " + param.name
-
- if param.is_image():
- [dim, junk, junk, junk, junk] = param.get_dimensions()
-
- if f.pad_after(param):
- p_string += ", 1"
-
- print ' %s(%s, %u%s );' % (self.pixel_stubs[f.name] , f.opcode_name(), dim, p_string)
- return
-
-
- if self.common_func_print_just_start(f, None):
- trailer = " }"
- else:
- trailer = None
-
-
- if f.can_be_large:
- print 'if (cmdlen <= gc->maxSmallRenderCommandSize) {'
- print ' if ( (gc->pc + cmdlen) > gc->bufEnd ) {'
- print ' (void) __glXFlushRenderBuffer(gc, gc->pc);'
- print ' }'
-
- if f.glx_rop == ~0:
- opcode = "opcode"
- else:
- opcode = f.opcode_real_name()
-
- print 'emit_header(gc->pc, %s, cmdlen);' % (opcode)
-
- self.pixel_emit_args( f, "gc->pc", 0 )
- print 'gc->pc += cmdlen;'
- print 'if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }'
-
- if f.can_be_large:
- print '}'
- print 'else {'
-
- self.large_emit_begin(f, opcode)
- self.pixel_emit_args(f, "pc", 1)
-
- print '}'
-
- if trailer: print trailer
- return
-
-
- def printRenderFunction(self, f):
- # There is a class of GL functions that take a single pointer
- # as a parameter. This pointer points to a fixed-size chunk
- # of data, and the protocol for this functions is very
- # regular. Since they are so regular and there are so many
- # of them, special case them with generic functions. On
- # x86, this saves about 26KB in the libGL.so binary.
-
- if f.variable_length_parameter() == None and len(f.parameters) == 1:
- p = f.parameters[0]
- if p.is_pointer():
- cmdlen = f.command_fixed_length()
- if cmdlen in self.generic_sizes:
- print ' generic_%u_byte( %s, %s );' % (cmdlen, f.opcode_real_name(), p.name)
- return
-
- if self.common_func_print_just_start(f, None):
- trailer = " }"
- else:
- trailer = None
-
- if self.debug:
- print 'printf( "Enter %%s...\\n", "gl%s" );' % (f.name)
-
- if f.can_be_large:
- print 'if (cmdlen <= gc->maxSmallRenderCommandSize) {'
- print ' if ( (gc->pc + cmdlen) > gc->bufEnd ) {'
- print ' (void) __glXFlushRenderBuffer(gc, gc->pc);'
- print ' }'
-
- print 'emit_header(gc->pc, %s, cmdlen);' % (f.opcode_real_name())
-
- self.common_emit_args(f, "gc->pc", 4, 0)
- print 'gc->pc += cmdlen;'
- print 'if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }'
-
- if f.can_be_large:
- print '}'
- print 'else {'
-
- self.large_emit_begin(f)
- self.common_emit_args(f, "pc", 8, 1)
-
- p = f.variable_length_parameter()
- print ' __glXSendLargeCommand(gc, pc, %u, %s, %s);' % (p.offset + 8, p.name, p.size_string())
- print '}'
-
- if self.debug:
- print '__indirect_glFinish();'
- print 'printf( "Exit %%s.\\n", "gl%s" );' % (f.name)
-
- if trailer: print trailer
- return
-
-
-class PrintGlxProtoInit_c(gl_XML.gl_print_base):
- def __init__(self):
- gl_XML.gl_print_base.__init__(self)
-
- self.name = "glX_proto_send.py (from Mesa)"
- self.license = license.bsd_license_template % ( \
-"""Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-(C) Copyright IBM Corporation 2004""", "PRECISION INSIGHT, IBM")
- return
-
-
- def printRealHeader(self):
- print """/**
- * \\file indirect_init.c
- * Initialize indirect rendering dispatch table.
- *
- * \\author Kevin E. Martin <kevin@precisioninsight.com>
- * \\author Brian Paul <brian@precisioninsight.com>
- * \\author Ian Romanick <idr@us.ibm.com>
- */
-
-#include "indirect_init.h"
-#include "indirect.h"
-#include "glapi.h"
-
-
-/**
- * No-op function used to initialize functions that have no GLX protocol
- * support.
- */
-static int NoOp(void)
-{
- return 0;
-}
-
-/**
- * Create and initialize a new GL dispatch table. The table is initialized
- * with GLX indirect rendering protocol functions.
- */
-struct _glapi_table * __glXNewIndirectAPI( void )
-{
- struct _glapi_table *glAPI;
- GLuint entries;
-
- entries = _glapi_get_dispatch_table_size();
- glAPI = (struct _glapi_table *) Xmalloc(entries * sizeof(void *));
-
- /* first, set all entries to point to no-op functions */
- {
- int i;
- void **dispatch = (void **) glAPI;
- for (i = 0; i < entries; i++) {
- dispatch[i] = (void *) NoOp;
- }
- }
-
- /* now, initialize the entries we understand */"""
-
- def printRealFooter(self):
- print """
- return glAPI;
-}
-"""
- return
-
-
- def printBody(self, api):
- for [name, number] in api.categoryIterate():
- if number != None:
- preamble = '\n /* %3u. %s */\n\n' % (int(number), name)
- else:
- preamble = '\n /* %s */\n\n' % (name)
-
- for func in api.functionIterateByCategory(name):
- if func.client_supported_for_indirect():
- print '%s glAPI->%s = __indirect_gl%s;' % (preamble, func.name, func.name)
- preamble = ''
-
- return
-
-
-class PrintGlxProtoInit_h(gl_XML.gl_print_base):
- def __init__(self):
- gl_XML.gl_print_base.__init__(self)
-
- self.name = "glX_proto_send.py (from Mesa)"
- self.license = license.bsd_license_template % ( \
-"""Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-(C) Copyright IBM Corporation 2004""", "PRECISION INSIGHT, IBM")
- self.header_tag = "_INDIRECT_H_"
-
- self.last_category = ""
- return
-
-
- def printRealHeader(self):
- print """/**
- * \\file
- * Prototypes for indirect rendering functions.
- *
- * \\author Kevin E. Martin <kevin@precisioninsight.com>
- * \\author Ian Romanick <idr@us.ibm.com>
- */
-"""
- self.printVisibility( "HIDDEN", "hidden" )
- self.printFastcall()
- self.printNoinline()
-
- print """
-#include "glxclient.h"
-
-extern HIDDEN NOINLINE CARD32 __glXReadReply( Display *dpy, size_t size,
- void * dest, GLboolean reply_is_always_array );
-
-extern HIDDEN NOINLINE void __glXReadPixelReply( Display *dpy,
- struct glx_context * gc, unsigned max_dim, GLint width, GLint height,
- GLint depth, GLenum format, GLenum type, void * dest,
- GLboolean dimensions_in_reply );
-
-extern HIDDEN NOINLINE FASTCALL GLubyte * __glXSetupSingleRequest(
- struct glx_context * gc, GLint sop, GLint cmdlen );
-
-extern HIDDEN NOINLINE FASTCALL GLubyte * __glXSetupVendorRequest(
- struct glx_context * gc, GLint code, GLint vop, GLint cmdlen );
-"""
-
-
- def printBody(self, api):
- for func in api.functionIterateGlx():
- params = func.get_parameter_string()
-
- print 'extern HIDDEN %s __indirect_gl%s(%s);' % (func.return_type, func.name, params)
-
- for n in func.entry_points:
- if func.has_different_protocol(n):
- asdf = func.static_glx_name(n)
- if asdf not in func.static_entry_points:
- print 'extern HIDDEN %s gl%s(%s);' % (func.return_type, asdf, params)
- # give it a easy-to-remember name
- if func.client_handcode:
- print '#define gl_dispatch_stub_%s gl%s' % (n, asdf)
- else:
- print 'GLAPI %s GLAPIENTRY gl%s(%s);' % (func.return_type, asdf, params)
-
- break
-
-
-
-def show_usage():
- print "Usage: %s [-f input_file_name] [-m output_mode] [-d]" % sys.argv[0]
- print " -m output_mode Output mode can be one of 'proto', 'init_c' or 'init_h'."
- print " -d Enable extra debug information in the generated code."
- sys.exit(1)
-
-
-if __name__ == '__main__':
- file_name = "gl_API.xml"
-
- try:
- (args, trail) = getopt.getopt(sys.argv[1:], "f:m:d")
- except Exception,e:
- show_usage()
-
- debug = 0
- mode = "proto"
- for (arg,val) in args:
- if arg == "-f":
- file_name = val
- elif arg == "-m":
- mode = val
- elif arg == "-d":
- debug = 1
-
- if mode == "proto":
- printer = PrintGlxProtoStubs()
- elif mode == "init_c":
- printer = PrintGlxProtoInit_c()
- elif mode == "init_h":
- printer = PrintGlxProtoInit_h()
- else:
- show_usage()
-
-
- printer.debug = debug
- api = gl_XML.parse_GL_API( file_name, glX_XML.glx_item_factory() )
-
- printer.Print( api )
+#!/usr/bin/env python + +# (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 +# on 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 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: +# Ian Romanick <idr@us.ibm.com> +# Jeremy Kolb <jkolb@brandeis.edu> + +import gl_XML, glX_XML, glX_proto_common, license +import sys, getopt, copy, string + +def convertStringForXCB(str): + tmp = "" + special = [ "ARB" ] + i = 0 + while i < len(str): + if str[i:i+3] in special: + tmp = '%s_%s' % (tmp, string.lower(str[i:i+3])) + i = i + 2; + elif str[i].isupper(): + tmp = '%s_%s' % (tmp, string.lower(str[i])) + else: + tmp = '%s%s' % (tmp, str[i]) + i += 1 + return tmp + +def hash_pixel_function(func): + """Generate a 'unique' key for a pixel function. The key is based on + the parameters written in the command packet. This includes any + padding that might be added for the original function and the 'NULL + image' flag.""" + + + h = "" + hash_pre = "" + hash_suf = "" + for param in func.parameterIterateGlxSend(): + if param.is_image(): + [dim, junk, junk, junk, junk] = param.get_dimensions() + + d = (dim + 1) & ~1 + hash_pre = "%uD%uD_" % (d - 1, d) + + if param.img_null_flag: + hash_suf = "_NF" + + h += "%u" % (param.size()) + + if func.pad_after(param): + h += "4" + + + n = func.name.replace("%uD" % (dim), "") + n = "__glx_%s_%uD%uD" % (n, d - 1, d) + + h = hash_pre + h + hash_suf + return [h, n] + + +class glx_pixel_function_stub(glX_XML.glx_function): + """Dummy class used to generate pixel "utility" functions that are + shared by multiple dimension image functions. For example, these + objects are used to generate shared functions used to send GLX + protocol for TexImage1D and TexImage2D, TexSubImage1D and + TexSubImage2D, etc.""" + + def __init__(self, func, name): + # The parameters to the utility function are the same as the + # parameters to the real function except for the added "pad" + # parameters. + + self.name = name + self.images = [] + self.parameters = [] + self.parameters_by_name = {} + for _p in func.parameterIterator(): + p = copy.copy(_p) + self.parameters.append(p) + self.parameters_by_name[ p.name ] = p + + + if p.is_image(): + self.images.append(p) + p.height = "height" + + if p.img_yoff == None: + p.img_yoff = "yoffset" + + if p.depth: + if p.extent == None: + p.extent = "extent" + + if p.img_woff == None: + p.img_woff = "woffset" + + + pad_name = func.pad_after(p) + if pad_name: + pad = copy.copy(p) + pad.name = pad_name + self.parameters.append(pad) + self.parameters_by_name[ pad.name ] = pad + + + self.return_type = func.return_type + + self.glx_rop = ~0 + self.glx_sop = 0 + self.glx_vendorpriv = 0 + + self.glx_doubles_in_order = func.glx_doubles_in_order + + self.vectorequiv = None + self.output = None + self.can_be_large = func.can_be_large + self.reply_always_array = func.reply_always_array + self.dimensions_in_reply = func.dimensions_in_reply + self.img_reset = None + + self.server_handcode = 0 + self.client_handcode = 0 + self.ignore = 0 + + self.count_parameter_list = func.count_parameter_list + self.counter_list = func.counter_list + self.offsets_calculated = 0 + return + + +class PrintGlxProtoStubs(glX_proto_common.glx_print_proto): + def __init__(self): + glX_proto_common.glx_print_proto.__init__(self) + self.name = "glX_proto_send.py (from Mesa)" + self.license = license.bsd_license_template % ( "(C) Copyright IBM Corporation 2004, 2005", "IBM") + + + self.last_category = "" + self.generic_sizes = [3, 4, 6, 8, 12, 16, 24, 32] + self.pixel_stubs = {} + self.debug = 0 + return + + def printRealHeader(self): + print '' + print '#include <GL/gl.h>' + print '#include "indirect.h"' + print '#include "glxclient.h"' + print '#include "indirect_size.h"' + print '#include "glapi.h"' + print '#include "glthread.h"' + print '#include <GL/glxproto.h>' + print '#ifdef USE_XCB' + print '#include <X11/Xlib-xcb.h>' + print '#include <xcb/xcb.h>' + print '#include <xcb/glx.h>' + print '#endif /* USE_XCB */' + + print '' + print '#define __GLX_PAD(n) (((n) + 3) & ~3)' + print '' + self.printFastcall() + self.printNoinline() + print '' + print '#ifndef __GNUC__' + print '# define __builtin_expect(x, y) x' + print '#endif' + print '' + print '/* If the size and opcode values are known at compile-time, this will, on' + print ' * x86 at least, emit them with a single instruction.' + print ' */' + print '#define emit_header(dest, op, size) \\' + print ' do { union { short s[2]; int i; } temp; \\' + print ' temp.s[0] = (size); temp.s[1] = (op); \\' + print ' *((int *)(dest)) = temp.i; } while(0)' + print '' + print """NOINLINE 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; +} + +NOINLINE void +__glXReadPixelReply( Display *dpy, struct glx_context * 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); + } + } +} + +#define X_GLXSingle 0 + +NOINLINE FASTCALL GLubyte * +__glXSetupSingleRequest( struct glx_context * 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; +} + +NOINLINE FASTCALL GLubyte * +__glXSetupVendorRequest( struct glx_context * 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; +} + +const GLuint __glXDefaultPixelStore[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 1 }; + +#define zero (__glXDefaultPixelStore+0) +#define one (__glXDefaultPixelStore+8) +#define default_pixel_store_1D (__glXDefaultPixelStore+4) +#define default_pixel_store_1D_size 20 +#define default_pixel_store_2D (__glXDefaultPixelStore+4) +#define default_pixel_store_2D_size 20 +#define default_pixel_store_3D (__glXDefaultPixelStore+0) +#define default_pixel_store_3D_size 36 +#define default_pixel_store_4D (__glXDefaultPixelStore+0) +#define default_pixel_store_4D_size 36 +""" + + for size in self.generic_sizes: + self.print_generic_function(size) + return + + + def printBody(self, api): + + self.pixel_stubs = {} + generated_stubs = [] + + for func in api.functionIterateGlx(): + if func.client_handcode: continue + + # If the function is a pixel function with a certain + # GLX protocol signature, create a fake stub function + # for it. For example, create a single stub function + # that is used to implement both glTexImage1D and + # glTexImage2D. + + if func.glx_rop != 0: + do_it = 0 + for image in func.get_images(): + if image.img_pad_dimensions: + do_it = 1 + break + + + if do_it: + [h, n] = hash_pixel_function(func) + + + self.pixel_stubs[ func.name ] = n + if h not in generated_stubs: + generated_stubs.append(h) + + fake_func = glx_pixel_function_stub( func, n ) + self.printFunction(fake_func, fake_func.name) + + + self.printFunction(func, func.name) + if func.glx_sop and func.glx_vendorpriv: + self.printFunction(func, func.glx_vendorpriv_names[0]) + + self.printGetProcAddress(api) + return + + def printGetProcAddress(self, api): + procs = {} + for func in api.functionIterateGlx(): + for n in func.entry_points: + if func.has_different_protocol(n): + procs[n] = func.static_glx_name(n) + + print """ +#ifdef GLX_SHARED_GLAPI + +static const struct proc_pair +{ + const char *name; + _glapi_proc proc; +} proc_pairs[%d] = {""" % len(procs) + names = procs.keys() + names.sort() + for i in xrange(len(names)): + comma = ',' if i < len(names) - 1 else '' + print ' { "%s", (_glapi_proc) gl%s }%s' % (names[i], procs[names[i]], comma) + print """}; + +static int +__indirect_get_proc_compare(const void *key, const void *memb) +{ + const struct proc_pair *pair = (const struct proc_pair *) memb; + return strcmp((const char *) key, pair->name); +} + +_glapi_proc +__indirect_get_proc_address(const char *name) +{ + const struct proc_pair *pair; + + /* skip "gl" */ + name += 2; + + pair = (const struct proc_pair *) bsearch((const void *) name, + (const void *) proc_pairs, ARRAY_SIZE(proc_pairs), sizeof(proc_pairs[0]), + __indirect_get_proc_compare); + + return (pair) ? pair->proc : NULL; +} + +#endif /* GLX_SHARED_GLAPI */ +""" + return + + + def printFunction(self, func, name): + footer = '}\n' + if func.glx_rop == ~0: + print 'static %s' % (func.return_type) + print '%s( unsigned opcode, unsigned dim, %s )' % (func.name, func.get_parameter_string()) + print '{' + else: + if func.has_different_protocol(name): + if func.return_type == "void": + ret_string = '' + else: + ret_string = "return " + + func_name = func.static_glx_name(name) + print '#define %s %d' % (func.opcode_vendor_name(name), func.glx_vendorpriv) + print '%s gl%s(%s)' % (func.return_type, func_name, func.get_parameter_string()) + print '{' + print ' struct glx_context * const gc = __glXGetCurrentContext();' + print '' + print '#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)' + print ' if (gc->isDirect) {' + print ' %sGET_DISPATCH()->%s(%s);' % (ret_string, func.name, func.get_called_parameter_string()) + print ' } else' + print '#endif' + print ' {' + + footer = '}\n}\n' + else: + print '#define %s %d' % (func.opcode_name(), func.opcode_value()) + + print '%s __indirect_gl%s(%s)' % (func.return_type, name, func.get_parameter_string()) + print '{' + + + if func.glx_rop != 0 or func.vectorequiv != None: + if len(func.images): + self.printPixelFunction(func) + else: + self.printRenderFunction(func) + elif func.glx_sop != 0 or func.glx_vendorpriv != 0: + self.printSingleFunction(func, name) + pass + else: + print "/* Missing GLX protocol for %s. */" % (name) + + print footer + return + + + def print_generic_function(self, n): + size = (n + 3) & ~3 + print """static FASTCALL NOINLINE void +generic_%u_byte( GLint rop, const void * ptr ) +{ + struct glx_context * const gc = __glXGetCurrentContext(); + const GLuint cmdlen = %u; + + emit_header(gc->pc, rop, cmdlen); + (void) memcpy((void *)(gc->pc + 4), ptr, %u); + gc->pc += cmdlen; + if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); } +} +""" % (n, size + 4, size) + return + + + def common_emit_one_arg(self, p, pc, adjust, extra_offset): + if p.is_array(): + src_ptr = p.name + else: + src_ptr = "&" + p.name + + if p.is_padding: + print '(void) memset((void *)(%s + %u), 0, %s);' \ + % (pc, p.offset + adjust, p.size_string() ) + elif not extra_offset: + print '(void) memcpy((void *)(%s + %u), (void *)(%s), %s);' \ + % (pc, p.offset + adjust, src_ptr, p.size_string() ) + else: + print '(void) memcpy((void *)(%s + %u + %s), (void *)(%s), %s);' \ + % (pc, p.offset + adjust, extra_offset, src_ptr, p.size_string() ) + + def common_emit_args(self, f, pc, adjust, skip_vla): + extra_offset = None + + for p in f.parameterIterateGlxSend( not skip_vla ): + if p.name != f.img_reset: + self.common_emit_one_arg(p, pc, adjust, extra_offset) + + if p.is_variable_length(): + temp = p.size_string() + if extra_offset: + extra_offset += " + %s" % (temp) + else: + extra_offset = temp + + return + + + def pixel_emit_args(self, f, pc, large): + """Emit the arguments for a pixel function. This differs from + common_emit_args in that pixel functions may require padding + be inserted (i.e., for the missing width field for + TexImage1D), and they may also require a 'NULL image' flag + be inserted before the image data.""" + + if large: + adjust = 8 + else: + adjust = 4 + + for param in f.parameterIterateGlxSend(): + if not param.is_image(): + self.common_emit_one_arg(param, pc, adjust, None) + + if f.pad_after(param): + print '(void) memcpy((void *)(%s + %u), zero, 4);' % (pc, (param.offset + param.size()) + adjust) + + else: + [dim, width, height, depth, extent] = param.get_dimensions() + if f.glx_rop == ~0: + dim_str = "dim" + else: + dim_str = str(dim) + + if param.is_padding: + print '(void) memset((void *)(%s + %u), 0, %s);' \ + % (pc, (param.offset - 4) + adjust, param.size_string() ) + + if param.img_null_flag: + if large: + print '(void) memcpy((void *)(%s + %u), zero, 4);' % (pc, (param.offset - 4) + adjust) + else: + print '(void) memcpy((void *)(%s + %u), (void *)((%s == NULL) ? one : zero), 4);' % (pc, (param.offset - 4) + adjust, param.name) + + + pixHeaderPtr = "%s + %u" % (pc, adjust) + pcPtr = "%s + %u" % (pc, param.offset + adjust) + + if not large: + if param.img_send_null: + condition = '(compsize > 0) && (%s != NULL)' % (param.name) + else: + condition = 'compsize > 0' + + print 'if (%s) {' % (condition) + print ' (*gc->fillImage)(gc, %s, %s, %s, %s, %s, %s, %s, %s, %s);' % (dim_str, width, height, depth, param.img_format, param.img_type, param.name, pcPtr, pixHeaderPtr) + print '} else {' + print ' (void) memcpy( %s, default_pixel_store_%uD, default_pixel_store_%uD_size );' % (pixHeaderPtr, dim, dim) + print '}' + else: + print '__glXSendLargeImage(gc, compsize, %s, %s, %s, %s, %s, %s, %s, %s, %s);' % (dim_str, width, height, depth, param.img_format, param.img_type, param.name, pcPtr, pixHeaderPtr) + + return + + + def large_emit_begin(self, f, op_name = None): + if not op_name: + op_name = f.opcode_real_name() + + print 'const GLint op = %s;' % (op_name) + print 'const GLuint cmdlenLarge = cmdlen + 4;' + print 'GLubyte * const pc = __glXFlushRenderBuffer(gc, gc->pc);' + print '(void) memcpy((void *)(pc + 0), (void *)(&cmdlenLarge), 4);' + print '(void) memcpy((void *)(pc + 4), (void *)(&op), 4);' + return + + + def common_func_print_just_start(self, f, name): + print ' struct glx_context * const gc = __glXGetCurrentContext();' + + # The only reason that single and vendor private commands need + # a variable called 'dpy' is becuase they use the SyncHandle + # macro. For whatever brain-dead reason, that macro is hard- + # coded to use a variable called 'dpy' instead of taking a + # parameter. + + # FIXME Simplify the logic related to skip_condition and + # FIXME condition_list in this function. Basically, remove + # FIXME skip_condition, and just append the "dpy != NULL" type + # FIXME condition to condition_list from the start. The only + # FIXME reason it's done in this confusing way now is to + # FIXME minimize the diffs in the generated code. + + if not f.glx_rop: + for p in f.parameterIterateOutputs(): + if p.is_image() and (p.img_format != "GL_COLOR_INDEX" or p.img_type != "GL_BITMAP"): + print ' const __GLXattribute * const state = gc->client_state_private;' + break + + print ' Display * const dpy = gc->currentDpy;' + skip_condition = "dpy != NULL" + elif f.can_be_large: + skip_condition = "gc->currentDpy != NULL" + else: + skip_condition = None + + + if f.return_type != 'void': + print ' %s retval = (%s) 0;' % (f.return_type, f.return_type) + + + if name != None and name not in f.glx_vendorpriv_names: + print '#ifndef USE_XCB' + self.emit_packet_size_calculation(f, 0) + if name != None and name not in f.glx_vendorpriv_names: + print '#endif' + + condition_list = [] + for p in f.parameterIterateCounters(): + condition_list.append( "%s >= 0" % (p.name) ) + # 'counter' parameters cannot be negative + print " if (%s < 0) {" % p.name + print " __glXSetError(gc, GL_INVALID_VALUE);" + if f.return_type != 'void': + print " return 0;" + else: + print " return;" + print " }" + + if skip_condition: + condition_list.append( skip_condition ) + + if len( condition_list ) > 0: + if len( condition_list ) > 1: + skip_condition = "(%s)" % (string.join( condition_list, ") && (" )) + else: + skip_condition = "%s" % (condition_list.pop(0)) + + print ' if (__builtin_expect(%s, 1)) {' % (skip_condition) + return 1 + else: + return 0 + + + def printSingleFunction(self, f, name): + self.common_func_print_just_start(f, name) + + if self.debug: + print ' printf( "Enter %%s...\\n", "gl%s" );' % (f.name) + + if name not in f.glx_vendorpriv_names: + + # XCB specific: + print '#ifdef USE_XCB' + if self.debug: + print ' printf("\\tUsing XCB.\\n");' + print ' xcb_connection_t *c = XGetXCBConnection(dpy);' + print ' (void) __glXFlushRenderBuffer(gc, gc->pc);' + xcb_name = 'xcb_glx%s' % convertStringForXCB(name) + + iparams=[] + extra_iparams = [] + output = None + for p in f.parameterIterator(): + if p.is_output: + output = p + + if p.is_image(): + if p.img_format != "GL_COLOR_INDEX" or p.img_type != "GL_BITMAP": + extra_iparams.append("state->storePack.swapEndian") + else: + extra_iparams.append("0") + + # Hardcode this in. lsb_first param (apparently always GL_FALSE) + # also present in GetPolygonStipple, but taken care of above. + if xcb_name == "xcb_glx_read_pixels": + extra_iparams.append("0") + else: + iparams.append(p.name) + + + xcb_request = '%s(%s)' % (xcb_name, ", ".join(["c", "gc->currentContextTag"] + iparams + extra_iparams)) + + if f.needs_reply(): + print ' %s_reply_t *reply = %s_reply(c, %s, NULL);' % (xcb_name, xcb_name, xcb_request) + if output and f.reply_always_array: + print ' (void)memcpy(%s, %s_data(reply), %s_data_length(reply) * sizeof(%s));' % (output.name, xcb_name, xcb_name, output.get_base_type_string()) + + elif output and not f.reply_always_array: + if not output.is_image(): + print ' if (%s_data_length(reply) == 0)' % (xcb_name) + print ' (void)memcpy(%s, &reply->datum, sizeof(reply->datum));' % (output.name) + print ' else' + print ' (void)memcpy(%s, %s_data(reply), %s_data_length(reply) * sizeof(%s));' % (output.name, xcb_name, xcb_name, output.get_base_type_string()) + + + if f.return_type != 'void': + print ' retval = reply->ret_val;' + print ' free(reply);' + else: + print ' ' + xcb_request + ';' + print '#else' + # End of XCB specific. + + + if f.parameters != []: + pc_decl = "GLubyte const * pc =" + else: + pc_decl = "(void)" + + if name in f.glx_vendorpriv_names: + print ' %s __glXSetupVendorRequest(gc, %s, %s, cmdlen);' % (pc_decl, f.opcode_real_name(), f.opcode_vendor_name(name)) + else: + print ' %s __glXSetupSingleRequest(gc, %s, cmdlen);' % (pc_decl, f.opcode_name()) + + self.common_emit_args(f, "pc", 0, 0) + + images = f.get_images() + + for img in images: + if img.is_output: + o = f.command_fixed_length() - 4 + print ' *(int32_t *)(pc + %u) = 0;' % (o) + if img.img_format != "GL_COLOR_INDEX" or img.img_type != "GL_BITMAP": + print ' * (int8_t *)(pc + %u) = state->storePack.swapEndian;' % (o) + + if f.img_reset: + print ' * (int8_t *)(pc + %u) = %s;' % (o + 1, f.img_reset) + + + return_name = '' + if f.needs_reply(): + if f.return_type != 'void': + return_name = " retval" + return_str = " retval = (%s)" % (f.return_type) + else: + return_str = " (void)" + + got_reply = 0 + + for p in f.parameterIterateOutputs(): + if p.is_image(): + [dim, w, h, d, junk] = p.get_dimensions() + if f.dimensions_in_reply: + print " __glXReadPixelReply(dpy, gc, %u, 0, 0, 0, %s, %s, %s, GL_TRUE);" % (dim, p.img_format, p.img_type, p.name) + else: + print " __glXReadPixelReply(dpy, gc, %u, %s, %s, %s, %s, %s, %s, GL_FALSE);" % (dim, w, h, d, p.img_format, p.img_type, p.name) + + got_reply = 1 + else: + if f.reply_always_array: + aa = "GL_TRUE" + else: + aa = "GL_FALSE" + + # gl_parameter.size() returns the size + # of the entire data item. If the + # item is a fixed-size array, this is + # the size of the whole array. This + # is not what __glXReadReply wants. It + # wants the size of a single data + # element in the reply packet. + # Dividing by the array size (1 for + # non-arrays) gives us this. + + s = p.size() / p.get_element_count() + print " %s __glXReadReply(dpy, %s, %s, %s);" % (return_str, s, p.name, aa) + got_reply = 1 + + + # If a reply wasn't read to fill an output parameter, + # read a NULL reply to get the return value. + + if not got_reply: + print " %s __glXReadReply(dpy, 0, NULL, GL_FALSE);" % (return_str) + + + elif self.debug: + # Only emit the extra glFinish call for functions + # that don't already require a reply from the server. + print ' __indirect_glFinish();' + + if self.debug: + print ' printf( "Exit %%s.\\n", "gl%s" );' % (name) + + + print ' UnlockDisplay(dpy); SyncHandle();' + + if name not in f.glx_vendorpriv_names: + print '#endif /* USE_XCB */' + + print ' }' + print ' return%s;' % (return_name) + return + + + def printPixelFunction(self, f): + if self.pixel_stubs.has_key( f.name ): + # Normally gl_function::get_parameter_string could be + # used. However, this call needs to have the missing + # dimensions (e.g., a fake height value for + # glTexImage1D) added in. + + p_string = "" + for param in f.parameterIterateGlxSend(): + if param.is_padding: + continue + + p_string += ", " + param.name + + if param.is_image(): + [dim, junk, junk, junk, junk] = param.get_dimensions() + + if f.pad_after(param): + p_string += ", 1" + + print ' %s(%s, %u%s );' % (self.pixel_stubs[f.name] , f.opcode_name(), dim, p_string) + return + + + if self.common_func_print_just_start(f, None): + trailer = " }" + else: + trailer = None + + + if f.can_be_large: + print 'if (cmdlen <= gc->maxSmallRenderCommandSize) {' + print ' if ( (gc->pc + cmdlen) > gc->bufEnd ) {' + print ' (void) __glXFlushRenderBuffer(gc, gc->pc);' + print ' }' + + if f.glx_rop == ~0: + opcode = "opcode" + else: + opcode = f.opcode_real_name() + + print 'emit_header(gc->pc, %s, cmdlen);' % (opcode) + + self.pixel_emit_args( f, "gc->pc", 0 ) + print 'gc->pc += cmdlen;' + print 'if (gc->pc > gc->limit) { (void) __glXFlushRenderBuffer(gc, gc->pc); }' + + if f.can_be_large: + print '}' + print 'else {' + + self.large_emit_begin(f, opcode) + self.pixel_emit_args(f, "pc", 1) + + print '}' + + if trailer: print trailer + return + + + def printRenderFunction(self, f): + # There is a class of GL functions that take a single pointer + # as a parameter. This pointer points to a fixed-size chunk + # of data, and the protocol for this functions is very + # regular. Since they are so regular and there are so many + # of them, special case them with generic functions. On + # x86, this saves about 26KB in the libGL.so binary. + + if f.variable_length_parameter() == None and len(f.parameters) == 1: + p = f.parameters[0] + if p.is_pointer(): + cmdlen = f.command_fixed_length() + if cmdlen in self.generic_sizes: + print ' generic_%u_byte( %s, %s );' % (cmdlen, f.opcode_real_name(), p.name) + return + + if self.common_func_print_just_start(f, None): + trailer = " }" + else: + trailer = None + + if self.debug: + print 'printf( "Enter %%s...\\n", "gl%s" );' % (f.name) + + if f.can_be_large: + print 'if (cmdlen <= gc->maxSmallRenderCommandSize) {' + print ' if ( (gc->pc + cmdlen) > gc->bufEnd ) {' + print ' (void) __glXFlushRenderBuffer(gc, gc->pc);' + print ' }' + + print 'emit_header(gc->pc, %s, cmdlen);' % (f.opcode_real_name()) + + self.common_emit_args(f, "gc->pc", 4, 0) + print 'gc->pc += cmdlen;' + print 'if (__builtin_expect(gc->pc > gc->limit, 0)) { (void) __glXFlushRenderBuffer(gc, gc->pc); }' + + if f.can_be_large: + print '}' + print 'else {' + + self.large_emit_begin(f) + self.common_emit_args(f, "pc", 8, 1) + + p = f.variable_length_parameter() + print ' __glXSendLargeCommand(gc, pc, %u, %s, %s);' % (p.offset + 8, p.name, p.size_string()) + print '}' + + if self.debug: + print '__indirect_glFinish();' + print 'printf( "Exit %%s.\\n", "gl%s" );' % (f.name) + + if trailer: print trailer + return + + +class PrintGlxProtoInit_c(gl_XML.gl_print_base): + def __init__(self): + gl_XML.gl_print_base.__init__(self) + + self.name = "glX_proto_send.py (from Mesa)" + self.license = license.bsd_license_template % ( \ +"""Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +(C) Copyright IBM Corporation 2004""", "PRECISION INSIGHT, IBM") + return + + + def printRealHeader(self): + print """/** + * \\file indirect_init.c + * Initialize indirect rendering dispatch table. + * + * \\author Kevin E. Martin <kevin@precisioninsight.com> + * \\author Brian Paul <brian@precisioninsight.com> + * \\author Ian Romanick <idr@us.ibm.com> + */ + +#include "indirect_init.h" +#include "indirect.h" +#include "glapi.h" + + +/** + * No-op function used to initialize functions that have no GLX protocol + * support. + */ +static int NoOp(void) +{ + return 0; +} + +/** + * Create and initialize a new GL dispatch table. The table is initialized + * with GLX indirect rendering protocol functions. + */ +struct _glapi_table * __glXNewIndirectAPI( void ) +{ + struct _glapi_table *glAPI; + GLuint entries; + + entries = _glapi_get_dispatch_table_size(); + glAPI = (struct _glapi_table *) Xmalloc(entries * sizeof(void *)); + + /* first, set all entries to point to no-op functions */ + { + int i; + void **dispatch = (void **) glAPI; + for (i = 0; i < entries; i++) { + dispatch[i] = (void *) NoOp; + } + } + + /* now, initialize the entries we understand */""" + + def printRealFooter(self): + print """ + return glAPI; +} +""" + return + + + def printBody(self, api): + for [name, number] in api.categoryIterate(): + if number != None: + preamble = '\n /* %3u. %s */\n\n' % (int(number), name) + else: + preamble = '\n /* %s */\n\n' % (name) + + for func in api.functionIterateByCategory(name): + if func.client_supported_for_indirect(): + print '%s glAPI->%s = __indirect_gl%s;' % (preamble, func.name, func.name) + preamble = '' + + return + + +class PrintGlxProtoInit_h(gl_XML.gl_print_base): + def __init__(self): + gl_XML.gl_print_base.__init__(self) + + self.name = "glX_proto_send.py (from Mesa)" + self.license = license.bsd_license_template % ( \ +"""Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. +(C) Copyright IBM Corporation 2004""", "PRECISION INSIGHT, IBM") + self.header_tag = "_INDIRECT_H_" + + self.last_category = "" + return + + + def printRealHeader(self): + print """/** + * \\file + * Prototypes for indirect rendering functions. + * + * \\author Kevin E. Martin <kevin@precisioninsight.com> + * \\author Ian Romanick <idr@us.ibm.com> + */ +""" + self.printVisibility( "HIDDEN", "hidden" ) + self.printFastcall() + self.printNoinline() + + print """ +#include "glxclient.h" + +extern HIDDEN NOINLINE CARD32 __glXReadReply( Display *dpy, size_t size, + void * dest, GLboolean reply_is_always_array ); + +extern HIDDEN NOINLINE void __glXReadPixelReply( Display *dpy, + struct glx_context * gc, unsigned max_dim, GLint width, GLint height, + GLint depth, GLenum format, GLenum type, void * dest, + GLboolean dimensions_in_reply ); + +extern HIDDEN NOINLINE FASTCALL GLubyte * __glXSetupSingleRequest( + struct glx_context * gc, GLint sop, GLint cmdlen ); + +extern HIDDEN NOINLINE FASTCALL GLubyte * __glXSetupVendorRequest( + struct glx_context * gc, GLint code, GLint vop, GLint cmdlen ); +""" + + + def printBody(self, api): + for func in api.functionIterateGlx(): + params = func.get_parameter_string() + + print 'extern HIDDEN %s __indirect_gl%s(%s);' % (func.return_type, func.name, params) + + for n in func.entry_points: + if func.has_different_protocol(n): + asdf = func.static_glx_name(n) + if asdf not in func.static_entry_points: + print 'extern HIDDEN %s gl%s(%s);' % (func.return_type, asdf, params) + # give it a easy-to-remember name + if func.client_handcode: + print '#define gl_dispatch_stub_%s gl%s' % (n, asdf) + else: + print 'GLAPI %s GLAPIENTRY gl%s(%s);' % (func.return_type, asdf, params) + + break + + print '' + print '#ifdef GLX_SHARED_GLAPI' + print 'extern HIDDEN void (*__indirect_get_proc_address(const char *name))(void);' + print '#endif' + + +def show_usage(): + print "Usage: %s [-f input_file_name] [-m output_mode] [-d]" % sys.argv[0] + print " -m output_mode Output mode can be one of 'proto', 'init_c' or 'init_h'." + print " -d Enable extra debug information in the generated code." + sys.exit(1) + + +if __name__ == '__main__': + file_name = "gl_API.xml" + + try: + (args, trail) = getopt.getopt(sys.argv[1:], "f:m:d") + except Exception,e: + show_usage() + + debug = 0 + mode = "proto" + for (arg,val) in args: + if arg == "-f": + file_name = val + elif arg == "-m": + mode = val + elif arg == "-d": + debug = 1 + + if mode == "proto": + printer = PrintGlxProtoStubs() + elif mode == "init_c": + printer = PrintGlxProtoInit_c() + elif mode == "init_h": + printer = PrintGlxProtoInit_h() + else: + show_usage() + + + printer.debug = debug + api = gl_XML.parse_GL_API( file_name, glX_XML.glx_item_factory() ) + + printer.Print( api ) diff --git a/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml b/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml new file mode 100644 index 000000000..ac7d43ced --- /dev/null +++ b/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml @@ -0,0 +1,286 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- OpenGL + OpenGL ES --> + +<OpenGLAPI> + +<xi:include href="gl_API.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + +<!-- these can be moved to gl_API.xml --> +<xi:include href="ARB_get_program_binary.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> +<xi:include href="OES_fixed_point.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> +<xi:include href="OES_single_precision.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + +<category name="es1.0"> + <!-- from GL_OES_fixed_point --> + <enum name="FIXED" value="0x140C"/> + + <type name="fixed" size="4" /> + <type name="clampx" size="4" /> + + <function name="AlphaFuncx" alias="AlphaFuncxOES" static_dispatch="false"> + <param name="func" type="GLenum"/> + <param name="ref" type="GLclampx"/> + </function> + + <function name="ClearColorx" alias="ClearColorxOES" static_dispatch="false"> + <param name="red" type="GLclampx"/> + <param name="green" type="GLclampx"/> + <param name="blue" type="GLclampx"/> + <param name="alpha" type="GLclampx"/> + </function> + + <function name="ClearDepthx" alias="ClearDepthxOES" static_dispatch="false"> + <param name="depth" type="GLclampx"/> + </function> + + <function name="Color4x" alias="Color4xOES" static_dispatch="false"> + <param name="red" type="GLfixed"/> + <param name="green" type="GLfixed"/> + <param name="blue" type="GLfixed"/> + <param name="alpha" type="GLfixed"/> + </function> + + <function name="DepthRangex" alias="DepthRangexOES" static_dispatch="false"> + <param name="zNear" type="GLclampx"/> + <param name="zFar" type="GLclampx"/> + </function> + + <function name="Fogx" alias="FogxOES" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="Fogxv" alias="FogxvOES" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="Frustumx" alias="FrustumxOES" static_dispatch="false"> + <param name="left" type="GLfixed"/> + <param name="right" type="GLfixed"/> + <param name="bottom" type="GLfixed"/> + <param name="top" type="GLfixed"/> + <param name="zNear" type="GLfixed"/> + <param name="zFar" type="GLfixed"/> + </function> + + <function name="LightModelx" alias="LightModelxOES" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="LightModelxv" alias="LightModelxvOES" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="Lightx" alias="LightxOES" static_dispatch="false"> + <param name="light" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="Lightxv" alias="LightxvOES" static_dispatch="false"> + <param name="light" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="LineWidthx" alias="LineWidthxOES" static_dispatch="false"> + <param name="width" type="GLfixed"/> + </function> + + <function name="LoadMatrixx" alias="LoadMatrixxOES" static_dispatch="false"> + <param name="m" type="const GLfixed *" count="16"/> + </function> + + <function name="Materialx" alias="MaterialxOES" static_dispatch="false"> + <param name="face" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="Materialxv" alias="MaterialxvOES" static_dispatch="false"> + <param name="face" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="MultMatrixx" alias="MultMatrixxOES" static_dispatch="false"> + <param name="m" type="const GLfixed *" count="16"/> + </function> + + <function name="MultiTexCoord4x" alias="MultiTexCoord4xOES" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="s" type="GLfixed"/> + <param name="t" type="GLfixed"/> + <param name="r" type="GLfixed"/> + <param name="q" type="GLfixed"/> + </function> + + <function name="Normal3x" alias="Normal3xOES" static_dispatch="false"> + <param name="nx" type="GLfixed"/> + <param name="ny" type="GLfixed"/> + <param name="nz" type="GLfixed"/> + </function> + + <function name="Orthox" alias="OrthoxOES" static_dispatch="false"> + <param name="left" type="GLfixed"/> + <param name="right" type="GLfixed"/> + <param name="bottom" type="GLfixed"/> + <param name="top" type="GLfixed"/> + <param name="zNear" type="GLfixed"/> + <param name="zFar" type="GLfixed"/> + </function> + + <function name="PointSizex" alias="PointSizexOES" static_dispatch="false"> + <param name="size" type="GLfixed"/> + </function> + + <function name="PolygonOffsetx" alias="PolygonOffsetxOES" static_dispatch="false"> + <param name="factor" type="GLfixed"/> + <param name="units" type="GLfixed"/> + </function> + + <function name="Rotatex" alias="RotatexOES" static_dispatch="false"> + <param name="angle" type="GLfixed"/> + <param name="x" type="GLfixed"/> + <param name="y" type="GLfixed"/> + <param name="z" type="GLfixed"/> + </function> + + <function name="SampleCoveragex" alias="SampleCoveragexOES" static_dispatch="false"> + <param name="value" type="GLclampx"/> + <param name="invert" type="GLboolean"/> + </function> + + <function name="Scalex" alias="ScalexOES" static_dispatch="false"> + <param name="x" type="GLfixed"/> + <param name="y" type="GLfixed"/> + <param name="z" type="GLfixed"/> + </function> + + <function name="TexEnvx" alias="TexEnvxOES" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="TexEnvxv" alias="TexEnvxvOES" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <function name="TexParameterx" alias="TexParameterxOES" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="Translatex" alias="TranslatexOES" static_dispatch="false"> + <param name="x" type="GLfixed"/> + <param name="y" type="GLfixed"/> + <param name="z" type="GLfixed"/> + </function> + + <!-- from GL_OES_single_precision --> + <function name="Frustumf" alias="FrustumfOES" static_dispatch="false"> + <param name="left" type="GLfloat"/> + <param name="right" type="GLfloat"/> + <param name="bottom" type="GLfloat"/> + <param name="top" type="GLfloat"/> + <param name="zNear" type="GLfloat"/> + <param name="zFar" type="GLfloat"/> + </function> + + <function name="Orthof" alias="OrthofOES" static_dispatch="false"> + <param name="left" type="GLfloat"/> + <param name="right" type="GLfloat"/> + <param name="bottom" type="GLfloat"/> + <param name="top" type="GLfloat"/> + <param name="zNear" type="GLfloat"/> + <param name="zFar" type="GLfloat"/> + </function> +</category> + +<category name="es1.1"> + <!-- from GL_OES_fixed_point --> + <function name="ClipPlanex" alias="ClipPlanexOES" static_dispatch="false"> + <param name="plane" type="GLenum"/> + <param name="equation" type="const GLfixed *" count="4"/> + </function> + + <function name="GetClipPlanex" alias="GetClipPlanexOES" static_dispatch="false"> + <param name="plane" type="GLenum"/> + <param name="equation" type="GLfixed *" output="true" count="4"/> + </function> + + <function name="GetFixedv" alias="GetFixedvOES" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="GetLightxv" alias="GetLightxvOES" static_dispatch="false"> + <param name="light" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="GetMaterialxv" alias="GetMaterialxvOES" static_dispatch="false"> + <param name="face" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="GetTexEnvxv" alias="GetTexEnvxvOES" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="GetTexParameterxv" alias="GetTexParameterxvOES" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLfixed *" output="true" variable_param="pname"/> + </function> + + <function name="PointParameterx" alias="PointParameterxOES" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="param" type="GLfixed"/> + </function> + + <function name="PointParameterxv" alias="PointParameterxvOES" static_dispatch="false"> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *"/> + </function> + + <function name="TexParameterxv" alias="TexParameterxvOES" static_dispatch="false"> + <param name="target" type="GLenum"/> + <param name="pname" type="GLenum"/> + <param name="params" type="const GLfixed *" variable_param="pname"/> + </function> + + <!-- from GL_OES_single_precision --> + <function name="ClipPlanef" alias="ClipPlanefOES" static_dispatch="false"> + <param name="plane" type="GLenum"/> + <param name="equation" type="const GLfloat *" count="4"/> + </function> + + <function name="GetClipPlanef" alias="GetClipPlanefOES" static_dispatch="false"> + <param name="plane" type="GLenum"/> + <param name="equation" type="GLfloat *" output="true" count="4"/> + </function> +</category> + +<category name="es2.0"> + <!-- enums missing from GL_ARB_framebuffer_object and GL_EXT_framebuffer_object --> + <enum name="FRAMEBUFFER_INCOMPLETE_DIMENSIONS" value="0x8CD9"/> + <enum name="RGB565" value="0x8D62"/> +</category> + +<xi:include href="es_EXT.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + +</OpenGLAPI> diff --git a/mesalib/src/mapi/glapi/gen/gl_enums.py b/mesalib/src/mapi/glapi/gen/gl_enums.py index 0caa01030..d51b74a4a 100644 --- a/mesalib/src/mapi/glapi/gen/gl_enums.py +++ b/mesalib/src/mapi/glapi/gen/gl_enums.py @@ -46,6 +46,7 @@ class PrintGlEnums(gl_XML.gl_print_base): print '#include "main/mfeatures.h"' print '#include "main/enums.h"' print '#include "main/imports.h"' + print '#include "main/mtypes.h"' print '' print 'typedef struct {' print ' size_t offset;' @@ -111,29 +112,39 @@ const char *_mesa_lookup_enum_by_nr( int nr ) } } +/** + * Primitive names + */ +static const char *prim_names[PRIM_UNKNOWN + 1] = { + "GL_POINTS", + "GL_LINES", + "GL_LINE_LOOP", + "GL_LINE_STRIP", + "GL_TRIANGLES", + "GL_TRIANGLE_STRIP", + "GL_TRIANGLE_FAN", + "GL_QUADS", + "GL_QUAD_STRIP", + "GL_POLYGON", + "outside begin/end", + "inside unknown primitive", + "unknown state" +}; + + /* Get the name of an enum given that it is a primitive type. Avoids * GL_FALSE/GL_POINTS ambiguity and others. */ -const char *_mesa_lookup_prim_by_nr( int nr ) +const char * +_mesa_lookup_prim_by_nr(GLuint nr) { - switch (nr) { - case GL_POINTS: return "GL_POINTS"; - case GL_LINES: return "GL_LINES"; - case GL_LINE_STRIP: return "GL_LINE_STRIP"; - case GL_LINE_LOOP: return "GL_LINE_LOOP"; - case GL_TRIANGLES: return "GL_TRIANGLES"; - case GL_TRIANGLE_STRIP: return "GL_TRIANGLE_STRIP"; - case GL_TRIANGLE_FAN: return "GL_TRIANGLE_FAN"; - case GL_QUADS: return "GL_QUADS"; - case GL_QUAD_STRIP: return "GL_QUAD_STRIP"; - case GL_POLYGON: return "GL_POLYGON"; - case GL_POLYGON+1: return "OUTSIDE_BEGIN_END"; - default: return "<invalid>"; - } + if (nr < Elements(prim_names)) + return prim_names[nr]; + else + return "invalid mode"; } - int _mesa_lookup_enum_by_name( const char *symbol ) { enum_elt * f = NULL; diff --git a/mesalib/src/mapi/glapi/glapi_mapi_tmp.h b/mesalib/src/mapi/glapi/glapi_mapi_tmp.h new file mode 100644 index 000000000..286e779f9 --- /dev/null +++ b/mesalib/src/mapi/glapi/glapi_mapi_tmp.h @@ -0,0 +1,13105 @@ +/* This file is automatically generated by mapi_abi.py. Do not modify. */ + +#ifndef _GLAPI_TMP_H_ +#define _GLAPI_TMP_H_ +#ifdef USE_MGL_NAMESPACE +#define GLAPI_PREFIX(func) mgl##func +#define GLAPI_PREFIX_STR(func) "mgl"#func +#else +#define GLAPI_PREFIX(func) gl##func +#define GLAPI_PREFIX_STR(func) "gl"#func +#endif /* USE_MGL_NAMESPACE */ + +typedef int GLfixed; +typedef int GLclampx; +#endif /* _GLAPI_TMP_H_ */ + +#ifdef MAPI_TMP_DEFINES +#define GL_GLEXT_PROTOTYPES +#include "GL/gl.h" +#include "GL/glext.h" + +GLAPI void APIENTRY GLAPI_PREFIX(NewList)(GLuint list, GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(EndList)(void); +GLAPI void APIENTRY GLAPI_PREFIX(CallList)(GLuint list); +GLAPI void APIENTRY GLAPI_PREFIX(CallLists)(GLsizei n, GLenum type, const GLvoid *lists); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteLists)(GLuint list, GLsizei range); +GLAPI GLuint APIENTRY GLAPI_PREFIX(GenLists)(GLsizei range); +GLAPI void APIENTRY GLAPI_PREFIX(ListBase)(GLuint base); +GLAPI void APIENTRY GLAPI_PREFIX(Begin)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(Bitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); +GLAPI void APIENTRY GLAPI_PREFIX(Color3b)(GLbyte red, GLbyte green, GLbyte blue); +GLAPI void APIENTRY GLAPI_PREFIX(Color3bv)(const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color3d)(GLdouble red, GLdouble green, GLdouble blue); +GLAPI void APIENTRY GLAPI_PREFIX(Color3dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color3f)(GLfloat red, GLfloat green, GLfloat blue); +GLAPI void APIENTRY GLAPI_PREFIX(Color3fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color3i)(GLint red, GLint green, GLint blue); +GLAPI void APIENTRY GLAPI_PREFIX(Color3iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color3s)(GLshort red, GLshort green, GLshort blue); +GLAPI void APIENTRY GLAPI_PREFIX(Color3sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color3ub)(GLubyte red, GLubyte green, GLubyte blue); +GLAPI void APIENTRY GLAPI_PREFIX(Color3ubv)(const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color3ui)(GLuint red, GLuint green, GLuint blue); +GLAPI void APIENTRY GLAPI_PREFIX(Color3uiv)(const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color3us)(GLushort red, GLushort green, GLushort blue); +GLAPI void APIENTRY GLAPI_PREFIX(Color3usv)(const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); +GLAPI void APIENTRY GLAPI_PREFIX(Color4bv)(const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); +GLAPI void APIENTRY GLAPI_PREFIX(Color4dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI void APIENTRY GLAPI_PREFIX(Color4fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color4i)(GLint red, GLint green, GLint blue, GLint alpha); +GLAPI void APIENTRY GLAPI_PREFIX(Color4iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha); +GLAPI void APIENTRY GLAPI_PREFIX(Color4sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); +GLAPI void APIENTRY GLAPI_PREFIX(Color4ubv)(const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha); +GLAPI void APIENTRY GLAPI_PREFIX(Color4uiv)(const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(Color4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha); +GLAPI void APIENTRY GLAPI_PREFIX(Color4usv)(const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlag)(GLboolean flag); +GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlagv)(const GLboolean *flag); +GLAPI void APIENTRY GLAPI_PREFIX(End)(void); +GLAPI void APIENTRY GLAPI_PREFIX(Indexd)(GLdouble c); +GLAPI void APIENTRY GLAPI_PREFIX(Indexdv)(const GLdouble *c); +GLAPI void APIENTRY GLAPI_PREFIX(Indexf)(GLfloat c); +GLAPI void APIENTRY GLAPI_PREFIX(Indexfv)(const GLfloat *c); +GLAPI void APIENTRY GLAPI_PREFIX(Indexi)(GLint c); +GLAPI void APIENTRY GLAPI_PREFIX(Indexiv)(const GLint *c); +GLAPI void APIENTRY GLAPI_PREFIX(Indexs)(GLshort c); +GLAPI void APIENTRY GLAPI_PREFIX(Indexsv)(const GLshort *c); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3b)(GLbyte nx, GLbyte ny, GLbyte nz); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3bv)(const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3i)(GLint nx, GLint ny, GLint nz); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3s)(GLshort nx, GLshort ny, GLshort nz); +GLAPI void APIENTRY GLAPI_PREFIX(Normal3sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2d)(GLdouble x, GLdouble y); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2f)(GLfloat x, GLfloat y); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2i)(GLint x, GLint y); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2s)(GLshort x, GLshort y); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3d)(GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3f)(GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3i)(GLint x, GLint y, GLint z); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3s)(GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4i)(GLint x, GLint y, GLint z, GLint w); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(Rectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); +GLAPI void APIENTRY GLAPI_PREFIX(Rectdv)(const GLdouble *v1, const GLdouble *v2); +GLAPI void APIENTRY GLAPI_PREFIX(Rectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); +GLAPI void APIENTRY GLAPI_PREFIX(Rectfv)(const GLfloat *v1, const GLfloat *v2); +GLAPI void APIENTRY GLAPI_PREFIX(Recti)(GLint x1, GLint y1, GLint x2, GLint y2); +GLAPI void APIENTRY GLAPI_PREFIX(Rectiv)(const GLint *v1, const GLint *v2); +GLAPI void APIENTRY GLAPI_PREFIX(Rects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2); +GLAPI void APIENTRY GLAPI_PREFIX(Rectsv)(const GLshort *v1, const GLshort *v2); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1d)(GLdouble s); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1f)(GLfloat s); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1i)(GLint s); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1s)(GLshort s); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2d)(GLdouble s, GLdouble t); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2f)(GLfloat s, GLfloat t); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2i)(GLint s, GLint t); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2s)(GLshort s, GLshort t); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3d)(GLdouble s, GLdouble t, GLdouble r); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3f)(GLfloat s, GLfloat t, GLfloat r); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3i)(GLint s, GLint t, GLint r); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3s)(GLshort s, GLshort t, GLshort r); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4i)(GLint s, GLint t, GLint r, GLint q); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2d)(GLdouble x, GLdouble y); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2f)(GLfloat x, GLfloat y); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2i)(GLint x, GLint y); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2s)(GLshort x, GLshort y); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3d)(GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3f)(GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3i)(GLint x, GLint y, GLint z); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3s)(GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4i)(GLint x, GLint y, GLint z, GLint w); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(ClipPlane)(GLenum plane, const GLdouble *equation); +GLAPI void APIENTRY GLAPI_PREFIX(ColorMaterial)(GLenum face, GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(CullFace)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(Fogf)(GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(Fogfv)(GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(Fogi)(GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(Fogiv)(GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(FrontFace)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(Hint)(GLenum target, GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(Lightf)(GLenum light, GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(Lightfv)(GLenum light, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(Lighti)(GLenum light, GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(Lightiv)(GLenum light, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(LightModelf)(GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(LightModelfv)(GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(LightModeli)(GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(LightModeliv)(GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(LineStipple)(GLint factor, GLushort pattern); +GLAPI void APIENTRY GLAPI_PREFIX(LineWidth)(GLfloat width); +GLAPI void APIENTRY GLAPI_PREFIX(Materialf)(GLenum face, GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(Materialfv)(GLenum face, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(Materiali)(GLenum face, GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(Materialiv)(GLenum face, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(PointSize)(GLfloat size); +GLAPI void APIENTRY GLAPI_PREFIX(PolygonMode)(GLenum face, GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(PolygonStipple)(const GLubyte *mask); +GLAPI void APIENTRY GLAPI_PREFIX(Scissor)(GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(ShadeModel)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterf)(GLenum target, GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterfv)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexParameteri)(GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(TexParameteriv)(GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(TexEnvf)(GLenum target, GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(TexEnvfv)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexEnvi)(GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(TexEnviv)(GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexGend)(GLenum coord, GLenum pname, GLdouble param); +GLAPI void APIENTRY GLAPI_PREFIX(TexGendv)(GLenum coord, GLenum pname, const GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexGenf)(GLenum coord, GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(TexGenfv)(GLenum coord, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexGeni)(GLenum coord, GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(TexGeniv)(GLenum coord, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(FeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer); +GLAPI void APIENTRY GLAPI_PREFIX(SelectBuffer)(GLsizei size, GLuint *buffer); +GLAPI GLint APIENTRY GLAPI_PREFIX(RenderMode)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(InitNames)(void); +GLAPI void APIENTRY GLAPI_PREFIX(LoadName)(GLuint name); +GLAPI void APIENTRY GLAPI_PREFIX(PassThrough)(GLfloat token); +GLAPI void APIENTRY GLAPI_PREFIX(PopName)(void); +GLAPI void APIENTRY GLAPI_PREFIX(PushName)(GLuint name); +GLAPI void APIENTRY GLAPI_PREFIX(DrawBuffer)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(Clear)(GLbitfield mask); +GLAPI void APIENTRY GLAPI_PREFIX(ClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GLAPI void APIENTRY GLAPI_PREFIX(ClearIndex)(GLfloat c); +GLAPI void APIENTRY GLAPI_PREFIX(ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +GLAPI void APIENTRY GLAPI_PREFIX(ClearStencil)(GLint s); +GLAPI void APIENTRY GLAPI_PREFIX(ClearDepth)(GLclampd depth); +GLAPI void APIENTRY GLAPI_PREFIX(StencilMask)(GLuint mask); +GLAPI void APIENTRY GLAPI_PREFIX(ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GLAPI void APIENTRY GLAPI_PREFIX(DepthMask)(GLboolean flag); +GLAPI void APIENTRY GLAPI_PREFIX(IndexMask)(GLuint mask); +GLAPI void APIENTRY GLAPI_PREFIX(Accum)(GLenum op, GLfloat value); +GLAPI void APIENTRY GLAPI_PREFIX(Disable)(GLenum cap); +GLAPI void APIENTRY GLAPI_PREFIX(Enable)(GLenum cap); +GLAPI void APIENTRY GLAPI_PREFIX(Finish)(void); +GLAPI void APIENTRY GLAPI_PREFIX(Flush)(void); +GLAPI void APIENTRY GLAPI_PREFIX(PopAttrib)(void); +GLAPI void APIENTRY GLAPI_PREFIX(PushAttrib)(GLbitfield mask); +GLAPI void APIENTRY GLAPI_PREFIX(Map1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); +GLAPI void APIENTRY GLAPI_PREFIX(Map1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); +GLAPI void APIENTRY GLAPI_PREFIX(Map2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); +GLAPI void APIENTRY GLAPI_PREFIX(Map2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); +GLAPI void APIENTRY GLAPI_PREFIX(MapGrid1d)(GLint un, GLdouble u1, GLdouble u2); +GLAPI void APIENTRY GLAPI_PREFIX(MapGrid1f)(GLint un, GLfloat u1, GLfloat u2); +GLAPI void APIENTRY GLAPI_PREFIX(MapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); +GLAPI void APIENTRY GLAPI_PREFIX(MapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord1d)(GLdouble u); +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord1dv)(const GLdouble *u); +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord1f)(GLfloat u); +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord1fv)(const GLfloat *u); +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord2d)(GLdouble u, GLdouble v); +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord2dv)(const GLdouble *u); +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord2f)(GLfloat u, GLfloat v); +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord2fv)(const GLfloat *u); +GLAPI void APIENTRY GLAPI_PREFIX(EvalMesh1)(GLenum mode, GLint i1, GLint i2); +GLAPI void APIENTRY GLAPI_PREFIX(EvalPoint1)(GLint i); +GLAPI void APIENTRY GLAPI_PREFIX(EvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); +GLAPI void APIENTRY GLAPI_PREFIX(EvalPoint2)(GLint i, GLint j); +GLAPI void APIENTRY GLAPI_PREFIX(AlphaFunc)(GLenum func, GLclampf ref); +GLAPI void APIENTRY GLAPI_PREFIX(BlendFunc)(GLenum sfactor, GLenum dfactor); +GLAPI void APIENTRY GLAPI_PREFIX(LogicOp)(GLenum opcode); +GLAPI void APIENTRY GLAPI_PREFIX(StencilFunc)(GLenum func, GLint ref, GLuint mask); +GLAPI void APIENTRY GLAPI_PREFIX(StencilOp)(GLenum fail, GLenum zfail, GLenum zpass); +GLAPI void APIENTRY GLAPI_PREFIX(DepthFunc)(GLenum func); +GLAPI void APIENTRY GLAPI_PREFIX(PixelZoom)(GLfloat xfactor, GLfloat yfactor); +GLAPI void APIENTRY GLAPI_PREFIX(PixelTransferf)(GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(PixelTransferi)(GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(PixelStoref)(GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(PixelStorei)(GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(PixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat *values); +GLAPI void APIENTRY GLAPI_PREFIX(PixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint *values); +GLAPI void APIENTRY GLAPI_PREFIX(PixelMapusv)(GLenum map, GLsizei mapsize, const GLushort *values); +GLAPI void APIENTRY GLAPI_PREFIX(ReadBuffer)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(CopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); +GLAPI void APIENTRY GLAPI_PREFIX(ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(DrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(GetBooleanv)(GLenum pname, GLboolean *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetClipPlane)(GLenum plane, GLdouble *equation); +GLAPI void APIENTRY GLAPI_PREFIX(GetDoublev)(GLenum pname, GLdouble *params); +GLAPI GLenum APIENTRY GLAPI_PREFIX(GetError)(void); +GLAPI void APIENTRY GLAPI_PREFIX(GetFloatv)(GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetIntegerv)(GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetLightfv)(GLenum light, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetLightiv)(GLenum light, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetMapdv)(GLenum target, GLenum query, GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(GetMapfv)(GLenum target, GLenum query, GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(GetMapiv)(GLenum target, GLenum query, GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(GetMaterialfv)(GLenum face, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetMaterialiv)(GLenum face, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetPixelMapfv)(GLenum map, GLfloat *values); +GLAPI void APIENTRY GLAPI_PREFIX(GetPixelMapuiv)(GLenum map, GLuint *values); +GLAPI void APIENTRY GLAPI_PREFIX(GetPixelMapusv)(GLenum map, GLushort *values); +GLAPI void APIENTRY GLAPI_PREFIX(GetPolygonStipple)(GLubyte *mask); +GLAPI const GLubyte * APIENTRY GLAPI_PREFIX(GetString)(GLenum name); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexEnviv)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexGendv)(GLenum coord, GLenum pname, GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexGenfv)(GLenum coord, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexGeniv)(GLenum coord, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameteriv)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsEnabled)(GLenum cap); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsList)(GLuint list); +GLAPI void APIENTRY GLAPI_PREFIX(DepthRange)(GLclampd zNear, GLclampd zFar); +GLAPI void APIENTRY GLAPI_PREFIX(Frustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI void APIENTRY GLAPI_PREFIX(LoadIdentity)(void); +GLAPI void APIENTRY GLAPI_PREFIX(LoadMatrixf)(const GLfloat *m); +GLAPI void APIENTRY GLAPI_PREFIX(LoadMatrixd)(const GLdouble *m); +GLAPI void APIENTRY GLAPI_PREFIX(MatrixMode)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(MultMatrixf)(const GLfloat *m); +GLAPI void APIENTRY GLAPI_PREFIX(MultMatrixd)(const GLdouble *m); +GLAPI void APIENTRY GLAPI_PREFIX(Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GLAPI void APIENTRY GLAPI_PREFIX(PopMatrix)(void); +GLAPI void APIENTRY GLAPI_PREFIX(PushMatrix)(void); +GLAPI void APIENTRY GLAPI_PREFIX(Rotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(Scaled)(GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(Scalef)(GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(Translated)(GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(Translatef)(GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(ArrayElement)(GLint i); +GLAPI void APIENTRY GLAPI_PREFIX(ArrayElementEXT)(GLint i); +GLAPI void APIENTRY GLAPI_PREFIX(BindTexture)(GLenum target, GLuint texture); +GLAPI void APIENTRY GLAPI_PREFIX(BindTextureEXT)(GLenum target, GLuint texture); +GLAPI void APIENTRY GLAPI_PREFIX(ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(DisableClientState)(GLenum array); +GLAPI void APIENTRY GLAPI_PREFIX(DrawArrays)(GLenum mode, GLint first, GLsizei count); +GLAPI void APIENTRY GLAPI_PREFIX(DrawArraysEXT)(GLenum mode, GLint first, GLsizei count); +GLAPI void APIENTRY GLAPI_PREFIX(DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); +GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlagPointer)(GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(EnableClientState)(GLenum array); +GLAPI void APIENTRY GLAPI_PREFIX(IndexPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(Indexub)(GLubyte c); +GLAPI void APIENTRY GLAPI_PREFIX(Indexubv)(const GLubyte *c); +GLAPI void APIENTRY GLAPI_PREFIX(InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(NormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(PolygonOffset)(GLfloat factor, GLfloat units); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(AreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(AreTexturesResidentEXT)(GLsizei n, const GLuint *textures, GLboolean *residences); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexImage1DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexImage2DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteTextures)(GLsizei n, const GLuint *textures); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteTexturesEXT)(GLsizei n, const GLuint *textures); +GLAPI void APIENTRY GLAPI_PREFIX(GenTextures)(GLsizei n, GLuint *textures); +GLAPI void APIENTRY GLAPI_PREFIX(GenTexturesEXT)(GLsizei n, GLuint *textures); +GLAPI void APIENTRY GLAPI_PREFIX(GetPointerv)(GLenum pname, GLvoid **params); +GLAPI void APIENTRY GLAPI_PREFIX(GetPointervEXT)(GLenum pname, GLvoid **params); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsTexture)(GLuint texture); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsTextureEXT)(GLuint texture); +GLAPI void APIENTRY GLAPI_PREFIX(PrioritizeTextures)(GLsizei n, const GLuint *textures, const GLclampf *priorities); +GLAPI void APIENTRY GLAPI_PREFIX(PrioritizeTexturesEXT)(GLsizei n, const GLuint *textures, const GLclampf *priorities); +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(PopClientAttrib)(void); +GLAPI void APIENTRY GLAPI_PREFIX(PushClientAttrib)(GLbitfield mask); +GLAPI void APIENTRY GLAPI_PREFIX(BlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +GLAPI void APIENTRY GLAPI_PREFIX(BlendColorEXT)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquation)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationEXT)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); +GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); +GLAPI void APIENTRY GLAPI_PREFIX(ColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); +GLAPI void APIENTRY GLAPI_PREFIX(ColorTableEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); +GLAPI void APIENTRY GLAPI_PREFIX(ColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(ColorTableParameteriv)(GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(CopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTable)(GLenum target, GLenum format, GLenum type, GLvoid *table); +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid *table); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_343)(GLenum target, GLenum format, GLenum type, GLvoid *table); +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_344)(GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableParameteriv)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_345)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(ColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image); +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image); +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params); +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionParameteri)(GLenum target, GLenum pname, GLint params); +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionParameteriv)(GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(CopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY GLAPI_PREFIX(CopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(GetConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLvoid *image); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_356)(GLenum target, GLenum format, GLenum type, GLvoid *image); +GLAPI void APIENTRY GLAPI_PREFIX(GetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_357)(GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetConvolutionParameteriv)(GLenum target, GLenum pname, GLint *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_358)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetSeparableFilter)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_359)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span); +GLAPI void APIENTRY GLAPI_PREFIX(SeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); +GLAPI void APIENTRY GLAPI_PREFIX(GetHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_361)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); +GLAPI void APIENTRY GLAPI_PREFIX(GetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_362)(GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetHistogramParameteriv)(GLenum target, GLenum pname, GLint *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_363)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_364)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); +GLAPI void APIENTRY GLAPI_PREFIX(GetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_365)(GLenum target, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetMinmaxParameteriv)(GLenum target, GLenum pname, GLint *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_366)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(Histogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); +GLAPI void APIENTRY GLAPI_PREFIX(Minmax)(GLenum target, GLenum internalformat, GLboolean sink); +GLAPI void APIENTRY GLAPI_PREFIX(ResetHistogram)(GLenum target); +GLAPI void APIENTRY GLAPI_PREFIX(ResetMinmax)(GLenum target); +GLAPI void APIENTRY GLAPI_PREFIX(TexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(TexImage3DEXT)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(ActiveTextureARB)(GLenum texture); +GLAPI void APIENTRY GLAPI_PREFIX(ActiveTexture)(GLenum texture); +GLAPI void APIENTRY GLAPI_PREFIX(ClientActiveTextureARB)(GLenum texture); +GLAPI void APIENTRY GLAPI_PREFIX(ClientActiveTexture)(GLenum texture); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1dARB)(GLenum target, GLdouble s); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1d)(GLenum target, GLdouble s); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1dvARB)(GLenum target, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1dv)(GLenum target, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1fARB)(GLenum target, GLfloat s); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1f)(GLenum target, GLfloat s); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1fvARB)(GLenum target, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1fv)(GLenum target, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1iARB)(GLenum target, GLint s); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1i)(GLenum target, GLint s); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1ivARB)(GLenum target, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1iv)(GLenum target, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1sARB)(GLenum target, GLshort s); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1s)(GLenum target, GLshort s); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1svARB)(GLenum target, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1sv)(GLenum target, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2d)(GLenum target, GLdouble s, GLdouble t); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2dvARB)(GLenum target, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2dv)(GLenum target, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2f)(GLenum target, GLfloat s, GLfloat t); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2fvARB)(GLenum target, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2fv)(GLenum target, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2iARB)(GLenum target, GLint s, GLint t); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2i)(GLenum target, GLint s, GLint t); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2ivARB)(GLenum target, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2iv)(GLenum target, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2s)(GLenum target, GLshort s, GLshort t); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2svARB)(GLenum target, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2sv)(GLenum target, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3d)(GLenum target, GLdouble s, GLdouble t, GLdouble r); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3dvARB)(GLenum target, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3dv)(GLenum target, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3f)(GLenum target, GLfloat s, GLfloat t, GLfloat r); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3fvARB)(GLenum target, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3fv)(GLenum target, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3i)(GLenum target, GLint s, GLint t, GLint r); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3ivARB)(GLenum target, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3iv)(GLenum target, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3s)(GLenum target, GLshort s, GLshort t, GLshort r); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3svARB)(GLenum target, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3sv)(GLenum target, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4d)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4dvARB)(GLenum target, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4dv)(GLenum target, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4fvARB)(GLenum target, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4fv)(GLenum target, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4i)(GLenum target, GLint s, GLint t, GLint r, GLint q); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4ivARB)(GLenum target, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4iv)(GLenum target, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4s)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4svARB)(GLenum target, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4sv)(GLenum target, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(AttachShader)(GLuint program, GLuint shader); +GLAPI GLuint APIENTRY GLAPI_PREFIX(CreateProgram)(void); +GLAPI GLuint APIENTRY GLAPI_PREFIX(CreateShader)(GLenum type); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteProgram)(GLuint program); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteShader)(GLuint program); +GLAPI void APIENTRY GLAPI_PREFIX(DetachShader)(GLuint program, GLuint shader); +GLAPI void APIENTRY GLAPI_PREFIX(GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramiv)(GLuint program, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderiv)(GLuint shader, GLenum pname, GLint *params); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsProgram)(GLuint program); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsShader)(GLuint shader); +GLAPI void APIENTRY GLAPI_PREFIX(StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); +GLAPI void APIENTRY GLAPI_PREFIX(StencilMaskSeparate)(GLenum face, GLuint mask); +GLAPI void APIENTRY GLAPI_PREFIX(StencilOpSeparate)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(ClampColor)(GLenum target, GLenum clamp); +GLAPI void APIENTRY GLAPI_PREFIX(ClearBufferfi)(GLenum buffer, GLint drawbuffer, const GLfloat depth, const GLint stencil); +GLAPI void APIENTRY GLAPI_PREFIX(ClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(ClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(ClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint *value); +GLAPI const GLubyte * APIENTRY GLAPI_PREFIX(GetStringi)(GLenum name, GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(TexBuffer)(GLenum target, GLenum internalFormat, GLuint buffer); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture)(GLenum target, GLenum attachment, GLuint texture, GLint level); +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetInteger64i_v)(GLenum cap, GLuint index, GLint64 *data); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribDivisor)(GLuint index, GLuint divisor); +GLAPI void APIENTRY GLAPI_PREFIX(LoadTransposeMatrixdARB)(const GLdouble *m); +GLAPI void APIENTRY GLAPI_PREFIX(LoadTransposeMatrixd)(const GLdouble *m); +GLAPI void APIENTRY GLAPI_PREFIX(LoadTransposeMatrixfARB)(const GLfloat *m); +GLAPI void APIENTRY GLAPI_PREFIX(LoadTransposeMatrixf)(const GLfloat *m); +GLAPI void APIENTRY GLAPI_PREFIX(MultTransposeMatrixdARB)(const GLdouble *m); +GLAPI void APIENTRY GLAPI_PREFIX(MultTransposeMatrixd)(const GLdouble *m); +GLAPI void APIENTRY GLAPI_PREFIX(MultTransposeMatrixfARB)(const GLfloat *m); +GLAPI void APIENTRY GLAPI_PREFIX(MultTransposeMatrixf)(const GLfloat *m); +GLAPI void APIENTRY GLAPI_PREFIX(SampleCoverageARB)(GLclampf value, GLboolean invert); +GLAPI void APIENTRY GLAPI_PREFIX(SampleCoverage)(GLclampf value, GLboolean invert); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(GetCompressedTexImageARB)(GLenum target, GLint level, GLvoid *img); +GLAPI void APIENTRY GLAPI_PREFIX(GetCompressedTexImage)(GLenum target, GLint level, GLvoid *img); +GLAPI void APIENTRY GLAPI_PREFIX(DisableVertexAttribArrayARB)(GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(DisableVertexAttribArray)(GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(EnableVertexAttribArrayARB)(GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(EnableVertexAttribArray)(GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramStringARB)(GLenum target, GLenum pname, GLvoid *string); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramivARB)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribdv)(GLuint index, GLenum pname, GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribivARB)(GLuint index, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribiv)(GLuint index, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameter4dNV)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameter4dvNV)(GLenum target, GLuint index, const GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameter4fNV)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameter4fvNV)(GLenum target, GLuint index, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramStringARB)(GLenum target, GLenum format, GLsizei len, const GLvoid *string); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dARB)(GLuint index, GLdouble x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1d)(GLuint index, GLdouble x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dvARB)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dv)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fARB)(GLuint index, GLfloat x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1f)(GLuint index, GLfloat x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fvARB)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fv)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1sARB)(GLuint index, GLshort x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1s)(GLuint index, GLshort x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1svARB)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1sv)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2d)(GLuint index, GLdouble x, GLdouble y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dvARB)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dv)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2f)(GLuint index, GLfloat x, GLfloat y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fvARB)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fv)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2sARB)(GLuint index, GLshort x, GLshort y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2s)(GLuint index, GLshort x, GLshort y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2svARB)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2sv)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dvARB)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dv)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fvARB)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fv)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3svARB)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3sv)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NbvARB)(GLuint index, const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nbv)(GLuint index, const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NivARB)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Niv)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NsvARB)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nsv)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NubvARB)(GLuint index, const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nubv)(GLuint index, const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NuivARB)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nuiv)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NusvARB)(GLuint index, const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nusv)(GLuint index, const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4bvARB)(GLuint index, const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4bv)(GLuint index, const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dvARB)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dv)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fvARB)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fv)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ivARB)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4iv)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4svARB)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4sv)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubvARB)(GLuint index, const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubv)(GLuint index, const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4uivARB)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4uiv)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4usvARB)(GLuint index, const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4usv)(GLuint index, const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferARB)(GLenum target, GLuint buffer); +GLAPI void APIENTRY GLAPI_PREFIX(BindBuffer)(GLenum target, GLuint buffer); +GLAPI void APIENTRY GLAPI_PREFIX(BufferDataARB)(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage); +GLAPI void APIENTRY GLAPI_PREFIX(BufferData)(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); +GLAPI void APIENTRY GLAPI_PREFIX(BufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(BufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteBuffersARB)(GLsizei n, const GLuint *buffer); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteBuffers)(GLsizei n, const GLuint *buffer); +GLAPI void APIENTRY GLAPI_PREFIX(GenBuffersARB)(GLsizei n, GLuint *buffer); +GLAPI void APIENTRY GLAPI_PREFIX(GenBuffers)(GLsizei n, GLuint *buffer); +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferParameterivARB)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferParameteriv)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferPointervARB)(GLenum target, GLenum pname, GLvoid **params); +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferPointerv)(GLenum target, GLenum pname, GLvoid **params); +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsBufferARB)(GLuint buffer); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsBuffer)(GLuint buffer); +GLAPI GLvoid * APIENTRY GLAPI_PREFIX(MapBufferARB)(GLenum target, GLenum access); +GLAPI GLvoid * APIENTRY GLAPI_PREFIX(MapBuffer)(GLenum target, GLenum access); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(UnmapBufferARB)(GLenum target); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(UnmapBuffer)(GLenum target); +GLAPI void APIENTRY GLAPI_PREFIX(BeginQueryARB)(GLenum target, GLuint id); +GLAPI void APIENTRY GLAPI_PREFIX(BeginQuery)(GLenum target, GLuint id); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteQueriesARB)(GLsizei n, const GLuint *ids); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteQueries)(GLsizei n, const GLuint *ids); +GLAPI void APIENTRY GLAPI_PREFIX(EndQueryARB)(GLenum target); +GLAPI void APIENTRY GLAPI_PREFIX(EndQuery)(GLenum target); +GLAPI void APIENTRY GLAPI_PREFIX(GenQueriesARB)(GLsizei n, GLuint *ids); +GLAPI void APIENTRY GLAPI_PREFIX(GenQueries)(GLsizei n, GLuint *ids); +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryObjectivARB)(GLuint id, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryObjectiv)(GLuint id, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryObjectuiv)(GLuint id, GLenum pname, GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryivARB)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryiv)(GLenum target, GLenum pname, GLint *params); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsQueryARB)(GLuint id); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsQuery)(GLuint id); +GLAPI void APIENTRY GLAPI_PREFIX(AttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj); +GLAPI void APIENTRY GLAPI_PREFIX(CompileShaderARB)(GLhandleARB shader); +GLAPI void APIENTRY GLAPI_PREFIX(CompileShader)(GLuint shader); +GLAPI GLhandleARB APIENTRY GLAPI_PREFIX(CreateProgramObjectARB)(void); +GLAPI GLhandleARB APIENTRY GLAPI_PREFIX(CreateShaderObjectARB)(GLenum shaderType); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteObjectARB)(GLhandleARB obj); +GLAPI void APIENTRY GLAPI_PREFIX(DetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj); +GLAPI void APIENTRY GLAPI_PREFIX(GetActiveUniformARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name); +GLAPI void APIENTRY GLAPI_PREFIX(GetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GLAPI void APIENTRY GLAPI_PREFIX(GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei *length, GLhandleARB *infoLog); +GLAPI GLhandleARB APIENTRY GLAPI_PREFIX(GetHandleARB)(GLenum pname); +GLAPI void APIENTRY GLAPI_PREFIX(GetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog); +GLAPI void APIENTRY GLAPI_PREFIX(GetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderSourceARB)(GLhandleARB shader, GLsizei bufSize, GLsizei *length, GLcharARB *source); +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +GLAPI GLint APIENTRY GLAPI_PREFIX(GetUniformLocationARB)(GLhandleARB program, const GLcharARB *name); +GLAPI GLint APIENTRY GLAPI_PREFIX(GetUniformLocation)(GLuint program, const GLchar *name); +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformfvARB)(GLhandleARB program, GLint location, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformfv)(GLuint program, GLint location, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformivARB)(GLhandleARB program, GLint location, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformiv)(GLuint program, GLint location, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(LinkProgramARB)(GLhandleARB program); +GLAPI void APIENTRY GLAPI_PREFIX(LinkProgram)(GLuint program); +GLAPI void APIENTRY GLAPI_PREFIX(ShaderSourceARB)(GLhandleARB shader, GLsizei count, const GLcharARB **string, const GLint *length); +GLAPI void APIENTRY GLAPI_PREFIX(ShaderSource)(GLuint shader, GLsizei count, const GLchar **string, const GLint *length); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1fARB)(GLint location, GLfloat v0); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1f)(GLint location, GLfloat v0); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1fvARB)(GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1fv)(GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1iARB)(GLint location, GLint v0); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1i)(GLint location, GLint v0); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1ivARB)(GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1iv)(GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2fARB)(GLint location, GLfloat v0, GLfloat v1); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2f)(GLint location, GLfloat v0, GLfloat v1); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2fvARB)(GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2fv)(GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2iARB)(GLint location, GLint v0, GLint v1); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2i)(GLint location, GLint v0, GLint v1); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2ivARB)(GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2iv)(GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3fvARB)(GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3fv)(GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3i)(GLint location, GLint v0, GLint v1, GLint v2); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3ivARB)(GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3iv)(GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4fvARB)(GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4fv)(GLint location, GLsizei count, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4ivARB)(GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4iv)(GLint location, GLsizei count, const GLint *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(UseProgramObjectARB)(GLhandleARB program); +GLAPI void APIENTRY GLAPI_PREFIX(UseProgram)(GLuint program); +GLAPI void APIENTRY GLAPI_PREFIX(ValidateProgramARB)(GLhandleARB program); +GLAPI void APIENTRY GLAPI_PREFIX(ValidateProgram)(GLuint program); +GLAPI void APIENTRY GLAPI_PREFIX(BindAttribLocationARB)(GLhandleARB program, GLuint index, const GLcharARB *name); +GLAPI void APIENTRY GLAPI_PREFIX(BindAttribLocation)(GLuint program, GLuint index, const GLchar *name); +GLAPI void APIENTRY GLAPI_PREFIX(GetActiveAttribARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name); +GLAPI void APIENTRY GLAPI_PREFIX(GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GLAPI GLint APIENTRY GLAPI_PREFIX(GetAttribLocationARB)(GLhandleARB program, const GLcharARB *name); +GLAPI GLint APIENTRY GLAPI_PREFIX(GetAttribLocation)(GLuint program, const GLchar *name); +GLAPI void APIENTRY GLAPI_PREFIX(DrawBuffersARB)(GLsizei n, const GLenum *bufs); +GLAPI void APIENTRY GLAPI_PREFIX(DrawBuffers)(GLsizei n, const GLenum *bufs); +GLAPI void APIENTRY GLAPI_PREFIX(DrawBuffersATI)(GLsizei n, const GLenum *bufs); +GLAPI void APIENTRY GLAPI_PREFIX(DrawArraysInstancedARB)(GLenum mode, GLint first, GLsizei count, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(DrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(DrawArraysInstancedEXT)(GLenum mode, GLint first, GLsizei count, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsInstancedARB)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsInstancedEXT)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameteriARB)(GLuint program, GLenum pname, GLint value); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribDivisorARB)(GLuint index, GLuint divisor); +GLAPI void APIENTRY GLAPI_PREFIX(FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); +GLAPI GLvoid * APIENTRY GLAPI_PREFIX(MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +GLAPI void APIENTRY GLAPI_PREFIX(BindVertexArray)(GLuint array); +GLAPI void APIENTRY GLAPI_PREFIX(GenVertexArrays)(GLsizei n, GLuint *arrays); +GLAPI void APIENTRY GLAPI_PREFIX(CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GLAPI GLenum APIENTRY GLAPI_PREFIX(ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteSync)(GLsync sync); +GLAPI GLsync APIENTRY GLAPI_PREFIX(FenceSync)(GLenum condition, GLbitfield flags); +GLAPI void APIENTRY GLAPI_PREFIX(GetInteger64v)(GLenum pname, GLint64 *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsSync)(GLsync sync); +GLAPI void APIENTRY GLAPI_PREFIX(WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); +GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *basevertex); +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA); +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationiARB)(GLuint buf, GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA); +GLAPI void APIENTRY GLAPI_PREFIX(BlendFunciARB)(GLuint buf, GLenum src, GLenum dst); +GLAPI void APIENTRY GLAPI_PREFIX(BindTransformFeedback)(GLenum target, GLuint id); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteTransformFeedbacks)(GLsizei n, const GLuint *ids); +GLAPI void APIENTRY GLAPI_PREFIX(DrawTransformFeedback)(GLenum mode, GLuint id); +GLAPI void APIENTRY GLAPI_PREFIX(GenTransformFeedbacks)(GLsizei n, GLuint *ids); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsTransformFeedback)(GLuint id); +GLAPI void APIENTRY GLAPI_PREFIX(PauseTransformFeedback)(void); +GLAPI void APIENTRY GLAPI_PREFIX(ResumeTransformFeedback)(void); +GLAPI void APIENTRY GLAPI_PREFIX(ClearDepthf)(GLclampf depth); +GLAPI void APIENTRY GLAPI_PREFIX(DepthRangef)(GLclampf zNear, GLclampf zFar); +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); +GLAPI void APIENTRY GLAPI_PREFIX(ReleaseShaderCompiler)(void); +GLAPI void APIENTRY GLAPI_PREFIX(ShaderBinary)(GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_610)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_611)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_612)(GLuint program, GLenum pname, GLint value); +GLAPI void APIENTRY GLAPI_PREFIX(PolygonOffsetEXT)(GLfloat factor, GLfloat bias); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_614)(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_615)(const GLfloat *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_616)(GLint x, GLint y, GLint z, GLint width, GLint height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_617)(const GLint *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_618)(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_619)(const GLshort *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_620)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_621)(const GLfixed *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_622)(GLenum type, GLsizei stride, const GLvoid *pointer); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_623)(GLenum pname, GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_624)(GLenum pname, GLint *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_625)(GLenum pname, GLfloat param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_626)(GLenum pname, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_627)(GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_628)(GLenum pname, const GLint *params); +GLbitfield APIENTRY GLAPI_PREFIX(_dispatch_stub_629)(GLfixed *mantissa, GLint *exponent); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_630)(GLclampf value, GLboolean invert); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_631)(GLenum pattern); +GLAPI void APIENTRY GLAPI_PREFIX(ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfEXT)(GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterf)(GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfARB)(GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfvEXT)(GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfv)(GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfvARB)(GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(LockArraysEXT)(GLint first, GLsizei count); +GLAPI void APIENTRY GLAPI_PREFIX(UnlockArraysEXT)(void); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3b)(GLbyte red, GLbyte green, GLbyte blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bvEXT)(const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bv)(const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dvEXT)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3f)(GLfloat red, GLfloat green, GLfloat blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fvEXT)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3i)(GLint red, GLint green, GLint blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ivEXT)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3s)(GLshort red, GLshort green, GLshort blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3svEXT)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ub)(GLubyte red, GLubyte green, GLubyte blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubvEXT)(const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubv)(const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ui)(GLuint red, GLuint green, GLuint blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uivEXT)(const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uiv)(const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3us)(GLushort red, GLushort green, GLushort blue); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usvEXT)(const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usv)(const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawArraysEXT)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawArrays)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElementsEXT)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElements)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddEXT)(GLdouble coord); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordd)(GLdouble coord); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddvEXT)(const GLdouble *coord); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddv)(const GLdouble *coord); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfEXT)(GLfloat coord); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordf)(GLfloat coord); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfvEXT)(const GLfloat *coord); +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfv)(const GLfloat *coord); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_666)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +GLAPI void APIENTRY GLAPI_PREFIX(FlushVertexArrayRangeNV)(void); +GLAPI void APIENTRY GLAPI_PREFIX(VertexArrayRangeNV)(GLsizei length, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); +GLAPI void APIENTRY GLAPI_PREFIX(CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); +GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterfNV)(GLenum pname, GLfloat param); +GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterfvNV)(GLenum pname, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameteriNV)(GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterivNV)(GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); +GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(ResizeBuffersMESA)(void); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dMESA)(GLdouble x, GLdouble y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2d)(GLdouble x, GLdouble y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dARB)(GLdouble x, GLdouble y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dvMESA)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dvARB)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fMESA)(GLfloat x, GLfloat y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2f)(GLfloat x, GLfloat y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fARB)(GLfloat x, GLfloat y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fvMESA)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fvARB)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iMESA)(GLint x, GLint y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2i)(GLint x, GLint y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iARB)(GLint x, GLint y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2ivMESA)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2ivARB)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sMESA)(GLshort x, GLshort y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2s)(GLshort x, GLshort y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sARB)(GLshort x, GLshort y); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2svMESA)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2svARB)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3d)(GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dvMESA)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dv)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dvARB)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3f)(GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fvMESA)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fv)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fvARB)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iMESA)(GLint x, GLint y, GLint z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3i)(GLint x, GLint y, GLint z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iARB)(GLint x, GLint y, GLint z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3ivMESA)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iv)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3ivARB)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3s)(GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sARB)(GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3svMESA)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sv)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3svARB)(const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4dvMESA)(const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4fvMESA)(const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4ivMESA)(const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4svMESA)(const GLshort *v); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_708)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_709)(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_710)(GLsizei n, const GLuint *fences); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_711)(GLuint fence); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_712)(GLsizei n, GLuint *fences); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_713)(GLuint fence, GLenum pname, GLint *params); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_714)(GLuint fence); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_715)(GLuint fence, GLenum condition); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_716)(GLuint fence); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(AreProgramsResidentNV)(GLsizei n, const GLuint *ids, GLboolean *residences); +GLAPI void APIENTRY GLAPI_PREFIX(BindProgramNV)(GLenum target, GLuint program); +GLAPI void APIENTRY GLAPI_PREFIX(BindProgramARB)(GLenum target, GLuint program); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteProgramsNV)(GLsizei n, const GLuint *programs); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteProgramsARB)(GLsizei n, const GLuint *programs); +GLAPI void APIENTRY GLAPI_PREFIX(ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GenProgramsNV)(GLsizei n, GLuint *programs); +GLAPI void APIENTRY GLAPI_PREFIX(GenProgramsARB)(GLsizei n, GLuint *programs); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramStringNV)(GLuint id, GLenum pname, GLubyte *program); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramivNV)(GLuint id, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid **pointer); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid **pointer); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointervARB)(GLuint index, GLenum pname, GLvoid **pointer); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribivNV)(GLuint index, GLenum pname, GLint *params); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsProgramNV)(GLuint program); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsProgramARB)(GLuint program); +GLAPI void APIENTRY GLAPI_PREFIX(LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte *program); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(RequestResidentProgramsNV)(GLsizei n, const GLuint *ids); +GLAPI void APIENTRY GLAPI_PREFIX(TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dNV)(GLuint index, GLdouble x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dvNV)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fNV)(GLuint index, GLfloat x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fvNV)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1sNV)(GLuint index, GLshort x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1svNV)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dvNV)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fvNV)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2svNV)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dvNV)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fvNV)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3svNV)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dvNV)(GLuint index, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fvNV)(GLuint index, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4svNV)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubvNV)(GLuint index, const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexBumpParameterfvATI)(GLenum pname, GLfloat *param); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexBumpParameterivATI)(GLenum pname, GLint *param); +GLAPI void APIENTRY GLAPI_PREFIX(TexBumpParameterfvATI)(GLenum pname, const GLfloat *param); +GLAPI void APIENTRY GLAPI_PREFIX(TexBumpParameterivATI)(GLenum pname, const GLint *param); +GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); +GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); +GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); +GLAPI void APIENTRY GLAPI_PREFIX(BeginFragmentShaderATI)(void); +GLAPI void APIENTRY GLAPI_PREFIX(BindFragmentShaderATI)(GLuint id); +GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); +GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); +GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteFragmentShaderATI)(GLuint id); +GLAPI void APIENTRY GLAPI_PREFIX(EndFragmentShaderATI)(void); +GLAPI GLuint APIENTRY GLAPI_PREFIX(GenFragmentShadersATI)(GLuint range); +GLAPI void APIENTRY GLAPI_PREFIX(PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); +GLAPI void APIENTRY GLAPI_PREFIX(SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); +GLAPI void APIENTRY GLAPI_PREFIX(SetFragmentShaderConstantATI)(GLuint dst, const GLfloat *value); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameteriNV)(GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameteri)(GLenum pname, GLint param); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterivNV)(GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(PointParameteriv)(GLenum pname, const GLint *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_797)(GLenum face); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_798)(GLuint array); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_799)(GLsizei n, const GLuint *arrays); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteVertexArrays)(GLsizei n, const GLuint *arrays); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_800)(GLsizei n, GLuint *arrays); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_801)(GLuint array); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsVertexArray)(GLuint array); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v); +GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartIndexNV)(GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartIndex)(GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartNV)(void); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_810)(GLenum func, GLclampx ref); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_811)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_812)(GLclampx depth); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_813)(GLenum plane, const GLfixed *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_814)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_815)(GLclampx zNear, GLclampx zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_816)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_817)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_818)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_819)(GLenum plane, GLfixed *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_820)(GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_821)(GLenum light, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_822)(GLenum face, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_823)(GLenum target, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_824)(GLenum coord, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_825)(GLenum target, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_826)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_827)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_828)(GLenum light, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_829)(GLenum light, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_830)(GLfixed width); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_831)(const GLfixed *m); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_832)(GLenum face, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_833)(GLenum face, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_834)(const GLfixed *m); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_835)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_836)(GLfixed nx, GLfixed ny, GLfixed nz); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_837)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_838)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_839)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_840)(GLfixed size); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_841)(GLfixed factor, GLfixed units); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_842)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_843)(GLclampx value, GLboolean invert); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_844)(GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_845)(GLenum target, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_846)(GLenum target, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_847)(GLenum coord, GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_848)(GLenum coord, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_849)(GLenum target, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_850)(GLenum target, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_851)(GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_852)(GLenum plane, const GLfloat *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_853)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_854)(GLenum plane, GLfloat *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_855)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_856)(GLclampd zmin, GLclampd zmax); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_857)(GLenum modeRGB, GLenum modeA); +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparate)(GLenum modeRGB, GLenum modeA); +GLAPI void APIENTRY GLAPI_PREFIX(BindFramebufferEXT)(GLenum target, GLuint framebuffer); +GLAPI void APIENTRY GLAPI_PREFIX(BindFramebuffer)(GLenum target, GLuint framebuffer); +GLAPI void APIENTRY GLAPI_PREFIX(BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); +GLAPI void APIENTRY GLAPI_PREFIX(BindRenderbuffer)(GLenum target, GLuint renderbuffer); +GLAPI GLenum APIENTRY GLAPI_PREFIX(CheckFramebufferStatusEXT)(GLenum target); +GLAPI GLenum APIENTRY GLAPI_PREFIX(CheckFramebufferStatus)(GLenum target); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteFramebuffersEXT)(GLsizei n, const GLuint *framebuffers); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteFramebuffers)(GLsizei n, const GLuint *framebuffers); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteRenderbuffersEXT)(GLsizei n, const GLuint *renderbuffers); +GLAPI void APIENTRY GLAPI_PREFIX(DeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); +GLAPI void APIENTRY GLAPI_PREFIX(GenFramebuffersEXT)(GLsizei n, GLuint *framebuffers); +GLAPI void APIENTRY GLAPI_PREFIX(GenFramebuffers)(GLsizei n, GLuint *framebuffers); +GLAPI void APIENTRY GLAPI_PREFIX(GenRenderbuffersEXT)(GLsizei n, GLuint *renderbuffers); +GLAPI void APIENTRY GLAPI_PREFIX(GenRenderbuffers)(GLsizei n, GLuint *renderbuffers); +GLAPI void APIENTRY GLAPI_PREFIX(GenerateMipmapEXT)(GLenum target); +GLAPI void APIENTRY GLAPI_PREFIX(GenerateMipmap)(GLenum target); +GLAPI void APIENTRY GLAPI_PREFIX(GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsFramebufferEXT)(GLuint framebuffer); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsFramebuffer)(GLuint framebuffer); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsRenderbufferEXT)(GLuint renderbuffer); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsRenderbuffer)(GLuint renderbuffer); +GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_875)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +GLAPI void APIENTRY GLAPI_PREFIX(BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_876)(GLenum target, GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_877)(GLenum target, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY GLAPI_PREFIX(BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar *name); +GLAPI void APIENTRY GLAPI_PREFIX(BindFragDataLocation)(GLuint program, GLuint colorNumber, const GLchar *name); +GLAPI GLint APIENTRY GLAPI_PREFIX(GetFragDataLocationEXT)(GLuint program, const GLchar *name); +GLAPI GLint APIENTRY GLAPI_PREFIX(GetFragDataLocation)(GLuint program, const GLchar *name); +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformuivEXT)(GLuint program, GLint location, GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformuiv)(GLuint program, GLint location, GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uiEXT)(GLint location, GLuint x); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1ui)(GLint location, GLuint x); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uivEXT)(GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uiv)(GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uiEXT)(GLint location, GLuint x, GLuint y); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2ui)(GLint location, GLuint x, GLuint y); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uivEXT)(GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uiv)(GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3ui)(GLint location, GLuint x, GLuint y, GLuint z); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uivEXT)(GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uiv)(GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4ui)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uivEXT)(GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uiv)(GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1iEXT)(GLuint index, GLint x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1i)(GLuint index, GLint x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1ivEXT)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1iv)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uiEXT)(GLuint index, GLuint x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1ui)(GLuint index, GLuint x); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uivEXT)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uiv)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2i)(GLuint index, GLint x, GLint y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2ivEXT)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2iv)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2ui)(GLuint index, GLuint x, GLuint y); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uivEXT)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uiv)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3ivEXT)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3iv)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uivEXT)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uiv)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4bvEXT)(GLuint index, const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4bv)(GLuint index, const GLbyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ivEXT)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4iv)(GLuint index, const GLint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4svEXT)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4sv)(GLuint index, const GLshort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ubvEXT)(GLuint index, const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ubv)(GLuint index, const GLubyte *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uivEXT)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uiv)(GLuint index, const GLuint *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4usvEXT)(GLuint index, const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4usv)(GLuint index, const GLushort *v); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI void APIENTRY GLAPI_PREFIX(ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GLAPI void APIENTRY GLAPI_PREFIX(ColorMaski)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GLAPI void APIENTRY GLAPI_PREFIX(DisableIndexedEXT)(GLenum target, GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(Disablei)(GLenum target, GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(EnableIndexedEXT)(GLenum target, GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(Enablei)(GLenum target, GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean *data); +GLAPI void APIENTRY GLAPI_PREFIX(GetBooleani_v)(GLenum value, GLuint index, GLboolean *data); +GLAPI void APIENTRY GLAPI_PREFIX(GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint *data); +GLAPI void APIENTRY GLAPI_PREFIX(GetIntegeri_v)(GLenum value, GLuint index, GLint *data); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsEnabledIndexedEXT)(GLenum target, GLuint index); +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsEnabledi)(GLenum target, GLuint index); +GLAPI void APIENTRY GLAPI_PREFIX(ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); +GLAPI void APIENTRY GLAPI_PREFIX(ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIiv)(GLenum target, GLenum pname, GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIuiv)(GLenum target, GLenum pname, GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIivEXT)(GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIiv)(GLenum target, GLenum pname, const GLint *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIuiv)(GLenum target, GLenum pname, const GLuint *params); +GLAPI void APIENTRY GLAPI_PREFIX(BeginConditionalRenderNV)(GLuint query, GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(BeginConditionalRender)(GLuint query, GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(EndConditionalRenderNV)(void); +GLAPI void APIENTRY GLAPI_PREFIX(EndConditionalRender)(void); +GLAPI void APIENTRY GLAPI_PREFIX(BeginTransformFeedbackEXT)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(BeginTransformFeedback)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferBase)(GLenum target, GLuint index, GLuint buffer); +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY GLAPI_PREFIX(EndTransformFeedbackEXT)(void); +GLAPI void APIENTRY GLAPI_PREFIX(EndTransformFeedback)(void); +GLAPI void APIENTRY GLAPI_PREFIX(GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +GLAPI void APIENTRY GLAPI_PREFIX(GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); +GLAPI void APIENTRY GLAPI_PREFIX(TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char **varyings, GLenum bufferMode); +GLAPI void APIENTRY GLAPI_PREFIX(TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode); +GLAPI void APIENTRY GLAPI_PREFIX(ProvokingVertexEXT)(GLenum mode); +GLAPI void APIENTRY GLAPI_PREFIX(ProvokingVertex)(GLenum mode); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_935)(GLenum target, GLenum pname, GLvoid **params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_936)(GLenum target, GLsizei length, GLvoid *pointer); +GLAPI void APIENTRY GLAPI_PREFIX(GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint *value); +GLAPI GLenum APIENTRY GLAPI_PREFIX(ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); +GLAPI GLenum APIENTRY GLAPI_PREFIX(ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); +GLAPI void APIENTRY GLAPI_PREFIX(ActiveProgramEXT)(GLuint program); +GLAPI GLuint APIENTRY GLAPI_PREFIX(CreateShaderProgramEXT)(GLenum type, const GLchar *string); +GLAPI void APIENTRY GLAPI_PREFIX(UseShaderProgramEXT)(GLenum type, GLuint program); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_943)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_944)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_945)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_946)(GLuint id, GLenum pname, GLint64EXT *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_947)(GLuint id, GLenum pname, GLuint64EXT *params); +GLAPI void APIENTRY GLAPI_PREFIX(EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid *writeOffset); +GLAPI void APIENTRY GLAPI_PREFIX(EGLImageTargetTexture2DOES)(GLenum target, GLvoid *writeOffset); +#undef MAPI_TMP_DEFINES +#endif /* MAPI_TMP_DEFINES */ + +#ifdef MAPI_TMP_PUBLIC_ENTRIES_NO_HIDDEN +GLAPI void APIENTRY GLAPI_PREFIX(NewList)(GLuint list, GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[0]; + ((void (APIENTRY *)(GLuint list, GLenum mode)) _func)(list, mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EndList)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[1]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CallList)(GLuint list) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[2]; + ((void (APIENTRY *)(GLuint list)) _func)(list); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CallLists)(GLsizei n, GLenum type, const GLvoid *lists) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[3]; + ((void (APIENTRY *)(GLsizei n, GLenum type, const GLvoid *lists)) _func)(n, type, lists); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteLists)(GLuint list, GLsizei range) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[4]; + ((void (APIENTRY *)(GLuint list, GLsizei range)) _func)(list, range); +} + +GLAPI GLuint APIENTRY GLAPI_PREFIX(GenLists)(GLsizei range) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[5]; + return ((GLuint (APIENTRY *)(GLsizei range)) _func)(range); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ListBase)(GLuint base) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[6]; + ((void (APIENTRY *)(GLuint base)) _func)(base); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Begin)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[7]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Bitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[8]; + ((void (APIENTRY *)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)) _func)(width, height, xorig, yorig, xmove, ymove, bitmap); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3b)(GLbyte red, GLbyte green, GLbyte blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[9]; + ((void (APIENTRY *)(GLbyte red, GLbyte green, GLbyte blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3bv)(const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[10]; + ((void (APIENTRY *)(const GLbyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3d)(GLdouble red, GLdouble green, GLdouble blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[11]; + ((void (APIENTRY *)(GLdouble red, GLdouble green, GLdouble blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[12]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3f)(GLfloat red, GLfloat green, GLfloat blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[13]; + ((void (APIENTRY *)(GLfloat red, GLfloat green, GLfloat blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[14]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3i)(GLint red, GLint green, GLint blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[15]; + ((void (APIENTRY *)(GLint red, GLint green, GLint blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[16]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3s)(GLshort red, GLshort green, GLshort blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[17]; + ((void (APIENTRY *)(GLshort red, GLshort green, GLshort blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[18]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3ub)(GLubyte red, GLubyte green, GLubyte blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[19]; + ((void (APIENTRY *)(GLubyte red, GLubyte green, GLubyte blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3ubv)(const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[20]; + ((void (APIENTRY *)(const GLubyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3ui)(GLuint red, GLuint green, GLuint blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[21]; + ((void (APIENTRY *)(GLuint red, GLuint green, GLuint blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3uiv)(const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[22]; + ((void (APIENTRY *)(const GLuint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3us)(GLushort red, GLushort green, GLushort blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[23]; + ((void (APIENTRY *)(GLushort red, GLushort green, GLushort blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color3usv)(const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[24]; + ((void (APIENTRY *)(const GLushort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[25]; + ((void (APIENTRY *)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4bv)(const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[26]; + ((void (APIENTRY *)(const GLbyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[27]; + ((void (APIENTRY *)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[28]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[29]; + ((void (APIENTRY *)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[30]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4i)(GLint red, GLint green, GLint blue, GLint alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[31]; + ((void (APIENTRY *)(GLint red, GLint green, GLint blue, GLint alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[32]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[33]; + ((void (APIENTRY *)(GLshort red, GLshort green, GLshort blue, GLshort alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[34]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[35]; + ((void (APIENTRY *)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4ubv)(const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[36]; + ((void (APIENTRY *)(const GLubyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[37]; + ((void (APIENTRY *)(GLuint red, GLuint green, GLuint blue, GLuint alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4uiv)(const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[38]; + ((void (APIENTRY *)(const GLuint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[39]; + ((void (APIENTRY *)(GLushort red, GLushort green, GLushort blue, GLushort alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Color4usv)(const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[40]; + ((void (APIENTRY *)(const GLushort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlag)(GLboolean flag) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[41]; + ((void (APIENTRY *)(GLboolean flag)) _func)(flag); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlagv)(const GLboolean *flag) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[42]; + ((void (APIENTRY *)(const GLboolean *flag)) _func)(flag); +} + +GLAPI void APIENTRY GLAPI_PREFIX(End)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[43]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexd)(GLdouble c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[44]; + ((void (APIENTRY *)(GLdouble c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexdv)(const GLdouble *c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[45]; + ((void (APIENTRY *)(const GLdouble *c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexf)(GLfloat c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[46]; + ((void (APIENTRY *)(GLfloat c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexfv)(const GLfloat *c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[47]; + ((void (APIENTRY *)(const GLfloat *c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexi)(GLint c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[48]; + ((void (APIENTRY *)(GLint c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexiv)(const GLint *c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[49]; + ((void (APIENTRY *)(const GLint *c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexs)(GLshort c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[50]; + ((void (APIENTRY *)(GLshort c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexsv)(const GLshort *c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[51]; + ((void (APIENTRY *)(const GLshort *c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3b)(GLbyte nx, GLbyte ny, GLbyte nz) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[52]; + ((void (APIENTRY *)(GLbyte nx, GLbyte ny, GLbyte nz)) _func)(nx, ny, nz); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3bv)(const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[53]; + ((void (APIENTRY *)(const GLbyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[54]; + ((void (APIENTRY *)(GLdouble nx, GLdouble ny, GLdouble nz)) _func)(nx, ny, nz); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[55]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[56]; + ((void (APIENTRY *)(GLfloat nx, GLfloat ny, GLfloat nz)) _func)(nx, ny, nz); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[57]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3i)(GLint nx, GLint ny, GLint nz) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[58]; + ((void (APIENTRY *)(GLint nx, GLint ny, GLint nz)) _func)(nx, ny, nz); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[59]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3s)(GLshort nx, GLshort ny, GLshort nz) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[60]; + ((void (APIENTRY *)(GLshort nx, GLshort ny, GLshort nz)) _func)(nx, ny, nz); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Normal3sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[61]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2d)(GLdouble x, GLdouble y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[62]; + ((void (APIENTRY *)(GLdouble x, GLdouble y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[63]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2f)(GLfloat x, GLfloat y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[64]; + ((void (APIENTRY *)(GLfloat x, GLfloat y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[65]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2i)(GLint x, GLint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[66]; + ((void (APIENTRY *)(GLint x, GLint y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[67]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2s)(GLshort x, GLshort y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[68]; + ((void (APIENTRY *)(GLshort x, GLshort y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos2sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[69]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3d)(GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[70]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[71]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3f)(GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[72]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[73]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3i)(GLint x, GLint y, GLint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[74]; + ((void (APIENTRY *)(GLint x, GLint y, GLint z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[75]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3s)(GLshort x, GLshort y, GLshort z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[76]; + ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos3sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[77]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[78]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[79]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[80]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[81]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4i)(GLint x, GLint y, GLint z, GLint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[82]; + ((void (APIENTRY *)(GLint x, GLint y, GLint z, GLint w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[83]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[84]; + ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z, GLshort w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RasterPos4sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[85]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[86]; + ((void (APIENTRY *)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)) _func)(x1, y1, x2, y2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rectdv)(const GLdouble *v1, const GLdouble *v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[87]; + ((void (APIENTRY *)(const GLdouble *v1, const GLdouble *v2)) _func)(v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[88]; + ((void (APIENTRY *)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)) _func)(x1, y1, x2, y2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rectfv)(const GLfloat *v1, const GLfloat *v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[89]; + ((void (APIENTRY *)(const GLfloat *v1, const GLfloat *v2)) _func)(v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Recti)(GLint x1, GLint y1, GLint x2, GLint y2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[90]; + ((void (APIENTRY *)(GLint x1, GLint y1, GLint x2, GLint y2)) _func)(x1, y1, x2, y2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rectiv)(const GLint *v1, const GLint *v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[91]; + ((void (APIENTRY *)(const GLint *v1, const GLint *v2)) _func)(v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[92]; + ((void (APIENTRY *)(GLshort x1, GLshort y1, GLshort x2, GLshort y2)) _func)(x1, y1, x2, y2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rectsv)(const GLshort *v1, const GLshort *v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[93]; + ((void (APIENTRY *)(const GLshort *v1, const GLshort *v2)) _func)(v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1d)(GLdouble s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[94]; + ((void (APIENTRY *)(GLdouble s)) _func)(s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[95]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1f)(GLfloat s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[96]; + ((void (APIENTRY *)(GLfloat s)) _func)(s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[97]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1i)(GLint s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[98]; + ((void (APIENTRY *)(GLint s)) _func)(s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[99]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1s)(GLshort s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[100]; + ((void (APIENTRY *)(GLshort s)) _func)(s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord1sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[101]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2d)(GLdouble s, GLdouble t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[102]; + ((void (APIENTRY *)(GLdouble s, GLdouble t)) _func)(s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[103]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2f)(GLfloat s, GLfloat t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[104]; + ((void (APIENTRY *)(GLfloat s, GLfloat t)) _func)(s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[105]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2i)(GLint s, GLint t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[106]; + ((void (APIENTRY *)(GLint s, GLint t)) _func)(s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[107]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2s)(GLshort s, GLshort t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[108]; + ((void (APIENTRY *)(GLshort s, GLshort t)) _func)(s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord2sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[109]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3d)(GLdouble s, GLdouble t, GLdouble r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[110]; + ((void (APIENTRY *)(GLdouble s, GLdouble t, GLdouble r)) _func)(s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[111]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3f)(GLfloat s, GLfloat t, GLfloat r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[112]; + ((void (APIENTRY *)(GLfloat s, GLfloat t, GLfloat r)) _func)(s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[113]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3i)(GLint s, GLint t, GLint r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[114]; + ((void (APIENTRY *)(GLint s, GLint t, GLint r)) _func)(s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[115]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3s)(GLshort s, GLshort t, GLshort r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[116]; + ((void (APIENTRY *)(GLshort s, GLshort t, GLshort r)) _func)(s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord3sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[117]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[118]; + ((void (APIENTRY *)(GLdouble s, GLdouble t, GLdouble r, GLdouble q)) _func)(s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[119]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[120]; + ((void (APIENTRY *)(GLfloat s, GLfloat t, GLfloat r, GLfloat q)) _func)(s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[121]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4i)(GLint s, GLint t, GLint r, GLint q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[122]; + ((void (APIENTRY *)(GLint s, GLint t, GLint r, GLint q)) _func)(s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[123]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[124]; + ((void (APIENTRY *)(GLshort s, GLshort t, GLshort r, GLshort q)) _func)(s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoord4sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[125]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2d)(GLdouble x, GLdouble y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[126]; + ((void (APIENTRY *)(GLdouble x, GLdouble y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[127]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2f)(GLfloat x, GLfloat y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[128]; + ((void (APIENTRY *)(GLfloat x, GLfloat y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[129]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2i)(GLint x, GLint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[130]; + ((void (APIENTRY *)(GLint x, GLint y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[131]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2s)(GLshort x, GLshort y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[132]; + ((void (APIENTRY *)(GLshort x, GLshort y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex2sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[133]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3d)(GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[134]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[135]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3f)(GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[136]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[137]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3i)(GLint x, GLint y, GLint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[138]; + ((void (APIENTRY *)(GLint x, GLint y, GLint z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[139]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3s)(GLshort x, GLshort y, GLshort z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[140]; + ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex3sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[141]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[142]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[143]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[144]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[145]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4i)(GLint x, GLint y, GLint z, GLint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[146]; + ((void (APIENTRY *)(GLint x, GLint y, GLint z, GLint w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[147]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[148]; + ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z, GLshort w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Vertex4sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[149]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClipPlane)(GLenum plane, const GLdouble *equation) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[150]; + ((void (APIENTRY *)(GLenum plane, const GLdouble *equation)) _func)(plane, equation); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorMaterial)(GLenum face, GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[151]; + ((void (APIENTRY *)(GLenum face, GLenum mode)) _func)(face, mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CullFace)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[152]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Fogf)(GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[153]; + ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Fogfv)(GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[154]; + ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Fogi)(GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[155]; + ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Fogiv)(GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[156]; + ((void (APIENTRY *)(GLenum pname, const GLint *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FrontFace)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[157]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Hint)(GLenum target, GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[158]; + ((void (APIENTRY *)(GLenum target, GLenum mode)) _func)(target, mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Lightf)(GLenum light, GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[159]; + ((void (APIENTRY *)(GLenum light, GLenum pname, GLfloat param)) _func)(light, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Lightfv)(GLenum light, GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[160]; + ((void (APIENTRY *)(GLenum light, GLenum pname, const GLfloat *params)) _func)(light, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Lighti)(GLenum light, GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[161]; + ((void (APIENTRY *)(GLenum light, GLenum pname, GLint param)) _func)(light, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Lightiv)(GLenum light, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[162]; + ((void (APIENTRY *)(GLenum light, GLenum pname, const GLint *params)) _func)(light, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LightModelf)(GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[163]; + ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LightModelfv)(GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[164]; + ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LightModeli)(GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[165]; + ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LightModeliv)(GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[166]; + ((void (APIENTRY *)(GLenum pname, const GLint *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LineStipple)(GLint factor, GLushort pattern) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[167]; + ((void (APIENTRY *)(GLint factor, GLushort pattern)) _func)(factor, pattern); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LineWidth)(GLfloat width) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[168]; + ((void (APIENTRY *)(GLfloat width)) _func)(width); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Materialf)(GLenum face, GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[169]; + ((void (APIENTRY *)(GLenum face, GLenum pname, GLfloat param)) _func)(face, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Materialfv)(GLenum face, GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[170]; + ((void (APIENTRY *)(GLenum face, GLenum pname, const GLfloat *params)) _func)(face, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Materiali)(GLenum face, GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[171]; + ((void (APIENTRY *)(GLenum face, GLenum pname, GLint param)) _func)(face, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Materialiv)(GLenum face, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[172]; + ((void (APIENTRY *)(GLenum face, GLenum pname, const GLint *params)) _func)(face, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointSize)(GLfloat size) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[173]; + ((void (APIENTRY *)(GLfloat size)) _func)(size); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PolygonMode)(GLenum face, GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[174]; + ((void (APIENTRY *)(GLenum face, GLenum mode)) _func)(face, mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PolygonStipple)(const GLubyte *mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[175]; + ((void (APIENTRY *)(const GLubyte *mask)) _func)(mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Scissor)(GLint x, GLint y, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[176]; + ((void (APIENTRY *)(GLint x, GLint y, GLsizei width, GLsizei height)) _func)(x, y, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ShadeModel)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[177]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterf)(GLenum target, GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[178]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat param)) _func)(target, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterfv)(GLenum target, GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[179]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexParameteri)(GLenum target, GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[180]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint param)) _func)(target, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexParameteriv)(GLenum target, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[181]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[182]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, internalformat, width, border, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[183]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, internalformat, width, height, border, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexEnvf)(GLenum target, GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[184]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat param)) _func)(target, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexEnvfv)(GLenum target, GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[185]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexEnvi)(GLenum target, GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[186]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint param)) _func)(target, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexEnviv)(GLenum target, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[187]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexGend)(GLenum coord, GLenum pname, GLdouble param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[188]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, GLdouble param)) _func)(coord, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexGendv)(GLenum coord, GLenum pname, const GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[189]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, const GLdouble *params)) _func)(coord, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexGenf)(GLenum coord, GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[190]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, GLfloat param)) _func)(coord, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexGenfv)(GLenum coord, GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[191]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, const GLfloat *params)) _func)(coord, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexGeni)(GLenum coord, GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[192]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, GLint param)) _func)(coord, pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexGeniv)(GLenum coord, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[193]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, const GLint *params)) _func)(coord, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[194]; + ((void (APIENTRY *)(GLsizei size, GLenum type, GLfloat *buffer)) _func)(size, type, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SelectBuffer)(GLsizei size, GLuint *buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[195]; + ((void (APIENTRY *)(GLsizei size, GLuint *buffer)) _func)(size, buffer); +} + +GLAPI GLint APIENTRY GLAPI_PREFIX(RenderMode)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[196]; + return ((GLint (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(InitNames)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[197]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadName)(GLuint name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[198]; + ((void (APIENTRY *)(GLuint name)) _func)(name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PassThrough)(GLfloat token) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[199]; + ((void (APIENTRY *)(GLfloat token)) _func)(token); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PopName)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[200]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PushName)(GLuint name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[201]; + ((void (APIENTRY *)(GLuint name)) _func)(name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawBuffer)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[202]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Clear)(GLbitfield mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[203]; + ((void (APIENTRY *)(GLbitfield mask)) _func)(mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[204]; + ((void (APIENTRY *)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearIndex)(GLfloat c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[205]; + ((void (APIENTRY *)(GLfloat c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[206]; + ((void (APIENTRY *)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearStencil)(GLint s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[207]; + ((void (APIENTRY *)(GLint s)) _func)(s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearDepth)(GLclampd depth) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[208]; + ((void (APIENTRY *)(GLclampd depth)) _func)(depth); +} + +GLAPI void APIENTRY GLAPI_PREFIX(StencilMask)(GLuint mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[209]; + ((void (APIENTRY *)(GLuint mask)) _func)(mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[210]; + ((void (APIENTRY *)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DepthMask)(GLboolean flag) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[211]; + ((void (APIENTRY *)(GLboolean flag)) _func)(flag); +} + +GLAPI void APIENTRY GLAPI_PREFIX(IndexMask)(GLuint mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[212]; + ((void (APIENTRY *)(GLuint mask)) _func)(mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Accum)(GLenum op, GLfloat value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[213]; + ((void (APIENTRY *)(GLenum op, GLfloat value)) _func)(op, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Disable)(GLenum cap) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[214]; + ((void (APIENTRY *)(GLenum cap)) _func)(cap); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Enable)(GLenum cap) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[215]; + ((void (APIENTRY *)(GLenum cap)) _func)(cap); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Finish)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[216]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Flush)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[217]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PopAttrib)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[218]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PushAttrib)(GLbitfield mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[219]; + ((void (APIENTRY *)(GLbitfield mask)) _func)(mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Map1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[220]; + ((void (APIENTRY *)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)) _func)(target, u1, u2, stride, order, points); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Map1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[221]; + ((void (APIENTRY *)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)) _func)(target, u1, u2, stride, order, points); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Map2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[222]; + ((void (APIENTRY *)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)) _func)(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Map2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[223]; + ((void (APIENTRY *)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)) _func)(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MapGrid1d)(GLint un, GLdouble u1, GLdouble u2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[224]; + ((void (APIENTRY *)(GLint un, GLdouble u1, GLdouble u2)) _func)(un, u1, u2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MapGrid1f)(GLint un, GLfloat u1, GLfloat u2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[225]; + ((void (APIENTRY *)(GLint un, GLfloat u1, GLfloat u2)) _func)(un, u1, u2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[226]; + ((void (APIENTRY *)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)) _func)(un, u1, u2, vn, v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[227]; + ((void (APIENTRY *)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)) _func)(un, u1, u2, vn, v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord1d)(GLdouble u) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[228]; + ((void (APIENTRY *)(GLdouble u)) _func)(u); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord1dv)(const GLdouble *u) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[229]; + ((void (APIENTRY *)(const GLdouble *u)) _func)(u); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord1f)(GLfloat u) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[230]; + ((void (APIENTRY *)(GLfloat u)) _func)(u); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord1fv)(const GLfloat *u) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[231]; + ((void (APIENTRY *)(const GLfloat *u)) _func)(u); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord2d)(GLdouble u, GLdouble v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[232]; + ((void (APIENTRY *)(GLdouble u, GLdouble v)) _func)(u, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord2dv)(const GLdouble *u) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[233]; + ((void (APIENTRY *)(const GLdouble *u)) _func)(u); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord2f)(GLfloat u, GLfloat v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[234]; + ((void (APIENTRY *)(GLfloat u, GLfloat v)) _func)(u, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalCoord2fv)(const GLfloat *u) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[235]; + ((void (APIENTRY *)(const GLfloat *u)) _func)(u); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalMesh1)(GLenum mode, GLint i1, GLint i2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[236]; + ((void (APIENTRY *)(GLenum mode, GLint i1, GLint i2)) _func)(mode, i1, i2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalPoint1)(GLint i) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[237]; + ((void (APIENTRY *)(GLint i)) _func)(i); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[238]; + ((void (APIENTRY *)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)) _func)(mode, i1, i2, j1, j2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EvalPoint2)(GLint i, GLint j) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[239]; + ((void (APIENTRY *)(GLint i, GLint j)) _func)(i, j); +} + +GLAPI void APIENTRY GLAPI_PREFIX(AlphaFunc)(GLenum func, GLclampf ref) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[240]; + ((void (APIENTRY *)(GLenum func, GLclampf ref)) _func)(func, ref); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendFunc)(GLenum sfactor, GLenum dfactor) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[241]; + ((void (APIENTRY *)(GLenum sfactor, GLenum dfactor)) _func)(sfactor, dfactor); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LogicOp)(GLenum opcode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[242]; + ((void (APIENTRY *)(GLenum opcode)) _func)(opcode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(StencilFunc)(GLenum func, GLint ref, GLuint mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[243]; + ((void (APIENTRY *)(GLenum func, GLint ref, GLuint mask)) _func)(func, ref, mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(StencilOp)(GLenum fail, GLenum zfail, GLenum zpass) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[244]; + ((void (APIENTRY *)(GLenum fail, GLenum zfail, GLenum zpass)) _func)(fail, zfail, zpass); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DepthFunc)(GLenum func) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[245]; + ((void (APIENTRY *)(GLenum func)) _func)(func); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PixelZoom)(GLfloat xfactor, GLfloat yfactor) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[246]; + ((void (APIENTRY *)(GLfloat xfactor, GLfloat yfactor)) _func)(xfactor, yfactor); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PixelTransferf)(GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[247]; + ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PixelTransferi)(GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[248]; + ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PixelStoref)(GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[249]; + ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PixelStorei)(GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[250]; + ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[251]; + ((void (APIENTRY *)(GLenum map, GLsizei mapsize, const GLfloat *values)) _func)(map, mapsize, values); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[252]; + ((void (APIENTRY *)(GLenum map, GLsizei mapsize, const GLuint *values)) _func)(map, mapsize, values); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PixelMapusv)(GLenum map, GLsizei mapsize, const GLushort *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[253]; + ((void (APIENTRY *)(GLenum map, GLsizei mapsize, const GLushort *values)) _func)(map, mapsize, values); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ReadBuffer)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[254]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[255]; + ((void (APIENTRY *)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)) _func)(x, y, width, height, type); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[256]; + ((void (APIENTRY *)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)) _func)(x, y, width, height, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[257]; + ((void (APIENTRY *)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)) _func)(width, height, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBooleanv)(GLenum pname, GLboolean *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[258]; + ((void (APIENTRY *)(GLenum pname, GLboolean *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetClipPlane)(GLenum plane, GLdouble *equation) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[259]; + ((void (APIENTRY *)(GLenum plane, GLdouble *equation)) _func)(plane, equation); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetDoublev)(GLenum pname, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[260]; + ((void (APIENTRY *)(GLenum pname, GLdouble *params)) _func)(pname, params); +} + +GLAPI GLenum APIENTRY GLAPI_PREFIX(GetError)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[261]; + return ((GLenum (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetFloatv)(GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[262]; + ((void (APIENTRY *)(GLenum pname, GLfloat *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetIntegerv)(GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[263]; + ((void (APIENTRY *)(GLenum pname, GLint *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetLightfv)(GLenum light, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[264]; + ((void (APIENTRY *)(GLenum light, GLenum pname, GLfloat *params)) _func)(light, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetLightiv)(GLenum light, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[265]; + ((void (APIENTRY *)(GLenum light, GLenum pname, GLint *params)) _func)(light, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetMapdv)(GLenum target, GLenum query, GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[266]; + ((void (APIENTRY *)(GLenum target, GLenum query, GLdouble *v)) _func)(target, query, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetMapfv)(GLenum target, GLenum query, GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[267]; + ((void (APIENTRY *)(GLenum target, GLenum query, GLfloat *v)) _func)(target, query, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetMapiv)(GLenum target, GLenum query, GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[268]; + ((void (APIENTRY *)(GLenum target, GLenum query, GLint *v)) _func)(target, query, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetMaterialfv)(GLenum face, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[269]; + ((void (APIENTRY *)(GLenum face, GLenum pname, GLfloat *params)) _func)(face, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetMaterialiv)(GLenum face, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[270]; + ((void (APIENTRY *)(GLenum face, GLenum pname, GLint *params)) _func)(face, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetPixelMapfv)(GLenum map, GLfloat *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[271]; + ((void (APIENTRY *)(GLenum map, GLfloat *values)) _func)(map, values); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetPixelMapuiv)(GLenum map, GLuint *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[272]; + ((void (APIENTRY *)(GLenum map, GLuint *values)) _func)(map, values); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetPixelMapusv)(GLenum map, GLushort *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[273]; + ((void (APIENTRY *)(GLenum map, GLushort *values)) _func)(map, values); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetPolygonStipple)(GLubyte *mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[274]; + ((void (APIENTRY *)(GLubyte *mask)) _func)(mask); +} + +GLAPI const GLubyte * APIENTRY GLAPI_PREFIX(GetString)(GLenum name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[275]; + return ((const GLubyte * (APIENTRY *)(GLenum name)) _func)(name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[276]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexEnviv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[277]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexGendv)(GLenum coord, GLenum pname, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[278]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, GLdouble *params)) _func)(coord, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexGenfv)(GLenum coord, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[279]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, GLfloat *params)) _func)(coord, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexGeniv)(GLenum coord, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[280]; + ((void (APIENTRY *)(GLenum coord, GLenum pname, GLint *params)) _func)(coord, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[281]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)) _func)(target, level, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[282]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameteriv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[283]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[284]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum pname, GLfloat *params)) _func)(target, level, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[285]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum pname, GLint *params)) _func)(target, level, pname, params); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsEnabled)(GLenum cap) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[286]; + return ((GLboolean (APIENTRY *)(GLenum cap)) _func)(cap); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsList)(GLuint list) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[287]; + return ((GLboolean (APIENTRY *)(GLuint list)) _func)(list); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DepthRange)(GLclampd zNear, GLclampd zFar) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[288]; + ((void (APIENTRY *)(GLclampd zNear, GLclampd zFar)) _func)(zNear, zFar); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Frustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[289]; + ((void (APIENTRY *)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)) _func)(left, right, bottom, top, zNear, zFar); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadIdentity)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[290]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadMatrixf)(const GLfloat *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[291]; + ((void (APIENTRY *)(const GLfloat *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadMatrixd)(const GLdouble *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[292]; + ((void (APIENTRY *)(const GLdouble *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MatrixMode)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[293]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultMatrixf)(const GLfloat *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[294]; + ((void (APIENTRY *)(const GLfloat *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultMatrixd)(const GLdouble *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[295]; + ((void (APIENTRY *)(const GLdouble *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[296]; + ((void (APIENTRY *)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)) _func)(left, right, bottom, top, zNear, zFar); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PopMatrix)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[297]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PushMatrix)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[298]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[299]; + ((void (APIENTRY *)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)) _func)(angle, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[300]; + ((void (APIENTRY *)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)) _func)(angle, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Scaled)(GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[301]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Scalef)(GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[302]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Translated)(GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[303]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Translatef)(GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[304]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Viewport)(GLint x, GLint y, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[305]; + ((void (APIENTRY *)(GLint x, GLint y, GLsizei width, GLsizei height)) _func)(x, y, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ArrayElement)(GLint i) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[306]; + ((void (APIENTRY *)(GLint i)) _func)(i); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ArrayElementEXT)(GLint i) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[306]; + ((void (APIENTRY *)(GLint i)) _func)(i); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindTexture)(GLenum target, GLuint texture) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[307]; + ((void (APIENTRY *)(GLenum target, GLuint texture)) _func)(target, texture); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindTextureEXT)(GLenum target, GLuint texture) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[307]; + ((void (APIENTRY *)(GLenum target, GLuint texture)) _func)(target, texture); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[308]; + ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(size, type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DisableClientState)(GLenum array) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[309]; + ((void (APIENTRY *)(GLenum array)) _func)(array); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawArrays)(GLenum mode, GLint first, GLsizei count) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[310]; + ((void (APIENTRY *)(GLenum mode, GLint first, GLsizei count)) _func)(mode, first, count); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawArraysEXT)(GLenum mode, GLint first, GLsizei count) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[310]; + ((void (APIENTRY *)(GLenum mode, GLint first, GLsizei count)) _func)(mode, first, count); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[311]; + ((void (APIENTRY *)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)) _func)(mode, count, type, indices); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlagPointer)(GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[312]; + ((void (APIENTRY *)(GLsizei stride, const GLvoid *pointer)) _func)(stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EnableClientState)(GLenum array) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[313]; + ((void (APIENTRY *)(GLenum array)) _func)(array); +} + +GLAPI void APIENTRY GLAPI_PREFIX(IndexPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[314]; + ((void (APIENTRY *)(GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexub)(GLubyte c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[315]; + ((void (APIENTRY *)(GLubyte c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Indexubv)(const GLubyte *c) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[316]; + ((void (APIENTRY *)(const GLubyte *c)) _func)(c); +} + +GLAPI void APIENTRY GLAPI_PREFIX(InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[317]; + ((void (APIENTRY *)(GLenum format, GLsizei stride, const GLvoid *pointer)) _func)(format, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(NormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[318]; + ((void (APIENTRY *)(GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PolygonOffset)(GLfloat factor, GLfloat units) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[319]; + ((void (APIENTRY *)(GLfloat factor, GLfloat units)) _func)(factor, units); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[320]; + ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(size, type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[321]; + ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(size, type, stride, pointer); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(AreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[322]; + return ((GLboolean (APIENTRY *)(GLsizei n, const GLuint *textures, GLboolean *residences)) _func)(n, textures, residences); +} + +#if 0 +GLAPI GLboolean APIENTRY GLAPI_PREFIX(AreTexturesResidentEXT)(GLsizei n, const GLuint *textures, GLboolean *residences) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[322]; + return ((GLboolean (APIENTRY *)(GLsizei n, const GLuint *textures, GLboolean *residences)) _func)(n, textures, residences); +} +#endif + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[323]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)) _func)(target, level, internalformat, x, y, width, border); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexImage1DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[323]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)) _func)(target, level, internalformat, x, y, width, border); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[324]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) _func)(target, level, internalformat, x, y, width, height, border); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexImage2DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[324]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) _func)(target, level, internalformat, x, y, width, height, border); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[325]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)) _func)(target, level, xoffset, x, y, width); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[325]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)) _func)(target, level, xoffset, x, y, width); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[326]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) _func)(target, level, xoffset, yoffset, x, y, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[326]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) _func)(target, level, xoffset, yoffset, x, y, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteTextures)(GLsizei n, const GLuint *textures) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[327]; + ((void (APIENTRY *)(GLsizei n, const GLuint *textures)) _func)(n, textures); +} + +#if 0 +GLAPI void APIENTRY GLAPI_PREFIX(DeleteTexturesEXT)(GLsizei n, const GLuint *textures) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[327]; + ((void (APIENTRY *)(GLsizei n, const GLuint *textures)) _func)(n, textures); +} +#endif + +GLAPI void APIENTRY GLAPI_PREFIX(GenTextures)(GLsizei n, GLuint *textures) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[328]; + ((void (APIENTRY *)(GLsizei n, GLuint *textures)) _func)(n, textures); +} + +#if 0 +GLAPI void APIENTRY GLAPI_PREFIX(GenTexturesEXT)(GLsizei n, GLuint *textures) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[328]; + ((void (APIENTRY *)(GLsizei n, GLuint *textures)) _func)(n, textures); +} +#endif + +GLAPI void APIENTRY GLAPI_PREFIX(GetPointerv)(GLenum pname, GLvoid **params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[329]; + ((void (APIENTRY *)(GLenum pname, GLvoid **params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetPointervEXT)(GLenum pname, GLvoid **params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[329]; + ((void (APIENTRY *)(GLenum pname, GLvoid **params)) _func)(pname, params); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsTexture)(GLuint texture) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[330]; + return ((GLboolean (APIENTRY *)(GLuint texture)) _func)(texture); +} + +#if 0 +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsTextureEXT)(GLuint texture) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[330]; + return ((GLboolean (APIENTRY *)(GLuint texture)) _func)(texture); +} +#endif + +GLAPI void APIENTRY GLAPI_PREFIX(PrioritizeTextures)(GLsizei n, const GLuint *textures, const GLclampf *priorities) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[331]; + ((void (APIENTRY *)(GLsizei n, const GLuint *textures, const GLclampf *priorities)) _func)(n, textures, priorities); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PrioritizeTexturesEXT)(GLsizei n, const GLuint *textures, const GLclampf *priorities) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[331]; + ((void (APIENTRY *)(GLsizei n, const GLuint *textures, const GLclampf *priorities)) _func)(n, textures, priorities); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[332]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, xoffset, width, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[332]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, xoffset, width, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[333]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, xoffset, yoffset, width, height, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[333]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, xoffset, yoffset, width, height, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PopClientAttrib)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[334]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PushClientAttrib)(GLbitfield mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[335]; + ((void (APIENTRY *)(GLbitfield mask)) _func)(mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[336]; + ((void (APIENTRY *)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendColorEXT)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[336]; + ((void (APIENTRY *)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) _func)(red, green, blue, alpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquation)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[337]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationEXT)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[337]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[338]; + ((void (APIENTRY *)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)) _func)(mode, start, end, count, type, indices); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[338]; + ((void (APIENTRY *)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)) _func)(mode, start, end, count, type, indices); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[339]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)) _func)(target, internalformat, width, format, type, table); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorTableEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[339]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)) _func)(target, internalformat, width, format, type, table); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[340]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorTableParameteriv)(GLenum target, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[341]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[342]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)) _func)(target, internalformat, x, y, width); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTable)(GLenum target, GLenum format, GLenum type, GLvoid *table) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[343]; + ((void (APIENTRY *)(GLenum target, GLenum format, GLenum type, GLvoid *table)) _func)(target, format, type, table); +} + +#if 0 +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid *table) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[343]; + ((void (APIENTRY *)(GLenum target, GLenum format, GLenum type, GLvoid *table)) _func)(target, format, type, table); +} +#endif + +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[344]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat *params)) _func)(target, pname, params); +} + +#if 0 +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[344]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat *params)) _func)(target, pname, params); +} +#endif + +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableParameteriv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[345]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +#if 0 +GLAPI void APIENTRY GLAPI_PREFIX(GetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[345]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} +#endif + +GLAPI void APIENTRY GLAPI_PREFIX(ColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[346]; + ((void (APIENTRY *)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)) _func)(target, start, count, format, type, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[347]; + ((void (APIENTRY *)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)) _func)(target, start, x, y, width); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[348]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)) _func)(target, internalformat, width, format, type, image); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[349]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)) _func)(target, internalformat, width, height, format, type, image); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[350]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[351]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionParameteri)(GLenum target, GLenum pname, GLint params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[352]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ConvolutionParameteriv)(GLenum target, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[353]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[354]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)) _func)(target, internalformat, x, y, width); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[355]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)) _func)(target, internalformat, x, y, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLvoid *image) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[356]; + ((void (APIENTRY *)(GLenum target, GLenum format, GLenum type, GLvoid *image)) _func)(target, format, type, image); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[357]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetConvolutionParameteriv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[358]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetSeparableFilter)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[359]; + ((void (APIENTRY *)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)) _func)(target, format, type, row, column, span); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[360]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)) _func)(target, internalformat, width, height, format, type, row, column); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[361]; + ((void (APIENTRY *)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)) _func)(target, reset, format, type, values); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[362]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetHistogramParameteriv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[363]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[364]; + ((void (APIENTRY *)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)) _func)(target, reset, format, type, values); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[365]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLfloat *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetMinmaxParameteriv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[366]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Histogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[367]; + ((void (APIENTRY *)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)) _func)(target, width, internalformat, sink); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Minmax)(GLenum target, GLenum internalformat, GLboolean sink) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[368]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLboolean sink)) _func)(target, internalformat, sink); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ResetHistogram)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[369]; + ((void (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ResetMinmax)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[370]; + ((void (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[371]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, internalformat, width, height, depth, border, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexImage3DEXT)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[371]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, internalformat, width, height, depth, border, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[372]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[372]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)) _func)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[373]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) _func)(target, level, xoffset, yoffset, zoffset, x, y, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[373]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) _func)(target, level, xoffset, yoffset, zoffset, x, y, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ActiveTextureARB)(GLenum texture) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[374]; + ((void (APIENTRY *)(GLenum texture)) _func)(texture); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ActiveTexture)(GLenum texture) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[374]; + ((void (APIENTRY *)(GLenum texture)) _func)(texture); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClientActiveTextureARB)(GLenum texture) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[375]; + ((void (APIENTRY *)(GLenum texture)) _func)(texture); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClientActiveTexture)(GLenum texture) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[375]; + ((void (APIENTRY *)(GLenum texture)) _func)(texture); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1dARB)(GLenum target, GLdouble s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[376]; + ((void (APIENTRY *)(GLenum target, GLdouble s)) _func)(target, s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1d)(GLenum target, GLdouble s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[376]; + ((void (APIENTRY *)(GLenum target, GLdouble s)) _func)(target, s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1dvARB)(GLenum target, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[377]; + ((void (APIENTRY *)(GLenum target, const GLdouble *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1dv)(GLenum target, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[377]; + ((void (APIENTRY *)(GLenum target, const GLdouble *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1fARB)(GLenum target, GLfloat s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[378]; + ((void (APIENTRY *)(GLenum target, GLfloat s)) _func)(target, s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1f)(GLenum target, GLfloat s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[378]; + ((void (APIENTRY *)(GLenum target, GLfloat s)) _func)(target, s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1fvARB)(GLenum target, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[379]; + ((void (APIENTRY *)(GLenum target, const GLfloat *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1fv)(GLenum target, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[379]; + ((void (APIENTRY *)(GLenum target, const GLfloat *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1iARB)(GLenum target, GLint s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[380]; + ((void (APIENTRY *)(GLenum target, GLint s)) _func)(target, s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1i)(GLenum target, GLint s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[380]; + ((void (APIENTRY *)(GLenum target, GLint s)) _func)(target, s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1ivARB)(GLenum target, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[381]; + ((void (APIENTRY *)(GLenum target, const GLint *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1iv)(GLenum target, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[381]; + ((void (APIENTRY *)(GLenum target, const GLint *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1sARB)(GLenum target, GLshort s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[382]; + ((void (APIENTRY *)(GLenum target, GLshort s)) _func)(target, s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1s)(GLenum target, GLshort s) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[382]; + ((void (APIENTRY *)(GLenum target, GLshort s)) _func)(target, s); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1svARB)(GLenum target, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[383]; + ((void (APIENTRY *)(GLenum target, const GLshort *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord1sv)(GLenum target, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[383]; + ((void (APIENTRY *)(GLenum target, const GLshort *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[384]; + ((void (APIENTRY *)(GLenum target, GLdouble s, GLdouble t)) _func)(target, s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2d)(GLenum target, GLdouble s, GLdouble t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[384]; + ((void (APIENTRY *)(GLenum target, GLdouble s, GLdouble t)) _func)(target, s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2dvARB)(GLenum target, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[385]; + ((void (APIENTRY *)(GLenum target, const GLdouble *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2dv)(GLenum target, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[385]; + ((void (APIENTRY *)(GLenum target, const GLdouble *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[386]; + ((void (APIENTRY *)(GLenum target, GLfloat s, GLfloat t)) _func)(target, s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2f)(GLenum target, GLfloat s, GLfloat t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[386]; + ((void (APIENTRY *)(GLenum target, GLfloat s, GLfloat t)) _func)(target, s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2fvARB)(GLenum target, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[387]; + ((void (APIENTRY *)(GLenum target, const GLfloat *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2fv)(GLenum target, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[387]; + ((void (APIENTRY *)(GLenum target, const GLfloat *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2iARB)(GLenum target, GLint s, GLint t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[388]; + ((void (APIENTRY *)(GLenum target, GLint s, GLint t)) _func)(target, s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2i)(GLenum target, GLint s, GLint t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[388]; + ((void (APIENTRY *)(GLenum target, GLint s, GLint t)) _func)(target, s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2ivARB)(GLenum target, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[389]; + ((void (APIENTRY *)(GLenum target, const GLint *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2iv)(GLenum target, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[389]; + ((void (APIENTRY *)(GLenum target, const GLint *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[390]; + ((void (APIENTRY *)(GLenum target, GLshort s, GLshort t)) _func)(target, s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2s)(GLenum target, GLshort s, GLshort t) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[390]; + ((void (APIENTRY *)(GLenum target, GLshort s, GLshort t)) _func)(target, s, t); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2svARB)(GLenum target, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[391]; + ((void (APIENTRY *)(GLenum target, const GLshort *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord2sv)(GLenum target, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[391]; + ((void (APIENTRY *)(GLenum target, const GLshort *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[392]; + ((void (APIENTRY *)(GLenum target, GLdouble s, GLdouble t, GLdouble r)) _func)(target, s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3d)(GLenum target, GLdouble s, GLdouble t, GLdouble r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[392]; + ((void (APIENTRY *)(GLenum target, GLdouble s, GLdouble t, GLdouble r)) _func)(target, s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3dvARB)(GLenum target, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[393]; + ((void (APIENTRY *)(GLenum target, const GLdouble *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3dv)(GLenum target, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[393]; + ((void (APIENTRY *)(GLenum target, const GLdouble *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[394]; + ((void (APIENTRY *)(GLenum target, GLfloat s, GLfloat t, GLfloat r)) _func)(target, s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3f)(GLenum target, GLfloat s, GLfloat t, GLfloat r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[394]; + ((void (APIENTRY *)(GLenum target, GLfloat s, GLfloat t, GLfloat r)) _func)(target, s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3fvARB)(GLenum target, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[395]; + ((void (APIENTRY *)(GLenum target, const GLfloat *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3fv)(GLenum target, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[395]; + ((void (APIENTRY *)(GLenum target, const GLfloat *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[396]; + ((void (APIENTRY *)(GLenum target, GLint s, GLint t, GLint r)) _func)(target, s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3i)(GLenum target, GLint s, GLint t, GLint r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[396]; + ((void (APIENTRY *)(GLenum target, GLint s, GLint t, GLint r)) _func)(target, s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3ivARB)(GLenum target, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[397]; + ((void (APIENTRY *)(GLenum target, const GLint *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3iv)(GLenum target, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[397]; + ((void (APIENTRY *)(GLenum target, const GLint *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[398]; + ((void (APIENTRY *)(GLenum target, GLshort s, GLshort t, GLshort r)) _func)(target, s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3s)(GLenum target, GLshort s, GLshort t, GLshort r) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[398]; + ((void (APIENTRY *)(GLenum target, GLshort s, GLshort t, GLshort r)) _func)(target, s, t, r); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3svARB)(GLenum target, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[399]; + ((void (APIENTRY *)(GLenum target, const GLshort *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord3sv)(GLenum target, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[399]; + ((void (APIENTRY *)(GLenum target, const GLshort *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[400]; + ((void (APIENTRY *)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)) _func)(target, s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4d)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[400]; + ((void (APIENTRY *)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)) _func)(target, s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4dvARB)(GLenum target, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[401]; + ((void (APIENTRY *)(GLenum target, const GLdouble *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4dv)(GLenum target, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[401]; + ((void (APIENTRY *)(GLenum target, const GLdouble *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[402]; + ((void (APIENTRY *)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)) _func)(target, s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[402]; + ((void (APIENTRY *)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)) _func)(target, s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4fvARB)(GLenum target, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[403]; + ((void (APIENTRY *)(GLenum target, const GLfloat *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4fv)(GLenum target, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[403]; + ((void (APIENTRY *)(GLenum target, const GLfloat *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[404]; + ((void (APIENTRY *)(GLenum target, GLint s, GLint t, GLint r, GLint q)) _func)(target, s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4i)(GLenum target, GLint s, GLint t, GLint r, GLint q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[404]; + ((void (APIENTRY *)(GLenum target, GLint s, GLint t, GLint r, GLint q)) _func)(target, s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4ivARB)(GLenum target, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[405]; + ((void (APIENTRY *)(GLenum target, const GLint *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4iv)(GLenum target, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[405]; + ((void (APIENTRY *)(GLenum target, const GLint *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[406]; + ((void (APIENTRY *)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)) _func)(target, s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4s)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[406]; + ((void (APIENTRY *)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)) _func)(target, s, t, r, q); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4svARB)(GLenum target, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[407]; + ((void (APIENTRY *)(GLenum target, const GLshort *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiTexCoord4sv)(GLenum target, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[407]; + ((void (APIENTRY *)(GLenum target, const GLshort *v)) _func)(target, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(AttachShader)(GLuint program, GLuint shader) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[408]; + ((void (APIENTRY *)(GLuint program, GLuint shader)) _func)(program, shader); +} + +GLAPI GLuint APIENTRY GLAPI_PREFIX(CreateProgram)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[409]; + return ((GLuint (APIENTRY *)(void)) _func)(); +} + +GLAPI GLuint APIENTRY GLAPI_PREFIX(CreateShader)(GLenum type) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[410]; + return ((GLuint (APIENTRY *)(GLenum type)) _func)(type); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteProgram)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[411]; + ((void (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteShader)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[412]; + ((void (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DetachShader)(GLuint program, GLuint shader) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[413]; + ((void (APIENTRY *)(GLuint program, GLuint shader)) _func)(program, shader); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[414]; + ((void (APIENTRY *)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj)) _func)(program, maxCount, count, obj); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[415]; + ((void (APIENTRY *)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) _func)(program, bufSize, length, infoLog); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramiv)(GLuint program, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[416]; + ((void (APIENTRY *)(GLuint program, GLenum pname, GLint *params)) _func)(program, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[417]; + ((void (APIENTRY *)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) _func)(shader, bufSize, length, infoLog); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderiv)(GLuint shader, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[418]; + ((void (APIENTRY *)(GLuint shader, GLenum pname, GLint *params)) _func)(shader, pname, params); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsProgram)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[419]; + return ((GLboolean (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsShader)(GLuint shader) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[420]; + return ((GLboolean (APIENTRY *)(GLuint shader)) _func)(shader); +} + +GLAPI void APIENTRY GLAPI_PREFIX(StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[421]; + ((void (APIENTRY *)(GLenum face, GLenum func, GLint ref, GLuint mask)) _func)(face, func, ref, mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(StencilMaskSeparate)(GLenum face, GLuint mask) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[422]; + ((void (APIENTRY *)(GLenum face, GLuint mask)) _func)(face, mask); +} + +GLAPI void APIENTRY GLAPI_PREFIX(StencilOpSeparate)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[423]; + ((void (APIENTRY *)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass)) _func)(face, sfail, zfail, zpass); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[424]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[425]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[426]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[427]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[428]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[429]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClampColor)(GLenum target, GLenum clamp) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[430]; + ((void (APIENTRY *)(GLenum target, GLenum clamp)) _func)(target, clamp); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearBufferfi)(GLenum buffer, GLint drawbuffer, const GLfloat depth, const GLint stencil) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[431]; + ((void (APIENTRY *)(GLenum buffer, GLint drawbuffer, const GLfloat depth, const GLint stencil)) _func)(buffer, drawbuffer, depth, stencil); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[432]; + ((void (APIENTRY *)(GLenum buffer, GLint drawbuffer, const GLfloat *value)) _func)(buffer, drawbuffer, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[433]; + ((void (APIENTRY *)(GLenum buffer, GLint drawbuffer, const GLint *value)) _func)(buffer, drawbuffer, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[434]; + ((void (APIENTRY *)(GLenum buffer, GLint drawbuffer, const GLuint *value)) _func)(buffer, drawbuffer, value); +} + +GLAPI const GLubyte * APIENTRY GLAPI_PREFIX(GetStringi)(GLenum name, GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[435]; + return ((const GLubyte * (APIENTRY *)(GLenum name, GLuint index)) _func)(name, index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexBuffer)(GLenum target, GLenum internalFormat, GLuint buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[436]; + ((void (APIENTRY *)(GLenum target, GLenum internalFormat, GLuint buffer)) _func)(target, internalFormat, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture)(GLenum target, GLenum attachment, GLuint texture, GLint level) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[437]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLuint texture, GLint level)) _func)(target, attachment, texture, level); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[438]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint64 *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetInteger64i_v)(GLenum cap, GLuint index, GLint64 *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[439]; + ((void (APIENTRY *)(GLenum cap, GLuint index, GLint64 *data)) _func)(cap, index, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribDivisor)(GLuint index, GLuint divisor) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[440]; + ((void (APIENTRY *)(GLuint index, GLuint divisor)) _func)(index, divisor); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadTransposeMatrixdARB)(const GLdouble *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[441]; + ((void (APIENTRY *)(const GLdouble *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadTransposeMatrixd)(const GLdouble *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[441]; + ((void (APIENTRY *)(const GLdouble *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadTransposeMatrixfARB)(const GLfloat *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[442]; + ((void (APIENTRY *)(const GLfloat *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadTransposeMatrixf)(const GLfloat *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[442]; + ((void (APIENTRY *)(const GLfloat *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultTransposeMatrixdARB)(const GLdouble *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[443]; + ((void (APIENTRY *)(const GLdouble *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultTransposeMatrixd)(const GLdouble *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[443]; + ((void (APIENTRY *)(const GLdouble *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultTransposeMatrixfARB)(const GLfloat *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[444]; + ((void (APIENTRY *)(const GLfloat *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultTransposeMatrixf)(const GLfloat *m) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[444]; + ((void (APIENTRY *)(const GLfloat *m)) _func)(m); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SampleCoverageARB)(GLclampf value, GLboolean invert) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[445]; + ((void (APIENTRY *)(GLclampf value, GLboolean invert)) _func)(value, invert); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SampleCoverage)(GLclampf value, GLboolean invert) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[445]; + ((void (APIENTRY *)(GLclampf value, GLboolean invert)) _func)(value, invert); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[446]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)) _func)(target, level, internalformat, width, border, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[446]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)) _func)(target, level, internalformat, width, border, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[447]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)) _func)(target, level, internalformat, width, height, border, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[447]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)) _func)(target, level, internalformat, width, height, border, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[448]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)) _func)(target, level, internalformat, width, height, depth, border, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[448]; + ((void (APIENTRY *)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)) _func)(target, level, internalformat, width, height, depth, border, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[449]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)) _func)(target, level, xoffset, width, format, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[449]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)) _func)(target, level, xoffset, width, format, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[450]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)) _func)(target, level, xoffset, yoffset, width, height, format, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[450]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)) _func)(target, level, xoffset, yoffset, width, height, format, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[451]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)) _func)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[451]; + ((void (APIENTRY *)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)) _func)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetCompressedTexImageARB)(GLenum target, GLint level, GLvoid *img) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[452]; + ((void (APIENTRY *)(GLenum target, GLint level, GLvoid *img)) _func)(target, level, img); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetCompressedTexImage)(GLenum target, GLint level, GLvoid *img) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[452]; + ((void (APIENTRY *)(GLenum target, GLint level, GLvoid *img)) _func)(target, level, img); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DisableVertexAttribArrayARB)(GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[453]; + ((void (APIENTRY *)(GLuint index)) _func)(index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DisableVertexAttribArray)(GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[453]; + ((void (APIENTRY *)(GLuint index)) _func)(index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EnableVertexAttribArrayARB)(GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[454]; + ((void (APIENTRY *)(GLuint index)) _func)(index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EnableVertexAttribArray)(GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[454]; + ((void (APIENTRY *)(GLuint index)) _func)(index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[455]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLdouble *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[456]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLfloat *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[457]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLdouble *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[458]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLfloat *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramStringARB)(GLenum target, GLenum pname, GLvoid *string) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[459]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLvoid *string)) _func)(target, pname, string); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramivARB)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[460]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[461]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLdouble *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribdv)(GLuint index, GLenum pname, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[461]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLdouble *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[462]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLfloat *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[462]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLfloat *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribivARB)(GLuint index, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[463]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLint *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribiv)(GLuint index, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[463]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLint *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[464]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(target, index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameter4dNV)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[464]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(target, index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[465]; + ((void (APIENTRY *)(GLenum target, GLuint index, const GLdouble *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameter4dvNV)(GLenum target, GLuint index, const GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[465]; + ((void (APIENTRY *)(GLenum target, GLuint index, const GLdouble *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[466]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(target, index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameter4fNV)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[466]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(target, index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[467]; + ((void (APIENTRY *)(GLenum target, GLuint index, const GLfloat *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameter4fvNV)(GLenum target, GLuint index, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[467]; + ((void (APIENTRY *)(GLenum target, GLuint index, const GLfloat *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[468]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(target, index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[469]; + ((void (APIENTRY *)(GLenum target, GLuint index, const GLdouble *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[470]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(target, index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[471]; + ((void (APIENTRY *)(GLenum target, GLuint index, const GLfloat *params)) _func)(target, index, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramStringARB)(GLenum target, GLenum format, GLsizei len, const GLvoid *string) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[472]; + ((void (APIENTRY *)(GLenum target, GLenum format, GLsizei len, const GLvoid *string)) _func)(target, format, len, string); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dARB)(GLuint index, GLdouble x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[473]; + ((void (APIENTRY *)(GLuint index, GLdouble x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1d)(GLuint index, GLdouble x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[473]; + ((void (APIENTRY *)(GLuint index, GLdouble x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dvARB)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[474]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dv)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[474]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fARB)(GLuint index, GLfloat x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[475]; + ((void (APIENTRY *)(GLuint index, GLfloat x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1f)(GLuint index, GLfloat x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[475]; + ((void (APIENTRY *)(GLuint index, GLfloat x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fvARB)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[476]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fv)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[476]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1sARB)(GLuint index, GLshort x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[477]; + ((void (APIENTRY *)(GLuint index, GLshort x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1s)(GLuint index, GLshort x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[477]; + ((void (APIENTRY *)(GLuint index, GLshort x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1svARB)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[478]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1sv)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[478]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[479]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2d)(GLuint index, GLdouble x, GLdouble y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[479]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dvARB)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[480]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dv)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[480]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[481]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2f)(GLuint index, GLfloat x, GLfloat y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[481]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fvARB)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[482]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fv)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[482]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2sARB)(GLuint index, GLshort x, GLshort y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[483]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2s)(GLuint index, GLshort x, GLshort y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[483]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2svARB)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[484]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2sv)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[484]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[485]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[485]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dvARB)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[486]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dv)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[486]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[487]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y, GLfloat z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[487]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y, GLfloat z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fvARB)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[488]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fv)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[488]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[489]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y, GLshort z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[489]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y, GLshort z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3svARB)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[490]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3sv)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[490]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NbvARB)(GLuint index, const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[491]; + ((void (APIENTRY *)(GLuint index, const GLbyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nbv)(GLuint index, const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[491]; + ((void (APIENTRY *)(GLuint index, const GLbyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NivARB)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[492]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Niv)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[492]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NsvARB)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[493]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nsv)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[493]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[494]; + ((void (APIENTRY *)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[494]; + ((void (APIENTRY *)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NubvARB)(GLuint index, const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[495]; + ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nubv)(GLuint index, const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[495]; + ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NuivARB)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[496]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nuiv)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[496]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4NusvARB)(GLuint index, const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[497]; + ((void (APIENTRY *)(GLuint index, const GLushort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4Nusv)(GLuint index, const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[497]; + ((void (APIENTRY *)(GLuint index, const GLushort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4bvARB)(GLuint index, const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[498]; + ((void (APIENTRY *)(GLuint index, const GLbyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4bv)(GLuint index, const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[498]; + ((void (APIENTRY *)(GLuint index, const GLbyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[499]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[499]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dvARB)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[500]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dv)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[500]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[501]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[501]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fvARB)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[502]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fv)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[502]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ivARB)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[503]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4iv)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[503]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[504]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[504]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4svARB)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[505]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4sv)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[505]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubvARB)(GLuint index, const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[506]; + ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubv)(GLuint index, const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[506]; + ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4uivARB)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[507]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4uiv)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[507]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4usvARB)(GLuint index, const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[508]; + ((void (APIENTRY *)(GLuint index, const GLushort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4usv)(GLuint index, const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[508]; + ((void (APIENTRY *)(GLuint index, const GLushort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[509]; + ((void (APIENTRY *)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)) _func)(index, size, type, normalized, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[509]; + ((void (APIENTRY *)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)) _func)(index, size, type, normalized, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferARB)(GLenum target, GLuint buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[510]; + ((void (APIENTRY *)(GLenum target, GLuint buffer)) _func)(target, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindBuffer)(GLenum target, GLuint buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[510]; + ((void (APIENTRY *)(GLenum target, GLuint buffer)) _func)(target, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BufferDataARB)(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[511]; + ((void (APIENTRY *)(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage)) _func)(target, size, data, usage); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BufferData)(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[511]; + ((void (APIENTRY *)(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)) _func)(target, size, data, usage); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[512]; + ((void (APIENTRY *)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data)) _func)(target, offset, size, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[512]; + ((void (APIENTRY *)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)) _func)(target, offset, size, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteBuffersARB)(GLsizei n, const GLuint *buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[513]; + ((void (APIENTRY *)(GLsizei n, const GLuint *buffer)) _func)(n, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteBuffers)(GLsizei n, const GLuint *buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[513]; + ((void (APIENTRY *)(GLsizei n, const GLuint *buffer)) _func)(n, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenBuffersARB)(GLsizei n, GLuint *buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[514]; + ((void (APIENTRY *)(GLsizei n, GLuint *buffer)) _func)(n, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenBuffers)(GLsizei n, GLuint *buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[514]; + ((void (APIENTRY *)(GLsizei n, GLuint *buffer)) _func)(n, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferParameterivARB)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[515]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferParameteriv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[515]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferPointervARB)(GLenum target, GLenum pname, GLvoid **params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[516]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLvoid **params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferPointerv)(GLenum target, GLenum pname, GLvoid **params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[516]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLvoid **params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[517]; + ((void (APIENTRY *)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data)) _func)(target, offset, size, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[517]; + ((void (APIENTRY *)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)) _func)(target, offset, size, data); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsBufferARB)(GLuint buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[518]; + return ((GLboolean (APIENTRY *)(GLuint buffer)) _func)(buffer); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsBuffer)(GLuint buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[518]; + return ((GLboolean (APIENTRY *)(GLuint buffer)) _func)(buffer); +} + +GLAPI GLvoid * APIENTRY GLAPI_PREFIX(MapBufferARB)(GLenum target, GLenum access) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[519]; + return ((GLvoid * (APIENTRY *)(GLenum target, GLenum access)) _func)(target, access); +} + +GLAPI GLvoid * APIENTRY GLAPI_PREFIX(MapBuffer)(GLenum target, GLenum access) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[519]; + return ((GLvoid * (APIENTRY *)(GLenum target, GLenum access)) _func)(target, access); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(UnmapBufferARB)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[520]; + return ((GLboolean (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(UnmapBuffer)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[520]; + return ((GLboolean (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BeginQueryARB)(GLenum target, GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[521]; + ((void (APIENTRY *)(GLenum target, GLuint id)) _func)(target, id); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BeginQuery)(GLenum target, GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[521]; + ((void (APIENTRY *)(GLenum target, GLuint id)) _func)(target, id); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteQueriesARB)(GLsizei n, const GLuint *ids) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[522]; + ((void (APIENTRY *)(GLsizei n, const GLuint *ids)) _func)(n, ids); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteQueries)(GLsizei n, const GLuint *ids) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[522]; + ((void (APIENTRY *)(GLsizei n, const GLuint *ids)) _func)(n, ids); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EndQueryARB)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[523]; + ((void (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EndQuery)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[523]; + ((void (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenQueriesARB)(GLsizei n, GLuint *ids) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[524]; + ((void (APIENTRY *)(GLsizei n, GLuint *ids)) _func)(n, ids); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenQueries)(GLsizei n, GLuint *ids) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[524]; + ((void (APIENTRY *)(GLsizei n, GLuint *ids)) _func)(n, ids); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryObjectivARB)(GLuint id, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[525]; + ((void (APIENTRY *)(GLuint id, GLenum pname, GLint *params)) _func)(id, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryObjectiv)(GLuint id, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[525]; + ((void (APIENTRY *)(GLuint id, GLenum pname, GLint *params)) _func)(id, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[526]; + ((void (APIENTRY *)(GLuint id, GLenum pname, GLuint *params)) _func)(id, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryObjectuiv)(GLuint id, GLenum pname, GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[526]; + ((void (APIENTRY *)(GLuint id, GLenum pname, GLuint *params)) _func)(id, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryivARB)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[527]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetQueryiv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[527]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsQueryARB)(GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[528]; + return ((GLboolean (APIENTRY *)(GLuint id)) _func)(id); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsQuery)(GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[528]; + return ((GLboolean (APIENTRY *)(GLuint id)) _func)(id); +} + +GLAPI void APIENTRY GLAPI_PREFIX(AttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[529]; + ((void (APIENTRY *)(GLhandleARB containerObj, GLhandleARB obj)) _func)(containerObj, obj); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompileShaderARB)(GLhandleARB shader) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[530]; + ((void (APIENTRY *)(GLhandleARB shader)) _func)(shader); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CompileShader)(GLuint shader) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[530]; + ((void (APIENTRY *)(GLuint shader)) _func)(shader); +} + +GLAPI GLhandleARB APIENTRY GLAPI_PREFIX(CreateProgramObjectARB)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[531]; + return ((GLhandleARB (APIENTRY *)(void)) _func)(); +} + +GLAPI GLhandleARB APIENTRY GLAPI_PREFIX(CreateShaderObjectARB)(GLenum shaderType) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[532]; + return ((GLhandleARB (APIENTRY *)(GLenum shaderType)) _func)(shaderType); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteObjectARB)(GLhandleARB obj) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[533]; + ((void (APIENTRY *)(GLhandleARB obj)) _func)(obj); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[534]; + ((void (APIENTRY *)(GLhandleARB containerObj, GLhandleARB attachedObj)) _func)(containerObj, attachedObj); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetActiveUniformARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[535]; + ((void (APIENTRY *)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name)) _func)(program, index, bufSize, length, size, type, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[535]; + ((void (APIENTRY *)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)) _func)(program, index, bufSize, length, size, type, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei *length, GLhandleARB *infoLog) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[536]; + ((void (APIENTRY *)(GLhandleARB containerObj, GLsizei maxLength, GLsizei *length, GLhandleARB *infoLog)) _func)(containerObj, maxLength, length, infoLog); +} + +GLAPI GLhandleARB APIENTRY GLAPI_PREFIX(GetHandleARB)(GLenum pname) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[537]; + return ((GLhandleARB (APIENTRY *)(GLenum pname)) _func)(pname); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[538]; + ((void (APIENTRY *)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog)) _func)(obj, maxLength, length, infoLog); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[539]; + ((void (APIENTRY *)(GLhandleARB obj, GLenum pname, GLfloat *params)) _func)(obj, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[540]; + ((void (APIENTRY *)(GLhandleARB obj, GLenum pname, GLint *params)) _func)(obj, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderSourceARB)(GLhandleARB shader, GLsizei bufSize, GLsizei *length, GLcharARB *source) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[541]; + ((void (APIENTRY *)(GLhandleARB shader, GLsizei bufSize, GLsizei *length, GLcharARB *source)) _func)(shader, bufSize, length, source); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[541]; + ((void (APIENTRY *)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)) _func)(shader, bufSize, length, source); +} + +GLAPI GLint APIENTRY GLAPI_PREFIX(GetUniformLocationARB)(GLhandleARB program, const GLcharARB *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[542]; + return ((GLint (APIENTRY *)(GLhandleARB program, const GLcharARB *name)) _func)(program, name); +} + +GLAPI GLint APIENTRY GLAPI_PREFIX(GetUniformLocation)(GLuint program, const GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[542]; + return ((GLint (APIENTRY *)(GLuint program, const GLchar *name)) _func)(program, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformfvARB)(GLhandleARB program, GLint location, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[543]; + ((void (APIENTRY *)(GLhandleARB program, GLint location, GLfloat *params)) _func)(program, location, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformfv)(GLuint program, GLint location, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[543]; + ((void (APIENTRY *)(GLuint program, GLint location, GLfloat *params)) _func)(program, location, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformivARB)(GLhandleARB program, GLint location, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[544]; + ((void (APIENTRY *)(GLhandleARB program, GLint location, GLint *params)) _func)(program, location, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformiv)(GLuint program, GLint location, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[544]; + ((void (APIENTRY *)(GLuint program, GLint location, GLint *params)) _func)(program, location, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LinkProgramARB)(GLhandleARB program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[545]; + ((void (APIENTRY *)(GLhandleARB program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LinkProgram)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[545]; + ((void (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ShaderSourceARB)(GLhandleARB shader, GLsizei count, const GLcharARB **string, const GLint *length) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[546]; + ((void (APIENTRY *)(GLhandleARB shader, GLsizei count, const GLcharARB **string, const GLint *length)) _func)(shader, count, string, length); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ShaderSource)(GLuint shader, GLsizei count, const GLchar **string, const GLint *length) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[546]; + ((void (APIENTRY *)(GLuint shader, GLsizei count, const GLchar **string, const GLint *length)) _func)(shader, count, string, length); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1fARB)(GLint location, GLfloat v0) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[547]; + ((void (APIENTRY *)(GLint location, GLfloat v0)) _func)(location, v0); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1f)(GLint location, GLfloat v0) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[547]; + ((void (APIENTRY *)(GLint location, GLfloat v0)) _func)(location, v0); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1fvARB)(GLint location, GLsizei count, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[548]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLfloat *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1fv)(GLint location, GLsizei count, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[548]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLfloat *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1iARB)(GLint location, GLint v0) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[549]; + ((void (APIENTRY *)(GLint location, GLint v0)) _func)(location, v0); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1i)(GLint location, GLint v0) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[549]; + ((void (APIENTRY *)(GLint location, GLint v0)) _func)(location, v0); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1ivARB)(GLint location, GLsizei count, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[550]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1iv)(GLint location, GLsizei count, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[550]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2fARB)(GLint location, GLfloat v0, GLfloat v1) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[551]; + ((void (APIENTRY *)(GLint location, GLfloat v0, GLfloat v1)) _func)(location, v0, v1); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2f)(GLint location, GLfloat v0, GLfloat v1) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[551]; + ((void (APIENTRY *)(GLint location, GLfloat v0, GLfloat v1)) _func)(location, v0, v1); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2fvARB)(GLint location, GLsizei count, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[552]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLfloat *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2fv)(GLint location, GLsizei count, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[552]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLfloat *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2iARB)(GLint location, GLint v0, GLint v1) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[553]; + ((void (APIENTRY *)(GLint location, GLint v0, GLint v1)) _func)(location, v0, v1); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2i)(GLint location, GLint v0, GLint v1) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[553]; + ((void (APIENTRY *)(GLint location, GLint v0, GLint v1)) _func)(location, v0, v1); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2ivARB)(GLint location, GLsizei count, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[554]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2iv)(GLint location, GLsizei count, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[554]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[555]; + ((void (APIENTRY *)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) _func)(location, v0, v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[555]; + ((void (APIENTRY *)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) _func)(location, v0, v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3fvARB)(GLint location, GLsizei count, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[556]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLfloat *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3fv)(GLint location, GLsizei count, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[556]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLfloat *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[557]; + ((void (APIENTRY *)(GLint location, GLint v0, GLint v1, GLint v2)) _func)(location, v0, v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3i)(GLint location, GLint v0, GLint v1, GLint v2) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[557]; + ((void (APIENTRY *)(GLint location, GLint v0, GLint v1, GLint v2)) _func)(location, v0, v1, v2); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3ivARB)(GLint location, GLsizei count, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[558]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3iv)(GLint location, GLsizei count, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[558]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[559]; + ((void (APIENTRY *)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) _func)(location, v0, v1, v2, v3); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[559]; + ((void (APIENTRY *)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) _func)(location, v0, v1, v2, v3); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4fvARB)(GLint location, GLsizei count, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[560]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLfloat *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4fv)(GLint location, GLsizei count, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[560]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLfloat *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[561]; + ((void (APIENTRY *)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) _func)(location, v0, v1, v2, v3); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[561]; + ((void (APIENTRY *)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) _func)(location, v0, v1, v2, v3); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4ivARB)(GLint location, GLsizei count, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[562]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4iv)(GLint location, GLsizei count, const GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[562]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[563]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[563]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[564]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[564]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[565]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[565]; + ((void (APIENTRY *)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) _func)(location, count, transpose, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UseProgramObjectARB)(GLhandleARB program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[566]; + ((void (APIENTRY *)(GLhandleARB program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UseProgram)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[566]; + ((void (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ValidateProgramARB)(GLhandleARB program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[567]; + ((void (APIENTRY *)(GLhandleARB program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ValidateProgram)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[567]; + ((void (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindAttribLocationARB)(GLhandleARB program, GLuint index, const GLcharARB *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[568]; + ((void (APIENTRY *)(GLhandleARB program, GLuint index, const GLcharARB *name)) _func)(program, index, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindAttribLocation)(GLuint program, GLuint index, const GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[568]; + ((void (APIENTRY *)(GLuint program, GLuint index, const GLchar *name)) _func)(program, index, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetActiveAttribARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[569]; + ((void (APIENTRY *)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name)) _func)(program, index, bufSize, length, size, type, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[569]; + ((void (APIENTRY *)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)) _func)(program, index, bufSize, length, size, type, name); +} + +GLAPI GLint APIENTRY GLAPI_PREFIX(GetAttribLocationARB)(GLhandleARB program, const GLcharARB *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[570]; + return ((GLint (APIENTRY *)(GLhandleARB program, const GLcharARB *name)) _func)(program, name); +} + +GLAPI GLint APIENTRY GLAPI_PREFIX(GetAttribLocation)(GLuint program, const GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[570]; + return ((GLint (APIENTRY *)(GLuint program, const GLchar *name)) _func)(program, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawBuffersARB)(GLsizei n, const GLenum *bufs) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[571]; + ((void (APIENTRY *)(GLsizei n, const GLenum *bufs)) _func)(n, bufs); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawBuffers)(GLsizei n, const GLenum *bufs) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[571]; + ((void (APIENTRY *)(GLsizei n, const GLenum *bufs)) _func)(n, bufs); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawBuffersATI)(GLsizei n, const GLenum *bufs) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[571]; + ((void (APIENTRY *)(GLsizei n, const GLenum *bufs)) _func)(n, bufs); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawArraysInstancedARB)(GLenum mode, GLint first, GLsizei count, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[572]; + ((void (APIENTRY *)(GLenum mode, GLint first, GLsizei count, GLsizei primcount)) _func)(mode, first, count, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[572]; + ((void (APIENTRY *)(GLenum mode, GLint first, GLsizei count, GLsizei primcount)) _func)(mode, first, count, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawArraysInstancedEXT)(GLenum mode, GLint first, GLsizei count, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[572]; + ((void (APIENTRY *)(GLenum mode, GLint first, GLsizei count, GLsizei primcount)) _func)(mode, first, count, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsInstancedARB)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[573]; + ((void (APIENTRY *)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)) _func)(mode, count, type, indices, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[573]; + ((void (APIENTRY *)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)) _func)(mode, count, type, indices, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsInstancedEXT)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[573]; + ((void (APIENTRY *)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)) _func)(mode, count, type, indices, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[574]; + ((void (APIENTRY *)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) _func)(target, samples, internalformat, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[574]; + ((void (APIENTRY *)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) _func)(target, samples, internalformat, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[575]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLuint texture, GLint level)) _func)(target, attachment, texture, level); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[576]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)) _func)(target, attachment, texture, level, face); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameteriARB)(GLuint program, GLenum pname, GLint value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[577]; + ((void (APIENTRY *)(GLuint program, GLenum pname, GLint value)) _func)(program, pname, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribDivisorARB)(GLuint index, GLuint divisor) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[578]; + ((void (APIENTRY *)(GLuint index, GLuint divisor)) _func)(index, divisor); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[579]; + ((void (APIENTRY *)(GLenum target, GLintptr offset, GLsizeiptr length)) _func)(target, offset, length); +} + +GLAPI GLvoid * APIENTRY GLAPI_PREFIX(MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[580]; + return ((GLvoid * (APIENTRY *)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)) _func)(target, offset, length, access); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindVertexArray)(GLuint array) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[581]; + ((void (APIENTRY *)(GLuint array)) _func)(array); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenVertexArrays)(GLsizei n, GLuint *arrays) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[582]; + ((void (APIENTRY *)(GLsizei n, GLuint *arrays)) _func)(n, arrays); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[583]; + ((void (APIENTRY *)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)) _func)(readTarget, writeTarget, readOffset, writeOffset, size); +} + +GLAPI GLenum APIENTRY GLAPI_PREFIX(ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[584]; + return ((GLenum (APIENTRY *)(GLsync sync, GLbitfield flags, GLuint64 timeout)) _func)(sync, flags, timeout); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteSync)(GLsync sync) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[585]; + ((void (APIENTRY *)(GLsync sync)) _func)(sync); +} + +GLAPI GLsync APIENTRY GLAPI_PREFIX(FenceSync)(GLenum condition, GLbitfield flags) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[586]; + return ((GLsync (APIENTRY *)(GLenum condition, GLbitfield flags)) _func)(condition, flags); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetInteger64v)(GLenum pname, GLint64 *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[587]; + ((void (APIENTRY *)(GLenum pname, GLint64 *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[588]; + ((void (APIENTRY *)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)) _func)(sync, pname, bufSize, length, values); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsSync)(GLsync sync) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[589]; + return ((GLboolean (APIENTRY *)(GLsync sync)) _func)(sync); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[590]; + ((void (APIENTRY *)(GLsync sync, GLbitfield flags, GLuint64 timeout)) _func)(sync, flags, timeout); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[591]; + ((void (APIENTRY *)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)) _func)(mode, count, type, indices, basevertex); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[592]; + ((void (APIENTRY *)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)) _func)(mode, start, end, count, type, indices, basevertex); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *basevertex) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[593]; + ((void (APIENTRY *)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *basevertex)) _func)(mode, count, type, indices, primcount, basevertex); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[594]; + ((void (APIENTRY *)(GLuint buf, GLenum modeRGB, GLenum modeA)) _func)(buf, modeRGB, modeA); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationiARB)(GLuint buf, GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[595]; + ((void (APIENTRY *)(GLuint buf, GLenum mode)) _func)(buf, mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[596]; + ((void (APIENTRY *)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA)) _func)(buf, srcRGB, dstRGB, srcA, dstA); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendFunciARB)(GLuint buf, GLenum src, GLenum dst) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[597]; + ((void (APIENTRY *)(GLuint buf, GLenum src, GLenum dst)) _func)(buf, src, dst); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindTransformFeedback)(GLenum target, GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[598]; + ((void (APIENTRY *)(GLenum target, GLuint id)) _func)(target, id); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteTransformFeedbacks)(GLsizei n, const GLuint *ids) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[599]; + ((void (APIENTRY *)(GLsizei n, const GLuint *ids)) _func)(n, ids); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawTransformFeedback)(GLenum mode, GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[600]; + ((void (APIENTRY *)(GLenum mode, GLuint id)) _func)(mode, id); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenTransformFeedbacks)(GLsizei n, GLuint *ids) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[601]; + ((void (APIENTRY *)(GLsizei n, GLuint *ids)) _func)(n, ids); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsTransformFeedback)(GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[602]; + return ((GLboolean (APIENTRY *)(GLuint id)) _func)(id); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PauseTransformFeedback)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[603]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ResumeTransformFeedback)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[604]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearDepthf)(GLclampf depth) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[605]; + ((void (APIENTRY *)(GLclampf depth)) _func)(depth); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DepthRangef)(GLclampf zNear, GLclampf zFar) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[606]; + ((void (APIENTRY *)(GLclampf zNear, GLclampf zFar)) _func)(zNear, zFar); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[607]; + ((void (APIENTRY *)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)) _func)(shadertype, precisiontype, range, precision); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ReleaseShaderCompiler)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[608]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ShaderBinary)(GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[609]; + ((void (APIENTRY *)(GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length)) _func)(n, shaders, binaryformat, binary, length); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[613]; + ((void (APIENTRY *)(GLfloat factor, GLfloat bias)) _func)(factor, bias); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[632]; + ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(size, type, stride, count, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[633]; + ((void (APIENTRY *)(GLsizei stride, GLsizei count, const GLboolean *pointer)) _func)(stride, count, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[634]; + ((void (APIENTRY *)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(type, stride, count, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[635]; + ((void (APIENTRY *)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(type, stride, count, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[636]; + ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(size, type, stride, count, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[637]; + ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(size, type, stride, count, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfEXT)(GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[638]; + ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterf)(GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[638]; + ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfARB)(GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[638]; + ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfvEXT)(GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[639]; + ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfv)(GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[639]; + ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfvARB)(GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[639]; + ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LockArraysEXT)(GLint first, GLsizei count) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[640]; + ((void (APIENTRY *)(GLint first, GLsizei count)) _func)(first, count); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UnlockArraysEXT)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[641]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[642]; + ((void (APIENTRY *)(GLbyte red, GLbyte green, GLbyte blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3b)(GLbyte red, GLbyte green, GLbyte blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[642]; + ((void (APIENTRY *)(GLbyte red, GLbyte green, GLbyte blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bvEXT)(const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[643]; + ((void (APIENTRY *)(const GLbyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bv)(const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[643]; + ((void (APIENTRY *)(const GLbyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[644]; + ((void (APIENTRY *)(GLdouble red, GLdouble green, GLdouble blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[644]; + ((void (APIENTRY *)(GLdouble red, GLdouble green, GLdouble blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dvEXT)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[645]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[645]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[646]; + ((void (APIENTRY *)(GLfloat red, GLfloat green, GLfloat blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3f)(GLfloat red, GLfloat green, GLfloat blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[646]; + ((void (APIENTRY *)(GLfloat red, GLfloat green, GLfloat blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fvEXT)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[647]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[647]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3iEXT)(GLint red, GLint green, GLint blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[648]; + ((void (APIENTRY *)(GLint red, GLint green, GLint blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3i)(GLint red, GLint green, GLint blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[648]; + ((void (APIENTRY *)(GLint red, GLint green, GLint blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ivEXT)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[649]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[649]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[650]; + ((void (APIENTRY *)(GLshort red, GLshort green, GLshort blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3s)(GLshort red, GLshort green, GLshort blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[650]; + ((void (APIENTRY *)(GLshort red, GLshort green, GLshort blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3svEXT)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[651]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[651]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[652]; + ((void (APIENTRY *)(GLubyte red, GLubyte green, GLubyte blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ub)(GLubyte red, GLubyte green, GLubyte blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[652]; + ((void (APIENTRY *)(GLubyte red, GLubyte green, GLubyte blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubvEXT)(const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[653]; + ((void (APIENTRY *)(const GLubyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubv)(const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[653]; + ((void (APIENTRY *)(const GLubyte *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[654]; + ((void (APIENTRY *)(GLuint red, GLuint green, GLuint blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ui)(GLuint red, GLuint green, GLuint blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[654]; + ((void (APIENTRY *)(GLuint red, GLuint green, GLuint blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uivEXT)(const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[655]; + ((void (APIENTRY *)(const GLuint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uiv)(const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[655]; + ((void (APIENTRY *)(const GLuint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[656]; + ((void (APIENTRY *)(GLushort red, GLushort green, GLushort blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3us)(GLushort red, GLushort green, GLushort blue) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[656]; + ((void (APIENTRY *)(GLushort red, GLushort green, GLushort blue)) _func)(red, green, blue); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usvEXT)(const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[657]; + ((void (APIENTRY *)(const GLushort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usv)(const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[657]; + ((void (APIENTRY *)(const GLushort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[658]; + ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(size, type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[658]; + ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(size, type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawArraysEXT)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[659]; + ((void (APIENTRY *)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)) _func)(mode, first, count, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawArrays)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[659]; + ((void (APIENTRY *)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)) _func)(mode, first, count, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElementsEXT)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[660]; + ((void (APIENTRY *)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)) _func)(mode, count, type, indices, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElements)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[660]; + ((void (APIENTRY *)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)) _func)(mode, count, type, indices, primcount); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[661]; + ((void (APIENTRY *)(GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[661]; + ((void (APIENTRY *)(GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddEXT)(GLdouble coord) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[662]; + ((void (APIENTRY *)(GLdouble coord)) _func)(coord); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordd)(GLdouble coord) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[662]; + ((void (APIENTRY *)(GLdouble coord)) _func)(coord); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddvEXT)(const GLdouble *coord) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[663]; + ((void (APIENTRY *)(const GLdouble *coord)) _func)(coord); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddv)(const GLdouble *coord) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[663]; + ((void (APIENTRY *)(const GLdouble *coord)) _func)(coord); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfEXT)(GLfloat coord) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[664]; + ((void (APIENTRY *)(GLfloat coord)) _func)(coord); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordf)(GLfloat coord) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[664]; + ((void (APIENTRY *)(GLfloat coord)) _func)(coord); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfvEXT)(const GLfloat *coord) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[665]; + ((void (APIENTRY *)(const GLfloat *coord)) _func)(coord); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfv)(const GLfloat *coord) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[665]; + ((void (APIENTRY *)(const GLfloat *coord)) _func)(coord); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[667]; + ((void (APIENTRY *)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)) _func)(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[667]; + ((void (APIENTRY *)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)) _func)(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FlushVertexArrayRangeNV)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[668]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexArrayRangeNV)(GLsizei length, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[669]; + ((void (APIENTRY *)(GLsizei length, const GLvoid *pointer)) _func)(length, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[670]; + ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)) _func)(stage, portion, variable, input, mapping, componentUsage); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[671]; + ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum)) _func)(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterfNV)(GLenum pname, GLfloat param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[672]; + ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterfvNV)(GLenum pname, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[673]; + ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameteriNV)(GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[674]; + ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterivNV)(GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[675]; + ((void (APIENTRY *)(GLenum pname, const GLint *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[676]; + ((void (APIENTRY *)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)) _func)(variable, input, mapping, componentUsage); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[677]; + ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params)) _func)(stage, portion, variable, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[678]; + ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params)) _func)(stage, portion, variable, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[679]; + ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params)) _func)(stage, portion, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[680]; + ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum pname, GLint *params)) _func)(stage, portion, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[681]; + ((void (APIENTRY *)(GLenum variable, GLenum pname, GLfloat *params)) _func)(variable, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[682]; + ((void (APIENTRY *)(GLenum variable, GLenum pname, GLint *params)) _func)(variable, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ResizeBuffersMESA)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[683]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dMESA)(GLdouble x, GLdouble y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[684]; + ((void (APIENTRY *)(GLdouble x, GLdouble y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2d)(GLdouble x, GLdouble y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[684]; + ((void (APIENTRY *)(GLdouble x, GLdouble y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dARB)(GLdouble x, GLdouble y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[684]; + ((void (APIENTRY *)(GLdouble x, GLdouble y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dvMESA)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[685]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[685]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dvARB)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[685]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fMESA)(GLfloat x, GLfloat y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[686]; + ((void (APIENTRY *)(GLfloat x, GLfloat y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2f)(GLfloat x, GLfloat y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[686]; + ((void (APIENTRY *)(GLfloat x, GLfloat y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fARB)(GLfloat x, GLfloat y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[686]; + ((void (APIENTRY *)(GLfloat x, GLfloat y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fvMESA)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[687]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[687]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fvARB)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[687]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iMESA)(GLint x, GLint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[688]; + ((void (APIENTRY *)(GLint x, GLint y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2i)(GLint x, GLint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[688]; + ((void (APIENTRY *)(GLint x, GLint y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iARB)(GLint x, GLint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[688]; + ((void (APIENTRY *)(GLint x, GLint y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2ivMESA)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[689]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[689]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2ivARB)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[689]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sMESA)(GLshort x, GLshort y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[690]; + ((void (APIENTRY *)(GLshort x, GLshort y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2s)(GLshort x, GLshort y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[690]; + ((void (APIENTRY *)(GLshort x, GLshort y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sARB)(GLshort x, GLshort y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[690]; + ((void (APIENTRY *)(GLshort x, GLshort y)) _func)(x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2svMESA)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[691]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[691]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2svARB)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[691]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[692]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3d)(GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[692]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[692]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dvMESA)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[693]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dv)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[693]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dvARB)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[693]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[694]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3f)(GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[694]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[694]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fvMESA)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[695]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fv)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[695]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fvARB)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[695]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iMESA)(GLint x, GLint y, GLint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[696]; + ((void (APIENTRY *)(GLint x, GLint y, GLint z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3i)(GLint x, GLint y, GLint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[696]; + ((void (APIENTRY *)(GLint x, GLint y, GLint z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iARB)(GLint x, GLint y, GLint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[696]; + ((void (APIENTRY *)(GLint x, GLint y, GLint z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3ivMESA)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[697]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iv)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[697]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3ivARB)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[697]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sMESA)(GLshort x, GLshort y, GLshort z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[698]; + ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3s)(GLshort x, GLshort y, GLshort z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[698]; + ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sARB)(GLshort x, GLshort y, GLshort z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[698]; + ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z)) _func)(x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3svMESA)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[699]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sv)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[699]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3svARB)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[699]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[700]; + ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4dvMESA)(const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[701]; + ((void (APIENTRY *)(const GLdouble *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[702]; + ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4fvMESA)(const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[703]; + ((void (APIENTRY *)(const GLfloat *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[704]; + ((void (APIENTRY *)(GLint x, GLint y, GLint z, GLint w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4ivMESA)(const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[705]; + ((void (APIENTRY *)(const GLint *v)) _func)(v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[706]; + ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z, GLshort w)) _func)(x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4svMESA)(const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[707]; + ((void (APIENTRY *)(const GLshort *v)) _func)(v); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(AreProgramsResidentNV)(GLsizei n, const GLuint *ids, GLboolean *residences) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[717]; + return ((GLboolean (APIENTRY *)(GLsizei n, const GLuint *ids, GLboolean *residences)) _func)(n, ids, residences); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindProgramNV)(GLenum target, GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[718]; + ((void (APIENTRY *)(GLenum target, GLuint program)) _func)(target, program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindProgramARB)(GLenum target, GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[718]; + ((void (APIENTRY *)(GLenum target, GLuint program)) _func)(target, program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteProgramsNV)(GLsizei n, const GLuint *programs) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[719]; + ((void (APIENTRY *)(GLsizei n, const GLuint *programs)) _func)(n, programs); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteProgramsARB)(GLsizei n, const GLuint *programs) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[719]; + ((void (APIENTRY *)(GLsizei n, const GLuint *programs)) _func)(n, programs); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[720]; + ((void (APIENTRY *)(GLenum target, GLuint id, const GLfloat *params)) _func)(target, id, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenProgramsNV)(GLsizei n, GLuint *programs) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[721]; + ((void (APIENTRY *)(GLsizei n, GLuint *programs)) _func)(n, programs); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenProgramsARB)(GLsizei n, GLuint *programs) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[721]; + ((void (APIENTRY *)(GLsizei n, GLuint *programs)) _func)(n, programs); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[722]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLenum pname, GLdouble *params)) _func)(target, index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[723]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLenum pname, GLfloat *params)) _func)(target, index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramStringNV)(GLuint id, GLenum pname, GLubyte *program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[724]; + ((void (APIENTRY *)(GLuint id, GLenum pname, GLubyte *program)) _func)(id, pname, program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramivNV)(GLuint id, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[725]; + ((void (APIENTRY *)(GLuint id, GLenum pname, GLint *params)) _func)(id, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[726]; + ((void (APIENTRY *)(GLenum target, GLuint address, GLenum pname, GLint *params)) _func)(target, address, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid **pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[727]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLvoid **pointer)) _func)(index, pname, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid **pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[727]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLvoid **pointer)) _func)(index, pname, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointervARB)(GLuint index, GLenum pname, GLvoid **pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[727]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLvoid **pointer)) _func)(index, pname, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[728]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLdouble *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[729]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLfloat *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribivNV)(GLuint index, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[730]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLint *params)) _func)(index, pname, params); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsProgramNV)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[731]; + return ((GLboolean (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsProgramARB)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[731]; + return ((GLboolean (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte *program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[732]; + ((void (APIENTRY *)(GLenum target, GLuint id, GLsizei len, const GLubyte *program)) _func)(target, id, len, program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[733]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLsizei num, const GLdouble *params)) _func)(target, index, num, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[734]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLsizei num, const GLfloat *params)) _func)(target, index, num, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RequestResidentProgramsNV)(GLsizei n, const GLuint *ids) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[735]; + ((void (APIENTRY *)(GLsizei n, const GLuint *ids)) _func)(n, ids); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[736]; + ((void (APIENTRY *)(GLenum target, GLuint address, GLenum matrix, GLenum transform)) _func)(target, address, matrix, transform); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dNV)(GLuint index, GLdouble x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[737]; + ((void (APIENTRY *)(GLuint index, GLdouble x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dvNV)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[738]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fNV)(GLuint index, GLfloat x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[739]; + ((void (APIENTRY *)(GLuint index, GLfloat x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fvNV)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[740]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1sNV)(GLuint index, GLshort x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[741]; + ((void (APIENTRY *)(GLuint index, GLshort x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1svNV)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[742]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[743]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dvNV)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[744]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[745]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fvNV)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[746]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[747]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2svNV)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[748]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[749]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dvNV)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[750]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[751]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y, GLfloat z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fvNV)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[752]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[753]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y, GLshort z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3svNV)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[754]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[755]; + ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dvNV)(GLuint index, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[756]; + ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[757]; + ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fvNV)(GLuint index, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[758]; + ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[759]; + ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4svNV)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[760]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[761]; + ((void (APIENTRY *)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubvNV)(GLuint index, const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[762]; + ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[763]; + ((void (APIENTRY *)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(index, size, type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[764]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLdouble *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[765]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLfloat *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[766]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLshort *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[767]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLdouble *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[768]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLfloat *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[769]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLshort *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[770]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLdouble *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[771]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLfloat *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[772]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLshort *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[773]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLdouble *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[774]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLfloat *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[775]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLshort *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[776]; + ((void (APIENTRY *)(GLuint index, GLsizei n, const GLubyte *v)) _func)(index, n, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexBumpParameterfvATI)(GLenum pname, GLfloat *param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[777]; + ((void (APIENTRY *)(GLenum pname, GLfloat *param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexBumpParameterivATI)(GLenum pname, GLint *param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[778]; + ((void (APIENTRY *)(GLenum pname, GLint *param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexBumpParameterfvATI)(GLenum pname, const GLfloat *param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[779]; + ((void (APIENTRY *)(GLenum pname, const GLfloat *param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexBumpParameterivATI)(GLenum pname, const GLint *param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[780]; + ((void (APIENTRY *)(GLenum pname, const GLint *param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[781]; + ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)) _func)(op, dst, dstMod, arg1, arg1Rep, arg1Mod); +} + +GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[782]; + ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)) _func)(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); +} + +GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[783]; + ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)) _func)(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BeginFragmentShaderATI)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[784]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindFragmentShaderATI)(GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[785]; + ((void (APIENTRY *)(GLuint id)) _func)(id); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[786]; + ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)) _func)(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[787]; + ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)) _func)(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[788]; + ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)) _func)(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteFragmentShaderATI)(GLuint id) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[789]; + ((void (APIENTRY *)(GLuint id)) _func)(id); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EndFragmentShaderATI)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[790]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI GLuint APIENTRY GLAPI_PREFIX(GenFragmentShadersATI)(GLuint range) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[791]; + return ((GLuint (APIENTRY *)(GLuint range)) _func)(range); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[792]; + ((void (APIENTRY *)(GLuint dst, GLuint coord, GLenum swizzle)) _func)(dst, coord, swizzle); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[793]; + ((void (APIENTRY *)(GLuint dst, GLuint interp, GLenum swizzle)) _func)(dst, interp, swizzle); +} + +GLAPI void APIENTRY GLAPI_PREFIX(SetFragmentShaderConstantATI)(GLuint dst, const GLfloat *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[794]; + ((void (APIENTRY *)(GLuint dst, const GLfloat *value)) _func)(dst, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameteriNV)(GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[795]; + ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameteri)(GLenum pname, GLint param) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[795]; + ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameterivNV)(GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[796]; + ((void (APIENTRY *)(GLenum pname, const GLint *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PointParameteriv)(GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[796]; + ((void (APIENTRY *)(GLenum pname, const GLint *params)) _func)(pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteVertexArrays)(GLsizei n, const GLuint *arrays) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[799]; + ((void (APIENTRY *)(GLsizei n, const GLuint *arrays)) _func)(n, arrays); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsVertexArray)(GLuint array) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[801]; + return ((GLboolean (APIENTRY *)(GLuint array)) _func)(array); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[802]; + ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params)) _func)(id, len, name, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[803]; + ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params)) _func)(id, len, name, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[804]; + ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(id, len, name, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[805]; + ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v)) _func)(id, len, name, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[806]; + ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(id, len, name, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[807]; + ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v)) _func)(id, len, name, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartIndexNV)(GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[808]; + ((void (APIENTRY *)(GLuint index)) _func)(index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartIndex)(GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[808]; + ((void (APIENTRY *)(GLuint index)) _func)(index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartNV)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[809]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparate)(GLenum modeRGB, GLenum modeA) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[857]; + ((void (APIENTRY *)(GLenum modeRGB, GLenum modeA)) _func)(modeRGB, modeA); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindFramebufferEXT)(GLenum target, GLuint framebuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[858]; + ((void (APIENTRY *)(GLenum target, GLuint framebuffer)) _func)(target, framebuffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindFramebuffer)(GLenum target, GLuint framebuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[858]; + ((void (APIENTRY *)(GLenum target, GLuint framebuffer)) _func)(target, framebuffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindRenderbufferEXT)(GLenum target, GLuint renderbuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[859]; + ((void (APIENTRY *)(GLenum target, GLuint renderbuffer)) _func)(target, renderbuffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindRenderbuffer)(GLenum target, GLuint renderbuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[859]; + ((void (APIENTRY *)(GLenum target, GLuint renderbuffer)) _func)(target, renderbuffer); +} + +GLAPI GLenum APIENTRY GLAPI_PREFIX(CheckFramebufferStatusEXT)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[860]; + return ((GLenum (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI GLenum APIENTRY GLAPI_PREFIX(CheckFramebufferStatus)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[860]; + return ((GLenum (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteFramebuffersEXT)(GLsizei n, const GLuint *framebuffers) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[861]; + ((void (APIENTRY *)(GLsizei n, const GLuint *framebuffers)) _func)(n, framebuffers); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteFramebuffers)(GLsizei n, const GLuint *framebuffers) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[861]; + ((void (APIENTRY *)(GLsizei n, const GLuint *framebuffers)) _func)(n, framebuffers); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteRenderbuffersEXT)(GLsizei n, const GLuint *renderbuffers) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[862]; + ((void (APIENTRY *)(GLsizei n, const GLuint *renderbuffers)) _func)(n, renderbuffers); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[862]; + ((void (APIENTRY *)(GLsizei n, const GLuint *renderbuffers)) _func)(n, renderbuffers); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[863]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) _func)(target, attachment, renderbuffertarget, renderbuffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[863]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) _func)(target, attachment, renderbuffertarget, renderbuffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[864]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) _func)(target, attachment, textarget, texture, level); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[864]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) _func)(target, attachment, textarget, texture, level); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[865]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) _func)(target, attachment, textarget, texture, level); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[865]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) _func)(target, attachment, textarget, texture, level); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[866]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)) _func)(target, attachment, textarget, texture, level, zoffset); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[866]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)) _func)(target, attachment, textarget, texture, level, zoffset); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenFramebuffersEXT)(GLsizei n, GLuint *framebuffers) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[867]; + ((void (APIENTRY *)(GLsizei n, GLuint *framebuffers)) _func)(n, framebuffers); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenFramebuffers)(GLsizei n, GLuint *framebuffers) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[867]; + ((void (APIENTRY *)(GLsizei n, GLuint *framebuffers)) _func)(n, framebuffers); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenRenderbuffersEXT)(GLsizei n, GLuint *renderbuffers) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[868]; + ((void (APIENTRY *)(GLsizei n, GLuint *renderbuffers)) _func)(n, renderbuffers); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenRenderbuffers)(GLsizei n, GLuint *renderbuffers) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[868]; + ((void (APIENTRY *)(GLsizei n, GLuint *renderbuffers)) _func)(n, renderbuffers); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenerateMipmapEXT)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[869]; + ((void (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GenerateMipmap)(GLenum target) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[869]; + ((void (APIENTRY *)(GLenum target)) _func)(target); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[870]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum pname, GLint *params)) _func)(target, attachment, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[870]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum pname, GLint *params)) _func)(target, attachment, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[871]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[871]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsFramebufferEXT)(GLuint framebuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[872]; + return ((GLboolean (APIENTRY *)(GLuint framebuffer)) _func)(framebuffer); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsFramebuffer)(GLuint framebuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[872]; + return ((GLboolean (APIENTRY *)(GLuint framebuffer)) _func)(framebuffer); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsRenderbufferEXT)(GLuint renderbuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[873]; + return ((GLboolean (APIENTRY *)(GLuint renderbuffer)) _func)(renderbuffer); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsRenderbuffer)(GLuint renderbuffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[873]; + return ((GLboolean (APIENTRY *)(GLuint renderbuffer)) _func)(renderbuffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[874]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) _func)(target, internalformat, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[874]; + ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) _func)(target, internalformat, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[875]; + ((void (APIENTRY *)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) _func)(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[878]; + ((void (APIENTRY *)(GLuint program, GLuint colorNumber, const GLchar *name)) _func)(program, colorNumber, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindFragDataLocation)(GLuint program, GLuint colorNumber, const GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[878]; + ((void (APIENTRY *)(GLuint program, GLuint colorNumber, const GLchar *name)) _func)(program, colorNumber, name); +} + +GLAPI GLint APIENTRY GLAPI_PREFIX(GetFragDataLocationEXT)(GLuint program, const GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[879]; + return ((GLint (APIENTRY *)(GLuint program, const GLchar *name)) _func)(program, name); +} + +GLAPI GLint APIENTRY GLAPI_PREFIX(GetFragDataLocation)(GLuint program, const GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[879]; + return ((GLint (APIENTRY *)(GLuint program, const GLchar *name)) _func)(program, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformuivEXT)(GLuint program, GLint location, GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[880]; + ((void (APIENTRY *)(GLuint program, GLint location, GLuint *params)) _func)(program, location, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetUniformuiv)(GLuint program, GLint location, GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[880]; + ((void (APIENTRY *)(GLuint program, GLint location, GLuint *params)) _func)(program, location, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[881]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLint *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[881]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLint *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[882]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLuint *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[882]; + ((void (APIENTRY *)(GLuint index, GLenum pname, GLuint *params)) _func)(index, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uiEXT)(GLint location, GLuint x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[883]; + ((void (APIENTRY *)(GLint location, GLuint x)) _func)(location, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1ui)(GLint location, GLuint x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[883]; + ((void (APIENTRY *)(GLint location, GLuint x)) _func)(location, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uivEXT)(GLint location, GLsizei count, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[884]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uiv)(GLint location, GLsizei count, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[884]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uiEXT)(GLint location, GLuint x, GLuint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[885]; + ((void (APIENTRY *)(GLint location, GLuint x, GLuint y)) _func)(location, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2ui)(GLint location, GLuint x, GLuint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[885]; + ((void (APIENTRY *)(GLint location, GLuint x, GLuint y)) _func)(location, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uivEXT)(GLint location, GLsizei count, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[886]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uiv)(GLint location, GLsizei count, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[886]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[887]; + ((void (APIENTRY *)(GLint location, GLuint x, GLuint y, GLuint z)) _func)(location, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3ui)(GLint location, GLuint x, GLuint y, GLuint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[887]; + ((void (APIENTRY *)(GLint location, GLuint x, GLuint y, GLuint z)) _func)(location, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uivEXT)(GLint location, GLsizei count, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[888]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uiv)(GLint location, GLsizei count, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[888]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[889]; + ((void (APIENTRY *)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w)) _func)(location, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4ui)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[889]; + ((void (APIENTRY *)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w)) _func)(location, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uivEXT)(GLint location, GLsizei count, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[890]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uiv)(GLint location, GLsizei count, const GLuint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[890]; + ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1iEXT)(GLuint index, GLint x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[891]; + ((void (APIENTRY *)(GLuint index, GLint x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1i)(GLuint index, GLint x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[891]; + ((void (APIENTRY *)(GLuint index, GLint x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1ivEXT)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[892]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1iv)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[892]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uiEXT)(GLuint index, GLuint x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[893]; + ((void (APIENTRY *)(GLuint index, GLuint x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1ui)(GLuint index, GLuint x) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[893]; + ((void (APIENTRY *)(GLuint index, GLuint x)) _func)(index, x); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uivEXT)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[894]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uiv)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[894]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2iEXT)(GLuint index, GLint x, GLint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[895]; + ((void (APIENTRY *)(GLuint index, GLint x, GLint y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2i)(GLuint index, GLint x, GLint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[895]; + ((void (APIENTRY *)(GLuint index, GLint x, GLint y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2ivEXT)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[896]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2iv)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[896]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[897]; + ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2ui)(GLuint index, GLuint x, GLuint y) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[897]; + ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y)) _func)(index, x, y); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uivEXT)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[898]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uiv)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[898]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[899]; + ((void (APIENTRY *)(GLuint index, GLint x, GLint y, GLint z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[899]; + ((void (APIENTRY *)(GLuint index, GLint x, GLint y, GLint z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3ivEXT)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[900]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3iv)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[900]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[901]; + ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y, GLuint z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[901]; + ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y, GLuint z)) _func)(index, x, y, z); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uivEXT)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[902]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uiv)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[902]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4bvEXT)(GLuint index, const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[903]; + ((void (APIENTRY *)(GLuint index, const GLbyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4bv)(GLuint index, const GLbyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[903]; + ((void (APIENTRY *)(GLuint index, const GLbyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[904]; + ((void (APIENTRY *)(GLuint index, GLint x, GLint y, GLint z, GLint w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[904]; + ((void (APIENTRY *)(GLuint index, GLint x, GLint y, GLint z, GLint w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ivEXT)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[905]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4iv)(GLuint index, const GLint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[905]; + ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4svEXT)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[906]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4sv)(GLuint index, const GLshort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[906]; + ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ubvEXT)(GLuint index, const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[907]; + ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ubv)(GLuint index, const GLubyte *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[907]; + ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[908]; + ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[908]; + ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) _func)(index, x, y, z, w); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uivEXT)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[909]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uiv)(GLuint index, const GLuint *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[909]; + ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4usvEXT)(GLuint index, const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[910]; + ((void (APIENTRY *)(GLuint index, const GLushort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4usv)(GLuint index, const GLushort *v) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[910]; + ((void (APIENTRY *)(GLuint index, const GLushort *v)) _func)(index, v); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[911]; + ((void (APIENTRY *)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(index, size, type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[911]; + ((void (APIENTRY *)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(index, size, type, stride, pointer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[912]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) _func)(target, attachment, texture, level, layer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[912]; + ((void (APIENTRY *)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) _func)(target, attachment, texture, level, layer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[913]; + ((void (APIENTRY *)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a)) _func)(buf, r, g, b, a); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ColorMaski)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[913]; + ((void (APIENTRY *)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a)) _func)(buf, r, g, b, a); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DisableIndexedEXT)(GLenum target, GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[914]; + ((void (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Disablei)(GLenum target, GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[914]; + ((void (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EnableIndexedEXT)(GLenum target, GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[915]; + ((void (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(Enablei)(GLenum target, GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[915]; + ((void (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[916]; + ((void (APIENTRY *)(GLenum value, GLuint index, GLboolean *data)) _func)(value, index, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetBooleani_v)(GLenum value, GLuint index, GLboolean *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[916]; + ((void (APIENTRY *)(GLenum value, GLuint index, GLboolean *data)) _func)(value, index, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[917]; + ((void (APIENTRY *)(GLenum value, GLuint index, GLint *data)) _func)(value, index, data); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetIntegeri_v)(GLenum value, GLuint index, GLint *data) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[917]; + ((void (APIENTRY *)(GLenum value, GLuint index, GLint *data)) _func)(value, index, data); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsEnabledIndexedEXT)(GLenum target, GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[918]; + return ((GLboolean (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); +} + +GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsEnabledi)(GLenum target, GLuint index) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[918]; + return ((GLboolean (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[919]; + ((void (APIENTRY *)(GLint r, GLint g, GLint b, GLint a)) _func)(r, g, b, a); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[920]; + ((void (APIENTRY *)(GLuint r, GLuint g, GLuint b, GLuint a)) _func)(r, g, b, a); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[921]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIiv)(GLenum target, GLenum pname, GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[921]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[922]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLuint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIuiv)(GLenum target, GLenum pname, GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[922]; + ((void (APIENTRY *)(GLenum target, GLenum pname, GLuint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIivEXT)(GLenum target, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[923]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIiv)(GLenum target, GLenum pname, const GLint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[923]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[924]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLuint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIuiv)(GLenum target, GLenum pname, const GLuint *params) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[924]; + ((void (APIENTRY *)(GLenum target, GLenum pname, const GLuint *params)) _func)(target, pname, params); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BeginConditionalRenderNV)(GLuint query, GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[925]; + ((void (APIENTRY *)(GLuint query, GLenum mode)) _func)(query, mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BeginConditionalRender)(GLuint query, GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[925]; + ((void (APIENTRY *)(GLuint query, GLenum mode)) _func)(query, mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EndConditionalRenderNV)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[926]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EndConditionalRender)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[926]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BeginTransformFeedbackEXT)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[927]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BeginTransformFeedback)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[927]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[928]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer)) _func)(target, index, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferBase)(GLenum target, GLuint index, GLuint buffer) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[928]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer)) _func)(target, index, buffer); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[929]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer, GLintptr offset)) _func)(target, index, buffer, offset); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[930]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) _func)(target, index, buffer, offset, size); +} + +GLAPI void APIENTRY GLAPI_PREFIX(BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[930]; + ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) _func)(target, index, buffer, offset, size); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EndTransformFeedbackEXT)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[931]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EndTransformFeedback)(void) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[931]; + ((void (APIENTRY *)(void)) _func)(); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[932]; + ((void (APIENTRY *)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) _func)(program, index, bufSize, length, size, type, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[932]; + ((void (APIENTRY *)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) _func)(program, index, bufSize, length, size, type, name); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char **varyings, GLenum bufferMode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[933]; + ((void (APIENTRY *)(GLuint program, GLsizei count, const char **varyings, GLenum bufferMode)) _func)(program, count, varyings, bufferMode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[933]; + ((void (APIENTRY *)(GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode)) _func)(program, count, varyings, bufferMode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProvokingVertexEXT)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[934]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ProvokingVertex)(GLenum mode) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[934]; + ((void (APIENTRY *)(GLenum mode)) _func)(mode); +} + +GLAPI void APIENTRY GLAPI_PREFIX(GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint *value) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[937]; + ((void (APIENTRY *)(GLenum objectType, GLuint name, GLenum pname, GLint *value)) _func)(objectType, name, pname, value); +} + +GLAPI GLenum APIENTRY GLAPI_PREFIX(ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[938]; + return ((GLenum (APIENTRY *)(GLenum objectType, GLuint name, GLenum option)) _func)(objectType, name, option); +} + +GLAPI GLenum APIENTRY GLAPI_PREFIX(ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[939]; + return ((GLenum (APIENTRY *)(GLenum objectType, GLuint name, GLenum option)) _func)(objectType, name, option); +} + +GLAPI void APIENTRY GLAPI_PREFIX(ActiveProgramEXT)(GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[940]; + ((void (APIENTRY *)(GLuint program)) _func)(program); +} + +GLAPI GLuint APIENTRY GLAPI_PREFIX(CreateShaderProgramEXT)(GLenum type, const GLchar *string) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[941]; + return ((GLuint (APIENTRY *)(GLenum type, const GLchar *string)) _func)(type, string); +} + +GLAPI void APIENTRY GLAPI_PREFIX(UseShaderProgramEXT)(GLenum type, GLuint program) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[942]; + ((void (APIENTRY *)(GLenum type, GLuint program)) _func)(type, program); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid *writeOffset) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[948]; + ((void (APIENTRY *)(GLenum target, GLvoid *writeOffset)) _func)(target, writeOffset); +} + +GLAPI void APIENTRY GLAPI_PREFIX(EGLImageTargetTexture2DOES)(GLenum target, GLvoid *writeOffset) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[949]; + ((void (APIENTRY *)(GLenum target, GLvoid *writeOffset)) _func)(target, writeOffset); +} + +/* does not need public_entries */ +#undef MAPI_TMP_PUBLIC_ENTRIES_NO_HIDDEN +#endif /* MAPI_TMP_PUBLIC_ENTRIES_NO_HIDDEN */ + +#ifdef MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN +__asm__( +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(NewList))"\n" +"\t"STUB_ASM_CODE("0")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndList))"\n" +"\t"STUB_ASM_CODE("1")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CallList))"\n" +"\t"STUB_ASM_CODE("2")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CallLists))"\n" +"\t"STUB_ASM_CODE("3")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteLists))"\n" +"\t"STUB_ASM_CODE("4")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenLists))"\n" +"\t"STUB_ASM_CODE("5")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ListBase))"\n" +"\t"STUB_ASM_CODE("6")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Begin))"\n" +"\t"STUB_ASM_CODE("7")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Bitmap))"\n" +"\t"STUB_ASM_CODE("8")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3b))"\n" +"\t"STUB_ASM_CODE("9")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3bv))"\n" +"\t"STUB_ASM_CODE("10")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3d))"\n" +"\t"STUB_ASM_CODE("11")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3dv))"\n" +"\t"STUB_ASM_CODE("12")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3f))"\n" +"\t"STUB_ASM_CODE("13")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3fv))"\n" +"\t"STUB_ASM_CODE("14")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3i))"\n" +"\t"STUB_ASM_CODE("15")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3iv))"\n" +"\t"STUB_ASM_CODE("16")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3s))"\n" +"\t"STUB_ASM_CODE("17")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3sv))"\n" +"\t"STUB_ASM_CODE("18")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3ub))"\n" +"\t"STUB_ASM_CODE("19")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3ubv))"\n" +"\t"STUB_ASM_CODE("20")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3ui))"\n" +"\t"STUB_ASM_CODE("21")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3uiv))"\n" +"\t"STUB_ASM_CODE("22")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3us))"\n" +"\t"STUB_ASM_CODE("23")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color3usv))"\n" +"\t"STUB_ASM_CODE("24")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4b))"\n" +"\t"STUB_ASM_CODE("25")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4bv))"\n" +"\t"STUB_ASM_CODE("26")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4d))"\n" +"\t"STUB_ASM_CODE("27")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4dv))"\n" +"\t"STUB_ASM_CODE("28")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4f))"\n" +"\t"STUB_ASM_CODE("29")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4fv))"\n" +"\t"STUB_ASM_CODE("30")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4i))"\n" +"\t"STUB_ASM_CODE("31")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4iv))"\n" +"\t"STUB_ASM_CODE("32")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4s))"\n" +"\t"STUB_ASM_CODE("33")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4sv))"\n" +"\t"STUB_ASM_CODE("34")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4ub))"\n" +"\t"STUB_ASM_CODE("35")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4ubv))"\n" +"\t"STUB_ASM_CODE("36")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4ui))"\n" +"\t"STUB_ASM_CODE("37")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4uiv))"\n" +"\t"STUB_ASM_CODE("38")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4us))"\n" +"\t"STUB_ASM_CODE("39")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Color4usv))"\n" +"\t"STUB_ASM_CODE("40")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EdgeFlag))"\n" +"\t"STUB_ASM_CODE("41")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EdgeFlagv))"\n" +"\t"STUB_ASM_CODE("42")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(End))"\n" +"\t"STUB_ASM_CODE("43")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexd))"\n" +"\t"STUB_ASM_CODE("44")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexdv))"\n" +"\t"STUB_ASM_CODE("45")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexf))"\n" +"\t"STUB_ASM_CODE("46")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexfv))"\n" +"\t"STUB_ASM_CODE("47")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexi))"\n" +"\t"STUB_ASM_CODE("48")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexiv))"\n" +"\t"STUB_ASM_CODE("49")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexs))"\n" +"\t"STUB_ASM_CODE("50")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexsv))"\n" +"\t"STUB_ASM_CODE("51")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3b))"\n" +"\t"STUB_ASM_CODE("52")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3bv))"\n" +"\t"STUB_ASM_CODE("53")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3d))"\n" +"\t"STUB_ASM_CODE("54")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3dv))"\n" +"\t"STUB_ASM_CODE("55")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3f))"\n" +"\t"STUB_ASM_CODE("56")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3fv))"\n" +"\t"STUB_ASM_CODE("57")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3i))"\n" +"\t"STUB_ASM_CODE("58")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3iv))"\n" +"\t"STUB_ASM_CODE("59")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3s))"\n" +"\t"STUB_ASM_CODE("60")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Normal3sv))"\n" +"\t"STUB_ASM_CODE("61")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos2d))"\n" +"\t"STUB_ASM_CODE("62")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos2dv))"\n" +"\t"STUB_ASM_CODE("63")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos2f))"\n" +"\t"STUB_ASM_CODE("64")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos2fv))"\n" +"\t"STUB_ASM_CODE("65")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos2i))"\n" +"\t"STUB_ASM_CODE("66")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos2iv))"\n" +"\t"STUB_ASM_CODE("67")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos2s))"\n" +"\t"STUB_ASM_CODE("68")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos2sv))"\n" +"\t"STUB_ASM_CODE("69")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos3d))"\n" +"\t"STUB_ASM_CODE("70")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos3dv))"\n" +"\t"STUB_ASM_CODE("71")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos3f))"\n" +"\t"STUB_ASM_CODE("72")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos3fv))"\n" +"\t"STUB_ASM_CODE("73")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos3i))"\n" +"\t"STUB_ASM_CODE("74")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos3iv))"\n" +"\t"STUB_ASM_CODE("75")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos3s))"\n" +"\t"STUB_ASM_CODE("76")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos3sv))"\n" +"\t"STUB_ASM_CODE("77")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos4d))"\n" +"\t"STUB_ASM_CODE("78")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos4dv))"\n" +"\t"STUB_ASM_CODE("79")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos4f))"\n" +"\t"STUB_ASM_CODE("80")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos4fv))"\n" +"\t"STUB_ASM_CODE("81")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos4i))"\n" +"\t"STUB_ASM_CODE("82")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos4iv))"\n" +"\t"STUB_ASM_CODE("83")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos4s))"\n" +"\t"STUB_ASM_CODE("84")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RasterPos4sv))"\n" +"\t"STUB_ASM_CODE("85")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rectd))"\n" +"\t"STUB_ASM_CODE("86")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rectdv))"\n" +"\t"STUB_ASM_CODE("87")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rectf))"\n" +"\t"STUB_ASM_CODE("88")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rectfv))"\n" +"\t"STUB_ASM_CODE("89")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Recti))"\n" +"\t"STUB_ASM_CODE("90")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rectiv))"\n" +"\t"STUB_ASM_CODE("91")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rects))"\n" +"\t"STUB_ASM_CODE("92")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rectsv))"\n" +"\t"STUB_ASM_CODE("93")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord1d))"\n" +"\t"STUB_ASM_CODE("94")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord1dv))"\n" +"\t"STUB_ASM_CODE("95")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord1f))"\n" +"\t"STUB_ASM_CODE("96")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord1fv))"\n" +"\t"STUB_ASM_CODE("97")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord1i))"\n" +"\t"STUB_ASM_CODE("98")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord1iv))"\n" +"\t"STUB_ASM_CODE("99")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord1s))"\n" +"\t"STUB_ASM_CODE("100")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord1sv))"\n" +"\t"STUB_ASM_CODE("101")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord2d))"\n" +"\t"STUB_ASM_CODE("102")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord2dv))"\n" +"\t"STUB_ASM_CODE("103")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord2f))"\n" +"\t"STUB_ASM_CODE("104")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord2fv))"\n" +"\t"STUB_ASM_CODE("105")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord2i))"\n" +"\t"STUB_ASM_CODE("106")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord2iv))"\n" +"\t"STUB_ASM_CODE("107")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord2s))"\n" +"\t"STUB_ASM_CODE("108")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord2sv))"\n" +"\t"STUB_ASM_CODE("109")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord3d))"\n" +"\t"STUB_ASM_CODE("110")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord3dv))"\n" +"\t"STUB_ASM_CODE("111")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord3f))"\n" +"\t"STUB_ASM_CODE("112")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord3fv))"\n" +"\t"STUB_ASM_CODE("113")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord3i))"\n" +"\t"STUB_ASM_CODE("114")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord3iv))"\n" +"\t"STUB_ASM_CODE("115")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord3s))"\n" +"\t"STUB_ASM_CODE("116")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord3sv))"\n" +"\t"STUB_ASM_CODE("117")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord4d))"\n" +"\t"STUB_ASM_CODE("118")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord4dv))"\n" +"\t"STUB_ASM_CODE("119")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord4f))"\n" +"\t"STUB_ASM_CODE("120")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord4fv))"\n" +"\t"STUB_ASM_CODE("121")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord4i))"\n" +"\t"STUB_ASM_CODE("122")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord4iv))"\n" +"\t"STUB_ASM_CODE("123")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord4s))"\n" +"\t"STUB_ASM_CODE("124")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoord4sv))"\n" +"\t"STUB_ASM_CODE("125")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex2d))"\n" +"\t"STUB_ASM_CODE("126")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex2dv))"\n" +"\t"STUB_ASM_CODE("127")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex2f))"\n" +"\t"STUB_ASM_CODE("128")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex2fv))"\n" +"\t"STUB_ASM_CODE("129")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex2i))"\n" +"\t"STUB_ASM_CODE("130")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex2iv))"\n" +"\t"STUB_ASM_CODE("131")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex2s))"\n" +"\t"STUB_ASM_CODE("132")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex2sv))"\n" +"\t"STUB_ASM_CODE("133")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex3d))"\n" +"\t"STUB_ASM_CODE("134")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex3dv))"\n" +"\t"STUB_ASM_CODE("135")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex3f))"\n" +"\t"STUB_ASM_CODE("136")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex3fv))"\n" +"\t"STUB_ASM_CODE("137")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex3i))"\n" +"\t"STUB_ASM_CODE("138")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex3iv))"\n" +"\t"STUB_ASM_CODE("139")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex3s))"\n" +"\t"STUB_ASM_CODE("140")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex3sv))"\n" +"\t"STUB_ASM_CODE("141")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex4d))"\n" +"\t"STUB_ASM_CODE("142")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex4dv))"\n" +"\t"STUB_ASM_CODE("143")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex4f))"\n" +"\t"STUB_ASM_CODE("144")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex4fv))"\n" +"\t"STUB_ASM_CODE("145")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex4i))"\n" +"\t"STUB_ASM_CODE("146")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex4iv))"\n" +"\t"STUB_ASM_CODE("147")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex4s))"\n" +"\t"STUB_ASM_CODE("148")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Vertex4sv))"\n" +"\t"STUB_ASM_CODE("149")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClipPlane))"\n" +"\t"STUB_ASM_CODE("150")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorMaterial))"\n" +"\t"STUB_ASM_CODE("151")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CullFace))"\n" +"\t"STUB_ASM_CODE("152")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Fogf))"\n" +"\t"STUB_ASM_CODE("153")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Fogfv))"\n" +"\t"STUB_ASM_CODE("154")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Fogi))"\n" +"\t"STUB_ASM_CODE("155")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Fogiv))"\n" +"\t"STUB_ASM_CODE("156")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FrontFace))"\n" +"\t"STUB_ASM_CODE("157")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Hint))"\n" +"\t"STUB_ASM_CODE("158")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Lightf))"\n" +"\t"STUB_ASM_CODE("159")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Lightfv))"\n" +"\t"STUB_ASM_CODE("160")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Lighti))"\n" +"\t"STUB_ASM_CODE("161")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Lightiv))"\n" +"\t"STUB_ASM_CODE("162")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LightModelf))"\n" +"\t"STUB_ASM_CODE("163")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LightModelfv))"\n" +"\t"STUB_ASM_CODE("164")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LightModeli))"\n" +"\t"STUB_ASM_CODE("165")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LightModeliv))"\n" +"\t"STUB_ASM_CODE("166")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LineStipple))"\n" +"\t"STUB_ASM_CODE("167")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LineWidth))"\n" +"\t"STUB_ASM_CODE("168")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Materialf))"\n" +"\t"STUB_ASM_CODE("169")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Materialfv))"\n" +"\t"STUB_ASM_CODE("170")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Materiali))"\n" +"\t"STUB_ASM_CODE("171")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Materialiv))"\n" +"\t"STUB_ASM_CODE("172")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointSize))"\n" +"\t"STUB_ASM_CODE("173")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PolygonMode))"\n" +"\t"STUB_ASM_CODE("174")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PolygonStipple))"\n" +"\t"STUB_ASM_CODE("175")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Scissor))"\n" +"\t"STUB_ASM_CODE("176")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ShadeModel))"\n" +"\t"STUB_ASM_CODE("177")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexParameterf))"\n" +"\t"STUB_ASM_CODE("178")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexParameterfv))"\n" +"\t"STUB_ASM_CODE("179")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexParameteri))"\n" +"\t"STUB_ASM_CODE("180")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexParameteriv))"\n" +"\t"STUB_ASM_CODE("181")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexImage1D))"\n" +"\t"STUB_ASM_CODE("182")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexImage2D))"\n" +"\t"STUB_ASM_CODE("183")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexEnvf))"\n" +"\t"STUB_ASM_CODE("184")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexEnvfv))"\n" +"\t"STUB_ASM_CODE("185")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexEnvi))"\n" +"\t"STUB_ASM_CODE("186")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexEnviv))"\n" +"\t"STUB_ASM_CODE("187")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexGend))"\n" +"\t"STUB_ASM_CODE("188")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexGendv))"\n" +"\t"STUB_ASM_CODE("189")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexGenf))"\n" +"\t"STUB_ASM_CODE("190")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexGenfv))"\n" +"\t"STUB_ASM_CODE("191")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexGeni))"\n" +"\t"STUB_ASM_CODE("192")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexGeniv))"\n" +"\t"STUB_ASM_CODE("193")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FeedbackBuffer))"\n" +"\t"STUB_ASM_CODE("194")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SelectBuffer))"\n" +"\t"STUB_ASM_CODE("195")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RenderMode))"\n" +"\t"STUB_ASM_CODE("196")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(InitNames))"\n" +"\t"STUB_ASM_CODE("197")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LoadName))"\n" +"\t"STUB_ASM_CODE("198")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PassThrough))"\n" +"\t"STUB_ASM_CODE("199")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PopName))"\n" +"\t"STUB_ASM_CODE("200")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PushName))"\n" +"\t"STUB_ASM_CODE("201")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawBuffer))"\n" +"\t"STUB_ASM_CODE("202")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Clear))"\n" +"\t"STUB_ASM_CODE("203")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearAccum))"\n" +"\t"STUB_ASM_CODE("204")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearIndex))"\n" +"\t"STUB_ASM_CODE("205")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearColor))"\n" +"\t"STUB_ASM_CODE("206")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearStencil))"\n" +"\t"STUB_ASM_CODE("207")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearDepth))"\n" +"\t"STUB_ASM_CODE("208")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(StencilMask))"\n" +"\t"STUB_ASM_CODE("209")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorMask))"\n" +"\t"STUB_ASM_CODE("210")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DepthMask))"\n" +"\t"STUB_ASM_CODE("211")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IndexMask))"\n" +"\t"STUB_ASM_CODE("212")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Accum))"\n" +"\t"STUB_ASM_CODE("213")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Disable))"\n" +"\t"STUB_ASM_CODE("214")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Enable))"\n" +"\t"STUB_ASM_CODE("215")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Finish))"\n" +"\t"STUB_ASM_CODE("216")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Flush))"\n" +"\t"STUB_ASM_CODE("217")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PopAttrib))"\n" +"\t"STUB_ASM_CODE("218")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PushAttrib))"\n" +"\t"STUB_ASM_CODE("219")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Map1d))"\n" +"\t"STUB_ASM_CODE("220")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Map1f))"\n" +"\t"STUB_ASM_CODE("221")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Map2d))"\n" +"\t"STUB_ASM_CODE("222")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Map2f))"\n" +"\t"STUB_ASM_CODE("223")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MapGrid1d))"\n" +"\t"STUB_ASM_CODE("224")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MapGrid1f))"\n" +"\t"STUB_ASM_CODE("225")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MapGrid2d))"\n" +"\t"STUB_ASM_CODE("226")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MapGrid2f))"\n" +"\t"STUB_ASM_CODE("227")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalCoord1d))"\n" +"\t"STUB_ASM_CODE("228")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalCoord1dv))"\n" +"\t"STUB_ASM_CODE("229")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalCoord1f))"\n" +"\t"STUB_ASM_CODE("230")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalCoord1fv))"\n" +"\t"STUB_ASM_CODE("231")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalCoord2d))"\n" +"\t"STUB_ASM_CODE("232")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalCoord2dv))"\n" +"\t"STUB_ASM_CODE("233")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalCoord2f))"\n" +"\t"STUB_ASM_CODE("234")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalCoord2fv))"\n" +"\t"STUB_ASM_CODE("235")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalMesh1))"\n" +"\t"STUB_ASM_CODE("236")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalPoint1))"\n" +"\t"STUB_ASM_CODE("237")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalMesh2))"\n" +"\t"STUB_ASM_CODE("238")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EvalPoint2))"\n" +"\t"STUB_ASM_CODE("239")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFunc))"\n" +"\t"STUB_ASM_CODE("240")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendFunc))"\n" +"\t"STUB_ASM_CODE("241")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LogicOp))"\n" +"\t"STUB_ASM_CODE("242")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(StencilFunc))"\n" +"\t"STUB_ASM_CODE("243")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(StencilOp))"\n" +"\t"STUB_ASM_CODE("244")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DepthFunc))"\n" +"\t"STUB_ASM_CODE("245")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PixelZoom))"\n" +"\t"STUB_ASM_CODE("246")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PixelTransferf))"\n" +"\t"STUB_ASM_CODE("247")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PixelTransferi))"\n" +"\t"STUB_ASM_CODE("248")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PixelStoref))"\n" +"\t"STUB_ASM_CODE("249")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PixelStorei))"\n" +"\t"STUB_ASM_CODE("250")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PixelMapfv))"\n" +"\t"STUB_ASM_CODE("251")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PixelMapuiv))"\n" +"\t"STUB_ASM_CODE("252")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PixelMapusv))"\n" +"\t"STUB_ASM_CODE("253")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ReadBuffer))"\n" +"\t"STUB_ASM_CODE("254")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyPixels))"\n" +"\t"STUB_ASM_CODE("255")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ReadPixels))"\n" +"\t"STUB_ASM_CODE("256")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawPixels))"\n" +"\t"STUB_ASM_CODE("257")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetBooleanv))"\n" +"\t"STUB_ASM_CODE("258")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetClipPlane))"\n" +"\t"STUB_ASM_CODE("259")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetDoublev))"\n" +"\t"STUB_ASM_CODE("260")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetError))"\n" +"\t"STUB_ASM_CODE("261")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFloatv))"\n" +"\t"STUB_ASM_CODE("262")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetIntegerv))"\n" +"\t"STUB_ASM_CODE("263")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetLightfv))"\n" +"\t"STUB_ASM_CODE("264")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetLightiv))"\n" +"\t"STUB_ASM_CODE("265")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetMapdv))"\n" +"\t"STUB_ASM_CODE("266")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetMapfv))"\n" +"\t"STUB_ASM_CODE("267")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetMapiv))"\n" +"\t"STUB_ASM_CODE("268")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetMaterialfv))"\n" +"\t"STUB_ASM_CODE("269")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetMaterialiv))"\n" +"\t"STUB_ASM_CODE("270")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetPixelMapfv))"\n" +"\t"STUB_ASM_CODE("271")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetPixelMapuiv))"\n" +"\t"STUB_ASM_CODE("272")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetPixelMapusv))"\n" +"\t"STUB_ASM_CODE("273")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetPolygonStipple))"\n" +"\t"STUB_ASM_CODE("274")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetString))"\n" +"\t"STUB_ASM_CODE("275")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexEnvfv))"\n" +"\t"STUB_ASM_CODE("276")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexEnviv))"\n" +"\t"STUB_ASM_CODE("277")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexGendv))"\n" +"\t"STUB_ASM_CODE("278")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexGenfv))"\n" +"\t"STUB_ASM_CODE("279")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexGeniv))"\n" +"\t"STUB_ASM_CODE("280")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexImage))"\n" +"\t"STUB_ASM_CODE("281")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexParameterfv))"\n" +"\t"STUB_ASM_CODE("282")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexParameteriv))"\n" +"\t"STUB_ASM_CODE("283")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexLevelParameterfv))"\n" +"\t"STUB_ASM_CODE("284")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexLevelParameteriv))"\n" +"\t"STUB_ASM_CODE("285")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsEnabled))"\n" +"\t"STUB_ASM_CODE("286")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsList))"\n" +"\t"STUB_ASM_CODE("287")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DepthRange))"\n" +"\t"STUB_ASM_CODE("288")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Frustum))"\n" +"\t"STUB_ASM_CODE("289")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LoadIdentity))"\n" +"\t"STUB_ASM_CODE("290")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LoadMatrixf))"\n" +"\t"STUB_ASM_CODE("291")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LoadMatrixd))"\n" +"\t"STUB_ASM_CODE("292")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MatrixMode))"\n" +"\t"STUB_ASM_CODE("293")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultMatrixf))"\n" +"\t"STUB_ASM_CODE("294")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultMatrixd))"\n" +"\t"STUB_ASM_CODE("295")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Ortho))"\n" +"\t"STUB_ASM_CODE("296")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PopMatrix))"\n" +"\t"STUB_ASM_CODE("297")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PushMatrix))"\n" +"\t"STUB_ASM_CODE("298")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rotated))"\n" +"\t"STUB_ASM_CODE("299")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Rotatef))"\n" +"\t"STUB_ASM_CODE("300")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Scaled))"\n" +"\t"STUB_ASM_CODE("301")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Scalef))"\n" +"\t"STUB_ASM_CODE("302")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Translated))"\n" +"\t"STUB_ASM_CODE("303")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Translatef))"\n" +"\t"STUB_ASM_CODE("304")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Viewport))"\n" +"\t"STUB_ASM_CODE("305")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ArrayElement))"\n" +"\t"STUB_ASM_CODE("306")"\n" + +".globl "GLAPI_PREFIX_STR(ArrayElementEXT)"\n" +".set "GLAPI_PREFIX_STR(ArrayElementEXT)", "GLAPI_PREFIX_STR(ArrayElement)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindTexture))"\n" +"\t"STUB_ASM_CODE("307")"\n" + +".globl "GLAPI_PREFIX_STR(BindTextureEXT)"\n" +".set "GLAPI_PREFIX_STR(BindTextureEXT)", "GLAPI_PREFIX_STR(BindTexture)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorPointer))"\n" +"\t"STUB_ASM_CODE("308")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DisableClientState))"\n" +"\t"STUB_ASM_CODE("309")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawArrays))"\n" +"\t"STUB_ASM_CODE("310")"\n" + +".globl "GLAPI_PREFIX_STR(DrawArraysEXT)"\n" +".set "GLAPI_PREFIX_STR(DrawArraysEXT)", "GLAPI_PREFIX_STR(DrawArrays)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawElements))"\n" +"\t"STUB_ASM_CODE("311")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EdgeFlagPointer))"\n" +"\t"STUB_ASM_CODE("312")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EnableClientState))"\n" +"\t"STUB_ASM_CODE("313")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IndexPointer))"\n" +"\t"STUB_ASM_CODE("314")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexub))"\n" +"\t"STUB_ASM_CODE("315")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Indexubv))"\n" +"\t"STUB_ASM_CODE("316")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(InterleavedArrays))"\n" +"\t"STUB_ASM_CODE("317")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(NormalPointer))"\n" +"\t"STUB_ASM_CODE("318")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PolygonOffset))"\n" +"\t"STUB_ASM_CODE("319")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoordPointer))"\n" +"\t"STUB_ASM_CODE("320")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexPointer))"\n" +"\t"STUB_ASM_CODE("321")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AreTexturesResident))"\n" +"\t"STUB_ASM_CODE("322")"\n" + +#if 0 +".globl "GLAPI_PREFIX_STR(AreTexturesResidentEXT)"\n" +".set "GLAPI_PREFIX_STR(AreTexturesResidentEXT)", "GLAPI_PREFIX_STR(AreTexturesResident)"\n" +#endif + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyTexImage1D))"\n" +"\t"STUB_ASM_CODE("323")"\n" + +".globl "GLAPI_PREFIX_STR(CopyTexImage1DEXT)"\n" +".set "GLAPI_PREFIX_STR(CopyTexImage1DEXT)", "GLAPI_PREFIX_STR(CopyTexImage1D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyTexImage2D))"\n" +"\t"STUB_ASM_CODE("324")"\n" + +".globl "GLAPI_PREFIX_STR(CopyTexImage2DEXT)"\n" +".set "GLAPI_PREFIX_STR(CopyTexImage2DEXT)", "GLAPI_PREFIX_STR(CopyTexImage2D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyTexSubImage1D))"\n" +"\t"STUB_ASM_CODE("325")"\n" + +".globl "GLAPI_PREFIX_STR(CopyTexSubImage1DEXT)"\n" +".set "GLAPI_PREFIX_STR(CopyTexSubImage1DEXT)", "GLAPI_PREFIX_STR(CopyTexSubImage1D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyTexSubImage2D))"\n" +"\t"STUB_ASM_CODE("326")"\n" + +".globl "GLAPI_PREFIX_STR(CopyTexSubImage2DEXT)"\n" +".set "GLAPI_PREFIX_STR(CopyTexSubImage2DEXT)", "GLAPI_PREFIX_STR(CopyTexSubImage2D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteTextures))"\n" +"\t"STUB_ASM_CODE("327")"\n" + +#if 0 +".globl "GLAPI_PREFIX_STR(DeleteTexturesEXT)"\n" +".set "GLAPI_PREFIX_STR(DeleteTexturesEXT)", "GLAPI_PREFIX_STR(DeleteTextures)"\n" +#endif + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenTextures))"\n" +"\t"STUB_ASM_CODE("328")"\n" + +#if 0 +".globl "GLAPI_PREFIX_STR(GenTexturesEXT)"\n" +".set "GLAPI_PREFIX_STR(GenTexturesEXT)", "GLAPI_PREFIX_STR(GenTextures)"\n" +#endif + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetPointerv))"\n" +"\t"STUB_ASM_CODE("329")"\n" + +".globl "GLAPI_PREFIX_STR(GetPointervEXT)"\n" +".set "GLAPI_PREFIX_STR(GetPointervEXT)", "GLAPI_PREFIX_STR(GetPointerv)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsTexture))"\n" +"\t"STUB_ASM_CODE("330")"\n" + +#if 0 +".globl "GLAPI_PREFIX_STR(IsTextureEXT)"\n" +".set "GLAPI_PREFIX_STR(IsTextureEXT)", "GLAPI_PREFIX_STR(IsTexture)"\n" +#endif + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PrioritizeTextures))"\n" +"\t"STUB_ASM_CODE("331")"\n" + +".globl "GLAPI_PREFIX_STR(PrioritizeTexturesEXT)"\n" +".set "GLAPI_PREFIX_STR(PrioritizeTexturesEXT)", "GLAPI_PREFIX_STR(PrioritizeTextures)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexSubImage1D))"\n" +"\t"STUB_ASM_CODE("332")"\n" + +".globl "GLAPI_PREFIX_STR(TexSubImage1DEXT)"\n" +".set "GLAPI_PREFIX_STR(TexSubImage1DEXT)", "GLAPI_PREFIX_STR(TexSubImage1D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexSubImage2D))"\n" +"\t"STUB_ASM_CODE("333")"\n" + +".globl "GLAPI_PREFIX_STR(TexSubImage2DEXT)"\n" +".set "GLAPI_PREFIX_STR(TexSubImage2DEXT)", "GLAPI_PREFIX_STR(TexSubImage2D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PopClientAttrib))"\n" +"\t"STUB_ASM_CODE("334")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PushClientAttrib))"\n" +"\t"STUB_ASM_CODE("335")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendColor))"\n" +"\t"STUB_ASM_CODE("336")"\n" + +".globl "GLAPI_PREFIX_STR(BlendColorEXT)"\n" +".set "GLAPI_PREFIX_STR(BlendColorEXT)", "GLAPI_PREFIX_STR(BlendColor)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquation))"\n" +"\t"STUB_ASM_CODE("337")"\n" + +".globl "GLAPI_PREFIX_STR(BlendEquationEXT)"\n" +".set "GLAPI_PREFIX_STR(BlendEquationEXT)", "GLAPI_PREFIX_STR(BlendEquation)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawRangeElements))"\n" +"\t"STUB_ASM_CODE("338")"\n" + +".globl "GLAPI_PREFIX_STR(DrawRangeElementsEXT)"\n" +".set "GLAPI_PREFIX_STR(DrawRangeElementsEXT)", "GLAPI_PREFIX_STR(DrawRangeElements)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorTable))"\n" +"\t"STUB_ASM_CODE("339")"\n" + +".globl "GLAPI_PREFIX_STR(ColorTableEXT)"\n" +".set "GLAPI_PREFIX_STR(ColorTableEXT)", "GLAPI_PREFIX_STR(ColorTable)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorTableParameterfv))"\n" +"\t"STUB_ASM_CODE("340")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorTableParameteriv))"\n" +"\t"STUB_ASM_CODE("341")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyColorTable))"\n" +"\t"STUB_ASM_CODE("342")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetColorTable))"\n" +"\t"STUB_ASM_CODE("343")"\n" + +#if 0 +".globl "GLAPI_PREFIX_STR(GetColorTableEXT)"\n" +".set "GLAPI_PREFIX_STR(GetColorTableEXT)", "GLAPI_PREFIX_STR(GetColorTable)"\n" +#endif + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetColorTableParameterfv))"\n" +"\t"STUB_ASM_CODE("344")"\n" + +#if 0 +".globl "GLAPI_PREFIX_STR(GetColorTableParameterfvEXT)"\n" +".set "GLAPI_PREFIX_STR(GetColorTableParameterfvEXT)", "GLAPI_PREFIX_STR(GetColorTableParameterfv)"\n" +#endif + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetColorTableParameteriv))"\n" +"\t"STUB_ASM_CODE("345")"\n" + +#if 0 +".globl "GLAPI_PREFIX_STR(GetColorTableParameterivEXT)"\n" +".set "GLAPI_PREFIX_STR(GetColorTableParameterivEXT)", "GLAPI_PREFIX_STR(GetColorTableParameteriv)"\n" +#endif + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorSubTable))"\n" +"\t"STUB_ASM_CODE("346")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyColorSubTable))"\n" +"\t"STUB_ASM_CODE("347")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ConvolutionFilter1D))"\n" +"\t"STUB_ASM_CODE("348")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ConvolutionFilter2D))"\n" +"\t"STUB_ASM_CODE("349")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ConvolutionParameterf))"\n" +"\t"STUB_ASM_CODE("350")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ConvolutionParameterfv))"\n" +"\t"STUB_ASM_CODE("351")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ConvolutionParameteri))"\n" +"\t"STUB_ASM_CODE("352")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ConvolutionParameteriv))"\n" +"\t"STUB_ASM_CODE("353")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyConvolutionFilter1D))"\n" +"\t"STUB_ASM_CODE("354")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyConvolutionFilter2D))"\n" +"\t"STUB_ASM_CODE("355")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetConvolutionFilter))"\n" +"\t"STUB_ASM_CODE("356")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetConvolutionParameterfv))"\n" +"\t"STUB_ASM_CODE("357")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetConvolutionParameteriv))"\n" +"\t"STUB_ASM_CODE("358")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetSeparableFilter))"\n" +"\t"STUB_ASM_CODE("359")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SeparableFilter2D))"\n" +"\t"STUB_ASM_CODE("360")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetHistogram))"\n" +"\t"STUB_ASM_CODE("361")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetHistogramParameterfv))"\n" +"\t"STUB_ASM_CODE("362")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetHistogramParameteriv))"\n" +"\t"STUB_ASM_CODE("363")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetMinmax))"\n" +"\t"STUB_ASM_CODE("364")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetMinmaxParameterfv))"\n" +"\t"STUB_ASM_CODE("365")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetMinmaxParameteriv))"\n" +"\t"STUB_ASM_CODE("366")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Histogram))"\n" +"\t"STUB_ASM_CODE("367")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Minmax))"\n" +"\t"STUB_ASM_CODE("368")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ResetHistogram))"\n" +"\t"STUB_ASM_CODE("369")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ResetMinmax))"\n" +"\t"STUB_ASM_CODE("370")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexImage3D))"\n" +"\t"STUB_ASM_CODE("371")"\n" + +".globl "GLAPI_PREFIX_STR(TexImage3DEXT)"\n" +".set "GLAPI_PREFIX_STR(TexImage3DEXT)", "GLAPI_PREFIX_STR(TexImage3D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexSubImage3D))"\n" +"\t"STUB_ASM_CODE("372")"\n" + +".globl "GLAPI_PREFIX_STR(TexSubImage3DEXT)"\n" +".set "GLAPI_PREFIX_STR(TexSubImage3DEXT)", "GLAPI_PREFIX_STR(TexSubImage3D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyTexSubImage3D))"\n" +"\t"STUB_ASM_CODE("373")"\n" + +".globl "GLAPI_PREFIX_STR(CopyTexSubImage3DEXT)"\n" +".set "GLAPI_PREFIX_STR(CopyTexSubImage3DEXT)", "GLAPI_PREFIX_STR(CopyTexSubImage3D)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ActiveTextureARB))"\n" +"\t"STUB_ASM_CODE("374")"\n" + +".globl "GLAPI_PREFIX_STR(ActiveTexture)"\n" +".set "GLAPI_PREFIX_STR(ActiveTexture)", "GLAPI_PREFIX_STR(ActiveTextureARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClientActiveTextureARB))"\n" +"\t"STUB_ASM_CODE("375")"\n" + +".globl "GLAPI_PREFIX_STR(ClientActiveTexture)"\n" +".set "GLAPI_PREFIX_STR(ClientActiveTexture)", "GLAPI_PREFIX_STR(ClientActiveTextureARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord1dARB))"\n" +"\t"STUB_ASM_CODE("376")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord1d)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord1d)", "GLAPI_PREFIX_STR(MultiTexCoord1dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord1dvARB))"\n" +"\t"STUB_ASM_CODE("377")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord1dv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord1dv)", "GLAPI_PREFIX_STR(MultiTexCoord1dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord1fARB))"\n" +"\t"STUB_ASM_CODE("378")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord1f)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord1f)", "GLAPI_PREFIX_STR(MultiTexCoord1fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord1fvARB))"\n" +"\t"STUB_ASM_CODE("379")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord1fv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord1fv)", "GLAPI_PREFIX_STR(MultiTexCoord1fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord1iARB))"\n" +"\t"STUB_ASM_CODE("380")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord1i)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord1i)", "GLAPI_PREFIX_STR(MultiTexCoord1iARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord1ivARB))"\n" +"\t"STUB_ASM_CODE("381")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord1iv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord1iv)", "GLAPI_PREFIX_STR(MultiTexCoord1ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord1sARB))"\n" +"\t"STUB_ASM_CODE("382")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord1s)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord1s)", "GLAPI_PREFIX_STR(MultiTexCoord1sARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord1svARB))"\n" +"\t"STUB_ASM_CODE("383")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord1sv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord1sv)", "GLAPI_PREFIX_STR(MultiTexCoord1svARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord2dARB))"\n" +"\t"STUB_ASM_CODE("384")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord2d)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord2d)", "GLAPI_PREFIX_STR(MultiTexCoord2dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord2dvARB))"\n" +"\t"STUB_ASM_CODE("385")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord2dv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord2dv)", "GLAPI_PREFIX_STR(MultiTexCoord2dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord2fARB))"\n" +"\t"STUB_ASM_CODE("386")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord2f)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord2f)", "GLAPI_PREFIX_STR(MultiTexCoord2fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord2fvARB))"\n" +"\t"STUB_ASM_CODE("387")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord2fv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord2fv)", "GLAPI_PREFIX_STR(MultiTexCoord2fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord2iARB))"\n" +"\t"STUB_ASM_CODE("388")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord2i)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord2i)", "GLAPI_PREFIX_STR(MultiTexCoord2iARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord2ivARB))"\n" +"\t"STUB_ASM_CODE("389")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord2iv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord2iv)", "GLAPI_PREFIX_STR(MultiTexCoord2ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord2sARB))"\n" +"\t"STUB_ASM_CODE("390")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord2s)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord2s)", "GLAPI_PREFIX_STR(MultiTexCoord2sARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord2svARB))"\n" +"\t"STUB_ASM_CODE("391")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord2sv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord2sv)", "GLAPI_PREFIX_STR(MultiTexCoord2svARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord3dARB))"\n" +"\t"STUB_ASM_CODE("392")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord3d)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord3d)", "GLAPI_PREFIX_STR(MultiTexCoord3dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord3dvARB))"\n" +"\t"STUB_ASM_CODE("393")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord3dv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord3dv)", "GLAPI_PREFIX_STR(MultiTexCoord3dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord3fARB))"\n" +"\t"STUB_ASM_CODE("394")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord3f)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord3f)", "GLAPI_PREFIX_STR(MultiTexCoord3fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord3fvARB))"\n" +"\t"STUB_ASM_CODE("395")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord3fv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord3fv)", "GLAPI_PREFIX_STR(MultiTexCoord3fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord3iARB))"\n" +"\t"STUB_ASM_CODE("396")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord3i)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord3i)", "GLAPI_PREFIX_STR(MultiTexCoord3iARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord3ivARB))"\n" +"\t"STUB_ASM_CODE("397")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord3iv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord3iv)", "GLAPI_PREFIX_STR(MultiTexCoord3ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord3sARB))"\n" +"\t"STUB_ASM_CODE("398")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord3s)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord3s)", "GLAPI_PREFIX_STR(MultiTexCoord3sARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord3svARB))"\n" +"\t"STUB_ASM_CODE("399")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord3sv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord3sv)", "GLAPI_PREFIX_STR(MultiTexCoord3svARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord4dARB))"\n" +"\t"STUB_ASM_CODE("400")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord4d)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord4d)", "GLAPI_PREFIX_STR(MultiTexCoord4dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord4dvARB))"\n" +"\t"STUB_ASM_CODE("401")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord4dv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord4dv)", "GLAPI_PREFIX_STR(MultiTexCoord4dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord4fARB))"\n" +"\t"STUB_ASM_CODE("402")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord4f)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord4f)", "GLAPI_PREFIX_STR(MultiTexCoord4fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord4fvARB))"\n" +"\t"STUB_ASM_CODE("403")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord4fv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord4fv)", "GLAPI_PREFIX_STR(MultiTexCoord4fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord4iARB))"\n" +"\t"STUB_ASM_CODE("404")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord4i)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord4i)", "GLAPI_PREFIX_STR(MultiTexCoord4iARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord4ivARB))"\n" +"\t"STUB_ASM_CODE("405")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord4iv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord4iv)", "GLAPI_PREFIX_STR(MultiTexCoord4ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord4sARB))"\n" +"\t"STUB_ASM_CODE("406")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord4s)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord4s)", "GLAPI_PREFIX_STR(MultiTexCoord4sARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiTexCoord4svARB))"\n" +"\t"STUB_ASM_CODE("407")"\n" + +".globl "GLAPI_PREFIX_STR(MultiTexCoord4sv)"\n" +".set "GLAPI_PREFIX_STR(MultiTexCoord4sv)", "GLAPI_PREFIX_STR(MultiTexCoord4svARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AttachShader))"\n" +"\t"STUB_ASM_CODE("408")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CreateProgram))"\n" +"\t"STUB_ASM_CODE("409")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CreateShader))"\n" +"\t"STUB_ASM_CODE("410")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteProgram))"\n" +"\t"STUB_ASM_CODE("411")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteShader))"\n" +"\t"STUB_ASM_CODE("412")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DetachShader))"\n" +"\t"STUB_ASM_CODE("413")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetAttachedShaders))"\n" +"\t"STUB_ASM_CODE("414")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramInfoLog))"\n" +"\t"STUB_ASM_CODE("415")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramiv))"\n" +"\t"STUB_ASM_CODE("416")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetShaderInfoLog))"\n" +"\t"STUB_ASM_CODE("417")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetShaderiv))"\n" +"\t"STUB_ASM_CODE("418")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsProgram))"\n" +"\t"STUB_ASM_CODE("419")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsShader))"\n" +"\t"STUB_ASM_CODE("420")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(StencilFuncSeparate))"\n" +"\t"STUB_ASM_CODE("421")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(StencilMaskSeparate))"\n" +"\t"STUB_ASM_CODE("422")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(StencilOpSeparate))"\n" +"\t"STUB_ASM_CODE("423")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix2x3fv))"\n" +"\t"STUB_ASM_CODE("424")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix2x4fv))"\n" +"\t"STUB_ASM_CODE("425")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix3x2fv))"\n" +"\t"STUB_ASM_CODE("426")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix3x4fv))"\n" +"\t"STUB_ASM_CODE("427")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix4x2fv))"\n" +"\t"STUB_ASM_CODE("428")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix4x3fv))"\n" +"\t"STUB_ASM_CODE("429")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClampColor))"\n" +"\t"STUB_ASM_CODE("430")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearBufferfi))"\n" +"\t"STUB_ASM_CODE("431")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearBufferfv))"\n" +"\t"STUB_ASM_CODE("432")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearBufferiv))"\n" +"\t"STUB_ASM_CODE("433")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearBufferuiv))"\n" +"\t"STUB_ASM_CODE("434")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetStringi))"\n" +"\t"STUB_ASM_CODE("435")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexBuffer))"\n" +"\t"STUB_ASM_CODE("436")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTexture))"\n" +"\t"STUB_ASM_CODE("437")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetBufferParameteri64v))"\n" +"\t"STUB_ASM_CODE("438")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetInteger64i_v))"\n" +"\t"STUB_ASM_CODE("439")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribDivisor))"\n" +"\t"STUB_ASM_CODE("440")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LoadTransposeMatrixdARB))"\n" +"\t"STUB_ASM_CODE("441")"\n" + +".globl "GLAPI_PREFIX_STR(LoadTransposeMatrixd)"\n" +".set "GLAPI_PREFIX_STR(LoadTransposeMatrixd)", "GLAPI_PREFIX_STR(LoadTransposeMatrixdARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LoadTransposeMatrixfARB))"\n" +"\t"STUB_ASM_CODE("442")"\n" + +".globl "GLAPI_PREFIX_STR(LoadTransposeMatrixf)"\n" +".set "GLAPI_PREFIX_STR(LoadTransposeMatrixf)", "GLAPI_PREFIX_STR(LoadTransposeMatrixfARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultTransposeMatrixdARB))"\n" +"\t"STUB_ASM_CODE("443")"\n" + +".globl "GLAPI_PREFIX_STR(MultTransposeMatrixd)"\n" +".set "GLAPI_PREFIX_STR(MultTransposeMatrixd)", "GLAPI_PREFIX_STR(MultTransposeMatrixdARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultTransposeMatrixfARB))"\n" +"\t"STUB_ASM_CODE("444")"\n" + +".globl "GLAPI_PREFIX_STR(MultTransposeMatrixf)"\n" +".set "GLAPI_PREFIX_STR(MultTransposeMatrixf)", "GLAPI_PREFIX_STR(MultTransposeMatrixfARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SampleCoverageARB))"\n" +"\t"STUB_ASM_CODE("445")"\n" + +".globl "GLAPI_PREFIX_STR(SampleCoverage)"\n" +".set "GLAPI_PREFIX_STR(SampleCoverage)", "GLAPI_PREFIX_STR(SampleCoverageARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CompressedTexImage1DARB))"\n" +"\t"STUB_ASM_CODE("446")"\n" + +".globl "GLAPI_PREFIX_STR(CompressedTexImage1D)"\n" +".set "GLAPI_PREFIX_STR(CompressedTexImage1D)", "GLAPI_PREFIX_STR(CompressedTexImage1DARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CompressedTexImage2DARB))"\n" +"\t"STUB_ASM_CODE("447")"\n" + +".globl "GLAPI_PREFIX_STR(CompressedTexImage2D)"\n" +".set "GLAPI_PREFIX_STR(CompressedTexImage2D)", "GLAPI_PREFIX_STR(CompressedTexImage2DARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CompressedTexImage3DARB))"\n" +"\t"STUB_ASM_CODE("448")"\n" + +".globl "GLAPI_PREFIX_STR(CompressedTexImage3D)"\n" +".set "GLAPI_PREFIX_STR(CompressedTexImage3D)", "GLAPI_PREFIX_STR(CompressedTexImage3DARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CompressedTexSubImage1DARB))"\n" +"\t"STUB_ASM_CODE("449")"\n" + +".globl "GLAPI_PREFIX_STR(CompressedTexSubImage1D)"\n" +".set "GLAPI_PREFIX_STR(CompressedTexSubImage1D)", "GLAPI_PREFIX_STR(CompressedTexSubImage1DARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CompressedTexSubImage2DARB))"\n" +"\t"STUB_ASM_CODE("450")"\n" + +".globl "GLAPI_PREFIX_STR(CompressedTexSubImage2D)"\n" +".set "GLAPI_PREFIX_STR(CompressedTexSubImage2D)", "GLAPI_PREFIX_STR(CompressedTexSubImage2DARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CompressedTexSubImage3DARB))"\n" +"\t"STUB_ASM_CODE("451")"\n" + +".globl "GLAPI_PREFIX_STR(CompressedTexSubImage3D)"\n" +".set "GLAPI_PREFIX_STR(CompressedTexSubImage3D)", "GLAPI_PREFIX_STR(CompressedTexSubImage3DARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCompressedTexImageARB))"\n" +"\t"STUB_ASM_CODE("452")"\n" + +".globl "GLAPI_PREFIX_STR(GetCompressedTexImage)"\n" +".set "GLAPI_PREFIX_STR(GetCompressedTexImage)", "GLAPI_PREFIX_STR(GetCompressedTexImageARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DisableVertexAttribArrayARB))"\n" +"\t"STUB_ASM_CODE("453")"\n" + +".globl "GLAPI_PREFIX_STR(DisableVertexAttribArray)"\n" +".set "GLAPI_PREFIX_STR(DisableVertexAttribArray)", "GLAPI_PREFIX_STR(DisableVertexAttribArrayARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EnableVertexAttribArrayARB))"\n" +"\t"STUB_ASM_CODE("454")"\n" + +".globl "GLAPI_PREFIX_STR(EnableVertexAttribArray)"\n" +".set "GLAPI_PREFIX_STR(EnableVertexAttribArray)", "GLAPI_PREFIX_STR(EnableVertexAttribArrayARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramEnvParameterdvARB))"\n" +"\t"STUB_ASM_CODE("455")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramEnvParameterfvARB))"\n" +"\t"STUB_ASM_CODE("456")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramLocalParameterdvARB))"\n" +"\t"STUB_ASM_CODE("457")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramLocalParameterfvARB))"\n" +"\t"STUB_ASM_CODE("458")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramStringARB))"\n" +"\t"STUB_ASM_CODE("459")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramivARB))"\n" +"\t"STUB_ASM_CODE("460")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribdvARB))"\n" +"\t"STUB_ASM_CODE("461")"\n" + +".globl "GLAPI_PREFIX_STR(GetVertexAttribdv)"\n" +".set "GLAPI_PREFIX_STR(GetVertexAttribdv)", "GLAPI_PREFIX_STR(GetVertexAttribdvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribfvARB))"\n" +"\t"STUB_ASM_CODE("462")"\n" + +".globl "GLAPI_PREFIX_STR(GetVertexAttribfv)"\n" +".set "GLAPI_PREFIX_STR(GetVertexAttribfv)", "GLAPI_PREFIX_STR(GetVertexAttribfvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribivARB))"\n" +"\t"STUB_ASM_CODE("463")"\n" + +".globl "GLAPI_PREFIX_STR(GetVertexAttribiv)"\n" +".set "GLAPI_PREFIX_STR(GetVertexAttribiv)", "GLAPI_PREFIX_STR(GetVertexAttribivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramEnvParameter4dARB))"\n" +"\t"STUB_ASM_CODE("464")"\n" + +".globl "GLAPI_PREFIX_STR(ProgramParameter4dNV)"\n" +".set "GLAPI_PREFIX_STR(ProgramParameter4dNV)", "GLAPI_PREFIX_STR(ProgramEnvParameter4dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramEnvParameter4dvARB))"\n" +"\t"STUB_ASM_CODE("465")"\n" + +".globl "GLAPI_PREFIX_STR(ProgramParameter4dvNV)"\n" +".set "GLAPI_PREFIX_STR(ProgramParameter4dvNV)", "GLAPI_PREFIX_STR(ProgramEnvParameter4dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramEnvParameter4fARB))"\n" +"\t"STUB_ASM_CODE("466")"\n" + +".globl "GLAPI_PREFIX_STR(ProgramParameter4fNV)"\n" +".set "GLAPI_PREFIX_STR(ProgramParameter4fNV)", "GLAPI_PREFIX_STR(ProgramEnvParameter4fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramEnvParameter4fvARB))"\n" +"\t"STUB_ASM_CODE("467")"\n" + +".globl "GLAPI_PREFIX_STR(ProgramParameter4fvNV)"\n" +".set "GLAPI_PREFIX_STR(ProgramParameter4fvNV)", "GLAPI_PREFIX_STR(ProgramEnvParameter4fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramLocalParameter4dARB))"\n" +"\t"STUB_ASM_CODE("468")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramLocalParameter4dvARB))"\n" +"\t"STUB_ASM_CODE("469")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramLocalParameter4fARB))"\n" +"\t"STUB_ASM_CODE("470")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramLocalParameter4fvARB))"\n" +"\t"STUB_ASM_CODE("471")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramStringARB))"\n" +"\t"STUB_ASM_CODE("472")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1dARB))"\n" +"\t"STUB_ASM_CODE("473")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib1d)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib1d)", "GLAPI_PREFIX_STR(VertexAttrib1dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1dvARB))"\n" +"\t"STUB_ASM_CODE("474")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib1dv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib1dv)", "GLAPI_PREFIX_STR(VertexAttrib1dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1fARB))"\n" +"\t"STUB_ASM_CODE("475")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib1f)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib1f)", "GLAPI_PREFIX_STR(VertexAttrib1fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1fvARB))"\n" +"\t"STUB_ASM_CODE("476")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib1fv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib1fv)", "GLAPI_PREFIX_STR(VertexAttrib1fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1sARB))"\n" +"\t"STUB_ASM_CODE("477")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib1s)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib1s)", "GLAPI_PREFIX_STR(VertexAttrib1sARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1svARB))"\n" +"\t"STUB_ASM_CODE("478")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib1sv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib1sv)", "GLAPI_PREFIX_STR(VertexAttrib1svARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2dARB))"\n" +"\t"STUB_ASM_CODE("479")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib2d)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib2d)", "GLAPI_PREFIX_STR(VertexAttrib2dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2dvARB))"\n" +"\t"STUB_ASM_CODE("480")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib2dv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib2dv)", "GLAPI_PREFIX_STR(VertexAttrib2dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2fARB))"\n" +"\t"STUB_ASM_CODE("481")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib2f)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib2f)", "GLAPI_PREFIX_STR(VertexAttrib2fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2fvARB))"\n" +"\t"STUB_ASM_CODE("482")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib2fv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib2fv)", "GLAPI_PREFIX_STR(VertexAttrib2fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2sARB))"\n" +"\t"STUB_ASM_CODE("483")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib2s)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib2s)", "GLAPI_PREFIX_STR(VertexAttrib2sARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2svARB))"\n" +"\t"STUB_ASM_CODE("484")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib2sv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib2sv)", "GLAPI_PREFIX_STR(VertexAttrib2svARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3dARB))"\n" +"\t"STUB_ASM_CODE("485")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib3d)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib3d)", "GLAPI_PREFIX_STR(VertexAttrib3dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3dvARB))"\n" +"\t"STUB_ASM_CODE("486")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib3dv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib3dv)", "GLAPI_PREFIX_STR(VertexAttrib3dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3fARB))"\n" +"\t"STUB_ASM_CODE("487")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib3f)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib3f)", "GLAPI_PREFIX_STR(VertexAttrib3fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3fvARB))"\n" +"\t"STUB_ASM_CODE("488")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib3fv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib3fv)", "GLAPI_PREFIX_STR(VertexAttrib3fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3sARB))"\n" +"\t"STUB_ASM_CODE("489")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib3s)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib3s)", "GLAPI_PREFIX_STR(VertexAttrib3sARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3svARB))"\n" +"\t"STUB_ASM_CODE("490")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib3sv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib3sv)", "GLAPI_PREFIX_STR(VertexAttrib3svARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4NbvARB))"\n" +"\t"STUB_ASM_CODE("491")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4Nbv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4Nbv)", "GLAPI_PREFIX_STR(VertexAttrib4NbvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4NivARB))"\n" +"\t"STUB_ASM_CODE("492")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4Niv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4Niv)", "GLAPI_PREFIX_STR(VertexAttrib4NivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4NsvARB))"\n" +"\t"STUB_ASM_CODE("493")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4Nsv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4Nsv)", "GLAPI_PREFIX_STR(VertexAttrib4NsvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4NubARB))"\n" +"\t"STUB_ASM_CODE("494")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4Nub)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4Nub)", "GLAPI_PREFIX_STR(VertexAttrib4NubARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4NubvARB))"\n" +"\t"STUB_ASM_CODE("495")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4Nubv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4Nubv)", "GLAPI_PREFIX_STR(VertexAttrib4NubvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4NuivARB))"\n" +"\t"STUB_ASM_CODE("496")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4Nuiv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4Nuiv)", "GLAPI_PREFIX_STR(VertexAttrib4NuivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4NusvARB))"\n" +"\t"STUB_ASM_CODE("497")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4Nusv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4Nusv)", "GLAPI_PREFIX_STR(VertexAttrib4NusvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4bvARB))"\n" +"\t"STUB_ASM_CODE("498")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4bv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4bv)", "GLAPI_PREFIX_STR(VertexAttrib4bvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4dARB))"\n" +"\t"STUB_ASM_CODE("499")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4d)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4d)", "GLAPI_PREFIX_STR(VertexAttrib4dARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4dvARB))"\n" +"\t"STUB_ASM_CODE("500")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4dv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4dv)", "GLAPI_PREFIX_STR(VertexAttrib4dvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4fARB))"\n" +"\t"STUB_ASM_CODE("501")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4f)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4f)", "GLAPI_PREFIX_STR(VertexAttrib4fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4fvARB))"\n" +"\t"STUB_ASM_CODE("502")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4fv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4fv)", "GLAPI_PREFIX_STR(VertexAttrib4fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4ivARB))"\n" +"\t"STUB_ASM_CODE("503")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4iv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4iv)", "GLAPI_PREFIX_STR(VertexAttrib4ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4sARB))"\n" +"\t"STUB_ASM_CODE("504")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4s)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4s)", "GLAPI_PREFIX_STR(VertexAttrib4sARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4svARB))"\n" +"\t"STUB_ASM_CODE("505")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4sv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4sv)", "GLAPI_PREFIX_STR(VertexAttrib4svARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4ubvARB))"\n" +"\t"STUB_ASM_CODE("506")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4ubv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4ubv)", "GLAPI_PREFIX_STR(VertexAttrib4ubvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4uivARB))"\n" +"\t"STUB_ASM_CODE("507")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4uiv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4uiv)", "GLAPI_PREFIX_STR(VertexAttrib4uivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4usvARB))"\n" +"\t"STUB_ASM_CODE("508")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttrib4usv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttrib4usv)", "GLAPI_PREFIX_STR(VertexAttrib4usvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribPointerARB))"\n" +"\t"STUB_ASM_CODE("509")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribPointer)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribPointer)", "GLAPI_PREFIX_STR(VertexAttribPointerARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindBufferARB))"\n" +"\t"STUB_ASM_CODE("510")"\n" + +".globl "GLAPI_PREFIX_STR(BindBuffer)"\n" +".set "GLAPI_PREFIX_STR(BindBuffer)", "GLAPI_PREFIX_STR(BindBufferARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BufferDataARB))"\n" +"\t"STUB_ASM_CODE("511")"\n" + +".globl "GLAPI_PREFIX_STR(BufferData)"\n" +".set "GLAPI_PREFIX_STR(BufferData)", "GLAPI_PREFIX_STR(BufferDataARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BufferSubDataARB))"\n" +"\t"STUB_ASM_CODE("512")"\n" + +".globl "GLAPI_PREFIX_STR(BufferSubData)"\n" +".set "GLAPI_PREFIX_STR(BufferSubData)", "GLAPI_PREFIX_STR(BufferSubDataARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteBuffersARB))"\n" +"\t"STUB_ASM_CODE("513")"\n" + +".globl "GLAPI_PREFIX_STR(DeleteBuffers)"\n" +".set "GLAPI_PREFIX_STR(DeleteBuffers)", "GLAPI_PREFIX_STR(DeleteBuffersARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenBuffersARB))"\n" +"\t"STUB_ASM_CODE("514")"\n" + +".globl "GLAPI_PREFIX_STR(GenBuffers)"\n" +".set "GLAPI_PREFIX_STR(GenBuffers)", "GLAPI_PREFIX_STR(GenBuffersARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetBufferParameterivARB))"\n" +"\t"STUB_ASM_CODE("515")"\n" + +".globl "GLAPI_PREFIX_STR(GetBufferParameteriv)"\n" +".set "GLAPI_PREFIX_STR(GetBufferParameteriv)", "GLAPI_PREFIX_STR(GetBufferParameterivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetBufferPointervARB))"\n" +"\t"STUB_ASM_CODE("516")"\n" + +".globl "GLAPI_PREFIX_STR(GetBufferPointerv)"\n" +".set "GLAPI_PREFIX_STR(GetBufferPointerv)", "GLAPI_PREFIX_STR(GetBufferPointervARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetBufferSubDataARB))"\n" +"\t"STUB_ASM_CODE("517")"\n" + +".globl "GLAPI_PREFIX_STR(GetBufferSubData)"\n" +".set "GLAPI_PREFIX_STR(GetBufferSubData)", "GLAPI_PREFIX_STR(GetBufferSubDataARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsBufferARB))"\n" +"\t"STUB_ASM_CODE("518")"\n" + +".globl "GLAPI_PREFIX_STR(IsBuffer)"\n" +".set "GLAPI_PREFIX_STR(IsBuffer)", "GLAPI_PREFIX_STR(IsBufferARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MapBufferARB))"\n" +"\t"STUB_ASM_CODE("519")"\n" + +".globl "GLAPI_PREFIX_STR(MapBuffer)"\n" +".set "GLAPI_PREFIX_STR(MapBuffer)", "GLAPI_PREFIX_STR(MapBufferARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UnmapBufferARB))"\n" +"\t"STUB_ASM_CODE("520")"\n" + +".globl "GLAPI_PREFIX_STR(UnmapBuffer)"\n" +".set "GLAPI_PREFIX_STR(UnmapBuffer)", "GLAPI_PREFIX_STR(UnmapBufferARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BeginQueryARB))"\n" +"\t"STUB_ASM_CODE("521")"\n" + +".globl "GLAPI_PREFIX_STR(BeginQuery)"\n" +".set "GLAPI_PREFIX_STR(BeginQuery)", "GLAPI_PREFIX_STR(BeginQueryARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteQueriesARB))"\n" +"\t"STUB_ASM_CODE("522")"\n" + +".globl "GLAPI_PREFIX_STR(DeleteQueries)"\n" +".set "GLAPI_PREFIX_STR(DeleteQueries)", "GLAPI_PREFIX_STR(DeleteQueriesARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndQueryARB))"\n" +"\t"STUB_ASM_CODE("523")"\n" + +".globl "GLAPI_PREFIX_STR(EndQuery)"\n" +".set "GLAPI_PREFIX_STR(EndQuery)", "GLAPI_PREFIX_STR(EndQueryARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenQueriesARB))"\n" +"\t"STUB_ASM_CODE("524")"\n" + +".globl "GLAPI_PREFIX_STR(GenQueries)"\n" +".set "GLAPI_PREFIX_STR(GenQueries)", "GLAPI_PREFIX_STR(GenQueriesARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetQueryObjectivARB))"\n" +"\t"STUB_ASM_CODE("525")"\n" + +".globl "GLAPI_PREFIX_STR(GetQueryObjectiv)"\n" +".set "GLAPI_PREFIX_STR(GetQueryObjectiv)", "GLAPI_PREFIX_STR(GetQueryObjectivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetQueryObjectuivARB))"\n" +"\t"STUB_ASM_CODE("526")"\n" + +".globl "GLAPI_PREFIX_STR(GetQueryObjectuiv)"\n" +".set "GLAPI_PREFIX_STR(GetQueryObjectuiv)", "GLAPI_PREFIX_STR(GetQueryObjectuivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetQueryivARB))"\n" +"\t"STUB_ASM_CODE("527")"\n" + +".globl "GLAPI_PREFIX_STR(GetQueryiv)"\n" +".set "GLAPI_PREFIX_STR(GetQueryiv)", "GLAPI_PREFIX_STR(GetQueryivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsQueryARB))"\n" +"\t"STUB_ASM_CODE("528")"\n" + +".globl "GLAPI_PREFIX_STR(IsQuery)"\n" +".set "GLAPI_PREFIX_STR(IsQuery)", "GLAPI_PREFIX_STR(IsQueryARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AttachObjectARB))"\n" +"\t"STUB_ASM_CODE("529")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CompileShaderARB))"\n" +"\t"STUB_ASM_CODE("530")"\n" + +".globl "GLAPI_PREFIX_STR(CompileShader)"\n" +".set "GLAPI_PREFIX_STR(CompileShader)", "GLAPI_PREFIX_STR(CompileShaderARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CreateProgramObjectARB))"\n" +"\t"STUB_ASM_CODE("531")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CreateShaderObjectARB))"\n" +"\t"STUB_ASM_CODE("532")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteObjectARB))"\n" +"\t"STUB_ASM_CODE("533")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DetachObjectARB))"\n" +"\t"STUB_ASM_CODE("534")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetActiveUniformARB))"\n" +"\t"STUB_ASM_CODE("535")"\n" + +".globl "GLAPI_PREFIX_STR(GetActiveUniform)"\n" +".set "GLAPI_PREFIX_STR(GetActiveUniform)", "GLAPI_PREFIX_STR(GetActiveUniformARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetAttachedObjectsARB))"\n" +"\t"STUB_ASM_CODE("536")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetHandleARB))"\n" +"\t"STUB_ASM_CODE("537")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetInfoLogARB))"\n" +"\t"STUB_ASM_CODE("538")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetObjectParameterfvARB))"\n" +"\t"STUB_ASM_CODE("539")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetObjectParameterivARB))"\n" +"\t"STUB_ASM_CODE("540")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetShaderSourceARB))"\n" +"\t"STUB_ASM_CODE("541")"\n" + +".globl "GLAPI_PREFIX_STR(GetShaderSource)"\n" +".set "GLAPI_PREFIX_STR(GetShaderSource)", "GLAPI_PREFIX_STR(GetShaderSourceARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetUniformLocationARB))"\n" +"\t"STUB_ASM_CODE("542")"\n" + +".globl "GLAPI_PREFIX_STR(GetUniformLocation)"\n" +".set "GLAPI_PREFIX_STR(GetUniformLocation)", "GLAPI_PREFIX_STR(GetUniformLocationARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetUniformfvARB))"\n" +"\t"STUB_ASM_CODE("543")"\n" + +".globl "GLAPI_PREFIX_STR(GetUniformfv)"\n" +".set "GLAPI_PREFIX_STR(GetUniformfv)", "GLAPI_PREFIX_STR(GetUniformfvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetUniformivARB))"\n" +"\t"STUB_ASM_CODE("544")"\n" + +".globl "GLAPI_PREFIX_STR(GetUniformiv)"\n" +".set "GLAPI_PREFIX_STR(GetUniformiv)", "GLAPI_PREFIX_STR(GetUniformivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LinkProgramARB))"\n" +"\t"STUB_ASM_CODE("545")"\n" + +".globl "GLAPI_PREFIX_STR(LinkProgram)"\n" +".set "GLAPI_PREFIX_STR(LinkProgram)", "GLAPI_PREFIX_STR(LinkProgramARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ShaderSourceARB))"\n" +"\t"STUB_ASM_CODE("546")"\n" + +".globl "GLAPI_PREFIX_STR(ShaderSource)"\n" +".set "GLAPI_PREFIX_STR(ShaderSource)", "GLAPI_PREFIX_STR(ShaderSourceARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform1fARB))"\n" +"\t"STUB_ASM_CODE("547")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform1f)"\n" +".set "GLAPI_PREFIX_STR(Uniform1f)", "GLAPI_PREFIX_STR(Uniform1fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform1fvARB))"\n" +"\t"STUB_ASM_CODE("548")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform1fv)"\n" +".set "GLAPI_PREFIX_STR(Uniform1fv)", "GLAPI_PREFIX_STR(Uniform1fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform1iARB))"\n" +"\t"STUB_ASM_CODE("549")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform1i)"\n" +".set "GLAPI_PREFIX_STR(Uniform1i)", "GLAPI_PREFIX_STR(Uniform1iARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform1ivARB))"\n" +"\t"STUB_ASM_CODE("550")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform1iv)"\n" +".set "GLAPI_PREFIX_STR(Uniform1iv)", "GLAPI_PREFIX_STR(Uniform1ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform2fARB))"\n" +"\t"STUB_ASM_CODE("551")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform2f)"\n" +".set "GLAPI_PREFIX_STR(Uniform2f)", "GLAPI_PREFIX_STR(Uniform2fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform2fvARB))"\n" +"\t"STUB_ASM_CODE("552")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform2fv)"\n" +".set "GLAPI_PREFIX_STR(Uniform2fv)", "GLAPI_PREFIX_STR(Uniform2fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform2iARB))"\n" +"\t"STUB_ASM_CODE("553")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform2i)"\n" +".set "GLAPI_PREFIX_STR(Uniform2i)", "GLAPI_PREFIX_STR(Uniform2iARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform2ivARB))"\n" +"\t"STUB_ASM_CODE("554")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform2iv)"\n" +".set "GLAPI_PREFIX_STR(Uniform2iv)", "GLAPI_PREFIX_STR(Uniform2ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform3fARB))"\n" +"\t"STUB_ASM_CODE("555")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform3f)"\n" +".set "GLAPI_PREFIX_STR(Uniform3f)", "GLAPI_PREFIX_STR(Uniform3fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform3fvARB))"\n" +"\t"STUB_ASM_CODE("556")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform3fv)"\n" +".set "GLAPI_PREFIX_STR(Uniform3fv)", "GLAPI_PREFIX_STR(Uniform3fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform3iARB))"\n" +"\t"STUB_ASM_CODE("557")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform3i)"\n" +".set "GLAPI_PREFIX_STR(Uniform3i)", "GLAPI_PREFIX_STR(Uniform3iARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform3ivARB))"\n" +"\t"STUB_ASM_CODE("558")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform3iv)"\n" +".set "GLAPI_PREFIX_STR(Uniform3iv)", "GLAPI_PREFIX_STR(Uniform3ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform4fARB))"\n" +"\t"STUB_ASM_CODE("559")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform4f)"\n" +".set "GLAPI_PREFIX_STR(Uniform4f)", "GLAPI_PREFIX_STR(Uniform4fARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform4fvARB))"\n" +"\t"STUB_ASM_CODE("560")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform4fv)"\n" +".set "GLAPI_PREFIX_STR(Uniform4fv)", "GLAPI_PREFIX_STR(Uniform4fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform4iARB))"\n" +"\t"STUB_ASM_CODE("561")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform4i)"\n" +".set "GLAPI_PREFIX_STR(Uniform4i)", "GLAPI_PREFIX_STR(Uniform4iARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform4ivARB))"\n" +"\t"STUB_ASM_CODE("562")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform4iv)"\n" +".set "GLAPI_PREFIX_STR(Uniform4iv)", "GLAPI_PREFIX_STR(Uniform4ivARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix2fvARB))"\n" +"\t"STUB_ASM_CODE("563")"\n" + +".globl "GLAPI_PREFIX_STR(UniformMatrix2fv)"\n" +".set "GLAPI_PREFIX_STR(UniformMatrix2fv)", "GLAPI_PREFIX_STR(UniformMatrix2fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix3fvARB))"\n" +"\t"STUB_ASM_CODE("564")"\n" + +".globl "GLAPI_PREFIX_STR(UniformMatrix3fv)"\n" +".set "GLAPI_PREFIX_STR(UniformMatrix3fv)", "GLAPI_PREFIX_STR(UniformMatrix3fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UniformMatrix4fvARB))"\n" +"\t"STUB_ASM_CODE("565")"\n" + +".globl "GLAPI_PREFIX_STR(UniformMatrix4fv)"\n" +".set "GLAPI_PREFIX_STR(UniformMatrix4fv)", "GLAPI_PREFIX_STR(UniformMatrix4fvARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UseProgramObjectARB))"\n" +"\t"STUB_ASM_CODE("566")"\n" + +".globl "GLAPI_PREFIX_STR(UseProgram)"\n" +".set "GLAPI_PREFIX_STR(UseProgram)", "GLAPI_PREFIX_STR(UseProgramObjectARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ValidateProgramARB))"\n" +"\t"STUB_ASM_CODE("567")"\n" + +".globl "GLAPI_PREFIX_STR(ValidateProgram)"\n" +".set "GLAPI_PREFIX_STR(ValidateProgram)", "GLAPI_PREFIX_STR(ValidateProgramARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindAttribLocationARB))"\n" +"\t"STUB_ASM_CODE("568")"\n" + +".globl "GLAPI_PREFIX_STR(BindAttribLocation)"\n" +".set "GLAPI_PREFIX_STR(BindAttribLocation)", "GLAPI_PREFIX_STR(BindAttribLocationARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetActiveAttribARB))"\n" +"\t"STUB_ASM_CODE("569")"\n" + +".globl "GLAPI_PREFIX_STR(GetActiveAttrib)"\n" +".set "GLAPI_PREFIX_STR(GetActiveAttrib)", "GLAPI_PREFIX_STR(GetActiveAttribARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetAttribLocationARB))"\n" +"\t"STUB_ASM_CODE("570")"\n" + +".globl "GLAPI_PREFIX_STR(GetAttribLocation)"\n" +".set "GLAPI_PREFIX_STR(GetAttribLocation)", "GLAPI_PREFIX_STR(GetAttribLocationARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawBuffersARB))"\n" +"\t"STUB_ASM_CODE("571")"\n" + +".globl "GLAPI_PREFIX_STR(DrawBuffers)"\n" +".set "GLAPI_PREFIX_STR(DrawBuffers)", "GLAPI_PREFIX_STR(DrawBuffersARB)"\n" + +".globl "GLAPI_PREFIX_STR(DrawBuffersATI)"\n" +".set "GLAPI_PREFIX_STR(DrawBuffersATI)", "GLAPI_PREFIX_STR(DrawBuffersARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawArraysInstancedARB))"\n" +"\t"STUB_ASM_CODE("572")"\n" + +".globl "GLAPI_PREFIX_STR(DrawArraysInstanced)"\n" +".set "GLAPI_PREFIX_STR(DrawArraysInstanced)", "GLAPI_PREFIX_STR(DrawArraysInstancedARB)"\n" + +".globl "GLAPI_PREFIX_STR(DrawArraysInstancedEXT)"\n" +".set "GLAPI_PREFIX_STR(DrawArraysInstancedEXT)", "GLAPI_PREFIX_STR(DrawArraysInstancedARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawElementsInstancedARB))"\n" +"\t"STUB_ASM_CODE("573")"\n" + +".globl "GLAPI_PREFIX_STR(DrawElementsInstanced)"\n" +".set "GLAPI_PREFIX_STR(DrawElementsInstanced)", "GLAPI_PREFIX_STR(DrawElementsInstancedARB)"\n" + +".globl "GLAPI_PREFIX_STR(DrawElementsInstancedEXT)"\n" +".set "GLAPI_PREFIX_STR(DrawElementsInstancedEXT)", "GLAPI_PREFIX_STR(DrawElementsInstancedARB)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RenderbufferStorageMultisample))"\n" +"\t"STUB_ASM_CODE("574")"\n" + +".globl "GLAPI_PREFIX_STR(RenderbufferStorageMultisampleEXT)"\n" +".set "GLAPI_PREFIX_STR(RenderbufferStorageMultisampleEXT)", "GLAPI_PREFIX_STR(RenderbufferStorageMultisample)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTextureARB))"\n" +"\t"STUB_ASM_CODE("575")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTextureFaceARB))"\n" +"\t"STUB_ASM_CODE("576")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramParameteriARB))"\n" +"\t"STUB_ASM_CODE("577")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribDivisorARB))"\n" +"\t"STUB_ASM_CODE("578")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FlushMappedBufferRange))"\n" +"\t"STUB_ASM_CODE("579")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MapBufferRange))"\n" +"\t"STUB_ASM_CODE("580")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindVertexArray))"\n" +"\t"STUB_ASM_CODE("581")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenVertexArrays))"\n" +"\t"STUB_ASM_CODE("582")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CopyBufferSubData))"\n" +"\t"STUB_ASM_CODE("583")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClientWaitSync))"\n" +"\t"STUB_ASM_CODE("584")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteSync))"\n" +"\t"STUB_ASM_CODE("585")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FenceSync))"\n" +"\t"STUB_ASM_CODE("586")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetInteger64v))"\n" +"\t"STUB_ASM_CODE("587")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetSynciv))"\n" +"\t"STUB_ASM_CODE("588")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsSync))"\n" +"\t"STUB_ASM_CODE("589")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WaitSync))"\n" +"\t"STUB_ASM_CODE("590")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawElementsBaseVertex))"\n" +"\t"STUB_ASM_CODE("591")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawRangeElementsBaseVertex))"\n" +"\t"STUB_ASM_CODE("592")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiDrawElementsBaseVertex))"\n" +"\t"STUB_ASM_CODE("593")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquationSeparateiARB))"\n" +"\t"STUB_ASM_CODE("594")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquationiARB))"\n" +"\t"STUB_ASM_CODE("595")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendFuncSeparateiARB))"\n" +"\t"STUB_ASM_CODE("596")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendFunciARB))"\n" +"\t"STUB_ASM_CODE("597")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindTransformFeedback))"\n" +"\t"STUB_ASM_CODE("598")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteTransformFeedbacks))"\n" +"\t"STUB_ASM_CODE("599")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawTransformFeedback))"\n" +"\t"STUB_ASM_CODE("600")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenTransformFeedbacks))"\n" +"\t"STUB_ASM_CODE("601")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsTransformFeedback))"\n" +"\t"STUB_ASM_CODE("602")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PauseTransformFeedback))"\n" +"\t"STUB_ASM_CODE("603")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ResumeTransformFeedback))"\n" +"\t"STUB_ASM_CODE("604")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearDepthf))"\n" +"\t"STUB_ASM_CODE("605")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DepthRangef))"\n" +"\t"STUB_ASM_CODE("606")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetShaderPrecisionFormat))"\n" +"\t"STUB_ASM_CODE("607")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ReleaseShaderCompiler))"\n" +"\t"STUB_ASM_CODE("608")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ShaderBinary))"\n" +"\t"STUB_ASM_CODE("609")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PolygonOffsetEXT))"\n" +"\t"STUB_ASM_CODE("613")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorPointerEXT))"\n" +"\t"STUB_ASM_CODE("632")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EdgeFlagPointerEXT))"\n" +"\t"STUB_ASM_CODE("633")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IndexPointerEXT))"\n" +"\t"STUB_ASM_CODE("634")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(NormalPointerEXT))"\n" +"\t"STUB_ASM_CODE("635")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoordPointerEXT))"\n" +"\t"STUB_ASM_CODE("636")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexPointerEXT))"\n" +"\t"STUB_ASM_CODE("637")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterfEXT))"\n" +"\t"STUB_ASM_CODE("638")"\n" + +".globl "GLAPI_PREFIX_STR(PointParameterf)"\n" +".set "GLAPI_PREFIX_STR(PointParameterf)", "GLAPI_PREFIX_STR(PointParameterfEXT)"\n" + +".globl "GLAPI_PREFIX_STR(PointParameterfARB)"\n" +".set "GLAPI_PREFIX_STR(PointParameterfARB)", "GLAPI_PREFIX_STR(PointParameterfEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterfvEXT))"\n" +"\t"STUB_ASM_CODE("639")"\n" + +".globl "GLAPI_PREFIX_STR(PointParameterfv)"\n" +".set "GLAPI_PREFIX_STR(PointParameterfv)", "GLAPI_PREFIX_STR(PointParameterfvEXT)"\n" + +".globl "GLAPI_PREFIX_STR(PointParameterfvARB)"\n" +".set "GLAPI_PREFIX_STR(PointParameterfvARB)", "GLAPI_PREFIX_STR(PointParameterfvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LockArraysEXT))"\n" +"\t"STUB_ASM_CODE("640")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UnlockArraysEXT))"\n" +"\t"STUB_ASM_CODE("641")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3bEXT))"\n" +"\t"STUB_ASM_CODE("642")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3b)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3b)", "GLAPI_PREFIX_STR(SecondaryColor3bEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3bvEXT))"\n" +"\t"STUB_ASM_CODE("643")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3bv)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3bv)", "GLAPI_PREFIX_STR(SecondaryColor3bvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3dEXT))"\n" +"\t"STUB_ASM_CODE("644")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3d)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3d)", "GLAPI_PREFIX_STR(SecondaryColor3dEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3dvEXT))"\n" +"\t"STUB_ASM_CODE("645")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3dv)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3dv)", "GLAPI_PREFIX_STR(SecondaryColor3dvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3fEXT))"\n" +"\t"STUB_ASM_CODE("646")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3f)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3f)", "GLAPI_PREFIX_STR(SecondaryColor3fEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3fvEXT))"\n" +"\t"STUB_ASM_CODE("647")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3fv)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3fv)", "GLAPI_PREFIX_STR(SecondaryColor3fvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3iEXT))"\n" +"\t"STUB_ASM_CODE("648")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3i)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3i)", "GLAPI_PREFIX_STR(SecondaryColor3iEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3ivEXT))"\n" +"\t"STUB_ASM_CODE("649")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3iv)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3iv)", "GLAPI_PREFIX_STR(SecondaryColor3ivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3sEXT))"\n" +"\t"STUB_ASM_CODE("650")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3s)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3s)", "GLAPI_PREFIX_STR(SecondaryColor3sEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3svEXT))"\n" +"\t"STUB_ASM_CODE("651")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3sv)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3sv)", "GLAPI_PREFIX_STR(SecondaryColor3svEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3ubEXT))"\n" +"\t"STUB_ASM_CODE("652")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3ub)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3ub)", "GLAPI_PREFIX_STR(SecondaryColor3ubEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3ubvEXT))"\n" +"\t"STUB_ASM_CODE("653")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3ubv)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3ubv)", "GLAPI_PREFIX_STR(SecondaryColor3ubvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3uiEXT))"\n" +"\t"STUB_ASM_CODE("654")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3ui)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3ui)", "GLAPI_PREFIX_STR(SecondaryColor3uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3uivEXT))"\n" +"\t"STUB_ASM_CODE("655")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3uiv)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3uiv)", "GLAPI_PREFIX_STR(SecondaryColor3uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3usEXT))"\n" +"\t"STUB_ASM_CODE("656")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3us)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3us)", "GLAPI_PREFIX_STR(SecondaryColor3usEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3usvEXT))"\n" +"\t"STUB_ASM_CODE("657")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColor3usv)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColor3usv)", "GLAPI_PREFIX_STR(SecondaryColor3usvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColorPointerEXT))"\n" +"\t"STUB_ASM_CODE("658")"\n" + +".globl "GLAPI_PREFIX_STR(SecondaryColorPointer)"\n" +".set "GLAPI_PREFIX_STR(SecondaryColorPointer)", "GLAPI_PREFIX_STR(SecondaryColorPointerEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiDrawArraysEXT))"\n" +"\t"STUB_ASM_CODE("659")"\n" + +".globl "GLAPI_PREFIX_STR(MultiDrawArrays)"\n" +".set "GLAPI_PREFIX_STR(MultiDrawArrays)", "GLAPI_PREFIX_STR(MultiDrawArraysEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiDrawElementsEXT))"\n" +"\t"STUB_ASM_CODE("660")"\n" + +".globl "GLAPI_PREFIX_STR(MultiDrawElements)"\n" +".set "GLAPI_PREFIX_STR(MultiDrawElements)", "GLAPI_PREFIX_STR(MultiDrawElementsEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoordPointerEXT))"\n" +"\t"STUB_ASM_CODE("661")"\n" + +".globl "GLAPI_PREFIX_STR(FogCoordPointer)"\n" +".set "GLAPI_PREFIX_STR(FogCoordPointer)", "GLAPI_PREFIX_STR(FogCoordPointerEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoorddEXT))"\n" +"\t"STUB_ASM_CODE("662")"\n" + +".globl "GLAPI_PREFIX_STR(FogCoordd)"\n" +".set "GLAPI_PREFIX_STR(FogCoordd)", "GLAPI_PREFIX_STR(FogCoorddEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoorddvEXT))"\n" +"\t"STUB_ASM_CODE("663")"\n" + +".globl "GLAPI_PREFIX_STR(FogCoorddv)"\n" +".set "GLAPI_PREFIX_STR(FogCoorddv)", "GLAPI_PREFIX_STR(FogCoorddvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoordfEXT))"\n" +"\t"STUB_ASM_CODE("664")"\n" + +".globl "GLAPI_PREFIX_STR(FogCoordf)"\n" +".set "GLAPI_PREFIX_STR(FogCoordf)", "GLAPI_PREFIX_STR(FogCoordfEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoordfvEXT))"\n" +"\t"STUB_ASM_CODE("665")"\n" + +".globl "GLAPI_PREFIX_STR(FogCoordfv)"\n" +".set "GLAPI_PREFIX_STR(FogCoordfv)", "GLAPI_PREFIX_STR(FogCoordfvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendFuncSeparateEXT))"\n" +"\t"STUB_ASM_CODE("667")"\n" + +".globl "GLAPI_PREFIX_STR(BlendFuncSeparate)"\n" +".set "GLAPI_PREFIX_STR(BlendFuncSeparate)", "GLAPI_PREFIX_STR(BlendFuncSeparateEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FlushVertexArrayRangeNV))"\n" +"\t"STUB_ASM_CODE("668")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexArrayRangeNV))"\n" +"\t"STUB_ASM_CODE("669")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerInputNV))"\n" +"\t"STUB_ASM_CODE("670")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerOutputNV))"\n" +"\t"STUB_ASM_CODE("671")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterfNV))"\n" +"\t"STUB_ASM_CODE("672")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterfvNV))"\n" +"\t"STUB_ASM_CODE("673")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameteriNV))"\n" +"\t"STUB_ASM_CODE("674")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterivNV))"\n" +"\t"STUB_ASM_CODE("675")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FinalCombinerInputNV))"\n" +"\t"STUB_ASM_CODE("676")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerInputParameterfvNV))"\n" +"\t"STUB_ASM_CODE("677")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerInputParameterivNV))"\n" +"\t"STUB_ASM_CODE("678")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerOutputParameterfvNV))"\n" +"\t"STUB_ASM_CODE("679")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerOutputParameterivNV))"\n" +"\t"STUB_ASM_CODE("680")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFinalCombinerInputParameterfvNV))"\n" +"\t"STUB_ASM_CODE("681")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFinalCombinerInputParameterivNV))"\n" +"\t"STUB_ASM_CODE("682")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ResizeBuffersMESA))"\n" +"\t"STUB_ASM_CODE("683")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2dMESA))"\n" +"\t"STUB_ASM_CODE("684")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2d)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2d)", "GLAPI_PREFIX_STR(WindowPos2dMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2dARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2dARB)", "GLAPI_PREFIX_STR(WindowPos2dMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2dvMESA))"\n" +"\t"STUB_ASM_CODE("685")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2dv)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2dv)", "GLAPI_PREFIX_STR(WindowPos2dvMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2dvARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2dvARB)", "GLAPI_PREFIX_STR(WindowPos2dvMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2fMESA))"\n" +"\t"STUB_ASM_CODE("686")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2f)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2f)", "GLAPI_PREFIX_STR(WindowPos2fMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2fARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2fARB)", "GLAPI_PREFIX_STR(WindowPos2fMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2fvMESA))"\n" +"\t"STUB_ASM_CODE("687")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2fv)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2fv)", "GLAPI_PREFIX_STR(WindowPos2fvMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2fvARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2fvARB)", "GLAPI_PREFIX_STR(WindowPos2fvMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2iMESA))"\n" +"\t"STUB_ASM_CODE("688")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2i)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2i)", "GLAPI_PREFIX_STR(WindowPos2iMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2iARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2iARB)", "GLAPI_PREFIX_STR(WindowPos2iMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2ivMESA))"\n" +"\t"STUB_ASM_CODE("689")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2iv)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2iv)", "GLAPI_PREFIX_STR(WindowPos2ivMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2ivARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2ivARB)", "GLAPI_PREFIX_STR(WindowPos2ivMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2sMESA))"\n" +"\t"STUB_ASM_CODE("690")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2s)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2s)", "GLAPI_PREFIX_STR(WindowPos2sMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2sARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2sARB)", "GLAPI_PREFIX_STR(WindowPos2sMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2svMESA))"\n" +"\t"STUB_ASM_CODE("691")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2sv)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2sv)", "GLAPI_PREFIX_STR(WindowPos2svMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos2svARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos2svARB)", "GLAPI_PREFIX_STR(WindowPos2svMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3dMESA))"\n" +"\t"STUB_ASM_CODE("692")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3d)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3d)", "GLAPI_PREFIX_STR(WindowPos3dMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3dARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3dARB)", "GLAPI_PREFIX_STR(WindowPos3dMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3dvMESA))"\n" +"\t"STUB_ASM_CODE("693")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3dv)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3dv)", "GLAPI_PREFIX_STR(WindowPos3dvMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3dvARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3dvARB)", "GLAPI_PREFIX_STR(WindowPos3dvMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3fMESA))"\n" +"\t"STUB_ASM_CODE("694")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3f)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3f)", "GLAPI_PREFIX_STR(WindowPos3fMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3fARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3fARB)", "GLAPI_PREFIX_STR(WindowPos3fMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3fvMESA))"\n" +"\t"STUB_ASM_CODE("695")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3fv)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3fv)", "GLAPI_PREFIX_STR(WindowPos3fvMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3fvARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3fvARB)", "GLAPI_PREFIX_STR(WindowPos3fvMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3iMESA))"\n" +"\t"STUB_ASM_CODE("696")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3i)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3i)", "GLAPI_PREFIX_STR(WindowPos3iMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3iARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3iARB)", "GLAPI_PREFIX_STR(WindowPos3iMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3ivMESA))"\n" +"\t"STUB_ASM_CODE("697")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3iv)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3iv)", "GLAPI_PREFIX_STR(WindowPos3ivMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3ivARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3ivARB)", "GLAPI_PREFIX_STR(WindowPos3ivMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3sMESA))"\n" +"\t"STUB_ASM_CODE("698")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3s)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3s)", "GLAPI_PREFIX_STR(WindowPos3sMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3sARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3sARB)", "GLAPI_PREFIX_STR(WindowPos3sMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3svMESA))"\n" +"\t"STUB_ASM_CODE("699")"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3sv)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3sv)", "GLAPI_PREFIX_STR(WindowPos3svMESA)"\n" + +".globl "GLAPI_PREFIX_STR(WindowPos3svARB)"\n" +".set "GLAPI_PREFIX_STR(WindowPos3svARB)", "GLAPI_PREFIX_STR(WindowPos3svMESA)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4dMESA))"\n" +"\t"STUB_ASM_CODE("700")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4dvMESA))"\n" +"\t"STUB_ASM_CODE("701")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4fMESA))"\n" +"\t"STUB_ASM_CODE("702")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4fvMESA))"\n" +"\t"STUB_ASM_CODE("703")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4iMESA))"\n" +"\t"STUB_ASM_CODE("704")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4ivMESA))"\n" +"\t"STUB_ASM_CODE("705")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4sMESA))"\n" +"\t"STUB_ASM_CODE("706")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4svMESA))"\n" +"\t"STUB_ASM_CODE("707")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AreProgramsResidentNV))"\n" +"\t"STUB_ASM_CODE("717")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindProgramNV))"\n" +"\t"STUB_ASM_CODE("718")"\n" + +".globl "GLAPI_PREFIX_STR(BindProgramARB)"\n" +".set "GLAPI_PREFIX_STR(BindProgramARB)", "GLAPI_PREFIX_STR(BindProgramNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteProgramsNV))"\n" +"\t"STUB_ASM_CODE("719")"\n" + +".globl "GLAPI_PREFIX_STR(DeleteProgramsARB)"\n" +".set "GLAPI_PREFIX_STR(DeleteProgramsARB)", "GLAPI_PREFIX_STR(DeleteProgramsNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ExecuteProgramNV))"\n" +"\t"STUB_ASM_CODE("720")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenProgramsNV))"\n" +"\t"STUB_ASM_CODE("721")"\n" + +".globl "GLAPI_PREFIX_STR(GenProgramsARB)"\n" +".set "GLAPI_PREFIX_STR(GenProgramsARB)", "GLAPI_PREFIX_STR(GenProgramsNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramParameterdvNV))"\n" +"\t"STUB_ASM_CODE("722")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramParameterfvNV))"\n" +"\t"STUB_ASM_CODE("723")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramStringNV))"\n" +"\t"STUB_ASM_CODE("724")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramivNV))"\n" +"\t"STUB_ASM_CODE("725")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTrackMatrixivNV))"\n" +"\t"STUB_ASM_CODE("726")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribPointervNV))"\n" +"\t"STUB_ASM_CODE("727")"\n" + +".globl "GLAPI_PREFIX_STR(GetVertexAttribPointerv)"\n" +".set "GLAPI_PREFIX_STR(GetVertexAttribPointerv)", "GLAPI_PREFIX_STR(GetVertexAttribPointervNV)"\n" + +".globl "GLAPI_PREFIX_STR(GetVertexAttribPointervARB)"\n" +".set "GLAPI_PREFIX_STR(GetVertexAttribPointervARB)", "GLAPI_PREFIX_STR(GetVertexAttribPointervNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribdvNV))"\n" +"\t"STUB_ASM_CODE("728")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribfvNV))"\n" +"\t"STUB_ASM_CODE("729")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribivNV))"\n" +"\t"STUB_ASM_CODE("730")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsProgramNV))"\n" +"\t"STUB_ASM_CODE("731")"\n" + +".globl "GLAPI_PREFIX_STR(IsProgramARB)"\n" +".set "GLAPI_PREFIX_STR(IsProgramARB)", "GLAPI_PREFIX_STR(IsProgramNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LoadProgramNV))"\n" +"\t"STUB_ASM_CODE("732")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramParameters4dvNV))"\n" +"\t"STUB_ASM_CODE("733")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramParameters4fvNV))"\n" +"\t"STUB_ASM_CODE("734")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RequestResidentProgramsNV))"\n" +"\t"STUB_ASM_CODE("735")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TrackMatrixNV))"\n" +"\t"STUB_ASM_CODE("736")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1dNV))"\n" +"\t"STUB_ASM_CODE("737")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1dvNV))"\n" +"\t"STUB_ASM_CODE("738")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1fNV))"\n" +"\t"STUB_ASM_CODE("739")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1fvNV))"\n" +"\t"STUB_ASM_CODE("740")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1sNV))"\n" +"\t"STUB_ASM_CODE("741")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1svNV))"\n" +"\t"STUB_ASM_CODE("742")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2dNV))"\n" +"\t"STUB_ASM_CODE("743")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2dvNV))"\n" +"\t"STUB_ASM_CODE("744")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2fNV))"\n" +"\t"STUB_ASM_CODE("745")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2fvNV))"\n" +"\t"STUB_ASM_CODE("746")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2sNV))"\n" +"\t"STUB_ASM_CODE("747")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2svNV))"\n" +"\t"STUB_ASM_CODE("748")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3dNV))"\n" +"\t"STUB_ASM_CODE("749")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3dvNV))"\n" +"\t"STUB_ASM_CODE("750")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3fNV))"\n" +"\t"STUB_ASM_CODE("751")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3fvNV))"\n" +"\t"STUB_ASM_CODE("752")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3sNV))"\n" +"\t"STUB_ASM_CODE("753")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3svNV))"\n" +"\t"STUB_ASM_CODE("754")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4dNV))"\n" +"\t"STUB_ASM_CODE("755")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4dvNV))"\n" +"\t"STUB_ASM_CODE("756")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4fNV))"\n" +"\t"STUB_ASM_CODE("757")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4fvNV))"\n" +"\t"STUB_ASM_CODE("758")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4sNV))"\n" +"\t"STUB_ASM_CODE("759")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4svNV))"\n" +"\t"STUB_ASM_CODE("760")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4ubNV))"\n" +"\t"STUB_ASM_CODE("761")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4ubvNV))"\n" +"\t"STUB_ASM_CODE("762")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribPointerNV))"\n" +"\t"STUB_ASM_CODE("763")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1dvNV))"\n" +"\t"STUB_ASM_CODE("764")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1fvNV))"\n" +"\t"STUB_ASM_CODE("765")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1svNV))"\n" +"\t"STUB_ASM_CODE("766")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2dvNV))"\n" +"\t"STUB_ASM_CODE("767")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2fvNV))"\n" +"\t"STUB_ASM_CODE("768")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2svNV))"\n" +"\t"STUB_ASM_CODE("769")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3dvNV))"\n" +"\t"STUB_ASM_CODE("770")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3fvNV))"\n" +"\t"STUB_ASM_CODE("771")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3svNV))"\n" +"\t"STUB_ASM_CODE("772")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4dvNV))"\n" +"\t"STUB_ASM_CODE("773")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4fvNV))"\n" +"\t"STUB_ASM_CODE("774")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4svNV))"\n" +"\t"STUB_ASM_CODE("775")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4ubvNV))"\n" +"\t"STUB_ASM_CODE("776")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexBumpParameterfvATI))"\n" +"\t"STUB_ASM_CODE("777")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexBumpParameterivATI))"\n" +"\t"STUB_ASM_CODE("778")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexBumpParameterfvATI))"\n" +"\t"STUB_ASM_CODE("779")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexBumpParameterivATI))"\n" +"\t"STUB_ASM_CODE("780")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp1ATI))"\n" +"\t"STUB_ASM_CODE("781")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp2ATI))"\n" +"\t"STUB_ASM_CODE("782")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp3ATI))"\n" +"\t"STUB_ASM_CODE("783")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BeginFragmentShaderATI))"\n" +"\t"STUB_ASM_CODE("784")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFragmentShaderATI))"\n" +"\t"STUB_ASM_CODE("785")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp1ATI))"\n" +"\t"STUB_ASM_CODE("786")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp2ATI))"\n" +"\t"STUB_ASM_CODE("787")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp3ATI))"\n" +"\t"STUB_ASM_CODE("788")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteFragmentShaderATI))"\n" +"\t"STUB_ASM_CODE("789")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndFragmentShaderATI))"\n" +"\t"STUB_ASM_CODE("790")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenFragmentShadersATI))"\n" +"\t"STUB_ASM_CODE("791")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PassTexCoordATI))"\n" +"\t"STUB_ASM_CODE("792")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SampleMapATI))"\n" +"\t"STUB_ASM_CODE("793")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SetFragmentShaderConstantATI))"\n" +"\t"STUB_ASM_CODE("794")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameteriNV))"\n" +"\t"STUB_ASM_CODE("795")"\n" + +".globl "GLAPI_PREFIX_STR(PointParameteri)"\n" +".set "GLAPI_PREFIX_STR(PointParameteri)", "GLAPI_PREFIX_STR(PointParameteriNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterivNV))"\n" +"\t"STUB_ASM_CODE("796")"\n" + +".globl "GLAPI_PREFIX_STR(PointParameteriv)"\n" +".set "GLAPI_PREFIX_STR(PointParameteriv)", "GLAPI_PREFIX_STR(PointParameterivNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteVertexArrays))"\n" +"\t"STUB_ASM_CODE("799")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsVertexArray))"\n" +"\t"STUB_ASM_CODE("801")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramNamedParameterdvNV))"\n" +"\t"STUB_ASM_CODE("802")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramNamedParameterfvNV))"\n" +"\t"STUB_ASM_CODE("803")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4dNV))"\n" +"\t"STUB_ASM_CODE("804")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4dvNV))"\n" +"\t"STUB_ASM_CODE("805")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4fNV))"\n" +"\t"STUB_ASM_CODE("806")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4fvNV))"\n" +"\t"STUB_ASM_CODE("807")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PrimitiveRestartIndexNV))"\n" +"\t"STUB_ASM_CODE("808")"\n" + +".globl "GLAPI_PREFIX_STR(PrimitiveRestartIndex)"\n" +".set "GLAPI_PREFIX_STR(PrimitiveRestartIndex)", "GLAPI_PREFIX_STR(PrimitiveRestartIndexNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PrimitiveRestartNV))"\n" +"\t"STUB_ASM_CODE("809")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquationSeparate))"\n" +"\t"STUB_ASM_CODE("857")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFramebufferEXT))"\n" +"\t"STUB_ASM_CODE("858")"\n" + +".globl "GLAPI_PREFIX_STR(BindFramebuffer)"\n" +".set "GLAPI_PREFIX_STR(BindFramebuffer)", "GLAPI_PREFIX_STR(BindFramebufferEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindRenderbufferEXT))"\n" +"\t"STUB_ASM_CODE("859")"\n" + +".globl "GLAPI_PREFIX_STR(BindRenderbuffer)"\n" +".set "GLAPI_PREFIX_STR(BindRenderbuffer)", "GLAPI_PREFIX_STR(BindRenderbufferEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CheckFramebufferStatusEXT))"\n" +"\t"STUB_ASM_CODE("860")"\n" + +".globl "GLAPI_PREFIX_STR(CheckFramebufferStatus)"\n" +".set "GLAPI_PREFIX_STR(CheckFramebufferStatus)", "GLAPI_PREFIX_STR(CheckFramebufferStatusEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteFramebuffersEXT))"\n" +"\t"STUB_ASM_CODE("861")"\n" + +".globl "GLAPI_PREFIX_STR(DeleteFramebuffers)"\n" +".set "GLAPI_PREFIX_STR(DeleteFramebuffers)", "GLAPI_PREFIX_STR(DeleteFramebuffersEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteRenderbuffersEXT))"\n" +"\t"STUB_ASM_CODE("862")"\n" + +".globl "GLAPI_PREFIX_STR(DeleteRenderbuffers)"\n" +".set "GLAPI_PREFIX_STR(DeleteRenderbuffers)", "GLAPI_PREFIX_STR(DeleteRenderbuffersEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferRenderbufferEXT))"\n" +"\t"STUB_ASM_CODE("863")"\n" + +".globl "GLAPI_PREFIX_STR(FramebufferRenderbuffer)"\n" +".set "GLAPI_PREFIX_STR(FramebufferRenderbuffer)", "GLAPI_PREFIX_STR(FramebufferRenderbufferEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTexture1DEXT))"\n" +"\t"STUB_ASM_CODE("864")"\n" + +".globl "GLAPI_PREFIX_STR(FramebufferTexture1D)"\n" +".set "GLAPI_PREFIX_STR(FramebufferTexture1D)", "GLAPI_PREFIX_STR(FramebufferTexture1DEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTexture2DEXT))"\n" +"\t"STUB_ASM_CODE("865")"\n" + +".globl "GLAPI_PREFIX_STR(FramebufferTexture2D)"\n" +".set "GLAPI_PREFIX_STR(FramebufferTexture2D)", "GLAPI_PREFIX_STR(FramebufferTexture2DEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTexture3DEXT))"\n" +"\t"STUB_ASM_CODE("866")"\n" + +".globl "GLAPI_PREFIX_STR(FramebufferTexture3D)"\n" +".set "GLAPI_PREFIX_STR(FramebufferTexture3D)", "GLAPI_PREFIX_STR(FramebufferTexture3DEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenFramebuffersEXT))"\n" +"\t"STUB_ASM_CODE("867")"\n" + +".globl "GLAPI_PREFIX_STR(GenFramebuffers)"\n" +".set "GLAPI_PREFIX_STR(GenFramebuffers)", "GLAPI_PREFIX_STR(GenFramebuffersEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenRenderbuffersEXT))"\n" +"\t"STUB_ASM_CODE("868")"\n" + +".globl "GLAPI_PREFIX_STR(GenRenderbuffers)"\n" +".set "GLAPI_PREFIX_STR(GenRenderbuffers)", "GLAPI_PREFIX_STR(GenRenderbuffersEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenerateMipmapEXT))"\n" +"\t"STUB_ASM_CODE("869")"\n" + +".globl "GLAPI_PREFIX_STR(GenerateMipmap)"\n" +".set "GLAPI_PREFIX_STR(GenerateMipmap)", "GLAPI_PREFIX_STR(GenerateMipmapEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFramebufferAttachmentParameterivEXT))"\n" +"\t"STUB_ASM_CODE("870")"\n" + +".globl "GLAPI_PREFIX_STR(GetFramebufferAttachmentParameteriv)"\n" +".set "GLAPI_PREFIX_STR(GetFramebufferAttachmentParameteriv)", "GLAPI_PREFIX_STR(GetFramebufferAttachmentParameterivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetRenderbufferParameterivEXT))"\n" +"\t"STUB_ASM_CODE("871")"\n" + +".globl "GLAPI_PREFIX_STR(GetRenderbufferParameteriv)"\n" +".set "GLAPI_PREFIX_STR(GetRenderbufferParameteriv)", "GLAPI_PREFIX_STR(GetRenderbufferParameterivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsFramebufferEXT))"\n" +"\t"STUB_ASM_CODE("872")"\n" + +".globl "GLAPI_PREFIX_STR(IsFramebuffer)"\n" +".set "GLAPI_PREFIX_STR(IsFramebuffer)", "GLAPI_PREFIX_STR(IsFramebufferEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsRenderbufferEXT))"\n" +"\t"STUB_ASM_CODE("873")"\n" + +".globl "GLAPI_PREFIX_STR(IsRenderbuffer)"\n" +".set "GLAPI_PREFIX_STR(IsRenderbuffer)", "GLAPI_PREFIX_STR(IsRenderbufferEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RenderbufferStorageEXT))"\n" +"\t"STUB_ASM_CODE("874")"\n" + +".globl "GLAPI_PREFIX_STR(RenderbufferStorage)"\n" +".set "GLAPI_PREFIX_STR(RenderbufferStorage)", "GLAPI_PREFIX_STR(RenderbufferStorageEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlitFramebuffer))"\n" +"\t"STUB_ASM_CODE("875")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFragDataLocationEXT))"\n" +"\t"STUB_ASM_CODE("878")"\n" + +".globl "GLAPI_PREFIX_STR(BindFragDataLocation)"\n" +".set "GLAPI_PREFIX_STR(BindFragDataLocation)", "GLAPI_PREFIX_STR(BindFragDataLocationEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFragDataLocationEXT))"\n" +"\t"STUB_ASM_CODE("879")"\n" + +".globl "GLAPI_PREFIX_STR(GetFragDataLocation)"\n" +".set "GLAPI_PREFIX_STR(GetFragDataLocation)", "GLAPI_PREFIX_STR(GetFragDataLocationEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetUniformuivEXT))"\n" +"\t"STUB_ASM_CODE("880")"\n" + +".globl "GLAPI_PREFIX_STR(GetUniformuiv)"\n" +".set "GLAPI_PREFIX_STR(GetUniformuiv)", "GLAPI_PREFIX_STR(GetUniformuivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribIivEXT))"\n" +"\t"STUB_ASM_CODE("881")"\n" + +".globl "GLAPI_PREFIX_STR(GetVertexAttribIiv)"\n" +".set "GLAPI_PREFIX_STR(GetVertexAttribIiv)", "GLAPI_PREFIX_STR(GetVertexAttribIivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribIuivEXT))"\n" +"\t"STUB_ASM_CODE("882")"\n" + +".globl "GLAPI_PREFIX_STR(GetVertexAttribIuiv)"\n" +".set "GLAPI_PREFIX_STR(GetVertexAttribIuiv)", "GLAPI_PREFIX_STR(GetVertexAttribIuivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform1uiEXT))"\n" +"\t"STUB_ASM_CODE("883")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform1ui)"\n" +".set "GLAPI_PREFIX_STR(Uniform1ui)", "GLAPI_PREFIX_STR(Uniform1uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform1uivEXT))"\n" +"\t"STUB_ASM_CODE("884")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform1uiv)"\n" +".set "GLAPI_PREFIX_STR(Uniform1uiv)", "GLAPI_PREFIX_STR(Uniform1uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform2uiEXT))"\n" +"\t"STUB_ASM_CODE("885")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform2ui)"\n" +".set "GLAPI_PREFIX_STR(Uniform2ui)", "GLAPI_PREFIX_STR(Uniform2uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform2uivEXT))"\n" +"\t"STUB_ASM_CODE("886")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform2uiv)"\n" +".set "GLAPI_PREFIX_STR(Uniform2uiv)", "GLAPI_PREFIX_STR(Uniform2uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform3uiEXT))"\n" +"\t"STUB_ASM_CODE("887")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform3ui)"\n" +".set "GLAPI_PREFIX_STR(Uniform3ui)", "GLAPI_PREFIX_STR(Uniform3uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform3uivEXT))"\n" +"\t"STUB_ASM_CODE("888")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform3uiv)"\n" +".set "GLAPI_PREFIX_STR(Uniform3uiv)", "GLAPI_PREFIX_STR(Uniform3uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform4uiEXT))"\n" +"\t"STUB_ASM_CODE("889")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform4ui)"\n" +".set "GLAPI_PREFIX_STR(Uniform4ui)", "GLAPI_PREFIX_STR(Uniform4uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform4uivEXT))"\n" +"\t"STUB_ASM_CODE("890")"\n" + +".globl "GLAPI_PREFIX_STR(Uniform4uiv)"\n" +".set "GLAPI_PREFIX_STR(Uniform4uiv)", "GLAPI_PREFIX_STR(Uniform4uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI1iEXT))"\n" +"\t"STUB_ASM_CODE("891")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI1i)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI1i)", "GLAPI_PREFIX_STR(VertexAttribI1iEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI1ivEXT))"\n" +"\t"STUB_ASM_CODE("892")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI1iv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI1iv)", "GLAPI_PREFIX_STR(VertexAttribI1ivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI1uiEXT))"\n" +"\t"STUB_ASM_CODE("893")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI1ui)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI1ui)", "GLAPI_PREFIX_STR(VertexAttribI1uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI1uivEXT))"\n" +"\t"STUB_ASM_CODE("894")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI1uiv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI1uiv)", "GLAPI_PREFIX_STR(VertexAttribI1uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI2iEXT))"\n" +"\t"STUB_ASM_CODE("895")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI2i)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI2i)", "GLAPI_PREFIX_STR(VertexAttribI2iEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI2ivEXT))"\n" +"\t"STUB_ASM_CODE("896")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI2iv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI2iv)", "GLAPI_PREFIX_STR(VertexAttribI2ivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI2uiEXT))"\n" +"\t"STUB_ASM_CODE("897")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI2ui)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI2ui)", "GLAPI_PREFIX_STR(VertexAttribI2uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI2uivEXT))"\n" +"\t"STUB_ASM_CODE("898")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI2uiv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI2uiv)", "GLAPI_PREFIX_STR(VertexAttribI2uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI3iEXT))"\n" +"\t"STUB_ASM_CODE("899")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI3i)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI3i)", "GLAPI_PREFIX_STR(VertexAttribI3iEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI3ivEXT))"\n" +"\t"STUB_ASM_CODE("900")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI3iv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI3iv)", "GLAPI_PREFIX_STR(VertexAttribI3ivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI3uiEXT))"\n" +"\t"STUB_ASM_CODE("901")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI3ui)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI3ui)", "GLAPI_PREFIX_STR(VertexAttribI3uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI3uivEXT))"\n" +"\t"STUB_ASM_CODE("902")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI3uiv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI3uiv)", "GLAPI_PREFIX_STR(VertexAttribI3uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4bvEXT))"\n" +"\t"STUB_ASM_CODE("903")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI4bv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI4bv)", "GLAPI_PREFIX_STR(VertexAttribI4bvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4iEXT))"\n" +"\t"STUB_ASM_CODE("904")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI4i)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI4i)", "GLAPI_PREFIX_STR(VertexAttribI4iEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4ivEXT))"\n" +"\t"STUB_ASM_CODE("905")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI4iv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI4iv)", "GLAPI_PREFIX_STR(VertexAttribI4ivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4svEXT))"\n" +"\t"STUB_ASM_CODE("906")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI4sv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI4sv)", "GLAPI_PREFIX_STR(VertexAttribI4svEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4ubvEXT))"\n" +"\t"STUB_ASM_CODE("907")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI4ubv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI4ubv)", "GLAPI_PREFIX_STR(VertexAttribI4ubvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4uiEXT))"\n" +"\t"STUB_ASM_CODE("908")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI4ui)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI4ui)", "GLAPI_PREFIX_STR(VertexAttribI4uiEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4uivEXT))"\n" +"\t"STUB_ASM_CODE("909")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI4uiv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI4uiv)", "GLAPI_PREFIX_STR(VertexAttribI4uivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4usvEXT))"\n" +"\t"STUB_ASM_CODE("910")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribI4usv)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribI4usv)", "GLAPI_PREFIX_STR(VertexAttribI4usvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribIPointerEXT))"\n" +"\t"STUB_ASM_CODE("911")"\n" + +".globl "GLAPI_PREFIX_STR(VertexAttribIPointer)"\n" +".set "GLAPI_PREFIX_STR(VertexAttribIPointer)", "GLAPI_PREFIX_STR(VertexAttribIPointerEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTextureLayerEXT))"\n" +"\t"STUB_ASM_CODE("912")"\n" + +".globl "GLAPI_PREFIX_STR(FramebufferTextureLayer)"\n" +".set "GLAPI_PREFIX_STR(FramebufferTextureLayer)", "GLAPI_PREFIX_STR(FramebufferTextureLayerEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorMaskIndexedEXT))"\n" +"\t"STUB_ASM_CODE("913")"\n" + +".globl "GLAPI_PREFIX_STR(ColorMaski)"\n" +".set "GLAPI_PREFIX_STR(ColorMaski)", "GLAPI_PREFIX_STR(ColorMaskIndexedEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DisableIndexedEXT))"\n" +"\t"STUB_ASM_CODE("914")"\n" + +".globl "GLAPI_PREFIX_STR(Disablei)"\n" +".set "GLAPI_PREFIX_STR(Disablei)", "GLAPI_PREFIX_STR(DisableIndexedEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EnableIndexedEXT))"\n" +"\t"STUB_ASM_CODE("915")"\n" + +".globl "GLAPI_PREFIX_STR(Enablei)"\n" +".set "GLAPI_PREFIX_STR(Enablei)", "GLAPI_PREFIX_STR(EnableIndexedEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetBooleanIndexedvEXT))"\n" +"\t"STUB_ASM_CODE("916")"\n" + +".globl "GLAPI_PREFIX_STR(GetBooleani_v)"\n" +".set "GLAPI_PREFIX_STR(GetBooleani_v)", "GLAPI_PREFIX_STR(GetBooleanIndexedvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetIntegerIndexedvEXT))"\n" +"\t"STUB_ASM_CODE("917")"\n" + +".globl "GLAPI_PREFIX_STR(GetIntegeri_v)"\n" +".set "GLAPI_PREFIX_STR(GetIntegeri_v)", "GLAPI_PREFIX_STR(GetIntegerIndexedvEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsEnabledIndexedEXT))"\n" +"\t"STUB_ASM_CODE("918")"\n" + +".globl "GLAPI_PREFIX_STR(IsEnabledi)"\n" +".set "GLAPI_PREFIX_STR(IsEnabledi)", "GLAPI_PREFIX_STR(IsEnabledIndexedEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearColorIiEXT))"\n" +"\t"STUB_ASM_CODE("919")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearColorIuiEXT))"\n" +"\t"STUB_ASM_CODE("920")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexParameterIivEXT))"\n" +"\t"STUB_ASM_CODE("921")"\n" + +".globl "GLAPI_PREFIX_STR(GetTexParameterIiv)"\n" +".set "GLAPI_PREFIX_STR(GetTexParameterIiv)", "GLAPI_PREFIX_STR(GetTexParameterIivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexParameterIuivEXT))"\n" +"\t"STUB_ASM_CODE("922")"\n" + +".globl "GLAPI_PREFIX_STR(GetTexParameterIuiv)"\n" +".set "GLAPI_PREFIX_STR(GetTexParameterIuiv)", "GLAPI_PREFIX_STR(GetTexParameterIuivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexParameterIivEXT))"\n" +"\t"STUB_ASM_CODE("923")"\n" + +".globl "GLAPI_PREFIX_STR(TexParameterIiv)"\n" +".set "GLAPI_PREFIX_STR(TexParameterIiv)", "GLAPI_PREFIX_STR(TexParameterIivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexParameterIuivEXT))"\n" +"\t"STUB_ASM_CODE("924")"\n" + +".globl "GLAPI_PREFIX_STR(TexParameterIuiv)"\n" +".set "GLAPI_PREFIX_STR(TexParameterIuiv)", "GLAPI_PREFIX_STR(TexParameterIuivEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BeginConditionalRenderNV))"\n" +"\t"STUB_ASM_CODE("925")"\n" + +".globl "GLAPI_PREFIX_STR(BeginConditionalRender)"\n" +".set "GLAPI_PREFIX_STR(BeginConditionalRender)", "GLAPI_PREFIX_STR(BeginConditionalRenderNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndConditionalRenderNV))"\n" +"\t"STUB_ASM_CODE("926")"\n" + +".globl "GLAPI_PREFIX_STR(EndConditionalRender)"\n" +".set "GLAPI_PREFIX_STR(EndConditionalRender)", "GLAPI_PREFIX_STR(EndConditionalRenderNV)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BeginTransformFeedbackEXT))"\n" +"\t"STUB_ASM_CODE("927")"\n" + +".globl "GLAPI_PREFIX_STR(BeginTransformFeedback)"\n" +".set "GLAPI_PREFIX_STR(BeginTransformFeedback)", "GLAPI_PREFIX_STR(BeginTransformFeedbackEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindBufferBaseEXT))"\n" +"\t"STUB_ASM_CODE("928")"\n" + +".globl "GLAPI_PREFIX_STR(BindBufferBase)"\n" +".set "GLAPI_PREFIX_STR(BindBufferBase)", "GLAPI_PREFIX_STR(BindBufferBaseEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindBufferOffsetEXT))"\n" +"\t"STUB_ASM_CODE("929")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindBufferRangeEXT))"\n" +"\t"STUB_ASM_CODE("930")"\n" + +".globl "GLAPI_PREFIX_STR(BindBufferRange)"\n" +".set "GLAPI_PREFIX_STR(BindBufferRange)", "GLAPI_PREFIX_STR(BindBufferRangeEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndTransformFeedbackEXT))"\n" +"\t"STUB_ASM_CODE("931")"\n" + +".globl "GLAPI_PREFIX_STR(EndTransformFeedback)"\n" +".set "GLAPI_PREFIX_STR(EndTransformFeedback)", "GLAPI_PREFIX_STR(EndTransformFeedbackEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTransformFeedbackVaryingEXT))"\n" +"\t"STUB_ASM_CODE("932")"\n" + +".globl "GLAPI_PREFIX_STR(GetTransformFeedbackVarying)"\n" +".set "GLAPI_PREFIX_STR(GetTransformFeedbackVarying)", "GLAPI_PREFIX_STR(GetTransformFeedbackVaryingEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TransformFeedbackVaryingsEXT))"\n" +"\t"STUB_ASM_CODE("933")"\n" + +".globl "GLAPI_PREFIX_STR(TransformFeedbackVaryings)"\n" +".set "GLAPI_PREFIX_STR(TransformFeedbackVaryings)", "GLAPI_PREFIX_STR(TransformFeedbackVaryingsEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProvokingVertexEXT))"\n" +"\t"STUB_ASM_CODE("934")"\n" + +".globl "GLAPI_PREFIX_STR(ProvokingVertex)"\n" +".set "GLAPI_PREFIX_STR(ProvokingVertex)", "GLAPI_PREFIX_STR(ProvokingVertexEXT)"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetObjectParameterivAPPLE))"\n" +"\t"STUB_ASM_CODE("937")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ObjectPurgeableAPPLE))"\n" +"\t"STUB_ASM_CODE("938")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ObjectUnpurgeableAPPLE))"\n" +"\t"STUB_ASM_CODE("939")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ActiveProgramEXT))"\n" +"\t"STUB_ASM_CODE("940")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CreateShaderProgramEXT))"\n" +"\t"STUB_ASM_CODE("941")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UseShaderProgramEXT))"\n" +"\t"STUB_ASM_CODE("942")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EGLImageTargetRenderbufferStorageOES))"\n" +"\t"STUB_ASM_CODE("948")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EGLImageTargetTexture2DOES))"\n" +"\t"STUB_ASM_CODE("949")"\n" + +); +#undef MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN +#endif /* MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN */ diff --git a/mesalib/src/mapi/mapi/entry.c b/mesalib/src/mapi/mapi/entry.c index 6ffd62d7f..f378ccfda 100644 --- a/mesalib/src/mapi/mapi/entry.c +++ b/mesalib/src/mapi/mapi/entry.c @@ -1,73 +1,98 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.9
- *
- * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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:
- * Chia-I Wu <olv@lunarg.com>
- */
-
-#include "entry.h"
-
-#if defined(USE_X86_ASM) && defined(__GNUC__)
-# ifdef GLX_USE_TLS
-# include "entry_x86_tls.h"
-# else
-# include "entry_x86_tsd.h"
-# endif
-#elif defined(USE_X86_64_ASM) && defined(__GNUC__) && defined(GLX_USE_TLS)
-# include "entry_x86-64_tls.h"
-#else
-
-#include <stdlib.h>
-#include "u_current.h"
-
-/* C version of the public entries */
-#define MAPI_TMP_DEFINES
-#define MAPI_TMP_PUBLIC_DECLARES
-#define MAPI_TMP_PUBLIC_ENTRIES
-#include "mapi_tmp.h"
-
-void
-entry_patch_public(void)
-{
-}
-
-mapi_func
-entry_get_public(int slot)
-{
- /* pubic_entries are defined by MAPI_TMP_PUBLIC_ENTRIES */
- return public_entries[slot];
-}
-
-mapi_func
-entry_generate(int slot)
-{
- return NULL;
-}
-
-void
-entry_patch(mapi_func entry, int slot)
-{
-}
-
-#endif /* asm */
+/* + * Mesa 3-D graphics library + * Version: 7.9 + * + * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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: + * Chia-I Wu <olv@lunarg.com> + */ + +#include "entry.h" +#include "u_current.h" +#include "u_macros.h" + +/* define macros for use by assembly dispatchers */ +#define ENTRY_CURRENT_TABLE U_STRINGIFY(u_current_table) + +/* in bridge mode, mapi is a user of glapi */ +#ifdef MAPI_MODE_BRIDGE +#define ENTRY_CURRENT_TABLE_GET "_glapi_get_dispatch" +#else +#define ENTRY_CURRENT_TABLE_GET "u_current_get_internal" +#endif + +#if defined(USE_X86_ASM) && defined(__GNUC__) +# ifdef GLX_USE_TLS +# include "entry_x86_tls.h" +# else +# include "entry_x86_tsd.h" +# endif +#elif defined(USE_X86_64_ASM) && defined(__GNUC__) && defined(GLX_USE_TLS) +# include "entry_x86-64_tls.h" +#else + +#include <stdlib.h> + +static INLINE const struct mapi_table * +entry_current_get(void) +{ +#ifdef MAPI_MODE_BRIDGE + return GET_DISPATCH(); +#else + return u_current_get(); +#endif +} + +/* C version of the public entries */ +#define MAPI_TMP_DEFINES +#define MAPI_TMP_PUBLIC_DECLARES +#define MAPI_TMP_PUBLIC_ENTRIES +#include "mapi_tmp.h" + +#ifndef MAPI_MODE_BRIDGE + +void +entry_patch_public(void) +{ +} + +mapi_func +entry_get_public(int slot) +{ + /* pubic_entries are defined by MAPI_TMP_PUBLIC_ENTRIES */ + return public_entries[slot]; +} + +mapi_func +entry_generate(int slot) +{ + return NULL; +} + +void +entry_patch(mapi_func entry, int slot) +{ +} + +#endif /* MAPI_MODE_BRIDGE */ + +#endif /* asm */ diff --git a/mesalib/src/mapi/mapi/entry_x86-64_tls.h b/mesalib/src/mapi/mapi/entry_x86-64_tls.h index 6768afb61..d3b606c8a 100644 --- a/mesalib/src/mapi/mapi/entry_x86-64_tls.h +++ b/mesalib/src/mapi/mapi/entry_x86-64_tls.h @@ -1,120 +1,124 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.9
- *
- * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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:
- * Chia-I Wu <olv@lunarg.com>
- */
-
-#include <string.h>
-#include "u_execmem.h"
-#include "u_macros.h"
-
-#ifdef __linux__
-__asm__(".section .note.ABI-tag, \"a\"\n\t"
- ".p2align 2\n\t"
- ".long 1f - 0f\n\t" /* name length */
- ".long 3f - 2f\n\t" /* data length */
- ".long 1\n\t" /* note length */
- "0: .asciz \"GNU\"\n\t" /* vendor name */
- "1: .p2align 2\n\t"
- "2: .long 0\n\t" /* note data: the ABI tag */
- ".long 2,4,20\n\t" /* Minimum kernel version w/TLS */
- "3: .p2align 2\n\t"); /* pad out section */
-#endif /* __linux__ */
-
-__asm__(".text");
-
-__asm__("x86_64_current_tls:\n\t"
- "movq u_current_table@GOTTPOFF(%rip), %rax\n\t"
- "ret");
-
-__asm__(".balign 32\n"
- "x86_64_entry_start:");
-
-#define STUB_ASM_ENTRY(func) \
- ".globl " func "\n" \
- ".type " func ", @function\n" \
- ".balign 32\n" \
- func ":"
-
-#define STUB_ASM_CODE(slot) \
- "movq u_current_table@GOTTPOFF(%rip), %rax\n\t" \
- "movq %fs:(%rax), %r11\n\t" \
- "jmp *(8 * " slot ")(%r11)"
-
-#define MAPI_TMP_STUB_ASM_GCC
-#include "mapi_tmp.h"
-
-extern unsigned long
-x86_64_current_tls();
-
-void
-entry_patch_public(void)
-{
-}
-
-mapi_func
-entry_get_public(int slot)
-{
- extern char x86_64_entry_start[];
- return (mapi_func) (x86_64_entry_start + slot * 32);
-}
-
-void
-entry_patch(mapi_func entry, int slot)
-{
- char *code = (char *) entry;
- *((unsigned int *) (code + 12)) = slot * sizeof(mapi_func);
-}
-
-mapi_func
-entry_generate(int slot)
-{
- const char code_templ[16] = {
- /* movq %fs:0, %r11 */
- 0x64, 0x4c, 0x8b, 0x1c, 0x25, 0x00, 0x00, 0x00, 0x00,
- /* jmp *0x1234(%r11) */
- 0x41, 0xff, 0xa3, 0x34, 0x12, 0x00, 0x00,
- };
- unsigned long addr;
- void *code;
- mapi_func entry;
-
- addr = x86_64_current_tls();
- if ((addr >> 32) != 0xffffffff)
- return NULL;
- addr &= 0xffffffff;
-
- code = u_execmem_alloc(sizeof(code_templ));
- if (!code)
- return NULL;
-
- memcpy(code, code_templ, sizeof(code_templ));
-
- *((unsigned int *) (code + 5)) = addr;
- entry = (mapi_func) code;
- entry_patch(entry, slot);
-
- return entry;
-}
+/* + * Mesa 3-D graphics library + * Version: 7.9 + * + * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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: + * Chia-I Wu <olv@lunarg.com> + */ + +#include "u_macros.h" + +#ifdef __linux__ +__asm__(".section .note.ABI-tag, \"a\"\n\t" + ".p2align 2\n\t" + ".long 1f - 0f\n\t" /* name length */ + ".long 3f - 2f\n\t" /* data length */ + ".long 1\n\t" /* note length */ + "0: .asciz \"GNU\"\n\t" /* vendor name */ + "1: .p2align 2\n\t" + "2: .long 0\n\t" /* note data: the ABI tag */ + ".long 2,4,20\n\t" /* Minimum kernel version w/TLS */ + "3: .p2align 2\n\t"); /* pad out section */ +#endif /* __linux__ */ + +__asm__(".text\n" + ".balign 32\n" + "x86_64_entry_start:"); + +#define STUB_ASM_ENTRY(func) \ + ".globl " func "\n" \ + ".type " func ", @function\n" \ + ".balign 32\n" \ + func ":" + +#define STUB_ASM_CODE(slot) \ + "movq " ENTRY_CURRENT_TABLE "@GOTTPOFF(%rip), %rax\n\t" \ + "movq %fs:(%rax), %r11\n\t" \ + "jmp *(8 * " slot ")(%r11)" + +#define MAPI_TMP_STUB_ASM_GCC +#include "mapi_tmp.h" + +#ifndef MAPI_MODE_BRIDGE + +__asm__("x86_64_current_tls:\n\t" + "movq " ENTRY_CURRENT_TABLE "@GOTTPOFF(%rip), %rax\n\t" + "ret"); + +extern unsigned long +x86_64_current_tls(); + +#include <string.h> +#include "u_execmem.h" + +void +entry_patch_public(void) +{ +} + +mapi_func +entry_get_public(int slot) +{ + extern char x86_64_entry_start[]; + return (mapi_func) (x86_64_entry_start + slot * 32); +} + +void +entry_patch(mapi_func entry, int slot) +{ + char *code = (char *) entry; + *((unsigned int *) (code + 12)) = slot * sizeof(mapi_func); +} + +mapi_func +entry_generate(int slot) +{ + const char code_templ[16] = { + /* movq %fs:0, %r11 */ + 0x64, 0x4c, 0x8b, 0x1c, 0x25, 0x00, 0x00, 0x00, 0x00, + /* jmp *0x1234(%r11) */ + 0x41, 0xff, 0xa3, 0x34, 0x12, 0x00, 0x00, + }; + unsigned long addr; + void *code; + mapi_func entry; + + addr = x86_64_current_tls(); + if ((addr >> 32) != 0xffffffff) + return NULL; + addr &= 0xffffffff; + + code = u_execmem_alloc(sizeof(code_templ)); + if (!code) + return NULL; + + memcpy(code, code_templ, sizeof(code_templ)); + + *((unsigned int *) (code + 5)) = addr; + entry = (mapi_func) code; + entry_patch(entry, slot); + + return entry; +} + +#endif /* MAPI_MODE_BRIDGE */ diff --git a/mesalib/src/mapi/mapi/entry_x86_tls.h b/mesalib/src/mapi/mapi/entry_x86_tls.h index a1b3c27c7..5169069a1 100644 --- a/mesalib/src/mapi/mapi/entry_x86_tls.h +++ b/mesalib/src/mapi/mapi/entry_x86_tls.h @@ -1,141 +1,146 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.9
- *
- * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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:
- * Chia-I Wu <olv@lunarg.com>
- */
-
-#include <string.h>
-#include "u_execmem.h"
-#include "u_macros.h"
-
-#ifdef __linux__
-__asm__(".section .note.ABI-tag, \"a\"\n\t"
- ".p2align 2\n\t"
- ".long 1f - 0f\n\t" /* name length */
- ".long 3f - 2f\n\t" /* data length */
- ".long 1\n\t" /* note length */
- "0: .asciz \"GNU\"\n\t" /* vendor name */
- "1: .p2align 2\n\t"
- "2: .long 0\n\t" /* note data: the ABI tag */
- ".long 2,4,20\n\t" /* Minimum kernel version w/TLS */
- "3: .p2align 2\n\t"); /* pad out section */
-#endif /* __linux__ */
-
-__asm__(".text");
-
-__asm__("x86_current_tls:\n\t"
- "call 1f\n"
- "1:\n\t"
- "popl %eax\n\t"
- "addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %eax\n\t"
- "movl u_current_table@GOTNTPOFF(%eax), %eax\n\t"
- "ret");
-
-#ifndef GLX_X86_READONLY_TEXT
-__asm__(".section wtext, \"awx\", @progbits");
-#endif /* GLX_X86_READONLY_TEXT */
-
-__asm__(".balign 16\n"
- "x86_entry_start:");
-
-#define STUB_ASM_ENTRY(func) \
- ".globl " func "\n" \
- ".type " func ", @function\n" \
- ".balign 16\n" \
- func ":"
-
-#define STUB_ASM_CODE(slot) \
- "call x86_current_tls\n\t" \
- "movl %gs:(%eax), %eax\n\t" \
- "jmp *(4 * " slot ")(%eax)"
-
-#define MAPI_TMP_STUB_ASM_GCC
-#include "mapi_tmp.h"
-
-#ifndef GLX_X86_READONLY_TEXT
-__asm__(".balign 16\n"
- "x86_entry_end:");
-__asm__(".text");
-#endif /* GLX_X86_READONLY_TEXT */
-
-extern unsigned long
-x86_current_tls();
-
-void
-entry_patch_public(void)
-{
-#ifndef GLX_X86_READONLY_TEXT
- extern char x86_entry_start[];
- extern char x86_entry_end[];
- char patch[8] = {
- 0x65, 0xa1, 0x00, 0x00, 0x00, 0x00, /* movl %gs:0x0, %eax */
- 0x90, 0x90 /* nop's */
- };
- char *entry;
-
- *((unsigned long *) (patch + 2)) = x86_current_tls();
-
- for (entry = x86_entry_start; entry < x86_entry_end; entry += 16)
- memcpy(entry, patch, sizeof(patch));
-#endif
-}
-
-mapi_func
-entry_get_public(int slot)
-{
- extern char x86_entry_start[];
- return (mapi_func) (x86_entry_start + slot * 16);
-}
-
-void
-entry_patch(mapi_func entry, int slot)
-{
- char *code = (char *) entry;
- *((unsigned long *) (code + 8)) = slot * sizeof(mapi_func);
-}
-
-mapi_func
-entry_generate(int slot)
-{
- const char code_templ[16] = {
- 0x65, 0xa1, 0x00, 0x00, 0x00, 0x00, /* movl %gs:0x0, %eax */
- 0xff, 0xa0, 0x34, 0x12, 0x00, 0x00, /* jmp *0x1234(%eax) */
- 0x90, 0x90, 0x90, 0x90 /* nop's */
- };
- void *code;
- mapi_func entry;
-
- code = u_execmem_alloc(sizeof(code_templ));
- if (!code)
- return NULL;
-
- memcpy(code, code_templ, sizeof(code_templ));
-
- *((unsigned long *) (code + 2)) = x86_current_tls();
- entry = (mapi_func) code;
- entry_patch(entry, slot);
-
- return entry;
-}
+/* + * Mesa 3-D graphics library + * Version: 7.9 + * + * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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: + * Chia-I Wu <olv@lunarg.com> + */ + +#include <string.h> +#include "u_macros.h" + +#ifdef __linux__ +__asm__(".section .note.ABI-tag, \"a\"\n\t" + ".p2align 2\n\t" + ".long 1f - 0f\n\t" /* name length */ + ".long 3f - 2f\n\t" /* data length */ + ".long 1\n\t" /* note length */ + "0: .asciz \"GNU\"\n\t" /* vendor name */ + "1: .p2align 2\n\t" + "2: .long 0\n\t" /* note data: the ABI tag */ + ".long 2,4,20\n\t" /* Minimum kernel version w/TLS */ + "3: .p2align 2\n\t"); /* pad out section */ +#endif /* __linux__ */ + +__asm__(".text"); + +__asm__("x86_current_tls:\n\t" + "call 1f\n" + "1:\n\t" + "popl %eax\n\t" + "addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %eax\n\t" + "movl " ENTRY_CURRENT_TABLE "@GOTNTPOFF(%eax), %eax\n\t" + "ret"); + +#ifndef GLX_X86_READONLY_TEXT +__asm__(".section wtext, \"awx\", @progbits"); +#endif /* GLX_X86_READONLY_TEXT */ + +__asm__(".balign 16\n" + "x86_entry_start:"); + +#define STUB_ASM_ENTRY(func) \ + ".globl " func "\n" \ + ".type " func ", @function\n" \ + ".balign 16\n" \ + func ":" + +#define STUB_ASM_CODE(slot) \ + "call x86_current_tls\n\t" \ + "movl %gs:(%eax), %eax\n\t" \ + "jmp *(4 * " slot ")(%eax)" + +#define MAPI_TMP_STUB_ASM_GCC +#include "mapi_tmp.h" + +#ifndef GLX_X86_READONLY_TEXT +__asm__(".balign 16\n" + "x86_entry_end:"); +__asm__(".text"); +#endif /* GLX_X86_READONLY_TEXT */ + +#ifndef MAPI_MODE_BRIDGE + +#include "u_execmem.h" + +extern unsigned long +x86_current_tls(); + +void +entry_patch_public(void) +{ +#ifndef GLX_X86_READONLY_TEXT + extern char x86_entry_start[]; + extern char x86_entry_end[]; + char patch[8] = { + 0x65, 0xa1, 0x00, 0x00, 0x00, 0x00, /* movl %gs:0x0, %eax */ + 0x90, 0x90 /* nop's */ + }; + char *entry; + + *((unsigned long *) (patch + 2)) = x86_current_tls(); + + for (entry = x86_entry_start; entry < x86_entry_end; entry += 16) + memcpy(entry, patch, sizeof(patch)); +#endif +} + +mapi_func +entry_get_public(int slot) +{ + extern char x86_entry_start[]; + return (mapi_func) (x86_entry_start + slot * 16); +} + +void +entry_patch(mapi_func entry, int slot) +{ + char *code = (char *) entry; + *((unsigned long *) (code + 8)) = slot * sizeof(mapi_func); +} + +mapi_func +entry_generate(int slot) +{ + const char code_templ[16] = { + 0x65, 0xa1, 0x00, 0x00, 0x00, 0x00, /* movl %gs:0x0, %eax */ + 0xff, 0xa0, 0x34, 0x12, 0x00, 0x00, /* jmp *0x1234(%eax) */ + 0x90, 0x90, 0x90, 0x90 /* nop's */ + }; + void *code; + mapi_func entry; + + code = u_execmem_alloc(sizeof(code_templ)); + if (!code) + return NULL; + + memcpy(code, code_templ, sizeof(code_templ)); + + *((unsigned long *) (code + 2)) = x86_current_tls(); + entry = (mapi_func) code; + entry_patch(entry, slot); + + return entry; +} + +#endif /* MAPI_MODE_BRIDGE */ diff --git a/mesalib/src/mapi/mapi/entry_x86_tsd.h b/mesalib/src/mapi/mapi/entry_x86_tsd.h index 752be5528..1491478d4 100644 --- a/mesalib/src/mapi/mapi/entry_x86_tsd.h +++ b/mesalib/src/mapi/mapi/entry_x86_tsd.h @@ -1,98 +1,103 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.9
- *
- * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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:
- * Chia-I Wu <olv@lunarg.com>
- */
-
-#include <string.h>
-#include "u_execmem.h"
-#include "u_macros.h"
-
-#define X86_ENTRY_SIZE 32
-
-__asm__(".text\n"
- ".balign 32\n"
- "x86_entry_start:");
-
-#define STUB_ASM_ENTRY(func) \
- ".globl " func "\n" \
- ".type " func ", @function\n" \
- ".balign 32\n" \
- func ":"
-
-#define STUB_ASM_CODE(slot) \
- "movl u_current_table, %eax\n\t" \
- "testl %eax, %eax\n\t" \
- "je 1f\n\t" \
- "jmp *(4 * " slot ")(%eax)\n" \
- "1:\n\t" \
- "call u_current_get_internal\n\t"\
- "jmp *(4 * " slot ")(%eax)"
-
-#define MAPI_TMP_STUB_ASM_GCC
-#include "mapi_tmp.h"
-
-__asm__(".balign 32\n"
- "x86_entry_end:");
-
-void
-entry_patch_public(void)
-{
-}
-
-mapi_func
-entry_get_public(int slot)
-{
- extern const char x86_entry_start[];
- return (mapi_func) (x86_entry_start + slot * X86_ENTRY_SIZE);
-}
-
-void
-entry_patch(mapi_func entry, int slot)
-{
- char *code = (char *) entry;
-
- *((unsigned long *) (code + 11)) = slot * sizeof(mapi_func);
- *((unsigned long *) (code + 22)) = slot * sizeof(mapi_func);
-}
-
-mapi_func
-entry_generate(int slot)
-{
- extern const char x86_entry_end[];
- const char *code_templ = x86_entry_end - X86_ENTRY_SIZE;
- void *code;
- mapi_func entry;
-
- code = u_execmem_alloc(X86_ENTRY_SIZE);
- if (!code)
- return NULL;
-
- memcpy(code, code_templ, X86_ENTRY_SIZE);
- entry = (mapi_func) code;
- entry_patch(entry, slot);
-
- return entry;
-}
+/* + * Mesa 3-D graphics library + * Version: 7.9 + * + * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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: + * Chia-I Wu <olv@lunarg.com> + */ + +#include "u_macros.h" + +#define X86_ENTRY_SIZE 32 + +__asm__(".text\n" + ".balign 32\n" + "x86_entry_start:"); + +#define STUB_ASM_ENTRY(func) \ + ".globl " func "\n" \ + ".type " func ", @function\n" \ + ".balign 32\n" \ + func ":" + +#define STUB_ASM_CODE(slot) \ + "movl " ENTRY_CURRENT_TABLE ", %eax\n\t" \ + "testl %eax, %eax\n\t" \ + "je 1f\n\t" \ + "jmp *(4 * " slot ")(%eax)\n" \ + "1:\n\t" \ + "call " ENTRY_CURRENT_TABLE_GET "\n\t" \ + "jmp *(4 * " slot ")(%eax)" + +#define MAPI_TMP_STUB_ASM_GCC +#include "mapi_tmp.h" + +#ifndef MAPI_MODE_BRIDGE + +__asm__(".balign 32\n" + "x86_entry_end:"); + +#include <string.h> +#include "u_execmem.h" + +void +entry_patch_public(void) +{ +} + +mapi_func +entry_get_public(int slot) +{ + extern const char x86_entry_start[]; + return (mapi_func) (x86_entry_start + slot * X86_ENTRY_SIZE); +} + +void +entry_patch(mapi_func entry, int slot) +{ + char *code = (char *) entry; + + *((unsigned long *) (code + 11)) = slot * sizeof(mapi_func); + *((unsigned long *) (code + 22)) = slot * sizeof(mapi_func); +} + +mapi_func +entry_generate(int slot) +{ + extern const char x86_entry_end[]; + const char *code_templ = x86_entry_end - X86_ENTRY_SIZE; + void *code; + mapi_func entry; + + code = u_execmem_alloc(X86_ENTRY_SIZE); + if (!code) + return NULL; + + memcpy(code, code_templ, X86_ENTRY_SIZE); + entry = (mapi_func) code; + entry_patch(entry, slot); + + return entry; +} + +#endif /* MAPI_MODE_BRIDGE */ diff --git a/mesalib/src/mapi/mapi/mapi_abi.py b/mesalib/src/mapi/mapi/mapi_abi.py index ba59be798..cb9fc0ef8 100644 --- a/mesalib/src/mapi/mapi/mapi_abi.py +++ b/mesalib/src/mapi/mapi/mapi_abi.py @@ -1,662 +1,1281 @@ -#!/usr/bin/env python
-
-# Mesa 3-D graphics library
-# Version: 7.9
-#
-# Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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:
-# Chia-I Wu <olv@lunarg.com>
-
-import sys
-import re
-from optparse import OptionParser
-
-# number of dynamic entries
-ABI_NUM_DYNAMIC_ENTRIES = 256
-
-class ABIEntry(object):
- """Represent an ABI entry."""
-
- _match_c_param = re.compile(
- '^(?P<type>[\w\s*]+?)(?P<name>\w+)(\[(?P<array>\d+)\])?$')
-
- def __init__(self, cols, attrs):
- self._parse(cols)
-
- self.slot = attrs['slot']
- self.hidden = attrs['hidden']
- self.alias = attrs['alias']
- self.handcode = attrs['handcode']
-
- def c_prototype(self):
- return '%s %s(%s)' % (self.c_return(), self.name, self.c_params())
-
- def c_return(self):
- ret = self.ret
- if not ret:
- ret = 'void'
-
- return ret
-
- def c_params(self):
- """Return the parameter list used in the entry prototype."""
- c_params = []
- for t, n, a in self.params:
- sep = '' if t.endswith('*') else ' '
- arr = '[%d]' % a if a else ''
- c_params.append(t + sep + n + arr)
- if not c_params:
- c_params.append('void')
-
- return ", ".join(c_params)
-
- def c_args(self):
- """Return the argument list used in the entry invocation."""
- c_args = []
- for t, n, a in self.params:
- c_args.append(n)
-
- return ", ".join(c_args)
-
- def _parse(self, cols):
- ret = cols.pop(0)
- if ret == 'void':
- ret = None
-
- name = cols.pop(0)
-
- params = []
- if not cols:
- raise Exception(cols)
- elif len(cols) == 1 and cols[0] == 'void':
- pass
- else:
- for val in cols:
- params.append(self._parse_param(val))
-
- self.ret = ret
- self.name = name
- self.params = params
-
- def _parse_param(self, c_param):
- m = self._match_c_param.match(c_param)
- if not m:
- raise Exception('unrecognized param ' + c_param)
-
- c_type = m.group('type').strip()
- c_name = m.group('name')
- c_array = m.group('array')
- c_array = int(c_array) if c_array else 0
-
- return (c_type, c_name, c_array)
-
- def __str__(self):
- return self.c_prototype()
-
- def __cmp__(self, other):
- # compare slot, alias, and then name
- res = cmp(self.slot, other.slot)
- if not res:
- if not self.alias:
- res = -1
- elif not other.alias:
- res = 1
-
- if not res:
- res = cmp(self.name, other.name)
-
- return res
-
-def abi_parse_line(line):
- cols = [col.strip() for col in line.split(',')]
-
- attrs = {
- 'slot': -1,
- 'hidden': False,
- 'alias': None,
- 'handcode': None,
- }
-
- # extract attributes from the first column
- vals = cols[0].split(':')
- while len(vals) > 1:
- val = vals.pop(0)
- if val.startswith('slot='):
- attrs['slot'] = int(val[5:])
- elif val == 'hidden':
- attrs['hidden'] = True
- elif val.startswith('alias='):
- attrs['alias'] = val[6:]
- elif val.startswith('handcode='):
- attrs['handcode'] = val[9:]
- elif not val:
- pass
- else:
- raise Exception('unknown attribute %s' % val)
- cols[0] = vals[0]
-
- return (attrs, cols)
-
-def abi_parse(filename):
- """Parse a CSV file for ABI entries."""
- fp = open(filename) if filename != '-' else sys.stdin
- lines = [line.strip() for line in fp.readlines()
- if not line.startswith('#') and line.strip()]
-
- entry_dict = {}
- next_slot = 0
- for line in lines:
- attrs, cols = abi_parse_line(line)
-
- # post-process attributes
- if attrs['alias']:
- try:
- alias = entry_dict[attrs['alias']]
- except KeyError:
- raise Exception('failed to alias %s' % attrs['alias'])
- if alias.alias:
- raise Exception('recursive alias %s' % ent.name)
- slot = alias.slot
- attrs['alias'] = alias
- else:
- slot = next_slot
- next_slot += 1
-
- if attrs['slot'] < 0:
- attrs['slot'] = slot
- elif attrs['slot'] != slot:
- raise Exception('invalid slot in %s' % (line))
-
- ent = ABIEntry(cols, attrs)
- if entry_dict.has_key(ent.name):
- raise Exception('%s is duplicated' % (ent.name))
- entry_dict[ent.name] = ent
-
- entries = entry_dict.values()
- entries.sort()
-
- # sanity check
- i = 0
- for slot in xrange(next_slot):
- if entries[i].slot != slot:
- raise Exception('entries are not ordered by slots')
- if entries[i].alias:
- raise Exception('first entry of slot %d aliases %s'
- % (slot, entries[i].alias.name))
- handcode = None
- while i < len(entries) and entries[i].slot == slot:
- ent = entries[i]
- if not handcode and ent.handcode:
- handcode = ent.handcode
- elif ent.handcode != handcode:
- raise Exception('two aliases with handcode %s != %s',
- ent.handcode, handcode)
- i += 1
- if i < len(entries):
- raise Exception('there are %d invalid entries' % (len(entries) - 1))
-
- return entries
-
-class ABIPrinter(object):
- """MAPI Printer"""
-
- def __init__(self, entries):
- self.entries = entries
-
- # sort entries by their names
- self.entries_sorted_by_names = self.entries[:]
- self.entries_sorted_by_names.sort(lambda x, y: cmp(x.name, y.name))
-
- self.indent = ' ' * 3
- self.noop_warn = 'noop_warn'
- self.noop_generic = 'noop_generic'
-
- self.api_defines = []
- self.api_headers = ['"KHR/khrplatform.h"']
- self.api_call = 'KHRONOS_APICALL'
- self.api_entry = 'KHRONOS_APIENTRY'
- self.api_attrs = 'KHRONOS_APIATTRIBUTES'
-
- self.lib_need_table_size = True
- self.lib_need_noop_array = True
- self.lib_need_stubs = True
- self.lib_need_entries = True
-
- def c_notice(self):
- return '/* This file is automatically generated by mapi_abi.py. Do not modify. */'
-
- def c_public_includes(self):
- """Return includes of the client API headers."""
- defines = ['#define ' + d for d in self.api_defines]
- includes = ['#include ' + h for h in self.api_headers]
- return "\n".join(defines + includes)
-
- def need_entry_point(self, ent):
- """Return True if an entry point is needed for the entry."""
- # non-handcode hidden aliases may share the entry they alias
- use_alias = (ent.hidden and ent.alias and not ent.handcode)
- return not use_alias
-
- def c_public_declarations(self, prefix):
- """Return the declarations of public entry points."""
- decls = []
- for ent in self.entries:
- if not self.need_entry_point(ent):
- continue
- export = self.api_call if not ent.hidden else ''
- decls.append(self._c_decl(ent, prefix, True, export) + ';')
-
- return "\n".join(decls)
-
- def c_mapi_table(self):
- """Return defines of the dispatch table size."""
- num_static_entries = 0
- for ent in self.entries:
- if not ent.alias:
- num_static_entries += 1
-
- return ('#define MAPI_TABLE_NUM_STATIC %d\n' + \
- '#define MAPI_TABLE_NUM_DYNAMIC %d') % (
- num_static_entries, ABI_NUM_DYNAMIC_ENTRIES)
-
- def c_mapi_table_initializer(self, prefix):
- """Return the array initializer for mapi_table_fill."""
- entries = [self._c_function(ent, prefix)
- for ent in self.entries if not ent.alias]
- pre = self.indent + '(mapi_proc) '
- return pre + (',\n' + pre).join(entries)
-
- def c_mapi_table_spec(self):
- """Return the spec for mapi_init."""
- specv1 = []
- line = '"1'
- for ent in self.entries:
- if not ent.alias:
- line += '\\0"\n'
- specv1.append(line)
- line = '"'
- line += '%s\\0' % ent.name
- line += '";'
- specv1.append(line)
-
- return self.indent + self.indent.join(specv1)
-
- def _c_function(self, ent, prefix, mangle=False, stringify=False):
- """Return the function name of an entry."""
- formats = { True: '"%s%s"', False: '%s%s' }
- fmt = formats[stringify]
- name = ent.name
- if mangle and ent.hidden:
- name = '_dispatch_stub_' + str(ent.slot)
- return fmt % (prefix, name)
-
- def _c_function_call(self, ent, prefix):
- """Return the function name used for calling."""
- if ent.handcode:
- # _c_function does not handle this case
- fmt = '%s%s'
- name = fmt % (prefix, ent.handcode)
- elif self.need_entry_point(ent):
- name = self._c_function(ent, prefix, True)
- else:
- name = self._c_function(ent.alias, prefix, True)
- return name
-
- def _c_decl(self, ent, prefix, mangle=False, export=''):
- """Return the C declaration for the entry."""
- decl = '%s %s %s(%s)' % (ent.c_return(), self.api_entry,
- self._c_function(ent, prefix, mangle), ent.c_params())
- if export:
- decl = export + ' ' + decl
- if self.api_attrs:
- decl += ' ' + self.api_attrs
-
- return decl
-
- def _c_cast(self, ent):
- """Return the C cast for the entry."""
- cast = '%s (%s *)(%s)' % (
- ent.c_return(), self.api_entry, ent.c_params())
-
- return cast
-
- def c_private_declarations(self, prefix):
- """Return the declarations of private functions."""
- decls = [self._c_decl(ent, prefix) + ';'
- for ent in self.entries if not ent.alias]
-
- return "\n".join(decls)
-
- def c_public_dispatches(self, prefix):
- """Return the public dispatch functions."""
- dispatches = []
- for ent in self.entries:
- if not self.need_entry_point(ent):
- continue
-
- export = self.api_call if not ent.hidden else ''
-
- proto = self._c_decl(ent, prefix, True, export)
- cast = self._c_cast(ent)
-
- ret = ''
- if ent.ret:
- ret = 'return '
- stmt1 = self.indent
- stmt1 += 'const struct mapi_table *tbl = u_current_get();'
- stmt2 = self.indent
- stmt2 += 'mapi_func func = ((const mapi_func *) tbl)[%d];' % (
- ent.slot)
- stmt3 = self.indent
- stmt3 += '%s((%s) func)(%s);' % (ret, cast, ent.c_args())
-
- disp = '%s\n{\n%s\n%s\n%s\n}' % (proto, stmt1, stmt2, stmt3)
-
- if ent.handcode:
- disp = '#if 0\n' + disp + '\n#endif'
-
- dispatches.append(disp)
-
- return '\n\n'.join(dispatches)
-
- def c_public_initializer(self, prefix):
- """Return the initializer for public dispatch functions."""
- names = []
- for ent in self.entries:
- if ent.alias:
- continue
-
- name = '%s(mapi_func) %s' % (self.indent,
- self._c_function_call(ent, prefix))
- names.append(name)
-
- return ',\n'.join(names)
-
- def c_stub_string_pool(self):
- """Return the string pool for use by stubs."""
- # sort entries by their names
- sorted_entries = self.entries[:]
- sorted_entries.sort(lambda x, y: cmp(x.name, y.name))
-
- pool = []
- offsets = {}
- count = 0
- for ent in sorted_entries:
- offsets[ent] = count
- pool.append('%s' % (ent.name))
- count += len(ent.name) + 1
-
- pool_str = self.indent + '"' + \
- ('\\0"\n' + self.indent + '"').join(pool) + '";'
- return (pool_str, offsets)
-
- def c_stub_initializer(self, prefix, pool_offsets):
- """Return the initializer for struct mapi_stub array."""
- stubs = []
- for ent in self.entries_sorted_by_names:
- stubs.append('%s{ (void *) %d, %d, NULL }' % (
- self.indent, pool_offsets[ent], ent.slot))
-
- return ',\n'.join(stubs)
-
- def c_noop_functions(self, prefix, warn_prefix):
- """Return the noop functions."""
- noops = []
- for ent in self.entries:
- if ent.alias:
- continue
-
- proto = self._c_decl(ent, prefix, False, 'static')
-
- stmt1 = self.indent + '%s(%s);' % (self.noop_warn,
- self._c_function(ent, warn_prefix, False, True))
-
- if ent.ret:
- stmt2 = self.indent + 'return (%s) 0;' % (ent.ret)
- noop = '%s\n{\n%s\n%s\n}' % (proto, stmt1, stmt2)
- else:
- noop = '%s\n{\n%s\n}' % (proto, stmt1)
-
- noops.append(noop)
-
- return '\n\n'.join(noops)
-
- def c_noop_initializer(self, prefix, use_generic):
- """Return an initializer for the noop dispatch table."""
- entries = [self._c_function(ent, prefix)
- for ent in self.entries if not ent.alias]
- if use_generic:
- entries = [self.noop_generic] * len(entries)
-
- entries.extend([self.noop_generic] * ABI_NUM_DYNAMIC_ENTRIES)
-
- pre = self.indent + '(mapi_func) '
- return pre + (',\n' + pre).join(entries)
-
- def c_asm_gcc(self, prefix):
- asm = []
-
- asm.append('__asm__(')
- for ent in self.entries:
- if not self.need_entry_point(ent):
- continue
-
- name = self._c_function(ent, prefix, True, True)
-
- if ent.handcode:
- asm.append('#if 0')
-
- if ent.hidden:
- asm.append('".hidden "%s"\\n"' % (name))
-
- if ent.alias:
- asm.append('".globl "%s"\\n"' % (name))
- asm.append('".set "%s", "%s"\\n"' % (name,
- self._c_function(ent.alias, prefix, True, True)))
- else:
- asm.append('STUB_ASM_ENTRY(%s)"\\n"' % (name))
- asm.append('"\\t"STUB_ASM_CODE("%d")"\\n"' % (ent.slot))
-
- if ent.handcode:
- asm.append('#endif')
- asm.append('')
- asm.append(');')
-
- return "\n".join(asm)
-
- def output_for_lib(self):
- print self.c_notice()
- print
- print '#ifdef MAPI_TMP_DEFINES'
- print self.c_public_includes()
- print
- print self.c_public_declarations(self.prefix_lib)
- print '#undef MAPI_TMP_DEFINES'
- print '#endif /* MAPI_TMP_DEFINES */'
-
- if self.lib_need_table_size:
- print
- print '#ifdef MAPI_TMP_TABLE'
- print self.c_mapi_table()
- print '#undef MAPI_TMP_TABLE'
- print '#endif /* MAPI_TMP_TABLE */'
-
- if self.lib_need_noop_array:
- print
- print '#ifdef MAPI_TMP_NOOP_ARRAY'
- print '#ifdef DEBUG'
- print
- print self.c_noop_functions(self.prefix_noop, self.prefix_lib)
- print
- print 'const mapi_func table_%s_array[] = {' % (self.prefix_noop)
- print self.c_noop_initializer(self.prefix_noop, False)
- print '};'
- print
- print '#else /* DEBUG */'
- print
- print 'const mapi_func table_%s_array[] = {' % (self.prefix_noop)
- print self.c_noop_initializer(self.prefix_noop, True)
- print '};'
- print
- print '#endif /* DEBUG */'
- print '#undef MAPI_TMP_NOOP_ARRAY'
- print '#endif /* MAPI_TMP_NOOP_ARRAY */'
-
- if self.lib_need_stubs:
- pool, pool_offsets = self.c_stub_string_pool()
- print
- print '#ifdef MAPI_TMP_PUBLIC_STUBS'
- print 'static const char public_string_pool[] ='
- print pool
- print
- print 'static const struct mapi_stub public_stubs[] = {'
- print self.c_stub_initializer(self.prefix_lib, pool_offsets)
- print '};'
- print '#undef MAPI_TMP_PUBLIC_STUBS'
- print '#endif /* MAPI_TMP_PUBLIC_STUBS */'
-
- if self.lib_need_entries:
- print
- print '#ifdef MAPI_TMP_PUBLIC_ENTRIES'
- print self.c_public_dispatches(self.prefix_lib)
- print
- print 'static const mapi_func public_entries[] = {'
- print self.c_public_initializer(self.prefix_lib)
- print '};'
- print '#undef MAPI_TMP_PUBLIC_ENTRIES'
- print '#endif /* MAPI_TMP_PUBLIC_ENTRIES */'
-
- print
- print '#ifdef MAPI_TMP_STUB_ASM_GCC'
- print self.c_asm_gcc(self.prefix_lib)
- print '#undef MAPI_TMP_STUB_ASM_GCC'
- print '#endif /* MAPI_TMP_STUB_ASM_GCC */'
-
- def output_for_app(self):
- print self.c_notice()
- print
- print self.c_private_declarations(self.prefix_app)
- print
- print '#ifdef API_TMP_DEFINE_SPEC'
- print
- print 'static const char %s_spec[] =' % (self.prefix_app)
- print self.c_mapi_table_spec()
- print
- print 'static const mapi_proc %s_procs[] = {' % (self.prefix_app)
- print self.c_mapi_table_initializer(self.prefix_app)
- print '};'
- print
- print '#endif /* API_TMP_DEFINE_SPEC */'
-
-class GLAPIPrinter(ABIPrinter):
- """OpenGL API Printer"""
-
- def __init__(self, entries):
- super(GLAPIPrinter, self).__init__(entries)
-
- self.api_defines = ['GL_GLEXT_PROTOTYPES']
- self.api_headers = ['"GL/gl.h"', '"GL/glext.h"']
- self.api_call = 'GLAPI'
- self.api_entry = 'APIENTRY'
- self.api_attrs = ''
-
- self.prefix_lib = 'gl'
- self.prefix_app = '_mesa_'
- self.prefix_noop = 'noop'
-
- def output_for_app(self):
- # not used
- pass
-
-class ES1APIPrinter(GLAPIPrinter):
- """OpenGL ES 1.x API Printer"""
-
- def __init__(self, entries):
- super(ES1APIPrinter, self).__init__(entries)
-
- self.api_headers = ['"GLES/gl.h"', '"GLES/glext.h"']
- self.api_call = 'GL_API'
- self.api_entry = 'GL_APIENTRY'
-
-class ES2APIPrinter(GLAPIPrinter):
- """OpenGL ES 2.x API Printer"""
-
- def __init__(self, entries):
- super(ES2APIPrinter, self).__init__(entries)
-
- self.api_headers = ['"GLES2/gl2.h"', '"GLES2/gl2ext.h"']
- self.api_call = 'GL_APICALL'
- self.api_entry = 'GL_APIENTRY'
-
-class VGAPIPrinter(ABIPrinter):
- """OpenVG API Printer"""
-
- def __init__(self, entries):
- super(VGAPIPrinter, self).__init__(entries)
-
- self.api_defines = ['VG_VGEXT_PROTOTYPES']
- self.api_headers = ['"VG/openvg.h"', '"VG/vgext.h"']
- self.api_call = 'VG_API_CALL'
- self.api_entry = 'VG_API_ENTRY'
- self.api_attrs = 'VG_API_EXIT'
-
- self.prefix_lib = 'vg'
- self.prefix_app = 'vega'
- self.prefix_noop = 'noop'
-
-def parse_args():
- printers = ['glapi', 'es1api', 'es2api', 'vgapi']
- modes = ['lib', 'app']
-
- parser = OptionParser(usage='usage: %prog [options] <filename>')
- parser.add_option('-p', '--printer', dest='printer',
- help='printer to use: %s' % (", ".join(printers)))
- parser.add_option('-m', '--mode', dest='mode',
- help='target user: %s' % (", ".join(modes)))
-
- options, args = parser.parse_args()
- if not args or options.printer not in printers or \
- options.mode not in modes:
- parser.print_help()
- sys.exit(1)
-
- return (args[0], options)
-
-def main():
- printers = {
- 'vgapi': VGAPIPrinter,
- 'glapi': GLAPIPrinter,
- 'es1api': ES1APIPrinter,
- 'es2api': ES2APIPrinter
- }
-
- filename, options = parse_args()
-
- entries = abi_parse(filename)
- printer = printers[options.printer](entries)
- if options.mode == 'lib':
- printer.output_for_lib()
- else:
- printer.output_for_app()
-
-if __name__ == '__main__':
- main()
+#!/usr/bin/env python + +# Mesa 3-D graphics library +# Version: 7.9 +# +# Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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: +# Chia-I Wu <olv@lunarg.com> + +import sys +import re +from optparse import OptionParser + +# number of dynamic entries +ABI_NUM_DYNAMIC_ENTRIES = 256 + +class ABIEntry(object): + """Represent an ABI entry.""" + + _match_c_param = re.compile( + '^(?P<type>[\w\s*]+?)(?P<name>\w+)(\[(?P<array>\d+)\])?$') + + def __init__(self, cols, attrs): + self._parse(cols) + + self.slot = attrs['slot'] + self.hidden = attrs['hidden'] + self.alias = attrs['alias'] + self.handcode = attrs['handcode'] + + def c_prototype(self): + return '%s %s(%s)' % (self.c_return(), self.name, self.c_params()) + + def c_return(self): + ret = self.ret + if not ret: + ret = 'void' + + return ret + + def c_params(self): + """Return the parameter list used in the entry prototype.""" + c_params = [] + for t, n, a in self.params: + sep = '' if t.endswith('*') else ' ' + arr = '[%d]' % a if a else '' + c_params.append(t + sep + n + arr) + if not c_params: + c_params.append('void') + + return ", ".join(c_params) + + def c_args(self): + """Return the argument list used in the entry invocation.""" + c_args = [] + for t, n, a in self.params: + c_args.append(n) + + return ", ".join(c_args) + + def _parse(self, cols): + ret = cols.pop(0) + if ret == 'void': + ret = None + + name = cols.pop(0) + + params = [] + if not cols: + raise Exception(cols) + elif len(cols) == 1 and cols[0] == 'void': + pass + else: + for val in cols: + params.append(self._parse_param(val)) + + self.ret = ret + self.name = name + self.params = params + + def _parse_param(self, c_param): + m = self._match_c_param.match(c_param) + if not m: + raise Exception('unrecognized param ' + c_param) + + c_type = m.group('type').strip() + c_name = m.group('name') + c_array = m.group('array') + c_array = int(c_array) if c_array else 0 + + return (c_type, c_name, c_array) + + def __str__(self): + return self.c_prototype() + + def __cmp__(self, other): + # compare slot, alias, and then name + res = cmp(self.slot, other.slot) + if not res: + if not self.alias: + res = -1 + elif not other.alias: + res = 1 + + if not res: + res = cmp(self.name, other.name) + + return res + +def abi_parse_xml(xml): + """Parse a GLAPI XML file for ABI entries.""" + import os + GLAPI = "./%s/../glapi/gen" % (os.path.dirname(sys.argv[0])) + sys.path.append(GLAPI) + import gl_XML, glX_XML + + api = gl_XML.parse_GL_API(xml, glX_XML.glx_item_factory()) + + entry_dict = {} + for func in api.functionIterateByOffset(): + # make sure func.name appear first + entry_points = func.entry_points[:] + entry_points.remove(func.name) + entry_points.insert(0, func.name) + + for name in entry_points: + attrs = { + 'slot': func.offset, + 'hidden': not func.is_static_entry_point(name), + 'alias': None if name == func.name else func.name, + 'handcode': bool(func.has_different_protocol(name)), + } + + # post-process attrs + if attrs['alias']: + try: + alias = entry_dict[attrs['alias']] + except KeyError: + raise Exception('failed to alias %s' % attrs['alias']) + if alias.alias: + raise Exception('recursive alias %s' % ent.name) + attrs['alias'] = alias + if attrs['handcode']: + attrs['handcode'] = func.static_glx_name(name) + else: + attrs['handcode'] = None + + if entry_dict.has_key(name): + raise Exception('%s is duplicated' % (name)) + + cols = [] + cols.append(func.return_type) + cols.append(name) + params = func.get_parameter_string(name) + cols.extend([p.strip() for p in params.split(',')]) + + ent = ABIEntry(cols, attrs) + entry_dict[ent.name] = ent + + entries = entry_dict.values() + entries.sort() + + return entries + +def abi_parse_line(line): + cols = [col.strip() for col in line.split(',')] + + attrs = { + 'slot': -1, + 'hidden': False, + 'alias': None, + 'handcode': None, + } + + # extract attributes from the first column + vals = cols[0].split(':') + while len(vals) > 1: + val = vals.pop(0) + if val.startswith('slot='): + attrs['slot'] = int(val[5:]) + elif val == 'hidden': + attrs['hidden'] = True + elif val.startswith('alias='): + attrs['alias'] = val[6:] + elif val.startswith('handcode='): + attrs['handcode'] = val[9:] + elif not val: + pass + else: + raise Exception('unknown attribute %s' % val) + cols[0] = vals[0] + + return (attrs, cols) + +def abi_parse(filename): + """Parse a CSV file for ABI entries.""" + fp = open(filename) if filename != '-' else sys.stdin + lines = [line.strip() for line in fp.readlines() + if not line.startswith('#') and line.strip()] + + entry_dict = {} + next_slot = 0 + for line in lines: + attrs, cols = abi_parse_line(line) + + # post-process attributes + if attrs['alias']: + try: + alias = entry_dict[attrs['alias']] + except KeyError: + raise Exception('failed to alias %s' % attrs['alias']) + if alias.alias: + raise Exception('recursive alias %s' % ent.name) + slot = alias.slot + attrs['alias'] = alias + else: + slot = next_slot + next_slot += 1 + + if attrs['slot'] < 0: + attrs['slot'] = slot + elif attrs['slot'] != slot: + raise Exception('invalid slot in %s' % (line)) + + ent = ABIEntry(cols, attrs) + if entry_dict.has_key(ent.name): + raise Exception('%s is duplicated' % (ent.name)) + entry_dict[ent.name] = ent + + entries = entry_dict.values() + entries.sort() + + return entries + +def abi_sanity_check(entries): + if not entries: + return + + all_names = [] + last_slot = entries[-1].slot + i = 0 + for slot in xrange(last_slot + 1): + if entries[i].slot != slot: + raise Exception('entries are not ordered by slots') + if entries[i].alias: + raise Exception('first entry of slot %d aliases %s' + % (slot, entries[i].alias.name)) + handcode = None + while i < len(entries) and entries[i].slot == slot: + ent = entries[i] + if not handcode and ent.handcode: + handcode = ent.handcode + elif ent.handcode != handcode: + raise Exception('two aliases with handcode %s != %s', + ent.handcode, handcode) + + if ent.name in all_names: + raise Exception('%s is duplicated' % (ent.name)) + if ent.alias and ent.alias.name not in all_names: + raise Exception('failed to alias %s' % (ent.alias.name)) + all_names.append(ent.name) + i += 1 + if i < len(entries): + raise Exception('there are %d invalid entries' % (len(entries) - 1)) + +class ABIPrinter(object): + """MAPI Printer""" + + def __init__(self, entries): + self.entries = entries + + # sort entries by their names + self.entries_sorted_by_names = self.entries[:] + self.entries_sorted_by_names.sort(lambda x, y: cmp(x.name, y.name)) + + self.indent = ' ' * 3 + self.noop_warn = 'noop_warn' + self.noop_generic = 'noop_generic' + self.current_get = 'entry_current_get' + + self.api_defines = [] + self.api_headers = ['"KHR/khrplatform.h"'] + self.api_call = 'KHRONOS_APICALL' + self.api_entry = 'KHRONOS_APIENTRY' + self.api_attrs = 'KHRONOS_APIATTRIBUTES' + + self.c_header = '' + + self.lib_need_table_size = True + self.lib_need_noop_array = True + self.lib_need_stubs = True + self.lib_need_all_entries = True + self.lib_need_non_hidden_entries = False + + def c_notice(self): + return '/* This file is automatically generated by mapi_abi.py. Do not modify. */' + + def c_public_includes(self): + """Return includes of the client API headers.""" + defines = ['#define ' + d for d in self.api_defines] + includes = ['#include ' + h for h in self.api_headers] + return "\n".join(defines + includes) + + def need_entry_point(self, ent): + """Return True if an entry point is needed for the entry.""" + # non-handcode hidden aliases may share the entry they alias + use_alias = (ent.hidden and ent.alias and not ent.handcode) + return not use_alias + + def c_public_declarations(self, prefix): + """Return the declarations of public entry points.""" + decls = [] + for ent in self.entries: + if not self.need_entry_point(ent): + continue + export = self.api_call if not ent.hidden else '' + decls.append(self._c_decl(ent, prefix, True, export) + ';') + + return "\n".join(decls) + + def c_mapi_table(self): + """Return defines of the dispatch table size.""" + num_static_entries = self.entries[-1].slot + 1 + return ('#define MAPI_TABLE_NUM_STATIC %d\n' + \ + '#define MAPI_TABLE_NUM_DYNAMIC %d') % ( + num_static_entries, ABI_NUM_DYNAMIC_ENTRIES) + + def c_mapi_table_initializer(self, prefix): + """Return the array initializer for mapi_table_fill.""" + entries = [self._c_function(ent, prefix) + for ent in self.entries if not ent.alias] + pre = self.indent + '(mapi_proc) ' + return pre + (',\n' + pre).join(entries) + + def c_mapi_table_spec(self): + """Return the spec for mapi_init.""" + specv1 = [] + line = '"1' + for ent in self.entries: + if not ent.alias: + line += '\\0"\n' + specv1.append(line) + line = '"' + line += '%s\\0' % ent.name + line += '";' + specv1.append(line) + + return self.indent + self.indent.join(specv1) + + def _c_function(self, ent, prefix, mangle=False, stringify=False): + """Return the function name of an entry.""" + formats = { + True: { True: '%s_STR(%s)', False: '%s(%s)' }, + False: { True: '"%s%s"', False: '%s%s' }, + } + fmt = formats[prefix.isupper()][stringify] + name = ent.name + if mangle and ent.hidden: + name = '_dispatch_stub_' + str(ent.slot) + return fmt % (prefix, name) + + def _c_function_call(self, ent, prefix): + """Return the function name used for calling.""" + if ent.handcode: + # _c_function does not handle this case + formats = { True: '%s(%s)', False: '%s%s' } + fmt = formats[prefix.isupper()] + name = fmt % (prefix, ent.handcode) + elif self.need_entry_point(ent): + name = self._c_function(ent, prefix, True) + else: + name = self._c_function(ent.alias, prefix, True) + return name + + def _c_decl(self, ent, prefix, mangle=False, export=''): + """Return the C declaration for the entry.""" + decl = '%s %s %s(%s)' % (ent.c_return(), self.api_entry, + self._c_function(ent, prefix, mangle), ent.c_params()) + if export: + decl = export + ' ' + decl + if self.api_attrs: + decl += ' ' + self.api_attrs + + return decl + + def _c_cast(self, ent): + """Return the C cast for the entry.""" + cast = '%s (%s *)(%s)' % ( + ent.c_return(), self.api_entry, ent.c_params()) + + return cast + + def c_private_declarations(self, prefix): + """Return the declarations of private functions.""" + decls = [self._c_decl(ent, prefix) + ';' + for ent in self.entries if not ent.alias] + + return "\n".join(decls) + + def c_public_dispatches(self, prefix, no_hidden): + """Return the public dispatch functions.""" + dispatches = [] + for ent in self.entries: + if ent.hidden and no_hidden: + continue + + if not self.need_entry_point(ent): + continue + + export = self.api_call if not ent.hidden else '' + + proto = self._c_decl(ent, prefix, True, export) + cast = self._c_cast(ent) + + ret = '' + if ent.ret: + ret = 'return ' + stmt1 = self.indent + stmt1 += 'const struct mapi_table *_tbl = %s();' % ( + self.current_get) + stmt2 = self.indent + stmt2 += 'mapi_func _func = ((const mapi_func *) _tbl)[%d];' % ( + ent.slot) + stmt3 = self.indent + stmt3 += '%s((%s) _func)(%s);' % (ret, cast, ent.c_args()) + + disp = '%s\n{\n%s\n%s\n%s\n}' % (proto, stmt1, stmt2, stmt3) + + if ent.handcode: + disp = '#if 0\n' + disp + '\n#endif' + + dispatches.append(disp) + + return '\n\n'.join(dispatches) + + def c_public_initializer(self, prefix): + """Return the initializer for public dispatch functions.""" + names = [] + for ent in self.entries: + if ent.alias: + continue + + name = '%s(mapi_func) %s' % (self.indent, + self._c_function_call(ent, prefix)) + names.append(name) + + return ',\n'.join(names) + + def c_stub_string_pool(self): + """Return the string pool for use by stubs.""" + # sort entries by their names + sorted_entries = self.entries[:] + sorted_entries.sort(lambda x, y: cmp(x.name, y.name)) + + pool = [] + offsets = {} + count = 0 + for ent in sorted_entries: + offsets[ent] = count + pool.append('%s' % (ent.name)) + count += len(ent.name) + 1 + + pool_str = self.indent + '"' + \ + ('\\0"\n' + self.indent + '"').join(pool) + '";' + return (pool_str, offsets) + + def c_stub_initializer(self, prefix, pool_offsets): + """Return the initializer for struct mapi_stub array.""" + stubs = [] + for ent in self.entries_sorted_by_names: + stubs.append('%s{ (void *) %d, %d, NULL }' % ( + self.indent, pool_offsets[ent], ent.slot)) + + return ',\n'.join(stubs) + + def c_noop_functions(self, prefix, warn_prefix): + """Return the noop functions.""" + noops = [] + for ent in self.entries: + if ent.alias: + continue + + proto = self._c_decl(ent, prefix, False, 'static') + + stmt1 = self.indent + '%s(%s);' % (self.noop_warn, + self._c_function(ent, warn_prefix, False, True)) + + if ent.ret: + stmt2 = self.indent + 'return (%s) 0;' % (ent.ret) + noop = '%s\n{\n%s\n%s\n}' % (proto, stmt1, stmt2) + else: + noop = '%s\n{\n%s\n}' % (proto, stmt1) + + noops.append(noop) + + return '\n\n'.join(noops) + + def c_noop_initializer(self, prefix, use_generic): + """Return an initializer for the noop dispatch table.""" + entries = [self._c_function(ent, prefix) + for ent in self.entries if not ent.alias] + if use_generic: + entries = [self.noop_generic] * len(entries) + + entries.extend([self.noop_generic] * ABI_NUM_DYNAMIC_ENTRIES) + + pre = self.indent + '(mapi_func) ' + return pre + (',\n' + pre).join(entries) + + def c_asm_gcc(self, prefix, no_hidden): + asm = [] + + for ent in self.entries: + if ent.hidden and no_hidden: + continue + + if not self.need_entry_point(ent): + continue + + name = self._c_function(ent, prefix, True, True) + + if ent.handcode: + asm.append('#if 0') + + if ent.hidden: + asm.append('".hidden "%s"\\n"' % (name)) + + if ent.alias and not (ent.alias.hidden and no_hidden): + asm.append('".globl "%s"\\n"' % (name)) + asm.append('".set "%s", "%s"\\n"' % (name, + self._c_function(ent.alias, prefix, True, True))) + else: + asm.append('STUB_ASM_ENTRY(%s)"\\n"' % (name)) + asm.append('"\\t"STUB_ASM_CODE("%d")"\\n"' % (ent.slot)) + + if ent.handcode: + asm.append('#endif') + asm.append('') + + return "\n".join(asm) + + def output_for_lib(self): + print self.c_notice() + + if self.c_header: + print + print self.c_header + + print + print '#ifdef MAPI_TMP_DEFINES' + print self.c_public_includes() + print + print self.c_public_declarations(self.prefix_lib) + print '#undef MAPI_TMP_DEFINES' + print '#endif /* MAPI_TMP_DEFINES */' + + if self.lib_need_table_size: + print + print '#ifdef MAPI_TMP_TABLE' + print self.c_mapi_table() + print '#undef MAPI_TMP_TABLE' + print '#endif /* MAPI_TMP_TABLE */' + + if self.lib_need_noop_array: + print + print '#ifdef MAPI_TMP_NOOP_ARRAY' + print '#ifdef DEBUG' + print + print self.c_noop_functions(self.prefix_noop, self.prefix_warn) + print + print 'const mapi_func table_%s_array[] = {' % (self.prefix_noop) + print self.c_noop_initializer(self.prefix_noop, False) + print '};' + print + print '#else /* DEBUG */' + print + print 'const mapi_func table_%s_array[] = {' % (self.prefix_noop) + print self.c_noop_initializer(self.prefix_noop, True) + print '};' + print + print '#endif /* DEBUG */' + print '#undef MAPI_TMP_NOOP_ARRAY' + print '#endif /* MAPI_TMP_NOOP_ARRAY */' + + if self.lib_need_stubs: + pool, pool_offsets = self.c_stub_string_pool() + print + print '#ifdef MAPI_TMP_PUBLIC_STUBS' + print 'static const char public_string_pool[] =' + print pool + print + print 'static const struct mapi_stub public_stubs[] = {' + print self.c_stub_initializer(self.prefix_lib, pool_offsets) + print '};' + print '#undef MAPI_TMP_PUBLIC_STUBS' + print '#endif /* MAPI_TMP_PUBLIC_STUBS */' + + if self.lib_need_all_entries: + print + print '#ifdef MAPI_TMP_PUBLIC_ENTRIES' + print self.c_public_dispatches(self.prefix_lib, False) + print + print 'static const mapi_func public_entries[] = {' + print self.c_public_initializer(self.prefix_lib) + print '};' + print '#undef MAPI_TMP_PUBLIC_ENTRIES' + print '#endif /* MAPI_TMP_PUBLIC_ENTRIES */' + + print + print '#ifdef MAPI_TMP_STUB_ASM_GCC' + print '__asm__(' + print self.c_asm_gcc(self.prefix_lib, False) + print ');' + print '#undef MAPI_TMP_STUB_ASM_GCC' + print '#endif /* MAPI_TMP_STUB_ASM_GCC */' + + if self.lib_need_non_hidden_entries: + all_hidden = True + for ent in self.entries: + if not ent.hidden: + all_hidden = False + break + if not all_hidden: + print + print '#ifdef MAPI_TMP_PUBLIC_ENTRIES_NO_HIDDEN' + print self.c_public_dispatches(self.prefix_lib, True) + print + print '/* does not need public_entries */' + print '#undef MAPI_TMP_PUBLIC_ENTRIES_NO_HIDDEN' + print '#endif /* MAPI_TMP_PUBLIC_ENTRIES_NO_HIDDEN */' + + print + print '#ifdef MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN' + print '__asm__(' + print self.c_asm_gcc(self.prefix_lib, True) + print ');' + print '#undef MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN' + print '#endif /* MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN */' + + def output_for_app(self): + print self.c_notice() + print + print self.c_private_declarations(self.prefix_app) + print + print '#ifdef API_TMP_DEFINE_SPEC' + print + print 'static const char %s_spec[] =' % (self.prefix_app) + print self.c_mapi_table_spec() + print + print 'static const mapi_proc %s_procs[] = {' % (self.prefix_app) + print self.c_mapi_table_initializer(self.prefix_app) + print '};' + print + print '#endif /* API_TMP_DEFINE_SPEC */' + +class GLAPIPrinter(ABIPrinter): + """OpenGL API Printer""" + + def __init__(self, entries, api=None): + api_entries = self._get_api_entries(entries, api) + super(GLAPIPrinter, self).__init__(api_entries) + + self.api_defines = ['GL_GLEXT_PROTOTYPES'] + self.api_headers = ['"GL/gl.h"', '"GL/glext.h"'] + self.api_call = 'GLAPI' + self.api_entry = 'APIENTRY' + self.api_attrs = '' + + self.lib_need_table_size = False + self.lib_need_noop_array = False + self.lib_need_stubs = False + self.lib_need_all_entries = False + self.lib_need_non_hidden_entries = True + + self.prefix_lib = 'GLAPI_PREFIX' + self.prefix_app = '_mesa_' + self.prefix_noop = 'noop' + self.prefix_warn = self.prefix_lib + + self.c_header = self._get_c_header() + + def _get_api_entries(self, entries, api): + """Override the entry attributes according to API.""" + import copy + + # no override + if api is None: + return entries + + api_entries = {} + for ent in entries: + ent = copy.copy(ent) + + # override 'hidden' and 'handcode' + ent.hidden = ent.name not in api + ent.handcode = False + if ent.alias: + ent.alias = api_entries[ent.alias.name] + + api_entries[ent.name] = ent + + # sanity check + missed = [name for name in api if name not in api_entries] + if missed: + raise Exception('%s is missing' % str(missed)) + + entries = api_entries.values() + entries.sort() + + return entries + + def _get_c_header(self): + header = """#ifndef _GLAPI_TMP_H_ +#define _GLAPI_TMP_H_ +#ifdef USE_MGL_NAMESPACE +#define GLAPI_PREFIX(func) mgl##func +#define GLAPI_PREFIX_STR(func) "mgl"#func +#else +#define GLAPI_PREFIX(func) gl##func +#define GLAPI_PREFIX_STR(func) "gl"#func +#endif /* USE_MGL_NAMESPACE */ + +typedef int GLfixed; +typedef int GLclampx; +#endif /* _GLAPI_TMP_H_ */""" + + return header + +class ES1APIPrinter(GLAPIPrinter): + """OpenGL ES 1.x API Printer""" + + def __init__(self, entries): + es1_api = [ + # OpenGL ES 1.1 + 'ActiveTexture', + 'AlphaFunc', + 'AlphaFuncx', + 'BindBuffer', + 'BindTexture', + 'BlendFunc', + 'BufferData', + 'BufferSubData', + 'Clear', + 'ClearColor', + 'ClearColorx', + 'ClearDepthf', + 'ClearDepthx', + 'ClearStencil', + 'ClientActiveTexture', + 'ClipPlanef', + 'ClipPlanex', + 'Color4f', + 'Color4ub', + 'Color4x', + 'ColorMask', + 'ColorPointer', + 'CompressedTexImage2D', + 'CompressedTexSubImage2D', + 'CopyTexImage2D', + 'CopyTexSubImage2D', + 'CullFace', + 'DeleteBuffers', + 'DeleteTextures', + 'DepthFunc', + 'DepthMask', + 'DepthRangef', + 'DepthRangex', + 'Disable', + 'DisableClientState', + 'DrawArrays', + 'DrawElements', + 'Enable', + 'EnableClientState', + 'Finish', + 'Flush', + 'Fogf', + 'Fogfv', + 'Fogx', + 'Fogxv', + 'FrontFace', + 'Frustumf', + 'Frustumx', + 'GenBuffers', + 'GenTextures', + 'GetBooleanv', + 'GetBufferParameteriv', + 'GetClipPlanef', + 'GetClipPlanex', + 'GetError', + 'GetFixedv', + 'GetFloatv', + 'GetIntegerv', + 'GetLightfv', + 'GetLightxv', + 'GetMaterialfv', + 'GetMaterialxv', + 'GetPointerv', + 'GetString', + 'GetTexEnvfv', + 'GetTexEnviv', + 'GetTexEnvxv', + 'GetTexParameterfv', + 'GetTexParameteriv', + 'GetTexParameterxv', + 'Hint', + 'IsBuffer', + 'IsEnabled', + 'IsTexture', + 'Lightf', + 'Lightfv', + 'LightModelf', + 'LightModelfv', + 'LightModelx', + 'LightModelxv', + 'Lightx', + 'Lightxv', + 'LineWidth', + 'LineWidthx', + 'LoadIdentity', + 'LoadMatrixf', + 'LoadMatrixx', + 'LogicOp', + 'Materialf', + 'Materialfv', + 'Materialx', + 'Materialxv', + 'MatrixMode', + 'MultiTexCoord4f', + 'MultiTexCoord4x', + 'MultMatrixf', + 'MultMatrixx', + 'Normal3f', + 'Normal3x', + 'NormalPointer', + 'Orthof', + 'Orthox', + 'PixelStorei', + 'PointParameterf', + 'PointParameterfv', + 'PointParameterx', + 'PointParameterxv', + 'PointSize', + 'PointSizex', + 'PolygonOffset', + 'PolygonOffsetx', + 'PopMatrix', + 'PushMatrix', + 'ReadPixels', + 'Rotatef', + 'Rotatex', + 'SampleCoverage', + 'SampleCoveragex', + 'Scalef', + 'Scalex', + 'Scissor', + 'ShadeModel', + 'StencilFunc', + 'StencilMask', + 'StencilOp', + 'TexCoordPointer', + 'TexEnvf', + 'TexEnvfv', + 'TexEnvi', + 'TexEnviv', + 'TexEnvx', + 'TexEnvxv', + 'TexImage2D', + 'TexParameterf', + 'TexParameterfv', + 'TexParameteri', + 'TexParameteriv', + 'TexParameterx', + 'TexParameterxv', + 'TexSubImage2D', + 'Translatef', + 'Translatex', + 'VertexPointer', + 'Viewport', + # GL_OES_EGL_image + 'EGLImageTargetTexture2DOES', + 'EGLImageTargetRenderbufferStorageOES', + # GL_OES_mapbuffer + 'GetBufferPointervOES', + 'MapBufferOES', + 'UnmapBufferOES', + # GL_EXT_multi_draw_arrays + 'MultiDrawArraysEXT', + 'MultiDrawElementsEXT', + # GL_OES_blend_equation_separate + 'BlendEquationSeparateOES', + # GL_OES_blend_func_separate + 'BlendFuncSeparateOES', + # GL_OES_blend_subtract + 'BlendEquationOES', + # GL_OES_draw_texture + 'DrawTexiOES', + 'DrawTexivOES', + 'DrawTexfOES', + 'DrawTexfvOES', + 'DrawTexsOES', + 'DrawTexsvOES', + 'DrawTexxOES', + 'DrawTexxvOES', + # GL_OES_fixed_point + 'AlphaFuncxOES', + 'ClearColorxOES', + 'ClearDepthxOES', + 'Color4xOES', + 'DepthRangexOES', + 'FogxOES', + 'FogxvOES', + 'FrustumxOES', + 'LightModelxOES', + 'LightModelxvOES', + 'LightxOES', + 'LightxvOES', + 'LineWidthxOES', + 'LoadMatrixxOES', + 'MaterialxOES', + 'MaterialxvOES', + 'MultiTexCoord4xOES', + 'MultMatrixxOES', + 'Normal3xOES', + 'OrthoxOES', + 'PointSizexOES', + 'PolygonOffsetxOES', + 'RotatexOES', + 'SampleCoveragexOES', + 'ScalexOES', + 'TexEnvxOES', + 'TexEnvxvOES', + 'TexParameterxOES', + 'TranslatexOES', + 'ClipPlanexOES', + 'GetClipPlanexOES', + 'GetFixedvOES', + 'GetLightxvOES', + 'GetMaterialxvOES', + 'GetTexEnvxvOES', + 'GetTexParameterxvOES', + 'PointParameterxOES', + 'PointParameterxvOES', + 'TexParameterxvOES', + # GL_OES_framebuffer_object + 'BindFramebufferOES', + 'BindRenderbufferOES', + 'CheckFramebufferStatusOES', + 'DeleteFramebuffersOES', + 'DeleteRenderbuffersOES', + 'FramebufferRenderbufferOES', + 'FramebufferTexture2DOES', + 'GenerateMipmapOES', + 'GenFramebuffersOES', + 'GenRenderbuffersOES', + 'GetFramebufferAttachmentParameterivOES', + 'GetRenderbufferParameterivOES', + 'IsFramebufferOES', + 'IsRenderbufferOES', + 'RenderbufferStorageOES', + # GL_OES_point_size_array + 'PointSizePointerOES', + # GL_OES_query_matrix + 'QueryMatrixxOES', + # GL_OES_single_precision + 'ClearDepthfOES', + 'DepthRangefOES', + 'FrustumfOES', + 'OrthofOES', + 'ClipPlanefOES', + 'GetClipPlanefOES', + # GL_OES_texture_cube_map + 'GetTexGenfvOES', + 'GetTexGenivOES', + 'GetTexGenxvOES', + 'TexGenfOES', + 'TexGenfvOES', + 'TexGeniOES', + 'TexGenivOES', + 'TexGenxOES', + 'TexGenxvOES', + ] + + super(ES1APIPrinter, self).__init__(entries, es1_api) + self.prefix_lib = 'gl' + self.prefix_warn = 'gl' + + def _get_c_header(self): + header = """#ifndef _GLAPI_TMP_H_ +#define _GLAPI_TMP_H_ +typedef int GLfixed; +typedef int GLclampx; +#endif /* _GLAPI_TMP_H_ */""" + + return header + +class ES2APIPrinter(GLAPIPrinter): + """OpenGL ES 2.x API Printer""" + + def __init__(self, entries): + es2_api = [ + # OpenGL ES 2.0 + "ActiveTexture", + "AttachShader", + "BindAttribLocation", + "BindBuffer", + "BindFramebuffer", + "BindRenderbuffer", + "BindTexture", + "BlendColor", + "BlendEquation", + "BlendEquationSeparate", + "BlendFunc", + "BlendFuncSeparate", + "BufferData", + "BufferSubData", + "CheckFramebufferStatus", + "Clear", + "ClearColor", + "ClearDepthf", + "ClearStencil", + "ColorMask", + "CompileShader", + "CompressedTexImage2D", + "CompressedTexSubImage2D", + "CopyTexImage2D", + "CopyTexSubImage2D", + "CreateProgram", + "CreateShader", + "CullFace", + "DeleteBuffers", + "DeleteFramebuffers", + "DeleteProgram", + "DeleteRenderbuffers", + "DeleteShader", + "DeleteTextures", + "DepthFunc", + "DepthMask", + "DepthRangef", + "DetachShader", + "Disable", + "DisableVertexAttribArray", + "DrawArrays", + "DrawElements", + "Enable", + "EnableVertexAttribArray", + "Finish", + "Flush", + "FramebufferRenderbuffer", + "FramebufferTexture2D", + "FrontFace", + "GenBuffers", + "GenerateMipmap", + "GenFramebuffers", + "GenRenderbuffers", + "GenTextures", + "GetActiveAttrib", + "GetActiveUniform", + "GetAttachedShaders", + "GetAttribLocation", + "GetBooleanv", + "GetBufferParameteriv", + "GetError", + "GetFloatv", + "GetFramebufferAttachmentParameteriv", + "GetIntegerv", + "GetProgramInfoLog", + "GetProgramiv", + "GetRenderbufferParameteriv", + "GetShaderInfoLog", + "GetShaderiv", + "GetShaderPrecisionFormat", + "GetShaderSource", + "GetString", + "GetTexParameterfv", + "GetTexParameteriv", + "GetUniformfv", + "GetUniformiv", + "GetUniformLocation", + "GetVertexAttribfv", + "GetVertexAttribiv", + "GetVertexAttribPointerv", + "Hint", + "IsBuffer", + "IsEnabled", + "IsFramebuffer", + "IsProgram", + "IsRenderbuffer", + "IsShader", + "IsTexture", + "LineWidth", + "LinkProgram", + "PixelStorei", + "PolygonOffset", + "ReadPixels", + "ReleaseShaderCompiler", + "RenderbufferStorage", + "SampleCoverage", + "Scissor", + "ShaderBinary", + "ShaderSource", + "StencilFunc", + "StencilFuncSeparate", + "StencilMask", + "StencilMaskSeparate", + "StencilOp", + "StencilOpSeparate", + "TexImage2D", + "TexParameterf", + "TexParameterfv", + "TexParameteri", + "TexParameteriv", + "TexSubImage2D", + "Uniform1f", + "Uniform1fv", + "Uniform1i", + "Uniform1iv", + "Uniform2f", + "Uniform2fv", + "Uniform2i", + "Uniform2iv", + "Uniform3f", + "Uniform3fv", + "Uniform3i", + "Uniform3iv", + "Uniform4f", + "Uniform4fv", + "Uniform4i", + "Uniform4iv", + "UniformMatrix2fv", + "UniformMatrix3fv", + "UniformMatrix4fv", + "UseProgram", + "ValidateProgram", + "VertexAttrib1f", + "VertexAttrib1fv", + "VertexAttrib2f", + "VertexAttrib2fv", + "VertexAttrib3f", + "VertexAttrib3fv", + "VertexAttrib4f", + "VertexAttrib4fv", + "VertexAttribPointer", + "Viewport", + # GL_OES_EGL_image + 'EGLImageTargetTexture2DOES', + 'EGLImageTargetRenderbufferStorageOES', + # GL_OES_mapbuffer + 'GetBufferPointervOES', + 'MapBufferOES', + 'UnmapBufferOES', + # GL_EXT_multi_draw_arrays + 'MultiDrawArraysEXT', + 'MultiDrawElementsEXT', + # GL_OES_texture_3D + 'CompressedTexImage3DOES', + 'CompressedTexSubImage3DOES', + 'CopyTexSubImage3DOES', + 'FramebufferTexture3DOES', + 'TexImage3DOES', + 'TexSubImage3DOES', + # GL_OES_get_program_binary + 'GetProgramBinaryOES', + 'ProgramBinaryOES', + ] + + super(ES2APIPrinter, self).__init__(entries, es2_api) + self.prefix_lib = 'gl' + self.prefix_warn = 'gl' + + def _get_c_header(self): + header = """#ifndef _GLAPI_TMP_H_ +#define _GLAPI_TMP_H_ +typedef int GLfixed; +typedef int GLclampx; +#endif /* _GLAPI_TMP_H_ */""" + + return header + +class SharedGLAPIPrinter(GLAPIPrinter): + """Shared GLAPI API Printer""" + + def __init__(self, entries): + super(SharedGLAPIPrinter, self).__init__(entries, []) + + self.lib_need_table_size = True + self.lib_need_noop_array = True + self.lib_need_stubs = True + self.lib_need_all_entries = True + self.lib_need_non_hidden_entries = False + + self.prefix_lib = 'shared' + self.prefix_warn = 'gl' + + def _get_c_header(self): + header = """#ifndef _GLAPI_TMP_H_ +#define _GLAPI_TMP_H_ +typedef int GLfixed; +typedef int GLclampx; +#endif /* _GLAPI_TMP_H_ */""" + + return header + +class VGAPIPrinter(ABIPrinter): + """OpenVG API Printer""" + + def __init__(self, entries): + super(VGAPIPrinter, self).__init__(entries) + + self.api_defines = ['VG_VGEXT_PROTOTYPES'] + self.api_headers = ['"VG/openvg.h"', '"VG/vgext.h"'] + self.api_call = 'VG_API_CALL' + self.api_entry = 'VG_API_ENTRY' + self.api_attrs = 'VG_API_EXIT' + + self.prefix_lib = 'vg' + self.prefix_app = 'vega' + self.prefix_noop = 'noop' + self.prefix_warn = 'vg' + +def parse_args(): + printers = ['vgapi', 'glapi', 'es1api', 'es2api', 'shared-glapi'] + modes = ['lib', 'app'] + + parser = OptionParser(usage='usage: %prog [options] <filename>') + parser.add_option('-p', '--printer', dest='printer', + help='printer to use: %s' % (", ".join(printers))) + parser.add_option('-m', '--mode', dest='mode', + help='target user: %s' % (", ".join(modes))) + + options, args = parser.parse_args() + if not args or options.printer not in printers or \ + options.mode not in modes: + parser.print_help() + sys.exit(1) + + return (args[0], options) + +def main(): + printers = { + 'vgapi': VGAPIPrinter, + 'glapi': GLAPIPrinter, + 'es1api': ES1APIPrinter, + 'es2api': ES2APIPrinter, + 'shared-glapi': SharedGLAPIPrinter, + } + + filename, options = parse_args() + + if filename.endswith('.xml'): + entries = abi_parse_xml(filename) + else: + entries = abi_parse(filename) + abi_sanity_check(entries) + + printer = printers[options.printer](entries) + if options.mode == 'lib': + printer.output_for_lib() + else: + printer.output_for_app() + +if __name__ == '__main__': + main() diff --git a/mesalib/src/mapi/mapi/mapi_glapi.c b/mesalib/src/mapi/mapi/mapi_glapi.c new file mode 100644 index 000000000..adfc0cbcc --- /dev/null +++ b/mesalib/src/mapi/mapi/mapi_glapi.c @@ -0,0 +1,240 @@ +/* + * Mesa 3-D graphics library + * Version: 7.9 + * + * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. + * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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: + * Chia-I Wu <olv@lunarg.com> + */ + +#include <string.h> +#include "glapi/glapi.h" +#include "mapi/u_current.h" +#include "mapi/table.h" /* for MAPI_TABLE_NUM_SLOTS */ +#include "mapi/stub.h" + +/* + * Global variables, _glapi_get_context, and _glapi_get_dispatch are defined in + * u_current.c. + */ + +#ifdef GLX_USE_TLS +/* not used, but defined for compatibility */ +const struct _glapi_table *_glapi_Dispatch; +const void *_glapi_Context; +#endif /* GLX_USE_TLS */ + +void +_glapi_destroy_multithread(void) +{ + u_current_destroy(); +} + +void +_glapi_check_multithread(void) +{ + u_current_init(); +} + +void +_glapi_set_context(void *context) +{ + u_current_set_user((const void *) context); +} + +void +_glapi_set_dispatch(struct _glapi_table *dispatch) +{ + u_current_set((const struct mapi_table *) dispatch); +} + +/** + * Return size of dispatch table struct as number of functions (or + * slots). + */ +unsigned int +_glapi_get_dispatch_table_size(void) +{ + return MAPI_TABLE_NUM_SLOTS; +} + +/** + * Fill-in the dispatch stub for the named function. + * + * This function is intended to be called by a hardware driver. When called, + * a dispatch stub may be created created for the function. A pointer to this + * dispatch function will be returned by glXGetProcAddress. + * + * \param function_names Array of pointers to function names that should + * share a common dispatch offset. + * \param parameter_signature String representing the types of the parameters + * passed to the named function. Parameter types + * are converted to characters using the following + * rules: + * - 'i' for \c GLint, \c GLuint, and \c GLenum + * - 'p' for any pointer type + * - 'f' for \c GLfloat and \c GLclampf + * - 'd' for \c GLdouble and \c GLclampd + * + * \returns + * The offset in the dispatch table of the named function. A pointer to the + * driver's implementation of the named function should be stored at + * \c dispatch_table[\c offset]. Return -1 if error/problem. + * + * \sa glXGetProcAddress + * + * \warning + * This function can only handle up to 8 names at a time. As far as I know, + * the maximum number of names ever associated with an existing GL function is + * 4 (\c glPointParameterfSGIS, \c glPointParameterfEXT, + * \c glPointParameterfARB, and \c glPointParameterf), so this should not be + * too painful of a limitation. + * + * \todo + * Check parameter_signature. + */ +int +_glapi_add_dispatch( const char * const * function_names, + const char * parameter_signature ) +{ + const struct mapi_stub *function_stubs[8]; + const struct mapi_stub *alias = NULL; + unsigned i; + + (void) memset(function_stubs, 0, sizeof(function_stubs)); + + /* find the missing stubs, and decide the alias */ + for (i = 0; function_names[i] != NULL && i < 8; i++) { + const char * funcName = function_names[i]; + const struct mapi_stub *stub; + int slot; + + if (!funcName || funcName[0] != 'g' || funcName[1] != 'l') + return -1; + funcName += 2; + + stub = stub_find_public(funcName); + if (!stub) + stub = stub_find_dynamic(funcName, 0); + + slot = (stub) ? stub_get_slot(stub) : -1; + if (slot >= 0) { + if (alias && stub_get_slot(alias) != slot) + return -1; + /* use the first existing stub as the alias */ + if (!alias) + alias = stub; + + function_stubs[i] = stub; + } + } + + /* generate missing stubs */ + for (i = 0; function_names[i] != NULL && i < 8; i++) { + const char * funcName = function_names[i] + 2; + struct mapi_stub *stub; + + if (function_stubs[i]) + continue; + + stub = stub_find_dynamic(funcName, 1); + if (!stub) + return -1; + + stub_fix_dynamic(stub, alias); + if (!alias) + alias = stub; + } + + return (alias) ? stub_get_slot(alias) : -1; +} + +static const struct mapi_stub * +_glapi_get_stub(const char *name, int generate) +{ + const struct mapi_stub *stub; + +#ifdef USE_MGL_NAMESPACE + if (name) + name++; +#endif + + if (!name || name[0] != 'g' || name[1] != 'l') + return NULL; + name += 2; + + stub = stub_find_public(name); + if (!stub) + stub = stub_find_dynamic(name, generate); + + return stub; +} + +/** + * Return offset of entrypoint for named function within dispatch table. + */ +int +_glapi_get_proc_offset(const char *funcName) +{ + const struct mapi_stub *stub = _glapi_get_stub(funcName, 0); + return (stub) ? stub_get_slot(stub) : -1; +} + +/** + * Return pointer to the named function. If the function name isn't found + * in the name of static functions, try generating a new API entrypoint on + * the fly with assembly language. + */ +_glapi_proc +_glapi_get_proc_address(const char *funcName) +{ + const struct mapi_stub *stub = _glapi_get_stub(funcName, 1); + return (stub) ? (_glapi_proc) stub_get_addr(stub) : NULL; +} + +/** + * Return the name of the function at the given dispatch offset. + * This is only intended for debugging. + */ +const char * +_glapi_get_proc_name(unsigned int offset) +{ + /* not implemented */ + return NULL; +} + +unsigned long +_glthread_GetID(void) +{ + return u_thread_self(); +} + +void +_glapi_noop_enable_warnings(unsigned char enable) +{ +} + +void +_glapi_set_warning_func(_glapi_proc func) +{ +} diff --git a/mesalib/src/mapi/mapi/mapi_tmp.h b/mesalib/src/mapi/mapi/mapi_tmp.h index bc78eaabf..f326b4a4e 100644 --- a/mesalib/src/mapi/mapi/mapi_tmp.h +++ b/mesalib/src/mapi/mapi/mapi_tmp.h @@ -1,33 +1,48 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.9
- *
- * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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:
- * Chia-I Wu <olv@lunarg.com>
- */
-
-#ifndef MAPI_ABI_HEADER
-#error "MAPI_ABI_HEADER must be defined"
-#endif
-
-#include MAPI_ABI_HEADER
+/* + * Mesa 3-D graphics library + * Version: 7.9 + * + * Copyright (C) 2010 LunarG 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 AUTHORS OR COPYRIGHT HOLDERS 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: + * Chia-I Wu <olv@lunarg.com> + */ + +#ifndef MAPI_ABI_HEADER +#error "MAPI_ABI_HEADER must be defined" +#endif + +/* does not need hidden entries in bridge mode */ +#ifdef MAPI_MODE_BRIDGE + +#ifdef MAPI_TMP_PUBLIC_ENTRIES +#undef MAPI_TMP_PUBLIC_ENTRIES +#define MAPI_TMP_PUBLIC_ENTRIES_NO_HIDDEN +#endif + +#ifdef MAPI_TMP_STUB_ASM_GCC +#undef MAPI_TMP_STUB_ASM_GCC +#define MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN +#endif + +#endif /* MAPI_MODE_BRIDGE */ + +#include MAPI_ABI_HEADER diff --git a/mesalib/src/mapi/mapi/sources.mak b/mesalib/src/mapi/mapi/sources.mak index 1f4a42da7..c50234b57 100644 --- a/mesalib/src/mapi/mapi/sources.mak +++ b/mesalib/src/mapi/mapi/sources.mak @@ -1,21 +1,37 @@ -# src/mapi/mapi/sources.mak
-#
-# mapi may be used in several ways
-#
-# - In default mode, mapi implements the interface defined by mapi.h. To use
-# this mode, compile MAPI_SOURCES.
-#
-# - In util mode, mapi provides utility functions for use with glapi. To use
-# this mode, compile MAPI_UTIL_SOURCES with MAPI_MODE_UTIL defined.
-
-MAPI_UTIL_SOURCES = \
- u_current.c \
- u_execmem.c \
- u_thread.c
-
-MAPI_SOURCES = \
- entry.c \
- mapi.c \
- stub.c \
- table.c \
- $(MAPI_UTIL_SOURCES)
+# src/mapi/mapi/sources.mak +# +# mapi may be used in several ways +# +# - In default mode, mapi implements the interface defined by mapi.h. To use +# this mode, compile MAPI_SOURCES. +# +# - In util mode, mapi provides utility functions for use with glapi. To use +# this mode, compile MAPI_UTIL_SOURCES with MAPI_MODE_UTIL defined. +# +# - In glapi mode, mapi implements the interface defined by glapi.h. To use +# this mode, compile MAPI_GLAPI_SOURCES with MAPI_MODE_GLAPI defined. +# +# - In bridge mode, mapi provides entry points calling into glapi. To use +# this mode, compile MAPI_BRIDGE_SOURCES with MAPI_MODE_BRIDGE defined. + +MAPI_UTIL_SOURCES = \ + u_current.c \ + u_execmem.c \ + u_thread.c + +MAPI_SOURCES = \ + entry.c \ + mapi.c \ + stub.c \ + table.c \ + $(MAPI_UTIL_SOURCES) + +MAPI_GLAPI_SOURCES = \ + entry.c \ + mapi_glapi.c \ + stub.c \ + table.c \ + $(MAPI_UTIL_SOURCES) + +MAPI_BRIDGE_SOURCES = \ + entry.c diff --git a/mesalib/src/mapi/mapi/u_current.h b/mesalib/src/mapi/mapi/u_current.h index 295a70c03..f9cffd8c3 100644 --- a/mesalib/src/mapi/mapi/u_current.h +++ b/mesalib/src/mapi/mapi/u_current.h @@ -1,86 +1,87 @@ -#ifndef _U_CURRENT_H_
-#define _U_CURRENT_H_
-
-#ifdef MAPI_MODE_UTIL
-
-#include "glapi/glapi.h"
-
-/* ugly renames to match glapi.h */
-#define mapi_table _glapi_table
-
-#ifdef GLX_USE_TLS
-#define u_current_table _glapi_tls_Dispatch
-#define u_current_user _glapi_tls_Context
-#else
-#define u_current_table _glapi_Dispatch
-#define u_current_user _glapi_Context
-#endif
-
-#define u_current_get_internal _glapi_get_dispatch
-#define u_current_get_user_internal _glapi_get_context
-
-#define u_current_table_tsd _gl_DispatchTSD
-
-#else /* MAPI_MODE_UTIL */
-
-#include "u_compiler.h"
-
-struct mapi_table;
-
-#ifdef GLX_USE_TLS
-
-extern __thread struct mapi_table *u_current_table
- __attribute__((tls_model("initial-exec")));
-
-extern __thread void *u_current_user
- __attribute__((tls_model("initial-exec")));
-
-#else /* GLX_USE_TLS */
-
-extern struct mapi_table *u_current_table;
-extern void *u_current_user;
-
-#endif /* GLX_USE_TLS */
-
-#endif /* MAPI_MODE_UTIL */
-
-void
-u_current_init(void);
-
-void
-u_current_destroy(void);
-
-void
-u_current_set(const struct mapi_table *tbl);
-
-struct mapi_table *
-u_current_get_internal(void);
-
-void
-u_current_set_user(const void *ptr);
-
-void *
-u_current_get_user_internal(void);
-
-static INLINE const struct mapi_table *
-u_current_get(void)
-{
-#ifdef GLX_USE_TLS
- return u_current_table;
-#else
- return (likely(u_current_table) ?
- u_current_table : u_current_get_internal());
-#endif
-}
-
-static INLINE const void *
-u_current_get_user(void)
-{
-#ifdef GLX_USE_TLS
- return u_current_user;
-#else
- return likely(u_current_user) ? u_current_user : u_current_get_user_internal();
-#endif
-}
-
-#endif /* _U_CURRENT_H_ */
+#ifndef _U_CURRENT_H_ +#define _U_CURRENT_H_ + +#if defined(MAPI_MODE_UTIL) || defined(MAPI_MODE_GLAPI) || \ + defined(MAPI_MODE_BRIDGE) + +#include "glapi/glapi.h" + +/* ugly renames to match glapi.h */ +#define mapi_table _glapi_table + +#ifdef GLX_USE_TLS +#define u_current_table _glapi_tls_Dispatch +#define u_current_user _glapi_tls_Context +#else +#define u_current_table _glapi_Dispatch +#define u_current_user _glapi_Context +#endif + +#define u_current_get_internal _glapi_get_dispatch +#define u_current_get_user_internal _glapi_get_context + +#define u_current_table_tsd _gl_DispatchTSD + +#else /* MAPI_MODE_UTIL || MAPI_MODE_GLAPI || MAPI_MODE_BRIDGE */ + +#include "u_compiler.h" + +struct mapi_table; + +#ifdef GLX_USE_TLS + +extern __thread struct mapi_table *u_current_table + __attribute__((tls_model("initial-exec"))); + +extern __thread void *u_current_user + __attribute__((tls_model("initial-exec"))); + +#else /* GLX_USE_TLS */ + +extern struct mapi_table *u_current_table; +extern void *u_current_user; + +#endif /* GLX_USE_TLS */ + +#endif /* MAPI_MODE_UTIL || MAPI_MODE_GLAPI || MAPI_MODE_BRIDGE */ + +void +u_current_init(void); + +void +u_current_destroy(void); + +void +u_current_set(const struct mapi_table *tbl); + +struct mapi_table * +u_current_get_internal(void); + +void +u_current_set_user(const void *ptr); + +void * +u_current_get_user_internal(void); + +static INLINE const struct mapi_table * +u_current_get(void) +{ +#ifdef GLX_USE_TLS + return u_current_table; +#else + return (likely(u_current_table) ? + u_current_table : u_current_get_internal()); +#endif +} + +static INLINE const void * +u_current_get_user(void) +{ +#ifdef GLX_USE_TLS + return u_current_user; +#else + return likely(u_current_user) ? u_current_user : u_current_get_user_internal(); +#endif +} + +#endif /* _U_CURRENT_H_ */ diff --git a/mesalib/src/mesa/main/context.c b/mesalib/src/mesa/main/context.c index fe370fa36..e017939a4 100644 --- a/mesalib/src/mesa/main/context.c +++ b/mesalib/src/mesa/main/context.c @@ -534,8 +534,17 @@ init_program_limits(GLenum type, struct gl_program_constants *prog) prog->MediumFloat.RangeMax = 127; prog->MediumFloat.Precision = 23; prog->LowFloat = prog->HighFloat = prog->MediumFloat; - /* assume ints are stored as floats for now */ - prog->LowInt = prog->MediumInt = prog->HighInt = prog->MediumFloat; + + /* Assume ints are stored as floats for now, since this is the least-common + * denominator. The OpenGL ES spec implies (page 132) that the precision + * of integer types should be 0. Practically speaking, IEEE + * single-precision floating point values can only store integers in the + * range [-0x01000000, 0x01000000] without loss of precision. + */ + prog->MediumInt.RangeMin = 24; + prog->MediumInt.RangeMax = 24; + prog->MediumInt.Precision = 0; + prog->LowInt = prog->HighInt = prog->MediumInt; } diff --git a/mesalib/src/mesa/main/dd.h b/mesalib/src/mesa/main/dd.h index 51e757be5..749c30a4c 100644 --- a/mesalib/src/mesa/main/dd.h +++ b/mesalib/src/mesa/main/dd.h @@ -1,1201 +1,1196 @@ -/**
- * \file dd.h
- * Device driver interfaces.
- */
-
-/*
- * Mesa 3-D graphics library
- * Version: 6.5.2
- *
- * Copyright (C) 1999-2006 Brian Paul 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, 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
- * BRIAN PAUL 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.
- */
-
-
-#ifndef DD_INCLUDED
-#define DD_INCLUDED
-
-/* THIS FILE ONLY INCLUDED BY mtypes.h !!!!! */
-
-#include "glheader.h"
-
-struct gl_buffer_object;
-struct gl_context;
-struct gl_display_list;
-struct gl_framebuffer;
-struct gl_pixelstore_attrib;
-struct gl_program;
-struct gl_renderbuffer;
-struct gl_renderbuffer_attachment;
-struct gl_shader;
-struct gl_shader_program;
-struct gl_texture_image;
-struct gl_texture_object;
-
-/* GL_ARB_vertex_buffer_object */
-/* Modifies GL_MAP_UNSYNCHRONIZED_BIT to allow driver to fail (return
- * NULL) if buffer is unavailable for immediate mapping.
- *
- * Does GL_MAP_INVALIDATE_RANGE_BIT do this? It seems so, but it
- * would require more book-keeping in the driver than seems necessary
- * at this point.
- *
- * Does GL_MAP_INVALDIATE_BUFFER_BIT do this? Not really -- we don't
- * want to provoke the driver to throw away the old storage, we will
- * respect the contents of already referenced data.
- */
-#define MESA_MAP_NOWAIT_BIT 0x0040
-
-
-/**
- * Device driver function table.
- * Core Mesa uses these function pointers to call into device drivers.
- * Most of these functions directly correspond to OpenGL state commands.
- * Core Mesa will call these functions after error checking has been done
- * so that the drivers don't have to worry about error testing.
- *
- * Vertex transformation/clipping/lighting is patched into the T&L module.
- * Rasterization functions are patched into the swrast module.
- *
- * Note: when new functions are added here, the drivers/common/driverfuncs.c
- * file should be updated too!!!
- */
-struct dd_function_table {
- /**
- * Return a string as needed by glGetString().
- * Only the GL_RENDERER query must be implemented. Otherwise, NULL can be
- * returned.
- */
- const GLubyte * (*GetString)( struct gl_context *ctx, GLenum name );
-
- /**
- * Notify the driver after Mesa has made some internal state changes.
- *
- * This is in addition to any state change callbacks Mesa may already have
- * made.
- */
- void (*UpdateState)( struct gl_context *ctx, GLbitfield new_state );
-
- /**
- * Get the width and height of the named buffer/window.
- *
- * Mesa uses this to determine when the driver's window size has changed.
- * XXX OBSOLETE: this function will be removed in the future.
- */
- void (*GetBufferSize)( struct gl_framebuffer *buffer,
- GLuint *width, GLuint *height );
-
- /**
- * Resize the given framebuffer to the given size.
- * XXX OBSOLETE: this function will be removed in the future.
- */
- void (*ResizeBuffers)( struct gl_context *ctx, struct gl_framebuffer *fb,
- GLuint width, GLuint height);
-
- /**
- * Called whenever an error is generated.
- * __struct gl_contextRec::ErrorValue contains the error value.
- */
- void (*Error)( struct gl_context *ctx );
-
- /**
- * This is called whenever glFinish() is called.
- */
- void (*Finish)( struct gl_context *ctx );
-
- /**
- * This is called whenever glFlush() is called.
- */
- void (*Flush)( struct gl_context *ctx );
-
- /**
- * Clear the color/depth/stencil/accum buffer(s).
- * \param buffers a bitmask of BUFFER_BIT_* flags indicating which
- * renderbuffers need to be cleared.
- */
- void (*Clear)( struct gl_context *ctx, GLbitfield buffers );
-
- /**
- * Execute glAccum command.
- */
- void (*Accum)( struct gl_context *ctx, GLenum op, GLfloat value );
-
-
- /**
- * Execute glRasterPos, updating the ctx->Current.Raster fields
- */
- void (*RasterPos)( struct gl_context *ctx, const GLfloat v[4] );
-
- /**
- * \name Image-related functions
- */
- /*@{*/
-
- /**
- * Called by glDrawPixels().
- * \p unpack describes how to unpack the source image data.
- */
- void (*DrawPixels)( struct gl_context *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const struct gl_pixelstore_attrib *unpack,
- const GLvoid *pixels );
-
- /**
- * Called by glReadPixels().
- */
- void (*ReadPixels)( struct gl_context *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const struct gl_pixelstore_attrib *unpack,
- GLvoid *dest );
-
- /**
- * Called by glCopyPixels().
- */
- void (*CopyPixels)( struct gl_context *ctx, GLint srcx, GLint srcy,
- GLsizei width, GLsizei height,
- GLint dstx, GLint dsty, GLenum type );
-
- /**
- * Called by glBitmap().
- */
- void (*Bitmap)( struct gl_context *ctx,
- GLint x, GLint y, GLsizei width, GLsizei height,
- const struct gl_pixelstore_attrib *unpack,
- const GLubyte *bitmap );
- /*@}*/
-
-
- /**
- * \name Texture image functions
- */
- /*@{*/
-
- /**
- * Choose texture format.
- *
- * This is called by the \c _mesa_store_tex[sub]image[123]d() fallback
- * functions. The driver should examine \p internalFormat and return a
- * gl_format value.
- */
- GLuint (*ChooseTextureFormat)( struct gl_context *ctx, GLint internalFormat,
- GLenum srcFormat, GLenum srcType );
-
- /**
- * Called by glTexImage1D().
- *
- * \param target user specified.
- * \param format user specified.
- * \param type user specified.
- * \param pixels user specified.
- * \param packing indicates the image packing of pixels.
- * \param texObj is the target texture object.
- * \param texImage is the target texture image. It will have the texture \p
- * width, \p height, \p depth, \p border and \p internalFormat information.
- *
- * \p retainInternalCopy is returned by this function and indicates whether
- * core Mesa should keep an internal copy of the texture image.
- *
- * Drivers should call a fallback routine from texstore.c if needed.
- */
- void (*TexImage1D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint internalFormat,
- GLint width, GLint border,
- GLenum format, GLenum type, const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
-
- /**
- * Called by glTexImage2D().
- *
- * \sa dd_function_table::TexImage1D.
- */
- void (*TexImage2D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint internalFormat,
- GLint width, GLint height, GLint border,
- GLenum format, GLenum type, const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
-
- /**
- * Called by glTexImage3D().
- *
- * \sa dd_function_table::TexImage1D.
- */
- void (*TexImage3D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint internalFormat,
- GLint width, GLint height, GLint depth, GLint border,
- GLenum format, GLenum type, const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
-
- /**
- * Called by glTexSubImage1D().
- *
- * \param target user specified.
- * \param level user specified.
- * \param xoffset user specified.
- * \param yoffset user specified.
- * \param zoffset user specified.
- * \param width user specified.
- * \param height user specified.
- * \param depth user specified.
- * \param format user specified.
- * \param type user specified.
- * \param pixels user specified.
- * \param packing indicates the image packing of pixels.
- * \param texObj is the target texture object.
- * \param texImage is the target texture image. It will have the texture \p
- * width, \p height, \p border and \p internalFormat information.
- *
- * The driver should use a fallback routine from texstore.c if needed.
- */
- void (*TexSubImage1D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset, GLsizei width,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
-
- /**
- * Called by glTexSubImage2D().
- *
- * \sa dd_function_table::TexSubImage1D.
- */
- void (*TexSubImage2D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLsizei width, GLsizei height,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
-
- /**
- * Called by glTexSubImage3D().
- *
- * \sa dd_function_table::TexSubImage1D.
- */
- void (*TexSubImage3D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset, GLint zoffset,
- GLsizei width, GLsizei height, GLint depth,
- GLenum format, GLenum type,
- const GLvoid *pixels,
- const struct gl_pixelstore_attrib *packing,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
-
- /**
- * Called by glGetTexImage().
- */
- void (*GetTexImage)( struct gl_context *ctx, GLenum target, GLint level,
- GLenum format, GLenum type, GLvoid *pixels,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
-
- /**
- * Called by glCopyTexImage1D().
- *
- * Drivers should use a fallback routine from texstore.c if needed.
- */
- void (*CopyTexImage1D)( struct gl_context *ctx, GLenum target, GLint level,
- GLenum internalFormat, GLint x, GLint y,
- GLsizei width, GLint border );
-
- /**
- * Called by glCopyTexImage2D().
- *
- * Drivers should use a fallback routine from texstore.c if needed.
- */
- void (*CopyTexImage2D)( struct gl_context *ctx, GLenum target, GLint level,
- GLenum internalFormat, GLint x, GLint y,
- GLsizei width, GLsizei height, GLint border );
-
- /**
- * Called by glCopyTexSubImage1D().
- *
- * Drivers should use a fallback routine from texstore.c if needed.
- */
- void (*CopyTexSubImage1D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset,
- GLint x, GLint y, GLsizei width );
- /**
- * Called by glCopyTexSubImage2D().
- *
- * Drivers should use a fallback routine from texstore.c if needed.
- */
- void (*CopyTexSubImage2D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLint x, GLint y,
- GLsizei width, GLsizei height );
- /**
- * Called by glCopyTexSubImage3D().
- *
- * Drivers should use a fallback routine from texstore.c if needed.
- */
- void (*CopyTexSubImage3D)( struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset, GLint zoffset,
- GLint x, GLint y,
- GLsizei width, GLsizei height );
-
- /**
- * Called by glGenerateMipmap() or when GL_GENERATE_MIPMAP_SGIS is enabled.
- */
- void (*GenerateMipmap)(struct gl_context *ctx, GLenum target,
- struct gl_texture_object *texObj);
-
- /**
- * Called by glTexImage[123]D when user specifies a proxy texture
- * target.
- *
- * \return GL_TRUE if the proxy test passes, or GL_FALSE if the test fails.
- */
- GLboolean (*TestProxyTexImage)(struct gl_context *ctx, GLenum target,
- GLint level, GLint internalFormat,
- GLenum format, GLenum type,
- GLint width, GLint height,
- GLint depth, GLint border);
- /*@}*/
-
-
- /**
- * \name Compressed texture functions
- */
- /*@{*/
-
- /**
- * Called by glCompressedTexImage1D().
- *
- * \param target user specified.
- * \param format user specified.
- * \param type user specified.
- * \param pixels user specified.
- * \param packing indicates the image packing of pixels.
- * \param texObj is the target texture object.
- * \param texImage is the target texture image. It will have the texture \p
- * width, \p height, \p depth, \p border and \p internalFormat information.
- *
- * \a retainInternalCopy is returned by this function and indicates whether
- * core Mesa should keep an internal copy of the texture image.
- */
- void (*CompressedTexImage1D)( struct gl_context *ctx, GLenum target,
- GLint level, GLint internalFormat,
- GLsizei width, GLint border,
- GLsizei imageSize, const GLvoid *data,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
- /**
- * Called by glCompressedTexImage2D().
- *
- * \sa dd_function_table::CompressedTexImage1D.
- */
- void (*CompressedTexImage2D)( struct gl_context *ctx, GLenum target,
- GLint level, GLint internalFormat,
- GLsizei width, GLsizei height, GLint border,
- GLsizei imageSize, const GLvoid *data,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
- /**
- * Called by glCompressedTexImage3D().
- *
- * \sa dd_function_table::CompressedTexImage3D.
- */
- void (*CompressedTexImage3D)( struct gl_context *ctx, GLenum target,
- GLint level, GLint internalFormat,
- GLsizei width, GLsizei height, GLsizei depth,
- GLint border,
- GLsizei imageSize, const GLvoid *data,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage );
-
- /**
- * Called by glCompressedTexSubImage1D().
- *
- * \param target user specified.
- * \param level user specified.
- * \param xoffset user specified.
- * \param yoffset user specified.
- * \param zoffset user specified.
- * \param width user specified.
- * \param height user specified.
- * \param depth user specified.
- * \param imageSize user specified.
- * \param data user specified.
- * \param texObj is the target texture object.
- * \param texImage is the target texture image. It will have the texture \p
- * width, \p height, \p depth, \p border and \p internalFormat information.
- */
- void (*CompressedTexSubImage1D)(struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset, GLsizei width,
- GLenum format,
- GLsizei imageSize, const GLvoid *data,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage);
- /**
- * Called by glCompressedTexSubImage2D().
- *
- * \sa dd_function_table::CompressedTexImage3D.
- */
- void (*CompressedTexSubImage2D)(struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset,
- GLsizei width, GLint height,
- GLenum format,
- GLsizei imageSize, const GLvoid *data,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage);
- /**
- * Called by glCompressedTexSubImage3D().
- *
- * \sa dd_function_table::CompressedTexImage3D.
- */
- void (*CompressedTexSubImage3D)(struct gl_context *ctx, GLenum target, GLint level,
- GLint xoffset, GLint yoffset, GLint zoffset,
- GLsizei width, GLint height, GLint depth,
- GLenum format,
- GLsizei imageSize, const GLvoid *data,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage);
-
-
- /**
- * Called by glGetCompressedTexImage.
- */
- void (*GetCompressedTexImage)(struct gl_context *ctx, GLenum target, GLint level,
- GLvoid *img,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage);
-
- /*@}*/
-
- /**
- * \name Texture object functions
- */
- /*@{*/
-
- /**
- * Called by glBindTexture().
- */
- void (*BindTexture)( struct gl_context *ctx, GLenum target,
- struct gl_texture_object *tObj );
-
- /**
- * Called to allocate a new texture object.
- * A new gl_texture_object should be returned. The driver should
- * attach to it any device-specific info it needs.
- */
- struct gl_texture_object * (*NewTextureObject)( struct gl_context *ctx, GLuint name,
- GLenum target );
- /**
- * Called when a texture object is about to be deallocated.
- *
- * Driver should delete the gl_texture_object object and anything
- * hanging off of it.
- */
- void (*DeleteTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
-
- /**
- * Called to allocate a new texture image object.
- */
- struct gl_texture_image * (*NewTextureImage)( struct gl_context *ctx );
-
- /**
- * Called to free tImage->Data.
- */
- void (*FreeTexImageData)( struct gl_context *ctx, struct gl_texture_image *tImage );
-
- /** Map texture image data into user space */
- void (*MapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
- /** Unmap texture images from user space */
- void (*UnmapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
-
- /**
- * Note: no context argument. This function doesn't initially look
- * like it belongs here, except that the driver is the only entity
- * that knows for sure how the texture memory is allocated - via
- * the above callbacks. There is then an argument that the driver
- * knows what memcpy paths might be fast. Typically this is invoked with
- *
- * to -- a pointer into texture memory allocated by NewTextureImage() above.
- * from -- a pointer into client memory or a mesa temporary.
- * sz -- nr bytes to copy.
- */
- void* (*TextureMemCpy)( void *to, const void *from, size_t sz );
-
- /**
- * Called by glAreTextureResident().
- */
- GLboolean (*IsTextureResident)( struct gl_context *ctx,
- struct gl_texture_object *t );
-
- /**
- * Called when the texture's color lookup table is changed.
- *
- * If \p tObj is NULL then the shared texture palette
- * gl_texture_object::Palette is to be updated.
- */
- void (*UpdateTexturePalette)( struct gl_context *ctx,
- struct gl_texture_object *tObj );
- /*@}*/
-
-
- /**
- * \name Imaging functionality
- */
- /*@{*/
- void (*CopyColorTable)( struct gl_context *ctx,
- GLenum target, GLenum internalformat,
- GLint x, GLint y, GLsizei width );
-
- void (*CopyColorSubTable)( struct gl_context *ctx,
- GLenum target, GLsizei start,
- GLint x, GLint y, GLsizei width );
- /*@}*/
-
-
- /**
- * \name Vertex/fragment program functions
- */
- /*@{*/
- /** Bind a vertex/fragment program */
- void (*BindProgram)(struct gl_context *ctx, GLenum target, struct gl_program *prog);
- /** Allocate a new program */
- struct gl_program * (*NewProgram)(struct gl_context *ctx, GLenum target, GLuint id);
- /** Delete a program */
- void (*DeleteProgram)(struct gl_context *ctx, struct gl_program *prog);
- /**
- * Notify driver that a program string (and GPU code) has been specified
- * or modified. Return GL_TRUE or GL_FALSE to indicate if the program is
- * supported by the driver.
- */
- GLboolean (*ProgramStringNotify)(struct gl_context *ctx, GLenum target,
- struct gl_program *prog);
-
- /** Query if program can be loaded onto hardware */
- GLboolean (*IsProgramNative)(struct gl_context *ctx, GLenum target,
- struct gl_program *prog);
-
- /*@}*/
-
- /**
- * \name GLSL shader/program functions.
- */
- /*@{*/
- /**
- * Called when a shader is compiled.
- *
- * Note that not all shader objects get ShaderCompile called on
- * them. Notably, the shaders containing builtin functions do not
- * have CompileShader() called, so if lowering passes are done they
- * need to also be performed in LinkShader().
- */
- GLboolean (*CompileShader)(struct gl_context *ctx, struct gl_shader *shader);
- /**
- * Called when a shader program is linked.
- *
- * This gives drivers an opportunity to clone the IR and make their
- * own transformations on it for the purposes of code generation.
- */
- GLboolean (*LinkShader)(struct gl_context *ctx, struct gl_shader_program *shader);
- /*@}*/
-
- /**
- * \name State-changing functions.
- *
- * \note drawing functions are above.
- *
- * These functions are called by their corresponding OpenGL API functions.
- * They are \e also called by the gl_PopAttrib() function!!!
- * May add more functions like these to the device driver in the future.
- */
- /*@{*/
- /** Specify the alpha test function */
- void (*AlphaFunc)(struct gl_context *ctx, GLenum func, GLfloat ref);
- /** Set the blend color */
- void (*BlendColor)(struct gl_context *ctx, const GLfloat color[4]);
- /** Set the blend equation */
- void (*BlendEquationSeparate)(struct gl_context *ctx, GLenum modeRGB, GLenum modeA);
- void (*BlendEquationSeparatei)(struct gl_context *ctx, GLuint buffer,
- GLenum modeRGB, GLenum modeA);
- /** Specify pixel arithmetic */
- void (*BlendFuncSeparate)(struct gl_context *ctx,
- GLenum sfactorRGB, GLenum dfactorRGB,
- GLenum sfactorA, GLenum dfactorA);
- void (*BlendFuncSeparatei)(struct gl_context *ctx, GLuint buffer,
- GLenum sfactorRGB, GLenum dfactorRGB,
- GLenum sfactorA, GLenum dfactorA);
- /** Specify clear values for the color buffers */
- void (*ClearColor)(struct gl_context *ctx, const GLfloat color[4]);
- /** Specify the clear value for the depth buffer */
- void (*ClearDepth)(struct gl_context *ctx, GLclampd d);
- /** Specify the clear value for the stencil buffer */
- void (*ClearStencil)(struct gl_context *ctx, GLint s);
- /** Specify a plane against which all geometry is clipped */
- void (*ClipPlane)(struct gl_context *ctx, GLenum plane, const GLfloat *equation );
- /** Enable and disable writing of frame buffer color components */
- void (*ColorMask)(struct gl_context *ctx, GLboolean rmask, GLboolean gmask,
- GLboolean bmask, GLboolean amask );
- void (*ColorMaskIndexed)(struct gl_context *ctx, GLuint buf, GLboolean rmask,
- GLboolean gmask, GLboolean bmask, GLboolean amask);
- /** Cause a material color to track the current color */
- void (*ColorMaterial)(struct gl_context *ctx, GLenum face, GLenum mode);
- /** Specify whether front- or back-facing facets can be culled */
- void (*CullFace)(struct gl_context *ctx, GLenum mode);
- /** Define front- and back-facing polygons */
- void (*FrontFace)(struct gl_context *ctx, GLenum mode);
- /** Specify the value used for depth buffer comparisons */
- void (*DepthFunc)(struct gl_context *ctx, GLenum func);
- /** Enable or disable writing into the depth buffer */
- void (*DepthMask)(struct gl_context *ctx, GLboolean flag);
- /** Specify mapping of depth values from NDC to window coordinates */
- void (*DepthRange)(struct gl_context *ctx, GLclampd nearval, GLclampd farval);
- /** Specify the current buffer for writing */
- void (*DrawBuffer)( struct gl_context *ctx, GLenum buffer );
- /** Specify the buffers for writing for fragment programs*/
- void (*DrawBuffers)( struct gl_context *ctx, GLsizei n, const GLenum *buffers );
- /** Enable or disable server-side gl capabilities */
- void (*Enable)(struct gl_context *ctx, GLenum cap, GLboolean state);
- /** Specify fog parameters */
- void (*Fogfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params);
- /** Specify implementation-specific hints */
- void (*Hint)(struct gl_context *ctx, GLenum target, GLenum mode);
- /** Set light source parameters.
- * Note: for GL_POSITION and GL_SPOT_DIRECTION, params will have already
- * been transformed to eye-space.
- */
- void (*Lightfv)(struct gl_context *ctx, GLenum light,
- GLenum pname, const GLfloat *params );
- /** Set the lighting model parameters */
- void (*LightModelfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params);
- /** Specify the line stipple pattern */
- void (*LineStipple)(struct gl_context *ctx, GLint factor, GLushort pattern );
- /** Specify the width of rasterized lines */
- void (*LineWidth)(struct gl_context *ctx, GLfloat width);
- /** Specify a logical pixel operation for color index rendering */
- void (*LogicOpcode)(struct gl_context *ctx, GLenum opcode);
- void (*PointParameterfv)(struct gl_context *ctx, GLenum pname,
- const GLfloat *params);
- /** Specify the diameter of rasterized points */
- void (*PointSize)(struct gl_context *ctx, GLfloat size);
- /** Select a polygon rasterization mode */
- void (*PolygonMode)(struct gl_context *ctx, GLenum face, GLenum mode);
- /** Set the scale and units used to calculate depth values */
- void (*PolygonOffset)(struct gl_context *ctx, GLfloat factor, GLfloat units);
- /** Set the polygon stippling pattern */
- void (*PolygonStipple)(struct gl_context *ctx, const GLubyte *mask );
- /* Specifies the current buffer for reading */
- void (*ReadBuffer)( struct gl_context *ctx, GLenum buffer );
- /** Set rasterization mode */
- void (*RenderMode)(struct gl_context *ctx, GLenum mode );
- /** Define the scissor box */
- void (*Scissor)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
- /** Select flat or smooth shading */
- void (*ShadeModel)(struct gl_context *ctx, GLenum mode);
- /** OpenGL 2.0 two-sided StencilFunc */
- void (*StencilFuncSeparate)(struct gl_context *ctx, GLenum face, GLenum func,
- GLint ref, GLuint mask);
- /** OpenGL 2.0 two-sided StencilMask */
- void (*StencilMaskSeparate)(struct gl_context *ctx, GLenum face, GLuint mask);
- /** OpenGL 2.0 two-sided StencilOp */
- void (*StencilOpSeparate)(struct gl_context *ctx, GLenum face, GLenum fail,
- GLenum zfail, GLenum zpass);
- /** Control the generation of texture coordinates */
- void (*TexGen)(struct gl_context *ctx, GLenum coord, GLenum pname,
- const GLfloat *params);
- /** Set texture environment parameters */
- void (*TexEnv)(struct gl_context *ctx, GLenum target, GLenum pname,
- const GLfloat *param);
- /** Set texture parameters */
- void (*TexParameter)(struct gl_context *ctx, GLenum target,
- struct gl_texture_object *texObj,
- GLenum pname, const GLfloat *params);
- /** Set the viewport */
- void (*Viewport)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
- /*@}*/
-
-
- /**
- * \name Vertex/pixel buffer object functions
- */
- /*@{*/
- void (*BindBuffer)( struct gl_context *ctx, GLenum target,
- struct gl_buffer_object *obj );
-
- struct gl_buffer_object * (*NewBufferObject)( struct gl_context *ctx, GLuint buffer,
- GLenum target );
-
- void (*DeleteBuffer)( struct gl_context *ctx, struct gl_buffer_object *obj );
-
- GLboolean (*BufferData)( struct gl_context *ctx, GLenum target, GLsizeiptrARB size,
- const GLvoid *data, GLenum usage,
- struct gl_buffer_object *obj );
-
- void (*BufferSubData)( struct gl_context *ctx, GLenum target, GLintptrARB offset,
- GLsizeiptrARB size, const GLvoid *data,
- struct gl_buffer_object *obj );
-
- void (*GetBufferSubData)( struct gl_context *ctx, GLenum target,
- GLintptrARB offset, GLsizeiptrARB size,
- GLvoid *data, struct gl_buffer_object *obj );
-
- void * (*MapBuffer)( struct gl_context *ctx, GLenum target, GLenum access,
- struct gl_buffer_object *obj );
-
- void (*CopyBufferSubData)( struct gl_context *ctx,
- struct gl_buffer_object *src,
- struct gl_buffer_object *dst,
- GLintptr readOffset, GLintptr writeOffset,
- GLsizeiptr size );
-
- /* May return NULL if MESA_MAP_NOWAIT_BIT is set in access:
- */
- void * (*MapBufferRange)( struct gl_context *ctx, GLenum target, GLintptr offset,
- GLsizeiptr length, GLbitfield access,
- struct gl_buffer_object *obj);
-
- void (*FlushMappedBufferRange)(struct gl_context *ctx, GLenum target,
- GLintptr offset, GLsizeiptr length,
- struct gl_buffer_object *obj);
-
- GLboolean (*UnmapBuffer)( struct gl_context *ctx, GLenum target,
- struct gl_buffer_object *obj );
- /*@}*/
-
- /**
- * \name Functions for GL_APPLE_object_purgeable
- */
- /*@{*/
- /* variations on ObjectPurgeable */
- GLenum (*BufferObjectPurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option );
- GLenum (*RenderObjectPurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option );
- GLenum (*TextureObjectPurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option );
-
- /* variations on ObjectUnpurgeable */
- GLenum (*BufferObjectUnpurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option );
- GLenum (*RenderObjectUnpurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option );
- GLenum (*TextureObjectUnpurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option );
- /*@}*/
-
- /**
- * \name Functions for GL_EXT_framebuffer_{object,blit}.
- */
- /*@{*/
- struct gl_framebuffer * (*NewFramebuffer)(struct gl_context *ctx, GLuint name);
- struct gl_renderbuffer * (*NewRenderbuffer)(struct gl_context *ctx, GLuint name);
- void (*BindFramebuffer)(struct gl_context *ctx, GLenum target,
- struct gl_framebuffer *drawFb,
- struct gl_framebuffer *readFb);
- void (*FramebufferRenderbuffer)(struct gl_context *ctx,
- struct gl_framebuffer *fb,
- GLenum attachment,
- struct gl_renderbuffer *rb);
- void (*RenderTexture)(struct gl_context *ctx,
- struct gl_framebuffer *fb,
- struct gl_renderbuffer_attachment *att);
- void (*FinishRenderTexture)(struct gl_context *ctx,
- struct gl_renderbuffer_attachment *att);
- void (*ValidateFramebuffer)(struct gl_context *ctx,
- struct gl_framebuffer *fb);
- /*@}*/
- void (*BlitFramebuffer)(struct gl_context *ctx,
- GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
- GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
- GLbitfield mask, GLenum filter);
-
- /**
- * \name Query objects
- */
- /*@{*/
- struct gl_query_object * (*NewQueryObject)(struct gl_context *ctx, GLuint id);
- void (*DeleteQuery)(struct gl_context *ctx, struct gl_query_object *q);
- void (*BeginQuery)(struct gl_context *ctx, struct gl_query_object *q);
- void (*EndQuery)(struct gl_context *ctx, struct gl_query_object *q);
- void (*CheckQuery)(struct gl_context *ctx, struct gl_query_object *q);
- void (*WaitQuery)(struct gl_context *ctx, struct gl_query_object *q);
- /*@}*/
-
-
- /**
- * \name Vertex Array objects
- */
- /*@{*/
- struct gl_array_object * (*NewArrayObject)(struct gl_context *ctx, GLuint id);
- void (*DeleteArrayObject)(struct gl_context *ctx, struct gl_array_object *obj);
- void (*BindArrayObject)(struct gl_context *ctx, struct gl_array_object *obj);
- /*@}*/
-
- /**
- * \name GLSL-related functions (ARB extensions and OpenGL 2.x)
- */
- /*@{*/
- struct gl_shader *(*NewShader)(struct gl_context *ctx, GLuint name, GLenum type);
- void (*DeleteShader)(struct gl_context *ctx, struct gl_shader *shader);
- struct gl_shader_program *(*NewShaderProgram)(struct gl_context *ctx, GLuint name);
- void (*DeleteShaderProgram)(struct gl_context *ctx,
- struct gl_shader_program *shProg);
- void (*UseProgram)(struct gl_context *ctx, struct gl_shader_program *shProg);
- /*@}*/
-
-
- /**
- * \name Support for multiple T&L engines
- */
- /*@{*/
-
- /**
- * Bitmask of state changes that require the current T&L module to be
- * validated, using ValidateTnlModule() below.
- */
- GLuint NeedValidate;
-
- /**
- * Validate the current T&L module.
- *
- * This is called directly after UpdateState() when a state change that has
- * occurred matches the dd_function_table::NeedValidate bitmask above. This
- * ensures all computed values are up to date, thus allowing the driver to
- * decide if the current T&L module needs to be swapped out.
- *
- * This must be non-NULL if a driver installs a custom T&L module and sets
- * the dd_function_table::NeedValidate bitmask, but may be NULL otherwise.
- */
- void (*ValidateTnlModule)( struct gl_context *ctx, GLuint new_state );
-
-
-#define PRIM_OUTSIDE_BEGIN_END (GL_POLYGON+1)
-#define PRIM_INSIDE_UNKNOWN_PRIM (GL_POLYGON+2)
-#define PRIM_UNKNOWN (GL_POLYGON+3)
-
- /**
- * Set by the driver-supplied T&L engine.
- *
- * Set to PRIM_OUTSIDE_BEGIN_END when outside glBegin()/glEnd().
- */
- GLuint CurrentExecPrimitive;
-
- /**
- * Current state of an in-progress compilation.
- *
- * May take on any of the additional values PRIM_OUTSIDE_BEGIN_END,
- * PRIM_INSIDE_UNKNOWN_PRIM or PRIM_UNKNOWN defined above.
- */
- GLuint CurrentSavePrimitive;
-
-
-#define FLUSH_STORED_VERTICES 0x1
-#define FLUSH_UPDATE_CURRENT 0x2
- /**
- * Set by the driver-supplied T&L engine whenever vertices are buffered
- * between glBegin()/glEnd() objects or __struct gl_contextRec::Current is not
- * updated.
- *
- * The dd_function_table::FlushVertices call below may be used to resolve
- * these conditions.
- */
- GLuint NeedFlush;
- GLuint SaveNeedFlush;
-
-
- /* Called prior to any of the GLvertexformat functions being
- * called. Paired with Driver.FlushVertices().
- */
- void (*BeginVertices)( struct gl_context *ctx );
-
- /**
- * If inside glBegin()/glEnd(), it should ASSERT(0). Otherwise, if
- * FLUSH_STORED_VERTICES bit in \p flags is set flushes any buffered
- * vertices, if FLUSH_UPDATE_CURRENT bit is set updates
- * __struct gl_contextRec::Current and gl_light_attrib::Material
- *
- * Note that the default T&L engine never clears the
- * FLUSH_UPDATE_CURRENT bit, even after performing the update.
- */
- void (*FlushVertices)( struct gl_context *ctx, GLuint flags );
- void (*SaveFlushVertices)( struct gl_context *ctx );
-
- /**
- * Give the driver the opportunity to hook in its own vtxfmt for
- * compiling optimized display lists. This is called on each valid
- * glBegin() during list compilation.
- */
- GLboolean (*NotifySaveBegin)( struct gl_context *ctx, GLenum mode );
-
- /**
- * Notify driver that the special derived value _NeedEyeCoords has
- * changed.
- */
- void (*LightingSpaceChange)( struct gl_context *ctx );
-
- /**
- * Called by glNewList().
- *
- * Let the T&L component know what is going on with display lists
- * in time to make changes to dispatch tables, etc.
- */
- void (*NewList)( struct gl_context *ctx, GLuint list, GLenum mode );
- /**
- * Called by glEndList().
- *
- * \sa dd_function_table::NewList.
- */
- void (*EndList)( struct gl_context *ctx );
-
- /**
- * Called by glCallList(s).
- *
- * Notify the T&L component before and after calling a display list.
- */
- void (*BeginCallList)( struct gl_context *ctx,
- struct gl_display_list *dlist );
- /**
- * Called by glEndCallList().
- *
- * \sa dd_function_table::BeginCallList.
- */
- void (*EndCallList)( struct gl_context *ctx );
-
-
- /**
- * \name GL_ARB_sync interfaces
- */
- /*@{*/
- struct gl_sync_object * (*NewSyncObject)(struct gl_context *, GLenum);
- void (*FenceSync)(struct gl_context *, struct gl_sync_object *, GLenum, GLbitfield);
- void (*DeleteSyncObject)(struct gl_context *, struct gl_sync_object *);
- void (*CheckSync)(struct gl_context *, struct gl_sync_object *);
- void (*ClientWaitSync)(struct gl_context *, struct gl_sync_object *,
- GLbitfield, GLuint64);
- void (*ServerWaitSync)(struct gl_context *, struct gl_sync_object *,
- GLbitfield, GLuint64);
- /*@}*/
-
- /** GL_NV_conditional_render */
- void (*BeginConditionalRender)(struct gl_context *ctx, struct gl_query_object *q,
- GLenum mode);
- void (*EndConditionalRender)(struct gl_context *ctx, struct gl_query_object *q);
-
- /**
- * \name GL_OES_draw_texture interface
- */
- /*@{*/
- void (*DrawTex)(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
- GLfloat width, GLfloat height);
- /*@}*/
-
- /**
- * \name GL_OES_EGL_image interface
- */
- void (*EGLImageTargetTexture2D)(struct gl_context *ctx, GLenum target,
- struct gl_texture_object *texObj,
- struct gl_texture_image *texImage,
- GLeglImageOES image_handle);
- void (*EGLImageTargetRenderbufferStorage)(struct gl_context *ctx,
- struct gl_renderbuffer *rb,
- void *image_handle);
-
- /**
- * \name GL_EXT_transform_feedback interface
- */
- struct gl_transform_feedback_object *
- (*NewTransformFeedback)(struct gl_context *ctx, GLuint name);
- void (*DeleteTransformFeedback)(struct gl_context *ctx,
- struct gl_transform_feedback_object *obj);
- void (*BeginTransformFeedback)(struct gl_context *ctx, GLenum mode,
- struct gl_transform_feedback_object *obj);
- void (*EndTransformFeedback)(struct gl_context *ctx,
- struct gl_transform_feedback_object *obj);
- void (*PauseTransformFeedback)(struct gl_context *ctx,
- struct gl_transform_feedback_object *obj);
- void (*ResumeTransformFeedback)(struct gl_context *ctx,
- struct gl_transform_feedback_object *obj);
- void (*DrawTransformFeedback)(struct gl_context *ctx, GLenum mode,
- struct gl_transform_feedback_object *obj);
-};
-
-
-/**
- * Transform/Clip/Lighting interface
- *
- * Drivers present a reduced set of the functions possible in
- * glBegin()/glEnd() objects. Core mesa provides translation stubs for the
- * remaining functions to map down to these entry points.
- *
- * These are the initial values to be installed into dispatch by
- * mesa. If the T&L driver wants to modify the dispatch table
- * while installed, it must do so itself. It would be possible for
- * the vertexformat to install its own initial values for these
- * functions, but this way there is an obvious list of what is
- * expected of the driver.
- *
- * If the driver wants to hook in entry points other than those
- * listed, it must restore them to their original values in
- * the disable() callback, below.
- */
-typedef struct {
- /**
- * \name Vertex
- */
- /*@{*/
- void (GLAPIENTRYP ArrayElement)( GLint );
- void (GLAPIENTRYP Color3f)( GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP Color3fv)( const GLfloat * );
- void (GLAPIENTRYP Color4f)( GLfloat, GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP Color4fv)( const GLfloat * );
- void (GLAPIENTRYP EdgeFlag)( GLboolean );
- void (GLAPIENTRYP EvalCoord1f)( GLfloat );
- void (GLAPIENTRYP EvalCoord1fv)( const GLfloat * );
- void (GLAPIENTRYP EvalCoord2f)( GLfloat, GLfloat );
- void (GLAPIENTRYP EvalCoord2fv)( const GLfloat * );
- void (GLAPIENTRYP EvalPoint1)( GLint );
- void (GLAPIENTRYP EvalPoint2)( GLint, GLint );
- void (GLAPIENTRYP FogCoordfEXT)( GLfloat );
- void (GLAPIENTRYP FogCoordfvEXT)( const GLfloat * );
- void (GLAPIENTRYP Indexf)( GLfloat );
- void (GLAPIENTRYP Indexfv)( const GLfloat * );
- void (GLAPIENTRYP Materialfv)( GLenum face, GLenum pname, const GLfloat * );
- void (GLAPIENTRYP MultiTexCoord1fARB)( GLenum, GLfloat );
- void (GLAPIENTRYP MultiTexCoord1fvARB)( GLenum, const GLfloat * );
- void (GLAPIENTRYP MultiTexCoord2fARB)( GLenum, GLfloat, GLfloat );
- void (GLAPIENTRYP MultiTexCoord2fvARB)( GLenum, const GLfloat * );
- void (GLAPIENTRYP MultiTexCoord3fARB)( GLenum, GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP MultiTexCoord3fvARB)( GLenum, const GLfloat * );
- void (GLAPIENTRYP MultiTexCoord4fARB)( GLenum, GLfloat, GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP MultiTexCoord4fvARB)( GLenum, const GLfloat * );
- void (GLAPIENTRYP Normal3f)( GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP Normal3fv)( const GLfloat * );
- void (GLAPIENTRYP SecondaryColor3fEXT)( GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP SecondaryColor3fvEXT)( const GLfloat * );
- void (GLAPIENTRYP TexCoord1f)( GLfloat );
- void (GLAPIENTRYP TexCoord1fv)( const GLfloat * );
- void (GLAPIENTRYP TexCoord2f)( GLfloat, GLfloat );
- void (GLAPIENTRYP TexCoord2fv)( const GLfloat * );
- void (GLAPIENTRYP TexCoord3f)( GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP TexCoord3fv)( const GLfloat * );
- void (GLAPIENTRYP TexCoord4f)( GLfloat, GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP TexCoord4fv)( const GLfloat * );
- void (GLAPIENTRYP Vertex2f)( GLfloat, GLfloat );
- void (GLAPIENTRYP Vertex2fv)( const GLfloat * );
- void (GLAPIENTRYP Vertex3f)( GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP Vertex3fv)( const GLfloat * );
- void (GLAPIENTRYP Vertex4f)( GLfloat, GLfloat, GLfloat, GLfloat );
- void (GLAPIENTRYP Vertex4fv)( const GLfloat * );
- void (GLAPIENTRYP CallList)( GLuint );
- void (GLAPIENTRYP CallLists)( GLsizei, GLenum, const GLvoid * );
- void (GLAPIENTRYP Begin)( GLenum );
- void (GLAPIENTRYP End)( void );
- void (GLAPIENTRYP PrimitiveRestartNV)( void );
- /* GL_NV_vertex_program */
- void (GLAPIENTRYP VertexAttrib1fNV)( GLuint index, GLfloat x );
- void (GLAPIENTRYP VertexAttrib1fvNV)( GLuint index, const GLfloat *v );
- void (GLAPIENTRYP VertexAttrib2fNV)( GLuint index, GLfloat x, GLfloat y );
- void (GLAPIENTRYP VertexAttrib2fvNV)( GLuint index, const GLfloat *v );
- void (GLAPIENTRYP VertexAttrib3fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z );
- void (GLAPIENTRYP VertexAttrib3fvNV)( GLuint index, const GLfloat *v );
- void (GLAPIENTRYP VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
- void (GLAPIENTRYP VertexAttrib4fvNV)( GLuint index, const GLfloat *v );
- /* GL_ARB_vertex_program */
- void (GLAPIENTRYP VertexAttrib1fARB)( GLuint index, GLfloat x );
- void (GLAPIENTRYP VertexAttrib1fvARB)( GLuint index, const GLfloat *v );
- void (GLAPIENTRYP VertexAttrib2fARB)( GLuint index, GLfloat x, GLfloat y );
- void (GLAPIENTRYP VertexAttrib2fvARB)( GLuint index, const GLfloat *v );
- void (GLAPIENTRYP VertexAttrib3fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z );
- void (GLAPIENTRYP VertexAttrib3fvARB)( GLuint index, const GLfloat *v );
- void (GLAPIENTRYP VertexAttrib4fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
- void (GLAPIENTRYP VertexAttrib4fvARB)( GLuint index, const GLfloat *v );
-
- /* GL_EXT_gpu_shader4 / GL 3.0 */
- void (GLAPIENTRYP VertexAttribI1i)( GLuint index, GLint x);
- void (GLAPIENTRYP VertexAttribI2i)( GLuint index, GLint x, GLint y);
- void (GLAPIENTRYP VertexAttribI3i)( GLuint index, GLint x, GLint y, GLint z);
- void (GLAPIENTRYP VertexAttribI4i)( GLuint index, GLint x, GLint y, GLint z, GLint w);
- void (GLAPIENTRYP VertexAttribI2iv)( GLuint index, const GLint *v);
- void (GLAPIENTRYP VertexAttribI3iv)( GLuint index, const GLint *v);
- void (GLAPIENTRYP VertexAttribI4iv)( GLuint index, const GLint *v);
-
- void (GLAPIENTRYP VertexAttribI1ui)( GLuint index, GLuint x);
- void (GLAPIENTRYP VertexAttribI2ui)( GLuint index, GLuint x, GLuint y);
- void (GLAPIENTRYP VertexAttribI3ui)( GLuint index, GLuint x, GLuint y, GLuint z);
- void (GLAPIENTRYP VertexAttribI4ui)( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
- void (GLAPIENTRYP VertexAttribI2uiv)( GLuint index, const GLuint *v);
- void (GLAPIENTRYP VertexAttribI3uiv)( GLuint index, const GLuint *v);
- void (GLAPIENTRYP VertexAttribI4uiv)( GLuint index, const GLuint *v);
-
- /*@}*/
-
- void (GLAPIENTRYP Rectf)( GLfloat, GLfloat, GLfloat, GLfloat );
-
- /**
- * \name Array
- */
- /*@{*/
- void (GLAPIENTRYP DrawArrays)( GLenum mode, GLint start, GLsizei count );
- void (GLAPIENTRYP DrawElements)( GLenum mode, GLsizei count, GLenum type,
- const GLvoid *indices );
- void (GLAPIENTRYP DrawRangeElements)( GLenum mode, GLuint start,
- GLuint end, GLsizei count,
- GLenum type, const GLvoid *indices );
- void (GLAPIENTRYP MultiDrawElementsEXT)( GLenum mode, const GLsizei *count,
- GLenum type,
- const GLvoid **indices,
- GLsizei primcount);
- void (GLAPIENTRYP DrawElementsBaseVertex)( GLenum mode, GLsizei count,
- GLenum type,
- const GLvoid *indices,
- GLint basevertex );
- void (GLAPIENTRYP DrawRangeElementsBaseVertex)( GLenum mode, GLuint start,
- GLuint end, GLsizei count,
- GLenum type,
- const GLvoid *indices,
- GLint basevertex);
- void (GLAPIENTRYP MultiDrawElementsBaseVertex)( GLenum mode,
- const GLsizei *count,
- GLenum type,
- const GLvoid **indices,
- GLsizei primcount,
- const GLint *basevertex);
- void (GLAPIENTRYP DrawArraysInstanced)(GLenum mode, GLint first,
- GLsizei count, GLsizei primcount);
- void (GLAPIENTRYP DrawElementsInstanced)(GLenum mode, GLsizei count,
- GLenum type, const GLvoid *indices,
- GLsizei primcount);
- /*@}*/
-
- /**
- * \name Eval
- *
- * If you don't support eval, fallback to the default vertex format
- * on receiving an eval call and use the pipeline mechanism to
- * provide partial T&L acceleration.
- *
- * Mesa will provide a set of helper functions to do eval within
- * accelerated vertex formats, eventually...
- */
- /*@{*/
- void (GLAPIENTRYP EvalMesh1)( GLenum mode, GLint i1, GLint i2 );
- void (GLAPIENTRYP EvalMesh2)( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
- /*@}*/
-
-} GLvertexformat;
-
-
-#endif /* DD_INCLUDED */
+/** + * \file dd.h + * Device driver interfaces. + */ + +/* + * Mesa 3-D graphics library + * Version: 6.5.2 + * + * Copyright (C) 1999-2006 Brian Paul 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, 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 + * BRIAN PAUL 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. + */ + + +#ifndef DD_INCLUDED +#define DD_INCLUDED + +/* THIS FILE ONLY INCLUDED BY mtypes.h !!!!! */ + +#include "glheader.h" + +struct gl_buffer_object; +struct gl_context; +struct gl_display_list; +struct gl_framebuffer; +struct gl_pixelstore_attrib; +struct gl_program; +struct gl_renderbuffer; +struct gl_renderbuffer_attachment; +struct gl_shader; +struct gl_shader_program; +struct gl_texture_image; +struct gl_texture_object; + +/* GL_ARB_vertex_buffer_object */ +/* Modifies GL_MAP_UNSYNCHRONIZED_BIT to allow driver to fail (return + * NULL) if buffer is unavailable for immediate mapping. + * + * Does GL_MAP_INVALIDATE_RANGE_BIT do this? It seems so, but it + * would require more book-keeping in the driver than seems necessary + * at this point. + * + * Does GL_MAP_INVALDIATE_BUFFER_BIT do this? Not really -- we don't + * want to provoke the driver to throw away the old storage, we will + * respect the contents of already referenced data. + */ +#define MESA_MAP_NOWAIT_BIT 0x0040 + + +/** + * Device driver function table. + * Core Mesa uses these function pointers to call into device drivers. + * Most of these functions directly correspond to OpenGL state commands. + * Core Mesa will call these functions after error checking has been done + * so that the drivers don't have to worry about error testing. + * + * Vertex transformation/clipping/lighting is patched into the T&L module. + * Rasterization functions are patched into the swrast module. + * + * Note: when new functions are added here, the drivers/common/driverfuncs.c + * file should be updated too!!! + */ +struct dd_function_table { + /** + * Return a string as needed by glGetString(). + * Only the GL_RENDERER query must be implemented. Otherwise, NULL can be + * returned. + */ + const GLubyte * (*GetString)( struct gl_context *ctx, GLenum name ); + + /** + * Notify the driver after Mesa has made some internal state changes. + * + * This is in addition to any state change callbacks Mesa may already have + * made. + */ + void (*UpdateState)( struct gl_context *ctx, GLbitfield new_state ); + + /** + * Get the width and height of the named buffer/window. + * + * Mesa uses this to determine when the driver's window size has changed. + * XXX OBSOLETE: this function will be removed in the future. + */ + void (*GetBufferSize)( struct gl_framebuffer *buffer, + GLuint *width, GLuint *height ); + + /** + * Resize the given framebuffer to the given size. + * XXX OBSOLETE: this function will be removed in the future. + */ + void (*ResizeBuffers)( struct gl_context *ctx, struct gl_framebuffer *fb, + GLuint width, GLuint height); + + /** + * Called whenever an error is generated. + * __struct gl_contextRec::ErrorValue contains the error value. + */ + void (*Error)( struct gl_context *ctx ); + + /** + * This is called whenever glFinish() is called. + */ + void (*Finish)( struct gl_context *ctx ); + + /** + * This is called whenever glFlush() is called. + */ + void (*Flush)( struct gl_context *ctx ); + + /** + * Clear the color/depth/stencil/accum buffer(s). + * \param buffers a bitmask of BUFFER_BIT_* flags indicating which + * renderbuffers need to be cleared. + */ + void (*Clear)( struct gl_context *ctx, GLbitfield buffers ); + + /** + * Execute glAccum command. + */ + void (*Accum)( struct gl_context *ctx, GLenum op, GLfloat value ); + + + /** + * Execute glRasterPos, updating the ctx->Current.Raster fields + */ + void (*RasterPos)( struct gl_context *ctx, const GLfloat v[4] ); + + /** + * \name Image-related functions + */ + /*@{*/ + + /** + * Called by glDrawPixels(). + * \p unpack describes how to unpack the source image data. + */ + void (*DrawPixels)( struct gl_context *ctx, + GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, + const struct gl_pixelstore_attrib *unpack, + const GLvoid *pixels ); + + /** + * Called by glReadPixels(). + */ + void (*ReadPixels)( struct gl_context *ctx, + GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, + const struct gl_pixelstore_attrib *unpack, + GLvoid *dest ); + + /** + * Called by glCopyPixels(). + */ + void (*CopyPixels)( struct gl_context *ctx, GLint srcx, GLint srcy, + GLsizei width, GLsizei height, + GLint dstx, GLint dsty, GLenum type ); + + /** + * Called by glBitmap(). + */ + void (*Bitmap)( struct gl_context *ctx, + GLint x, GLint y, GLsizei width, GLsizei height, + const struct gl_pixelstore_attrib *unpack, + const GLubyte *bitmap ); + /*@}*/ + + + /** + * \name Texture image functions + */ + /*@{*/ + + /** + * Choose texture format. + * + * This is called by the \c _mesa_store_tex[sub]image[123]d() fallback + * functions. The driver should examine \p internalFormat and return a + * gl_format value. + */ + GLuint (*ChooseTextureFormat)( struct gl_context *ctx, GLint internalFormat, + GLenum srcFormat, GLenum srcType ); + + /** + * Called by glTexImage1D(). + * + * \param target user specified. + * \param format user specified. + * \param type user specified. + * \param pixels user specified. + * \param packing indicates the image packing of pixels. + * \param texObj is the target texture object. + * \param texImage is the target texture image. It will have the texture \p + * width, \p height, \p depth, \p border and \p internalFormat information. + * + * \p retainInternalCopy is returned by this function and indicates whether + * core Mesa should keep an internal copy of the texture image. + * + * Drivers should call a fallback routine from texstore.c if needed. + */ + void (*TexImage1D)( struct gl_context *ctx, GLenum target, GLint level, + GLint internalFormat, + GLint width, GLint border, + GLenum format, GLenum type, const GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + + /** + * Called by glTexImage2D(). + * + * \sa dd_function_table::TexImage1D. + */ + void (*TexImage2D)( struct gl_context *ctx, GLenum target, GLint level, + GLint internalFormat, + GLint width, GLint height, GLint border, + GLenum format, GLenum type, const GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + + /** + * Called by glTexImage3D(). + * + * \sa dd_function_table::TexImage1D. + */ + void (*TexImage3D)( struct gl_context *ctx, GLenum target, GLint level, + GLint internalFormat, + GLint width, GLint height, GLint depth, GLint border, + GLenum format, GLenum type, const GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + + /** + * Called by glTexSubImage1D(). + * + * \param target user specified. + * \param level user specified. + * \param xoffset user specified. + * \param yoffset user specified. + * \param zoffset user specified. + * \param width user specified. + * \param height user specified. + * \param depth user specified. + * \param format user specified. + * \param type user specified. + * \param pixels user specified. + * \param packing indicates the image packing of pixels. + * \param texObj is the target texture object. + * \param texImage is the target texture image. It will have the texture \p + * width, \p height, \p border and \p internalFormat information. + * + * The driver should use a fallback routine from texstore.c if needed. + */ + void (*TexSubImage1D)( struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, GLsizei width, + GLenum format, GLenum type, + const GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + + /** + * Called by glTexSubImage2D(). + * + * \sa dd_function_table::TexSubImage1D. + */ + void (*TexSubImage2D)( struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLsizei width, GLsizei height, + GLenum format, GLenum type, + const GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + + /** + * Called by glTexSubImage3D(). + * + * \sa dd_function_table::TexSubImage1D. + */ + void (*TexSubImage3D)( struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLsizei height, GLint depth, + GLenum format, GLenum type, + const GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + + /** + * Called by glGetTexImage(). + */ + void (*GetTexImage)( struct gl_context *ctx, GLenum target, GLint level, + GLenum format, GLenum type, GLvoid *pixels, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + + /** + * Called by glCopyTexImage1D(). + * + * Drivers should use a fallback routine from texstore.c if needed. + */ + void (*CopyTexImage1D)( struct gl_context *ctx, GLenum target, GLint level, + GLenum internalFormat, GLint x, GLint y, + GLsizei width, GLint border ); + + /** + * Called by glCopyTexImage2D(). + * + * Drivers should use a fallback routine from texstore.c if needed. + */ + void (*CopyTexImage2D)( struct gl_context *ctx, GLenum target, GLint level, + GLenum internalFormat, GLint x, GLint y, + GLsizei width, GLsizei height, GLint border ); + + /** + * Called by glCopyTexSubImage1D(). + * + * Drivers should use a fallback routine from texstore.c if needed. + */ + void (*CopyTexSubImage1D)( struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, + GLint x, GLint y, GLsizei width ); + /** + * Called by glCopyTexSubImage2D(). + * + * Drivers should use a fallback routine from texstore.c if needed. + */ + void (*CopyTexSubImage2D)( struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLint x, GLint y, + GLsizei width, GLsizei height ); + /** + * Called by glCopyTexSubImage3D(). + * + * Drivers should use a fallback routine from texstore.c if needed. + */ + void (*CopyTexSubImage3D)( struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, GLint yoffset, GLint zoffset, + GLint x, GLint y, + GLsizei width, GLsizei height ); + + /** + * Called by glGenerateMipmap() or when GL_GENERATE_MIPMAP_SGIS is enabled. + */ + void (*GenerateMipmap)(struct gl_context *ctx, GLenum target, + struct gl_texture_object *texObj); + + /** + * Called by glTexImage[123]D when user specifies a proxy texture + * target. + * + * \return GL_TRUE if the proxy test passes, or GL_FALSE if the test fails. + */ + GLboolean (*TestProxyTexImage)(struct gl_context *ctx, GLenum target, + GLint level, GLint internalFormat, + GLenum format, GLenum type, + GLint width, GLint height, + GLint depth, GLint border); + /*@}*/ + + + /** + * \name Compressed texture functions + */ + /*@{*/ + + /** + * Called by glCompressedTexImage1D(). + * + * \param target user specified. + * \param format user specified. + * \param type user specified. + * \param pixels user specified. + * \param packing indicates the image packing of pixels. + * \param texObj is the target texture object. + * \param texImage is the target texture image. It will have the texture \p + * width, \p height, \p depth, \p border and \p internalFormat information. + * + * \a retainInternalCopy is returned by this function and indicates whether + * core Mesa should keep an internal copy of the texture image. + */ + void (*CompressedTexImage1D)( struct gl_context *ctx, GLenum target, + GLint level, GLint internalFormat, + GLsizei width, GLint border, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + /** + * Called by glCompressedTexImage2D(). + * + * \sa dd_function_table::CompressedTexImage1D. + */ + void (*CompressedTexImage2D)( struct gl_context *ctx, GLenum target, + GLint level, GLint internalFormat, + GLsizei width, GLsizei height, GLint border, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + /** + * Called by glCompressedTexImage3D(). + * + * \sa dd_function_table::CompressedTexImage3D. + */ + void (*CompressedTexImage3D)( struct gl_context *ctx, GLenum target, + GLint level, GLint internalFormat, + GLsizei width, GLsizei height, GLsizei depth, + GLint border, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage ); + + /** + * Called by glCompressedTexSubImage1D(). + * + * \param target user specified. + * \param level user specified. + * \param xoffset user specified. + * \param yoffset user specified. + * \param zoffset user specified. + * \param width user specified. + * \param height user specified. + * \param depth user specified. + * \param imageSize user specified. + * \param data user specified. + * \param texObj is the target texture object. + * \param texImage is the target texture image. It will have the texture \p + * width, \p height, \p depth, \p border and \p internalFormat information. + */ + void (*CompressedTexSubImage1D)(struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, GLsizei width, + GLenum format, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); + /** + * Called by glCompressedTexSubImage2D(). + * + * \sa dd_function_table::CompressedTexImage3D. + */ + void (*CompressedTexSubImage2D)(struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, GLint yoffset, + GLsizei width, GLint height, + GLenum format, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); + /** + * Called by glCompressedTexSubImage3D(). + * + * \sa dd_function_table::CompressedTexImage3D. + */ + void (*CompressedTexSubImage3D)(struct gl_context *ctx, GLenum target, GLint level, + GLint xoffset, GLint yoffset, GLint zoffset, + GLsizei width, GLint height, GLint depth, + GLenum format, + GLsizei imageSize, const GLvoid *data, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); + + + /** + * Called by glGetCompressedTexImage. + */ + void (*GetCompressedTexImage)(struct gl_context *ctx, GLenum target, GLint level, + GLvoid *img, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); + + /*@}*/ + + /** + * \name Texture object functions + */ + /*@{*/ + + /** + * Called by glBindTexture(). + */ + void (*BindTexture)( struct gl_context *ctx, GLenum target, + struct gl_texture_object *tObj ); + + /** + * Called to allocate a new texture object. + * A new gl_texture_object should be returned. The driver should + * attach to it any device-specific info it needs. + */ + struct gl_texture_object * (*NewTextureObject)( struct gl_context *ctx, GLuint name, + GLenum target ); + /** + * Called when a texture object is about to be deallocated. + * + * Driver should delete the gl_texture_object object and anything + * hanging off of it. + */ + void (*DeleteTexture)( struct gl_context *ctx, struct gl_texture_object *tObj ); + + /** + * Called to allocate a new texture image object. + */ + struct gl_texture_image * (*NewTextureImage)( struct gl_context *ctx ); + + /** + * Called to free tImage->Data. + */ + void (*FreeTexImageData)( struct gl_context *ctx, struct gl_texture_image *tImage ); + + /** Map texture image data into user space */ + void (*MapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj ); + /** Unmap texture images from user space */ + void (*UnmapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj ); + + /** + * Note: no context argument. This function doesn't initially look + * like it belongs here, except that the driver is the only entity + * that knows for sure how the texture memory is allocated - via + * the above callbacks. There is then an argument that the driver + * knows what memcpy paths might be fast. Typically this is invoked with + * + * to -- a pointer into texture memory allocated by NewTextureImage() above. + * from -- a pointer into client memory or a mesa temporary. + * sz -- nr bytes to copy. + */ + void* (*TextureMemCpy)( void *to, const void *from, size_t sz ); + + /** + * Called by glAreTextureResident(). + */ + GLboolean (*IsTextureResident)( struct gl_context *ctx, + struct gl_texture_object *t ); + + /** + * Called when the texture's color lookup table is changed. + * + * If \p tObj is NULL then the shared texture palette + * gl_texture_object::Palette is to be updated. + */ + void (*UpdateTexturePalette)( struct gl_context *ctx, + struct gl_texture_object *tObj ); + /*@}*/ + + + /** + * \name Imaging functionality + */ + /*@{*/ + void (*CopyColorTable)( struct gl_context *ctx, + GLenum target, GLenum internalformat, + GLint x, GLint y, GLsizei width ); + + void (*CopyColorSubTable)( struct gl_context *ctx, + GLenum target, GLsizei start, + GLint x, GLint y, GLsizei width ); + /*@}*/ + + + /** + * \name Vertex/fragment program functions + */ + /*@{*/ + /** Bind a vertex/fragment program */ + void (*BindProgram)(struct gl_context *ctx, GLenum target, struct gl_program *prog); + /** Allocate a new program */ + struct gl_program * (*NewProgram)(struct gl_context *ctx, GLenum target, GLuint id); + /** Delete a program */ + void (*DeleteProgram)(struct gl_context *ctx, struct gl_program *prog); + /** + * Notify driver that a program string (and GPU code) has been specified + * or modified. Return GL_TRUE or GL_FALSE to indicate if the program is + * supported by the driver. + */ + GLboolean (*ProgramStringNotify)(struct gl_context *ctx, GLenum target, + struct gl_program *prog); + + /** Query if program can be loaded onto hardware */ + GLboolean (*IsProgramNative)(struct gl_context *ctx, GLenum target, + struct gl_program *prog); + + /*@}*/ + + /** + * \name GLSL shader/program functions. + */ + /*@{*/ + /** + * Called when a shader is compiled. + * + * Note that not all shader objects get ShaderCompile called on + * them. Notably, the shaders containing builtin functions do not + * have CompileShader() called, so if lowering passes are done they + * need to also be performed in LinkShader(). + */ + GLboolean (*CompileShader)(struct gl_context *ctx, struct gl_shader *shader); + /** + * Called when a shader program is linked. + * + * This gives drivers an opportunity to clone the IR and make their + * own transformations on it for the purposes of code generation. + */ + GLboolean (*LinkShader)(struct gl_context *ctx, struct gl_shader_program *shader); + /*@}*/ + + /** + * \name State-changing functions. + * + * \note drawing functions are above. + * + * These functions are called by their corresponding OpenGL API functions. + * They are \e also called by the gl_PopAttrib() function!!! + * May add more functions like these to the device driver in the future. + */ + /*@{*/ + /** Specify the alpha test function */ + void (*AlphaFunc)(struct gl_context *ctx, GLenum func, GLfloat ref); + /** Set the blend color */ + void (*BlendColor)(struct gl_context *ctx, const GLfloat color[4]); + /** Set the blend equation */ + void (*BlendEquationSeparate)(struct gl_context *ctx, GLenum modeRGB, GLenum modeA); + void (*BlendEquationSeparatei)(struct gl_context *ctx, GLuint buffer, + GLenum modeRGB, GLenum modeA); + /** Specify pixel arithmetic */ + void (*BlendFuncSeparate)(struct gl_context *ctx, + GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA); + void (*BlendFuncSeparatei)(struct gl_context *ctx, GLuint buffer, + GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA); + /** Specify clear values for the color buffers */ + void (*ClearColor)(struct gl_context *ctx, const GLfloat color[4]); + /** Specify the clear value for the depth buffer */ + void (*ClearDepth)(struct gl_context *ctx, GLclampd d); + /** Specify the clear value for the stencil buffer */ + void (*ClearStencil)(struct gl_context *ctx, GLint s); + /** Specify a plane against which all geometry is clipped */ + void (*ClipPlane)(struct gl_context *ctx, GLenum plane, const GLfloat *equation ); + /** Enable and disable writing of frame buffer color components */ + void (*ColorMask)(struct gl_context *ctx, GLboolean rmask, GLboolean gmask, + GLboolean bmask, GLboolean amask ); + void (*ColorMaskIndexed)(struct gl_context *ctx, GLuint buf, GLboolean rmask, + GLboolean gmask, GLboolean bmask, GLboolean amask); + /** Cause a material color to track the current color */ + void (*ColorMaterial)(struct gl_context *ctx, GLenum face, GLenum mode); + /** Specify whether front- or back-facing facets can be culled */ + void (*CullFace)(struct gl_context *ctx, GLenum mode); + /** Define front- and back-facing polygons */ + void (*FrontFace)(struct gl_context *ctx, GLenum mode); + /** Specify the value used for depth buffer comparisons */ + void (*DepthFunc)(struct gl_context *ctx, GLenum func); + /** Enable or disable writing into the depth buffer */ + void (*DepthMask)(struct gl_context *ctx, GLboolean flag); + /** Specify mapping of depth values from NDC to window coordinates */ + void (*DepthRange)(struct gl_context *ctx, GLclampd nearval, GLclampd farval); + /** Specify the current buffer for writing */ + void (*DrawBuffer)( struct gl_context *ctx, GLenum buffer ); + /** Specify the buffers for writing for fragment programs*/ + void (*DrawBuffers)( struct gl_context *ctx, GLsizei n, const GLenum *buffers ); + /** Enable or disable server-side gl capabilities */ + void (*Enable)(struct gl_context *ctx, GLenum cap, GLboolean state); + /** Specify fog parameters */ + void (*Fogfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params); + /** Specify implementation-specific hints */ + void (*Hint)(struct gl_context *ctx, GLenum target, GLenum mode); + /** Set light source parameters. + * Note: for GL_POSITION and GL_SPOT_DIRECTION, params will have already + * been transformed to eye-space. + */ + void (*Lightfv)(struct gl_context *ctx, GLenum light, + GLenum pname, const GLfloat *params ); + /** Set the lighting model parameters */ + void (*LightModelfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params); + /** Specify the line stipple pattern */ + void (*LineStipple)(struct gl_context *ctx, GLint factor, GLushort pattern ); + /** Specify the width of rasterized lines */ + void (*LineWidth)(struct gl_context *ctx, GLfloat width); + /** Specify a logical pixel operation for color index rendering */ + void (*LogicOpcode)(struct gl_context *ctx, GLenum opcode); + void (*PointParameterfv)(struct gl_context *ctx, GLenum pname, + const GLfloat *params); + /** Specify the diameter of rasterized points */ + void (*PointSize)(struct gl_context *ctx, GLfloat size); + /** Select a polygon rasterization mode */ + void (*PolygonMode)(struct gl_context *ctx, GLenum face, GLenum mode); + /** Set the scale and units used to calculate depth values */ + void (*PolygonOffset)(struct gl_context *ctx, GLfloat factor, GLfloat units); + /** Set the polygon stippling pattern */ + void (*PolygonStipple)(struct gl_context *ctx, const GLubyte *mask ); + /* Specifies the current buffer for reading */ + void (*ReadBuffer)( struct gl_context *ctx, GLenum buffer ); + /** Set rasterization mode */ + void (*RenderMode)(struct gl_context *ctx, GLenum mode ); + /** Define the scissor box */ + void (*Scissor)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h); + /** Select flat or smooth shading */ + void (*ShadeModel)(struct gl_context *ctx, GLenum mode); + /** OpenGL 2.0 two-sided StencilFunc */ + void (*StencilFuncSeparate)(struct gl_context *ctx, GLenum face, GLenum func, + GLint ref, GLuint mask); + /** OpenGL 2.0 two-sided StencilMask */ + void (*StencilMaskSeparate)(struct gl_context *ctx, GLenum face, GLuint mask); + /** OpenGL 2.0 two-sided StencilOp */ + void (*StencilOpSeparate)(struct gl_context *ctx, GLenum face, GLenum fail, + GLenum zfail, GLenum zpass); + /** Control the generation of texture coordinates */ + void (*TexGen)(struct gl_context *ctx, GLenum coord, GLenum pname, + const GLfloat *params); + /** Set texture environment parameters */ + void (*TexEnv)(struct gl_context *ctx, GLenum target, GLenum pname, + const GLfloat *param); + /** Set texture parameters */ + void (*TexParameter)(struct gl_context *ctx, GLenum target, + struct gl_texture_object *texObj, + GLenum pname, const GLfloat *params); + /** Set the viewport */ + void (*Viewport)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h); + /*@}*/ + + + /** + * \name Vertex/pixel buffer object functions + */ + /*@{*/ + void (*BindBuffer)( struct gl_context *ctx, GLenum target, + struct gl_buffer_object *obj ); + + struct gl_buffer_object * (*NewBufferObject)( struct gl_context *ctx, GLuint buffer, + GLenum target ); + + void (*DeleteBuffer)( struct gl_context *ctx, struct gl_buffer_object *obj ); + + GLboolean (*BufferData)( struct gl_context *ctx, GLenum target, GLsizeiptrARB size, + const GLvoid *data, GLenum usage, + struct gl_buffer_object *obj ); + + void (*BufferSubData)( struct gl_context *ctx, GLenum target, GLintptrARB offset, + GLsizeiptrARB size, const GLvoid *data, + struct gl_buffer_object *obj ); + + void (*GetBufferSubData)( struct gl_context *ctx, GLenum target, + GLintptrARB offset, GLsizeiptrARB size, + GLvoid *data, struct gl_buffer_object *obj ); + + void * (*MapBuffer)( struct gl_context *ctx, GLenum target, GLenum access, + struct gl_buffer_object *obj ); + + void (*CopyBufferSubData)( struct gl_context *ctx, + struct gl_buffer_object *src, + struct gl_buffer_object *dst, + GLintptr readOffset, GLintptr writeOffset, + GLsizeiptr size ); + + /* May return NULL if MESA_MAP_NOWAIT_BIT is set in access: + */ + void * (*MapBufferRange)( struct gl_context *ctx, GLenum target, GLintptr offset, + GLsizeiptr length, GLbitfield access, + struct gl_buffer_object *obj); + + void (*FlushMappedBufferRange)(struct gl_context *ctx, GLenum target, + GLintptr offset, GLsizeiptr length, + struct gl_buffer_object *obj); + + GLboolean (*UnmapBuffer)( struct gl_context *ctx, GLenum target, + struct gl_buffer_object *obj ); + /*@}*/ + + /** + * \name Functions for GL_APPLE_object_purgeable + */ + /*@{*/ + /* variations on ObjectPurgeable */ + GLenum (*BufferObjectPurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option ); + GLenum (*RenderObjectPurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option ); + GLenum (*TextureObjectPurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option ); + + /* variations on ObjectUnpurgeable */ + GLenum (*BufferObjectUnpurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option ); + GLenum (*RenderObjectUnpurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option ); + GLenum (*TextureObjectUnpurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option ); + /*@}*/ + + /** + * \name Functions for GL_EXT_framebuffer_{object,blit}. + */ + /*@{*/ + struct gl_framebuffer * (*NewFramebuffer)(struct gl_context *ctx, GLuint name); + struct gl_renderbuffer * (*NewRenderbuffer)(struct gl_context *ctx, GLuint name); + void (*BindFramebuffer)(struct gl_context *ctx, GLenum target, + struct gl_framebuffer *drawFb, + struct gl_framebuffer *readFb); + void (*FramebufferRenderbuffer)(struct gl_context *ctx, + struct gl_framebuffer *fb, + GLenum attachment, + struct gl_renderbuffer *rb); + void (*RenderTexture)(struct gl_context *ctx, + struct gl_framebuffer *fb, + struct gl_renderbuffer_attachment *att); + void (*FinishRenderTexture)(struct gl_context *ctx, + struct gl_renderbuffer_attachment *att); + void (*ValidateFramebuffer)(struct gl_context *ctx, + struct gl_framebuffer *fb); + /*@}*/ + void (*BlitFramebuffer)(struct gl_context *ctx, + GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, + GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, + GLbitfield mask, GLenum filter); + + /** + * \name Query objects + */ + /*@{*/ + struct gl_query_object * (*NewQueryObject)(struct gl_context *ctx, GLuint id); + void (*DeleteQuery)(struct gl_context *ctx, struct gl_query_object *q); + void (*BeginQuery)(struct gl_context *ctx, struct gl_query_object *q); + void (*EndQuery)(struct gl_context *ctx, struct gl_query_object *q); + void (*CheckQuery)(struct gl_context *ctx, struct gl_query_object *q); + void (*WaitQuery)(struct gl_context *ctx, struct gl_query_object *q); + /*@}*/ + + + /** + * \name Vertex Array objects + */ + /*@{*/ + struct gl_array_object * (*NewArrayObject)(struct gl_context *ctx, GLuint id); + void (*DeleteArrayObject)(struct gl_context *ctx, struct gl_array_object *obj); + void (*BindArrayObject)(struct gl_context *ctx, struct gl_array_object *obj); + /*@}*/ + + /** + * \name GLSL-related functions (ARB extensions and OpenGL 2.x) + */ + /*@{*/ + struct gl_shader *(*NewShader)(struct gl_context *ctx, GLuint name, GLenum type); + void (*DeleteShader)(struct gl_context *ctx, struct gl_shader *shader); + struct gl_shader_program *(*NewShaderProgram)(struct gl_context *ctx, GLuint name); + void (*DeleteShaderProgram)(struct gl_context *ctx, + struct gl_shader_program *shProg); + void (*UseProgram)(struct gl_context *ctx, struct gl_shader_program *shProg); + /*@}*/ + + + /** + * \name Support for multiple T&L engines + */ + /*@{*/ + + /** + * Bitmask of state changes that require the current T&L module to be + * validated, using ValidateTnlModule() below. + */ + GLuint NeedValidate; + + /** + * Validate the current T&L module. + * + * This is called directly after UpdateState() when a state change that has + * occurred matches the dd_function_table::NeedValidate bitmask above. This + * ensures all computed values are up to date, thus allowing the driver to + * decide if the current T&L module needs to be swapped out. + * + * This must be non-NULL if a driver installs a custom T&L module and sets + * the dd_function_table::NeedValidate bitmask, but may be NULL otherwise. + */ + void (*ValidateTnlModule)( struct gl_context *ctx, GLuint new_state ); + + /** + * Set by the driver-supplied T&L engine. + * + * Set to PRIM_OUTSIDE_BEGIN_END when outside glBegin()/glEnd(). + */ + GLuint CurrentExecPrimitive; + + /** + * Current state of an in-progress compilation. + * + * May take on any of the additional values PRIM_OUTSIDE_BEGIN_END, + * PRIM_INSIDE_UNKNOWN_PRIM or PRIM_UNKNOWN defined above. + */ + GLuint CurrentSavePrimitive; + + +#define FLUSH_STORED_VERTICES 0x1 +#define FLUSH_UPDATE_CURRENT 0x2 + /** + * Set by the driver-supplied T&L engine whenever vertices are buffered + * between glBegin()/glEnd() objects or __struct gl_contextRec::Current is not + * updated. + * + * The dd_function_table::FlushVertices call below may be used to resolve + * these conditions. + */ + GLuint NeedFlush; + GLuint SaveNeedFlush; + + + /* Called prior to any of the GLvertexformat functions being + * called. Paired with Driver.FlushVertices(). + */ + void (*BeginVertices)( struct gl_context *ctx ); + + /** + * If inside glBegin()/glEnd(), it should ASSERT(0). Otherwise, if + * FLUSH_STORED_VERTICES bit in \p flags is set flushes any buffered + * vertices, if FLUSH_UPDATE_CURRENT bit is set updates + * __struct gl_contextRec::Current and gl_light_attrib::Material + * + * Note that the default T&L engine never clears the + * FLUSH_UPDATE_CURRENT bit, even after performing the update. + */ + void (*FlushVertices)( struct gl_context *ctx, GLuint flags ); + void (*SaveFlushVertices)( struct gl_context *ctx ); + + /** + * Give the driver the opportunity to hook in its own vtxfmt for + * compiling optimized display lists. This is called on each valid + * glBegin() during list compilation. + */ + GLboolean (*NotifySaveBegin)( struct gl_context *ctx, GLenum mode ); + + /** + * Notify driver that the special derived value _NeedEyeCoords has + * changed. + */ + void (*LightingSpaceChange)( struct gl_context *ctx ); + + /** + * Called by glNewList(). + * + * Let the T&L component know what is going on with display lists + * in time to make changes to dispatch tables, etc. + */ + void (*NewList)( struct gl_context *ctx, GLuint list, GLenum mode ); + /** + * Called by glEndList(). + * + * \sa dd_function_table::NewList. + */ + void (*EndList)( struct gl_context *ctx ); + + /** + * Called by glCallList(s). + * + * Notify the T&L component before and after calling a display list. + */ + void (*BeginCallList)( struct gl_context *ctx, + struct gl_display_list *dlist ); + /** + * Called by glEndCallList(). + * + * \sa dd_function_table::BeginCallList. + */ + void (*EndCallList)( struct gl_context *ctx ); + + + /** + * \name GL_ARB_sync interfaces + */ + /*@{*/ + struct gl_sync_object * (*NewSyncObject)(struct gl_context *, GLenum); + void (*FenceSync)(struct gl_context *, struct gl_sync_object *, GLenum, GLbitfield); + void (*DeleteSyncObject)(struct gl_context *, struct gl_sync_object *); + void (*CheckSync)(struct gl_context *, struct gl_sync_object *); + void (*ClientWaitSync)(struct gl_context *, struct gl_sync_object *, + GLbitfield, GLuint64); + void (*ServerWaitSync)(struct gl_context *, struct gl_sync_object *, + GLbitfield, GLuint64); + /*@}*/ + + /** GL_NV_conditional_render */ + void (*BeginConditionalRender)(struct gl_context *ctx, struct gl_query_object *q, + GLenum mode); + void (*EndConditionalRender)(struct gl_context *ctx, struct gl_query_object *q); + + /** + * \name GL_OES_draw_texture interface + */ + /*@{*/ + void (*DrawTex)(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z, + GLfloat width, GLfloat height); + /*@}*/ + + /** + * \name GL_OES_EGL_image interface + */ + void (*EGLImageTargetTexture2D)(struct gl_context *ctx, GLenum target, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage, + GLeglImageOES image_handle); + void (*EGLImageTargetRenderbufferStorage)(struct gl_context *ctx, + struct gl_renderbuffer *rb, + void *image_handle); + + /** + * \name GL_EXT_transform_feedback interface + */ + struct gl_transform_feedback_object * + (*NewTransformFeedback)(struct gl_context *ctx, GLuint name); + void (*DeleteTransformFeedback)(struct gl_context *ctx, + struct gl_transform_feedback_object *obj); + void (*BeginTransformFeedback)(struct gl_context *ctx, GLenum mode, + struct gl_transform_feedback_object *obj); + void (*EndTransformFeedback)(struct gl_context *ctx, + struct gl_transform_feedback_object *obj); + void (*PauseTransformFeedback)(struct gl_context *ctx, + struct gl_transform_feedback_object *obj); + void (*ResumeTransformFeedback)(struct gl_context *ctx, + struct gl_transform_feedback_object *obj); + void (*DrawTransformFeedback)(struct gl_context *ctx, GLenum mode, + struct gl_transform_feedback_object *obj); +}; + + +/** + * Transform/Clip/Lighting interface + * + * Drivers present a reduced set of the functions possible in + * glBegin()/glEnd() objects. Core mesa provides translation stubs for the + * remaining functions to map down to these entry points. + * + * These are the initial values to be installed into dispatch by + * mesa. If the T&L driver wants to modify the dispatch table + * while installed, it must do so itself. It would be possible for + * the vertexformat to install its own initial values for these + * functions, but this way there is an obvious list of what is + * expected of the driver. + * + * If the driver wants to hook in entry points other than those + * listed, it must restore them to their original values in + * the disable() callback, below. + */ +typedef struct { + /** + * \name Vertex + */ + /*@{*/ + void (GLAPIENTRYP ArrayElement)( GLint ); + void (GLAPIENTRYP Color3f)( GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP Color3fv)( const GLfloat * ); + void (GLAPIENTRYP Color4f)( GLfloat, GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP Color4fv)( const GLfloat * ); + void (GLAPIENTRYP EdgeFlag)( GLboolean ); + void (GLAPIENTRYP EvalCoord1f)( GLfloat ); + void (GLAPIENTRYP EvalCoord1fv)( const GLfloat * ); + void (GLAPIENTRYP EvalCoord2f)( GLfloat, GLfloat ); + void (GLAPIENTRYP EvalCoord2fv)( const GLfloat * ); + void (GLAPIENTRYP EvalPoint1)( GLint ); + void (GLAPIENTRYP EvalPoint2)( GLint, GLint ); + void (GLAPIENTRYP FogCoordfEXT)( GLfloat ); + void (GLAPIENTRYP FogCoordfvEXT)( const GLfloat * ); + void (GLAPIENTRYP Indexf)( GLfloat ); + void (GLAPIENTRYP Indexfv)( const GLfloat * ); + void (GLAPIENTRYP Materialfv)( GLenum face, GLenum pname, const GLfloat * ); + void (GLAPIENTRYP MultiTexCoord1fARB)( GLenum, GLfloat ); + void (GLAPIENTRYP MultiTexCoord1fvARB)( GLenum, const GLfloat * ); + void (GLAPIENTRYP MultiTexCoord2fARB)( GLenum, GLfloat, GLfloat ); + void (GLAPIENTRYP MultiTexCoord2fvARB)( GLenum, const GLfloat * ); + void (GLAPIENTRYP MultiTexCoord3fARB)( GLenum, GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP MultiTexCoord3fvARB)( GLenum, const GLfloat * ); + void (GLAPIENTRYP MultiTexCoord4fARB)( GLenum, GLfloat, GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP MultiTexCoord4fvARB)( GLenum, const GLfloat * ); + void (GLAPIENTRYP Normal3f)( GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP Normal3fv)( const GLfloat * ); + void (GLAPIENTRYP SecondaryColor3fEXT)( GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP SecondaryColor3fvEXT)( const GLfloat * ); + void (GLAPIENTRYP TexCoord1f)( GLfloat ); + void (GLAPIENTRYP TexCoord1fv)( const GLfloat * ); + void (GLAPIENTRYP TexCoord2f)( GLfloat, GLfloat ); + void (GLAPIENTRYP TexCoord2fv)( const GLfloat * ); + void (GLAPIENTRYP TexCoord3f)( GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP TexCoord3fv)( const GLfloat * ); + void (GLAPIENTRYP TexCoord4f)( GLfloat, GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP TexCoord4fv)( const GLfloat * ); + void (GLAPIENTRYP Vertex2f)( GLfloat, GLfloat ); + void (GLAPIENTRYP Vertex2fv)( const GLfloat * ); + void (GLAPIENTRYP Vertex3f)( GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP Vertex3fv)( const GLfloat * ); + void (GLAPIENTRYP Vertex4f)( GLfloat, GLfloat, GLfloat, GLfloat ); + void (GLAPIENTRYP Vertex4fv)( const GLfloat * ); + void (GLAPIENTRYP CallList)( GLuint ); + void (GLAPIENTRYP CallLists)( GLsizei, GLenum, const GLvoid * ); + void (GLAPIENTRYP Begin)( GLenum ); + void (GLAPIENTRYP End)( void ); + void (GLAPIENTRYP PrimitiveRestartNV)( void ); + /* GL_NV_vertex_program */ + void (GLAPIENTRYP VertexAttrib1fNV)( GLuint index, GLfloat x ); + void (GLAPIENTRYP VertexAttrib1fvNV)( GLuint index, const GLfloat *v ); + void (GLAPIENTRYP VertexAttrib2fNV)( GLuint index, GLfloat x, GLfloat y ); + void (GLAPIENTRYP VertexAttrib2fvNV)( GLuint index, const GLfloat *v ); + void (GLAPIENTRYP VertexAttrib3fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z ); + void (GLAPIENTRYP VertexAttrib3fvNV)( GLuint index, const GLfloat *v ); + void (GLAPIENTRYP VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); + void (GLAPIENTRYP VertexAttrib4fvNV)( GLuint index, const GLfloat *v ); + /* GL_ARB_vertex_program */ + void (GLAPIENTRYP VertexAttrib1fARB)( GLuint index, GLfloat x ); + void (GLAPIENTRYP VertexAttrib1fvARB)( GLuint index, const GLfloat *v ); + void (GLAPIENTRYP VertexAttrib2fARB)( GLuint index, GLfloat x, GLfloat y ); + void (GLAPIENTRYP VertexAttrib2fvARB)( GLuint index, const GLfloat *v ); + void (GLAPIENTRYP VertexAttrib3fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z ); + void (GLAPIENTRYP VertexAttrib3fvARB)( GLuint index, const GLfloat *v ); + void (GLAPIENTRYP VertexAttrib4fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); + void (GLAPIENTRYP VertexAttrib4fvARB)( GLuint index, const GLfloat *v ); + + /* GL_EXT_gpu_shader4 / GL 3.0 */ + void (GLAPIENTRYP VertexAttribI1i)( GLuint index, GLint x); + void (GLAPIENTRYP VertexAttribI2i)( GLuint index, GLint x, GLint y); + void (GLAPIENTRYP VertexAttribI3i)( GLuint index, GLint x, GLint y, GLint z); + void (GLAPIENTRYP VertexAttribI4i)( GLuint index, GLint x, GLint y, GLint z, GLint w); + void (GLAPIENTRYP VertexAttribI2iv)( GLuint index, const GLint *v); + void (GLAPIENTRYP VertexAttribI3iv)( GLuint index, const GLint *v); + void (GLAPIENTRYP VertexAttribI4iv)( GLuint index, const GLint *v); + + void (GLAPIENTRYP VertexAttribI1ui)( GLuint index, GLuint x); + void (GLAPIENTRYP VertexAttribI2ui)( GLuint index, GLuint x, GLuint y); + void (GLAPIENTRYP VertexAttribI3ui)( GLuint index, GLuint x, GLuint y, GLuint z); + void (GLAPIENTRYP VertexAttribI4ui)( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); + void (GLAPIENTRYP VertexAttribI2uiv)( GLuint index, const GLuint *v); + void (GLAPIENTRYP VertexAttribI3uiv)( GLuint index, const GLuint *v); + void (GLAPIENTRYP VertexAttribI4uiv)( GLuint index, const GLuint *v); + + /*@}*/ + + void (GLAPIENTRYP Rectf)( GLfloat, GLfloat, GLfloat, GLfloat ); + + /** + * \name Array + */ + /*@{*/ + void (GLAPIENTRYP DrawArrays)( GLenum mode, GLint start, GLsizei count ); + void (GLAPIENTRYP DrawElements)( GLenum mode, GLsizei count, GLenum type, + const GLvoid *indices ); + void (GLAPIENTRYP DrawRangeElements)( GLenum mode, GLuint start, + GLuint end, GLsizei count, + GLenum type, const GLvoid *indices ); + void (GLAPIENTRYP MultiDrawElementsEXT)( GLenum mode, const GLsizei *count, + GLenum type, + const GLvoid **indices, + GLsizei primcount); + void (GLAPIENTRYP DrawElementsBaseVertex)( GLenum mode, GLsizei count, + GLenum type, + const GLvoid *indices, + GLint basevertex ); + void (GLAPIENTRYP DrawRangeElementsBaseVertex)( GLenum mode, GLuint start, + GLuint end, GLsizei count, + GLenum type, + const GLvoid *indices, + GLint basevertex); + void (GLAPIENTRYP MultiDrawElementsBaseVertex)( GLenum mode, + const GLsizei *count, + GLenum type, + const GLvoid **indices, + GLsizei primcount, + const GLint *basevertex); + void (GLAPIENTRYP DrawArraysInstanced)(GLenum mode, GLint first, + GLsizei count, GLsizei primcount); + void (GLAPIENTRYP DrawElementsInstanced)(GLenum mode, GLsizei count, + GLenum type, const GLvoid *indices, + GLsizei primcount); + /*@}*/ + + /** + * \name Eval + * + * If you don't support eval, fallback to the default vertex format + * on receiving an eval call and use the pipeline mechanism to + * provide partial T&L acceleration. + * + * Mesa will provide a set of helper functions to do eval within + * accelerated vertex formats, eventually... + */ + /*@{*/ + void (GLAPIENTRYP EvalMesh1)( GLenum mode, GLint i1, GLint i2 ); + void (GLAPIENTRYP EvalMesh2)( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ); + /*@}*/ + +} GLvertexformat; + + +#endif /* DD_INCLUDED */ diff --git a/mesalib/src/mesa/main/debug.c b/mesalib/src/mesa/main/debug.c index f0752d1a3..a6a909b48 100644 --- a/mesalib/src/mesa/main/debug.c +++ b/mesalib/src/mesa/main/debug.c @@ -1,633 +1,613 @@ -/*
- * Mesa 3-D graphics library
- * Version: 6.5
- *
- * Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
- * Copyright (C) 2009 VMware, 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, 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
- * BRIAN PAUL 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 "mtypes.h"
-#include "attrib.h"
-#include "colormac.h"
-#include "enums.h"
-#include "formats.h"
-#include "hash.h"
-#include "imports.h"
-#include "debug.h"
-#include "get.h"
-#include "pixelstore.h"
-#include "readpix.h"
-#include "texobj.h"
-
-
-/**
- * Primitive names
- */
-const char *_mesa_prim_name[GL_POLYGON+4] = {
- "GL_POINTS",
- "GL_LINES",
- "GL_LINE_LOOP",
- "GL_LINE_STRIP",
- "GL_TRIANGLES",
- "GL_TRIANGLE_STRIP",
- "GL_TRIANGLE_FAN",
- "GL_QUADS",
- "GL_QUAD_STRIP",
- "GL_POLYGON",
- "outside begin/end",
- "inside unknown primitive",
- "unknown state"
-};
-
-
-static const char *
-tex_target_name(GLenum tgt)
-{
- static const struct {
- GLenum target;
- const char *name;
- } tex_targets[] = {
- { GL_TEXTURE_1D, "GL_TEXTURE_1D" },
- { GL_TEXTURE_2D, "GL_TEXTURE_2D" },
- { GL_TEXTURE_3D, "GL_TEXTURE_3D" },
- { GL_TEXTURE_CUBE_MAP, "GL_TEXTURE_CUBE_MAP" },
- { GL_TEXTURE_RECTANGLE, "GL_TEXTURE_RECTANGLE" },
- { GL_TEXTURE_1D_ARRAY_EXT, "GL_TEXTURE_1D_ARRAY" },
- { GL_TEXTURE_2D_ARRAY_EXT, "GL_TEXTURE_2D_ARRAY" }
- };
- GLuint i;
- for (i = 0; i < Elements(tex_targets); i++) {
- if (tex_targets[i].target == tgt)
- return tex_targets[i].name;
- }
- return "UNKNOWN TEX TARGET";
-}
-
-
-void
-_mesa_print_state( const char *msg, GLuint state )
-{
- _mesa_debug(NULL,
- "%s: (0x%x) %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
- msg,
- state,
- (state & _NEW_MODELVIEW) ? "ctx->ModelView, " : "",
- (state & _NEW_PROJECTION) ? "ctx->Projection, " : "",
- (state & _NEW_TEXTURE_MATRIX) ? "ctx->TextureMatrix, " : "",
- (state & _NEW_ACCUM) ? "ctx->Accum, " : "",
- (state & _NEW_COLOR) ? "ctx->Color, " : "",
- (state & _NEW_DEPTH) ? "ctx->Depth, " : "",
- (state & _NEW_EVAL) ? "ctx->Eval/EvalMap, " : "",
- (state & _NEW_FOG) ? "ctx->Fog, " : "",
- (state & _NEW_HINT) ? "ctx->Hint, " : "",
- (state & _NEW_LIGHT) ? "ctx->Light, " : "",
- (state & _NEW_LINE) ? "ctx->Line, " : "",
- (state & _NEW_PIXEL) ? "ctx->Pixel, " : "",
- (state & _NEW_POINT) ? "ctx->Point, " : "",
- (state & _NEW_POLYGON) ? "ctx->Polygon, " : "",
- (state & _NEW_POLYGONSTIPPLE) ? "ctx->PolygonStipple, " : "",
- (state & _NEW_SCISSOR) ? "ctx->Scissor, " : "",
- (state & _NEW_STENCIL) ? "ctx->Stencil, " : "",
- (state & _NEW_TEXTURE) ? "ctx->Texture, " : "",
- (state & _NEW_TRANSFORM) ? "ctx->Transform, " : "",
- (state & _NEW_VIEWPORT) ? "ctx->Viewport, " : "",
- (state & _NEW_PACKUNPACK) ? "ctx->Pack/Unpack, " : "",
- (state & _NEW_ARRAY) ? "ctx->Array, " : "",
- (state & _NEW_RENDERMODE) ? "ctx->RenderMode, " : "",
- (state & _NEW_BUFFERS) ? "ctx->Visual, ctx->DrawBuffer,, " : "");
-}
-
-
-
-void
-_mesa_print_tri_caps( const char *name, GLuint flags )
-{
- _mesa_debug(NULL,
- "%s: (0x%x) %s%s%s%s%s%s%s%s%s%s%s%s%s\n",
- name,
- flags,
- (flags & DD_FLATSHADE) ? "flat-shade, " : "",
- (flags & DD_SEPARATE_SPECULAR) ? "separate-specular, " : "",
- (flags & DD_TRI_LIGHT_TWOSIDE) ? "tri-light-twoside, " : "",
- (flags & DD_TRI_TWOSTENCIL) ? "tri-twostencil, " : "",
- (flags & DD_TRI_UNFILLED) ? "tri-unfilled, " : "",
- (flags & DD_TRI_STIPPLE) ? "tri-stipple, " : "",
- (flags & DD_TRI_OFFSET) ? "tri-offset, " : "",
- (flags & DD_TRI_SMOOTH) ? "tri-smooth, " : "",
- (flags & DD_LINE_SMOOTH) ? "line-smooth, " : "",
- (flags & DD_LINE_STIPPLE) ? "line-stipple, " : "",
- (flags & DD_POINT_SMOOTH) ? "point-smooth, " : "",
- (flags & DD_POINT_ATTEN) ? "point-atten, " : "",
- (flags & DD_TRI_CULL_FRONT_BACK) ? "cull-all, " : ""
- );
-}
-
-
-/**
- * Print information about this Mesa version and build options.
- */
-void _mesa_print_info( void )
-{
- _mesa_debug(NULL, "Mesa GL_VERSION = %s\n",
- (char *) _mesa_GetString(GL_VERSION));
- _mesa_debug(NULL, "Mesa GL_RENDERER = %s\n",
- (char *) _mesa_GetString(GL_RENDERER));
- _mesa_debug(NULL, "Mesa GL_VENDOR = %s\n",
- (char *) _mesa_GetString(GL_VENDOR));
- _mesa_debug(NULL, "Mesa GL_EXTENSIONS = %s\n",
- (char *) _mesa_GetString(GL_EXTENSIONS));
-#if defined(THREADS)
- _mesa_debug(NULL, "Mesa thread-safe: YES\n");
-#else
- _mesa_debug(NULL, "Mesa thread-safe: NO\n");
-#endif
-#if defined(USE_X86_ASM)
- _mesa_debug(NULL, "Mesa x86-optimized: YES\n");
-#else
- _mesa_debug(NULL, "Mesa x86-optimized: NO\n");
-#endif
-#if defined(USE_SPARC_ASM)
- _mesa_debug(NULL, "Mesa sparc-optimized: YES\n");
-#else
- _mesa_debug(NULL, "Mesa sparc-optimized: NO\n");
-#endif
-}
-
-
-/**
- * Set the debugging flags.
- *
- * \param debug debug string
- *
- * If compiled with debugging support then search for keywords in \p debug and
- * enables the verbose debug output of the respective feature.
- */
-static void add_debug_flags( const char *debug )
-{
-#ifdef DEBUG
- struct debug_option {
- const char *name;
- GLbitfield flag;
- };
- static const struct debug_option debug_opt[] = {
- { "varray", VERBOSE_VARRAY },
- { "tex", VERBOSE_TEXTURE },
- { "mat", VERBOSE_MATERIAL },
- { "pipe", VERBOSE_PIPELINE },
- { "driver", VERBOSE_DRIVER },
- { "state", VERBOSE_STATE },
- { "api", VERBOSE_API },
- { "list", VERBOSE_DISPLAY_LIST },
- { "lighting", VERBOSE_LIGHTING },
- { "disassem", VERBOSE_DISASSEM },
- { "draw", VERBOSE_DRAW },
- { "swap", VERBOSE_SWAPBUFFERS }
- };
- GLuint i;
-
- MESA_VERBOSE = 0x0;
- for (i = 0; i < Elements(debug_opt); i++) {
- if (strstr(debug, debug_opt[i].name))
- MESA_VERBOSE |= debug_opt[i].flag;
- }
-
- /* Debug flag:
- */
- if (strstr(debug, "flush"))
- MESA_DEBUG_FLAGS |= DEBUG_ALWAYS_FLUSH;
-
-#if defined(_FPU_GETCW) && defined(_FPU_SETCW)
- if (strstr(debug, "fpexceptions")) {
- /* raise FP exceptions */
- fpu_control_t mask;
- _FPU_GETCW(mask);
- mask &= ~(_FPU_MASK_IM | _FPU_MASK_DM | _FPU_MASK_ZM
- | _FPU_MASK_OM | _FPU_MASK_UM);
- _FPU_SETCW(mask);
- }
-#endif
-
-#else
- (void) debug;
-#endif
-}
-
-
-void
-_mesa_init_debug( struct gl_context *ctx )
-{
- char *c;
-
- /* Dither disable */
- ctx->NoDither = _mesa_getenv("MESA_NO_DITHER") ? GL_TRUE : GL_FALSE;
- if (ctx->NoDither) {
- if (_mesa_getenv("MESA_DEBUG")) {
- _mesa_debug(ctx, "MESA_NO_DITHER set - dithering disabled\n");
- }
- ctx->Color.DitherFlag = GL_FALSE;
- }
-
- c = _mesa_getenv("MESA_DEBUG");
- if (c)
- add_debug_flags(c);
-
- c = _mesa_getenv("MESA_VERBOSE");
- if (c)
- add_debug_flags(c);
-}
-
-
-/*
- * Write ppm file
- */
-static void
-write_ppm(const char *filename, const GLubyte *buffer, int width, int height,
- int comps, int rcomp, int gcomp, int bcomp, GLboolean invert)
-{
- FILE *f = fopen( filename, "w" );
- if (f) {
- int x, y;
- const GLubyte *ptr = buffer;
- fprintf(f,"P6\n");
- fprintf(f,"# ppm-file created by osdemo.c\n");
- fprintf(f,"%i %i\n", width,height);
- fprintf(f,"255\n");
- fclose(f);
- f = fopen( filename, "ab" ); /* reopen in binary append mode */
- for (y=0; y < height; y++) {
- for (x = 0; x < width; x++) {
- int yy = invert ? (height - 1 - y) : y;
- int i = (yy * width + x) * comps;
- fputc(ptr[i+rcomp], f); /* write red */
- fputc(ptr[i+gcomp], f); /* write green */
- fputc(ptr[i+bcomp], f); /* write blue */
- }
- }
- fclose(f);
- }
-}
-
-
-/**
- * Write a texture image to a ppm file.
- * \param face cube face in [0,5]
- * \param level mipmap level
- */
-static void
-write_texture_image(struct gl_texture_object *texObj,
- GLuint face, GLuint level)
-{
- struct gl_texture_image *img = texObj->Image[face][level];
- if (img) {
- GET_CURRENT_CONTEXT(ctx);
- struct gl_pixelstore_attrib store;
- GLubyte *buffer;
- char s[100];
-
- buffer = (GLubyte *) malloc(img->Width * img->Height
- * img->Depth * 4);
-
- store = ctx->Pack; /* save */
- ctx->Pack = ctx->DefaultPacking;
-
- ctx->Driver.GetTexImage(ctx, texObj->Target, level,
- GL_RGBA, GL_UNSIGNED_BYTE,
- buffer, texObj, img);
-
- /* make filename */
- _mesa_snprintf(s, sizeof(s), "/tmp/tex%u.l%u.f%u.ppm", texObj->Name, level, face);
-
- printf(" Writing image level %u to %s\n", level, s);
- write_ppm(s, buffer, img->Width, img->Height, 4, 0, 1, 2, GL_FALSE);
-
- ctx->Pack = store; /* restore */
-
- free(buffer);
- }
-}
-
-
-/**
- * Write renderbuffer image to a ppm file.
- */
-static void
-write_renderbuffer_image(const struct gl_renderbuffer *rb)
-{
- GET_CURRENT_CONTEXT(ctx);
- GLubyte *buffer;
- char s[100];
- GLenum format, type;
-
- if (rb->_BaseFormat == GL_RGB ||
- rb->_BaseFormat == GL_RGBA) {
- format = GL_RGBA;
- type = GL_UNSIGNED_BYTE;
- }
- else if (rb->_BaseFormat == GL_DEPTH_STENCIL) {
- format = GL_DEPTH_STENCIL;
- type = GL_UNSIGNED_INT_24_8;
- }
- else {
- return;
- }
-
- buffer = (GLubyte *) malloc(rb->Width * rb->Height * 4);
-
- ctx->Driver.ReadPixels(ctx, 0, 0, rb->Width, rb->Height,
- format, type, &ctx->DefaultPacking, buffer);
-
- /* make filename */
- _mesa_snprintf(s, sizeof(s), "/tmp/renderbuffer%u.ppm", rb->Name);
-
- printf(" Writing renderbuffer image to %s\n", s);
- write_ppm(s, buffer, rb->Width, rb->Height, 4, 0, 1, 2, GL_TRUE);
-
- free(buffer);
-}
-
-
-/** How many texture images (mipmap levels, faces) to write to files */
-#define WRITE_NONE 0
-#define WRITE_ONE 1
-#define WRITE_ALL 2
-
-static GLuint WriteImages;
-
-
-static void
-dump_texture(struct gl_texture_object *texObj, GLuint writeImages)
-{
- const GLuint numFaces = texObj->Target == GL_TEXTURE_CUBE_MAP ? 6 : 1;
- GLboolean written = GL_FALSE;
- GLuint i, j;
-
- printf("Texture %u\n", texObj->Name);
- printf(" Target %s\n", tex_target_name(texObj->Target));
- for (i = 0; i < MAX_TEXTURE_LEVELS; i++) {
- for (j = 0; j < numFaces; j++) {
- struct gl_texture_image *texImg = texObj->Image[j][i];
- if (texImg) {
- printf(" Face %u level %u: %d x %d x %d, format %s at %p\n",
- j, i,
- texImg->Width, texImg->Height, texImg->Depth,
- _mesa_get_format_name(texImg->TexFormat),
- texImg->Data);
- if (writeImages == WRITE_ALL ||
- (writeImages == WRITE_ONE && !written)) {
- write_texture_image(texObj, j, i);
- written = GL_TRUE;
- }
- }
- }
- }
-}
-
-
-/**
- * Dump a single texture.
- */
-void
-_mesa_dump_texture(GLuint texture, GLuint writeImages)
-{
- GET_CURRENT_CONTEXT(ctx);
- struct gl_texture_object *texObj = _mesa_lookup_texture(ctx, texture);
- if (texObj) {
- dump_texture(texObj, writeImages);
- }
-}
-
-
-static void
-dump_texture_cb(GLuint id, void *data, void *userData)
-{
- struct gl_texture_object *texObj = (struct gl_texture_object *) data;
- (void) userData;
- dump_texture(texObj, WriteImages);
-}
-
-
-/**
- * Print basic info about all texture objext to stdout.
- * If dumpImages is true, write PPM of level[0] image to a file.
- */
-void
-_mesa_dump_textures(GLuint writeImages)
-{
- GET_CURRENT_CONTEXT(ctx);
- WriteImages = writeImages;
- _mesa_HashWalk(ctx->Shared->TexObjects, dump_texture_cb, ctx);
-}
-
-
-static void
-dump_renderbuffer(const struct gl_renderbuffer *rb, GLboolean writeImage)
-{
- printf("Renderbuffer %u: %u x %u IntFormat = %s\n",
- rb->Name, rb->Width, rb->Height,
- _mesa_lookup_enum_by_nr(rb->InternalFormat));
- if (writeImage) {
- write_renderbuffer_image(rb);
- }
-}
-
-
-static void
-dump_renderbuffer_cb(GLuint id, void *data, void *userData)
-{
- const struct gl_renderbuffer *rb = (const struct gl_renderbuffer *) data;
- (void) userData;
- dump_renderbuffer(rb, WriteImages);
-}
-
-
-/**
- * Print basic info about all renderbuffers to stdout.
- * If dumpImages is true, write PPM of level[0] image to a file.
- */
-void
-_mesa_dump_renderbuffers(GLboolean writeImages)
-{
- GET_CURRENT_CONTEXT(ctx);
- WriteImages = writeImages;
- _mesa_HashWalk(ctx->Shared->RenderBuffers, dump_renderbuffer_cb, ctx);
-}
-
-
-
-void
-_mesa_dump_color_buffer(const char *filename)
-{
- GET_CURRENT_CONTEXT(ctx);
- const GLuint w = ctx->DrawBuffer->Width;
- const GLuint h = ctx->DrawBuffer->Height;
- GLubyte *buf;
-
- buf = (GLubyte *) malloc(w * h * 4);
-
- _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
- _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1);
- _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE);
-
- _mesa_ReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, buf);
-
- printf("ReadBuffer %p 0x%x DrawBuffer %p 0x%x\n",
- (void *) ctx->ReadBuffer->_ColorReadBuffer,
- ctx->ReadBuffer->ColorReadBuffer,
- (void *) ctx->DrawBuffer->_ColorDrawBuffers[0],
- ctx->DrawBuffer->ColorDrawBuffer[0]);
- printf("Writing %d x %d color buffer to %s\n", w, h, filename);
- write_ppm(filename, buf, w, h, 4, 0, 1, 2, GL_TRUE);
-
- _mesa_PopClientAttrib();
-
- free(buf);
-}
-
-
-void
-_mesa_dump_depth_buffer(const char *filename)
-{
- GET_CURRENT_CONTEXT(ctx);
- const GLuint w = ctx->DrawBuffer->Width;
- const GLuint h = ctx->DrawBuffer->Height;
- GLuint *buf;
- GLubyte *buf2;
- GLuint i;
-
- buf = (GLuint *) malloc(w * h * 4); /* 4 bpp */
- buf2 = (GLubyte *) malloc(w * h * 3); /* 3 bpp */
-
- _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
- _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1);
- _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE);
-
- _mesa_ReadPixels(0, 0, w, h, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, buf);
-
- /* spread 24 bits of Z across R, G, B */
- for (i = 0; i < w * h; i++) {
- buf2[i*3+0] = (buf[i] >> 24) & 0xff;
- buf2[i*3+1] = (buf[i] >> 16) & 0xff;
- buf2[i*3+2] = (buf[i] >> 8) & 0xff;
- }
-
- printf("Writing %d x %d depth buffer to %s\n", w, h, filename);
- write_ppm(filename, buf2, w, h, 3, 0, 1, 2, GL_TRUE);
-
- _mesa_PopClientAttrib();
-
- free(buf);
- free(buf2);
-}
-
-
-void
-_mesa_dump_stencil_buffer(const char *filename)
-{
- GET_CURRENT_CONTEXT(ctx);
- const GLuint w = ctx->DrawBuffer->Width;
- const GLuint h = ctx->DrawBuffer->Height;
- GLubyte *buf;
- GLubyte *buf2;
- GLuint i;
-
- buf = (GLubyte *) malloc(w * h); /* 1 bpp */
- buf2 = (GLubyte *) malloc(w * h * 3); /* 3 bpp */
-
- _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
- _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1);
- _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE);
-
- _mesa_ReadPixels(0, 0, w, h, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, buf);
-
- for (i = 0; i < w * h; i++) {
- buf2[i*3+0] = buf[i];
- buf2[i*3+1] = (buf[i] & 127) * 2;
- buf2[i*3+2] = (buf[i] - 128) * 2;
- }
-
- printf("Writing %d x %d stencil buffer to %s\n", w, h, filename);
- write_ppm(filename, buf2, w, h, 3, 0, 1, 2, GL_TRUE);
-
- _mesa_PopClientAttrib();
-
- free(buf);
- free(buf2);
-}
-
-
-/**
- * Quick and dirty function to "print" a texture to stdout.
- */
-void
-_mesa_print_texture(struct gl_context *ctx, const struct gl_texture_image *img)
-{
-#if CHAN_TYPE != GL_UNSIGNED_BYTE
- _mesa_problem(NULL, "PrintTexture not supported");
-#else
- GLuint i, j, c;
- const GLubyte *data = (const GLubyte *) img->Data;
-
- if (!data) {
- printf("No texture data\n");
- return;
- }
-
- /* XXX add more formats or make into a new format utility function */
- switch (img->TexFormat) {
- case MESA_FORMAT_A8:
- case MESA_FORMAT_L8:
- case MESA_FORMAT_I8:
- case MESA_FORMAT_CI8:
- c = 1;
- break;
- case MESA_FORMAT_AL88:
- case MESA_FORMAT_AL88_REV:
- c = 2;
- break;
- case MESA_FORMAT_RGB888:
- case MESA_FORMAT_BGR888:
- c = 3;
- break;
- case MESA_FORMAT_RGBA8888:
- case MESA_FORMAT_ARGB8888:
- c = 4;
- break;
- default:
- _mesa_problem(NULL, "error in PrintTexture\n");
- return;
- }
-
- for (i = 0; i < img->Height; i++) {
- for (j = 0; j < img->Width; j++) {
- if (c==1)
- printf("%02x ", data[0]);
- else if (c==2)
- printf("%02x%02x ", data[0], data[1]);
- else if (c==3)
- printf("%02x%02x%02x ", data[0], data[1], data[2]);
- else if (c==4)
- printf("%02x%02x%02x%02x ", data[0], data[1], data[2], data[3]);
- data += (img->RowStride - img->Width) * c;
- }
- /* XXX use img->ImageStride here */
- printf("\n");
- }
-#endif
-}
+/* + * Mesa 3-D graphics library + * Version: 6.5 + * + * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 2009 VMware, 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, 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 + * BRIAN PAUL 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 "mtypes.h" +#include "attrib.h" +#include "colormac.h" +#include "enums.h" +#include "formats.h" +#include "hash.h" +#include "imports.h" +#include "debug.h" +#include "get.h" +#include "pixelstore.h" +#include "readpix.h" +#include "texobj.h" + + +static const char * +tex_target_name(GLenum tgt) +{ + static const struct { + GLenum target; + const char *name; + } tex_targets[] = { + { GL_TEXTURE_1D, "GL_TEXTURE_1D" }, + { GL_TEXTURE_2D, "GL_TEXTURE_2D" }, + { GL_TEXTURE_3D, "GL_TEXTURE_3D" }, + { GL_TEXTURE_CUBE_MAP, "GL_TEXTURE_CUBE_MAP" }, + { GL_TEXTURE_RECTANGLE, "GL_TEXTURE_RECTANGLE" }, + { GL_TEXTURE_1D_ARRAY_EXT, "GL_TEXTURE_1D_ARRAY" }, + { GL_TEXTURE_2D_ARRAY_EXT, "GL_TEXTURE_2D_ARRAY" } + }; + GLuint i; + for (i = 0; i < Elements(tex_targets); i++) { + if (tex_targets[i].target == tgt) + return tex_targets[i].name; + } + return "UNKNOWN TEX TARGET"; +} + + +void +_mesa_print_state( const char *msg, GLuint state ) +{ + _mesa_debug(NULL, + "%s: (0x%x) %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", + msg, + state, + (state & _NEW_MODELVIEW) ? "ctx->ModelView, " : "", + (state & _NEW_PROJECTION) ? "ctx->Projection, " : "", + (state & _NEW_TEXTURE_MATRIX) ? "ctx->TextureMatrix, " : "", + (state & _NEW_ACCUM) ? "ctx->Accum, " : "", + (state & _NEW_COLOR) ? "ctx->Color, " : "", + (state & _NEW_DEPTH) ? "ctx->Depth, " : "", + (state & _NEW_EVAL) ? "ctx->Eval/EvalMap, " : "", + (state & _NEW_FOG) ? "ctx->Fog, " : "", + (state & _NEW_HINT) ? "ctx->Hint, " : "", + (state & _NEW_LIGHT) ? "ctx->Light, " : "", + (state & _NEW_LINE) ? "ctx->Line, " : "", + (state & _NEW_PIXEL) ? "ctx->Pixel, " : "", + (state & _NEW_POINT) ? "ctx->Point, " : "", + (state & _NEW_POLYGON) ? "ctx->Polygon, " : "", + (state & _NEW_POLYGONSTIPPLE) ? "ctx->PolygonStipple, " : "", + (state & _NEW_SCISSOR) ? "ctx->Scissor, " : "", + (state & _NEW_STENCIL) ? "ctx->Stencil, " : "", + (state & _NEW_TEXTURE) ? "ctx->Texture, " : "", + (state & _NEW_TRANSFORM) ? "ctx->Transform, " : "", + (state & _NEW_VIEWPORT) ? "ctx->Viewport, " : "", + (state & _NEW_PACKUNPACK) ? "ctx->Pack/Unpack, " : "", + (state & _NEW_ARRAY) ? "ctx->Array, " : "", + (state & _NEW_RENDERMODE) ? "ctx->RenderMode, " : "", + (state & _NEW_BUFFERS) ? "ctx->Visual, ctx->DrawBuffer,, " : ""); +} + + + +void +_mesa_print_tri_caps( const char *name, GLuint flags ) +{ + _mesa_debug(NULL, + "%s: (0x%x) %s%s%s%s%s%s%s%s%s%s%s%s%s\n", + name, + flags, + (flags & DD_FLATSHADE) ? "flat-shade, " : "", + (flags & DD_SEPARATE_SPECULAR) ? "separate-specular, " : "", + (flags & DD_TRI_LIGHT_TWOSIDE) ? "tri-light-twoside, " : "", + (flags & DD_TRI_TWOSTENCIL) ? "tri-twostencil, " : "", + (flags & DD_TRI_UNFILLED) ? "tri-unfilled, " : "", + (flags & DD_TRI_STIPPLE) ? "tri-stipple, " : "", + (flags & DD_TRI_OFFSET) ? "tri-offset, " : "", + (flags & DD_TRI_SMOOTH) ? "tri-smooth, " : "", + (flags & DD_LINE_SMOOTH) ? "line-smooth, " : "", + (flags & DD_LINE_STIPPLE) ? "line-stipple, " : "", + (flags & DD_POINT_SMOOTH) ? "point-smooth, " : "", + (flags & DD_POINT_ATTEN) ? "point-atten, " : "", + (flags & DD_TRI_CULL_FRONT_BACK) ? "cull-all, " : "" + ); +} + + +/** + * Print information about this Mesa version and build options. + */ +void _mesa_print_info( void ) +{ + _mesa_debug(NULL, "Mesa GL_VERSION = %s\n", + (char *) _mesa_GetString(GL_VERSION)); + _mesa_debug(NULL, "Mesa GL_RENDERER = %s\n", + (char *) _mesa_GetString(GL_RENDERER)); + _mesa_debug(NULL, "Mesa GL_VENDOR = %s\n", + (char *) _mesa_GetString(GL_VENDOR)); + _mesa_debug(NULL, "Mesa GL_EXTENSIONS = %s\n", + (char *) _mesa_GetString(GL_EXTENSIONS)); +#if defined(THREADS) + _mesa_debug(NULL, "Mesa thread-safe: YES\n"); +#else + _mesa_debug(NULL, "Mesa thread-safe: NO\n"); +#endif +#if defined(USE_X86_ASM) + _mesa_debug(NULL, "Mesa x86-optimized: YES\n"); +#else + _mesa_debug(NULL, "Mesa x86-optimized: NO\n"); +#endif +#if defined(USE_SPARC_ASM) + _mesa_debug(NULL, "Mesa sparc-optimized: YES\n"); +#else + _mesa_debug(NULL, "Mesa sparc-optimized: NO\n"); +#endif +} + + +/** + * Set the debugging flags. + * + * \param debug debug string + * + * If compiled with debugging support then search for keywords in \p debug and + * enables the verbose debug output of the respective feature. + */ +static void add_debug_flags( const char *debug ) +{ +#ifdef DEBUG + struct debug_option { + const char *name; + GLbitfield flag; + }; + static const struct debug_option debug_opt[] = { + { "varray", VERBOSE_VARRAY }, + { "tex", VERBOSE_TEXTURE }, + { "mat", VERBOSE_MATERIAL }, + { "pipe", VERBOSE_PIPELINE }, + { "driver", VERBOSE_DRIVER }, + { "state", VERBOSE_STATE }, + { "api", VERBOSE_API }, + { "list", VERBOSE_DISPLAY_LIST }, + { "lighting", VERBOSE_LIGHTING }, + { "disassem", VERBOSE_DISASSEM }, + { "draw", VERBOSE_DRAW }, + { "swap", VERBOSE_SWAPBUFFERS } + }; + GLuint i; + + MESA_VERBOSE = 0x0; + for (i = 0; i < Elements(debug_opt); i++) { + if (strstr(debug, debug_opt[i].name)) + MESA_VERBOSE |= debug_opt[i].flag; + } + + /* Debug flag: + */ + if (strstr(debug, "flush")) + MESA_DEBUG_FLAGS |= DEBUG_ALWAYS_FLUSH; + +#if defined(_FPU_GETCW) && defined(_FPU_SETCW) + if (strstr(debug, "fpexceptions")) { + /* raise FP exceptions */ + fpu_control_t mask; + _FPU_GETCW(mask); + mask &= ~(_FPU_MASK_IM | _FPU_MASK_DM | _FPU_MASK_ZM + | _FPU_MASK_OM | _FPU_MASK_UM); + _FPU_SETCW(mask); + } +#endif + +#else + (void) debug; +#endif +} + + +void +_mesa_init_debug( struct gl_context *ctx ) +{ + char *c; + + /* Dither disable */ + ctx->NoDither = _mesa_getenv("MESA_NO_DITHER") ? GL_TRUE : GL_FALSE; + if (ctx->NoDither) { + if (_mesa_getenv("MESA_DEBUG")) { + _mesa_debug(ctx, "MESA_NO_DITHER set - dithering disabled\n"); + } + ctx->Color.DitherFlag = GL_FALSE; + } + + c = _mesa_getenv("MESA_DEBUG"); + if (c) + add_debug_flags(c); + + c = _mesa_getenv("MESA_VERBOSE"); + if (c) + add_debug_flags(c); +} + + +/* + * Write ppm file + */ +static void +write_ppm(const char *filename, const GLubyte *buffer, int width, int height, + int comps, int rcomp, int gcomp, int bcomp, GLboolean invert) +{ + FILE *f = fopen( filename, "w" ); + if (f) { + int x, y; + const GLubyte *ptr = buffer; + fprintf(f,"P6\n"); + fprintf(f,"# ppm-file created by osdemo.c\n"); + fprintf(f,"%i %i\n", width,height); + fprintf(f,"255\n"); + fclose(f); + f = fopen( filename, "ab" ); /* reopen in binary append mode */ + for (y=0; y < height; y++) { + for (x = 0; x < width; x++) { + int yy = invert ? (height - 1 - y) : y; + int i = (yy * width + x) * comps; + fputc(ptr[i+rcomp], f); /* write red */ + fputc(ptr[i+gcomp], f); /* write green */ + fputc(ptr[i+bcomp], f); /* write blue */ + } + } + fclose(f); + } +} + + +/** + * Write a texture image to a ppm file. + * \param face cube face in [0,5] + * \param level mipmap level + */ +static void +write_texture_image(struct gl_texture_object *texObj, + GLuint face, GLuint level) +{ + struct gl_texture_image *img = texObj->Image[face][level]; + if (img) { + GET_CURRENT_CONTEXT(ctx); + struct gl_pixelstore_attrib store; + GLubyte *buffer; + char s[100]; + + buffer = (GLubyte *) malloc(img->Width * img->Height + * img->Depth * 4); + + store = ctx->Pack; /* save */ + ctx->Pack = ctx->DefaultPacking; + + ctx->Driver.GetTexImage(ctx, texObj->Target, level, + GL_RGBA, GL_UNSIGNED_BYTE, + buffer, texObj, img); + + /* make filename */ + _mesa_snprintf(s, sizeof(s), "/tmp/tex%u.l%u.f%u.ppm", texObj->Name, level, face); + + printf(" Writing image level %u to %s\n", level, s); + write_ppm(s, buffer, img->Width, img->Height, 4, 0, 1, 2, GL_FALSE); + + ctx->Pack = store; /* restore */ + + free(buffer); + } +} + + +/** + * Write renderbuffer image to a ppm file. + */ +static void +write_renderbuffer_image(const struct gl_renderbuffer *rb) +{ + GET_CURRENT_CONTEXT(ctx); + GLubyte *buffer; + char s[100]; + GLenum format, type; + + if (rb->_BaseFormat == GL_RGB || + rb->_BaseFormat == GL_RGBA) { + format = GL_RGBA; + type = GL_UNSIGNED_BYTE; + } + else if (rb->_BaseFormat == GL_DEPTH_STENCIL) { + format = GL_DEPTH_STENCIL; + type = GL_UNSIGNED_INT_24_8; + } + else { + return; + } + + buffer = (GLubyte *) malloc(rb->Width * rb->Height * 4); + + ctx->Driver.ReadPixels(ctx, 0, 0, rb->Width, rb->Height, + format, type, &ctx->DefaultPacking, buffer); + + /* make filename */ + _mesa_snprintf(s, sizeof(s), "/tmp/renderbuffer%u.ppm", rb->Name); + + printf(" Writing renderbuffer image to %s\n", s); + write_ppm(s, buffer, rb->Width, rb->Height, 4, 0, 1, 2, GL_TRUE); + + free(buffer); +} + + +/** How many texture images (mipmap levels, faces) to write to files */ +#define WRITE_NONE 0 +#define WRITE_ONE 1 +#define WRITE_ALL 2 + +static GLuint WriteImages; + + +static void +dump_texture(struct gl_texture_object *texObj, GLuint writeImages) +{ + const GLuint numFaces = texObj->Target == GL_TEXTURE_CUBE_MAP ? 6 : 1; + GLboolean written = GL_FALSE; + GLuint i, j; + + printf("Texture %u\n", texObj->Name); + printf(" Target %s\n", tex_target_name(texObj->Target)); + for (i = 0; i < MAX_TEXTURE_LEVELS; i++) { + for (j = 0; j < numFaces; j++) { + struct gl_texture_image *texImg = texObj->Image[j][i]; + if (texImg) { + printf(" Face %u level %u: %d x %d x %d, format %s at %p\n", + j, i, + texImg->Width, texImg->Height, texImg->Depth, + _mesa_get_format_name(texImg->TexFormat), + texImg->Data); + if (writeImages == WRITE_ALL || + (writeImages == WRITE_ONE && !written)) { + write_texture_image(texObj, j, i); + written = GL_TRUE; + } + } + } + } +} + + +/** + * Dump a single texture. + */ +void +_mesa_dump_texture(GLuint texture, GLuint writeImages) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_texture_object *texObj = _mesa_lookup_texture(ctx, texture); + if (texObj) { + dump_texture(texObj, writeImages); + } +} + + +static void +dump_texture_cb(GLuint id, void *data, void *userData) +{ + struct gl_texture_object *texObj = (struct gl_texture_object *) data; + (void) userData; + dump_texture(texObj, WriteImages); +} + + +/** + * Print basic info about all texture objext to stdout. + * If dumpImages is true, write PPM of level[0] image to a file. + */ +void +_mesa_dump_textures(GLuint writeImages) +{ + GET_CURRENT_CONTEXT(ctx); + WriteImages = writeImages; + _mesa_HashWalk(ctx->Shared->TexObjects, dump_texture_cb, ctx); +} + + +static void +dump_renderbuffer(const struct gl_renderbuffer *rb, GLboolean writeImage) +{ + printf("Renderbuffer %u: %u x %u IntFormat = %s\n", + rb->Name, rb->Width, rb->Height, + _mesa_lookup_enum_by_nr(rb->InternalFormat)); + if (writeImage) { + write_renderbuffer_image(rb); + } +} + + +static void +dump_renderbuffer_cb(GLuint id, void *data, void *userData) +{ + const struct gl_renderbuffer *rb = (const struct gl_renderbuffer *) data; + (void) userData; + dump_renderbuffer(rb, WriteImages); +} + + +/** + * Print basic info about all renderbuffers to stdout. + * If dumpImages is true, write PPM of level[0] image to a file. + */ +void +_mesa_dump_renderbuffers(GLboolean writeImages) +{ + GET_CURRENT_CONTEXT(ctx); + WriteImages = writeImages; + _mesa_HashWalk(ctx->Shared->RenderBuffers, dump_renderbuffer_cb, ctx); +} + + + +void +_mesa_dump_color_buffer(const char *filename) +{ + GET_CURRENT_CONTEXT(ctx); + const GLuint w = ctx->DrawBuffer->Width; + const GLuint h = ctx->DrawBuffer->Height; + GLubyte *buf; + + buf = (GLubyte *) malloc(w * h * 4); + + _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT); + _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1); + _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE); + + _mesa_ReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, buf); + + printf("ReadBuffer %p 0x%x DrawBuffer %p 0x%x\n", + (void *) ctx->ReadBuffer->_ColorReadBuffer, + ctx->ReadBuffer->ColorReadBuffer, + (void *) ctx->DrawBuffer->_ColorDrawBuffers[0], + ctx->DrawBuffer->ColorDrawBuffer[0]); + printf("Writing %d x %d color buffer to %s\n", w, h, filename); + write_ppm(filename, buf, w, h, 4, 0, 1, 2, GL_TRUE); + + _mesa_PopClientAttrib(); + + free(buf); +} + + +void +_mesa_dump_depth_buffer(const char *filename) +{ + GET_CURRENT_CONTEXT(ctx); + const GLuint w = ctx->DrawBuffer->Width; + const GLuint h = ctx->DrawBuffer->Height; + GLuint *buf; + GLubyte *buf2; + GLuint i; + + buf = (GLuint *) malloc(w * h * 4); /* 4 bpp */ + buf2 = (GLubyte *) malloc(w * h * 3); /* 3 bpp */ + + _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT); + _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1); + _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE); + + _mesa_ReadPixels(0, 0, w, h, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, buf); + + /* spread 24 bits of Z across R, G, B */ + for (i = 0; i < w * h; i++) { + buf2[i*3+0] = (buf[i] >> 24) & 0xff; + buf2[i*3+1] = (buf[i] >> 16) & 0xff; + buf2[i*3+2] = (buf[i] >> 8) & 0xff; + } + + printf("Writing %d x %d depth buffer to %s\n", w, h, filename); + write_ppm(filename, buf2, w, h, 3, 0, 1, 2, GL_TRUE); + + _mesa_PopClientAttrib(); + + free(buf); + free(buf2); +} + + +void +_mesa_dump_stencil_buffer(const char *filename) +{ + GET_CURRENT_CONTEXT(ctx); + const GLuint w = ctx->DrawBuffer->Width; + const GLuint h = ctx->DrawBuffer->Height; + GLubyte *buf; + GLubyte *buf2; + GLuint i; + + buf = (GLubyte *) malloc(w * h); /* 1 bpp */ + buf2 = (GLubyte *) malloc(w * h * 3); /* 3 bpp */ + + _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT); + _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1); + _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE); + + _mesa_ReadPixels(0, 0, w, h, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, buf); + + for (i = 0; i < w * h; i++) { + buf2[i*3+0] = buf[i]; + buf2[i*3+1] = (buf[i] & 127) * 2; + buf2[i*3+2] = (buf[i] - 128) * 2; + } + + printf("Writing %d x %d stencil buffer to %s\n", w, h, filename); + write_ppm(filename, buf2, w, h, 3, 0, 1, 2, GL_TRUE); + + _mesa_PopClientAttrib(); + + free(buf); + free(buf2); +} + + +/** + * Quick and dirty function to "print" a texture to stdout. + */ +void +_mesa_print_texture(struct gl_context *ctx, const struct gl_texture_image *img) +{ +#if CHAN_TYPE != GL_UNSIGNED_BYTE + _mesa_problem(NULL, "PrintTexture not supported"); +#else + GLuint i, j, c; + const GLubyte *data = (const GLubyte *) img->Data; + + if (!data) { + printf("No texture data\n"); + return; + } + + /* XXX add more formats or make into a new format utility function */ + switch (img->TexFormat) { + case MESA_FORMAT_A8: + case MESA_FORMAT_L8: + case MESA_FORMAT_I8: + case MESA_FORMAT_CI8: + c = 1; + break; + case MESA_FORMAT_AL88: + case MESA_FORMAT_AL88_REV: + c = 2; + break; + case MESA_FORMAT_RGB888: + case MESA_FORMAT_BGR888: + c = 3; + break; + case MESA_FORMAT_RGBA8888: + case MESA_FORMAT_ARGB8888: + c = 4; + break; + default: + _mesa_problem(NULL, "error in PrintTexture\n"); + return; + } + + for (i = 0; i < img->Height; i++) { + for (j = 0; j < img->Width; j++) { + if (c==1) + printf("%02x ", data[0]); + else if (c==2) + printf("%02x%02x ", data[0], data[1]); + else if (c==3) + printf("%02x%02x%02x ", data[0], data[1], data[2]); + else if (c==4) + printf("%02x%02x%02x%02x ", data[0], data[1], data[2], data[3]); + data += (img->RowStride - img->Width) * c; + } + /* XXX use img->ImageStride here */ + printf("\n"); + } +#endif +} diff --git a/mesalib/src/mesa/main/enums.c b/mesalib/src/mesa/main/enums.c index e95d58372..83d7fb66c 100644 --- a/mesalib/src/mesa/main/enums.c +++ b/mesalib/src/mesa/main/enums.c @@ -1,6283 +1,6294 @@ -/* DO NOT EDIT - This file generated automatically by gl_enums.py (from Mesa) script */
-
-/*
- * Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
- * 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
- * BRIAN PAUL,
- * 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 "main/glheader.h"
-#include "main/mfeatures.h"
-#include "main/enums.h"
-#include "main/imports.h"
-
-typedef struct {
- size_t offset;
- int n;
-} enum_elt;
-
-LONGSTRING static const char enum_string_table[] =
- "GL_2D\0"
- "GL_2_BYTES\0"
- "GL_3D\0"
- "GL_3D_COLOR\0"
- "GL_3D_COLOR_TEXTURE\0"
- "GL_3_BYTES\0"
- "GL_4D_COLOR_TEXTURE\0"
- "GL_4_BYTES\0"
- "GL_ACCUM\0"
- "GL_ACCUM_ALPHA_BITS\0"
- "GL_ACCUM_BLUE_BITS\0"
- "GL_ACCUM_BUFFER_BIT\0"
- "GL_ACCUM_CLEAR_VALUE\0"
- "GL_ACCUM_GREEN_BITS\0"
- "GL_ACCUM_RED_BITS\0"
- "GL_ACTIVE_ATTRIBUTES\0"
- "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH\0"
- "GL_ACTIVE_PROGRAM_EXT\0"
- "GL_ACTIVE_STENCIL_FACE_EXT\0"
- "GL_ACTIVE_TEXTURE\0"
- "GL_ACTIVE_TEXTURE_ARB\0"
- "GL_ACTIVE_UNIFORMS\0"
- "GL_ACTIVE_UNIFORM_MAX_LENGTH\0"
- "GL_ACTIVE_VERTEX_UNITS_ARB\0"
- "GL_ADD\0"
- "GL_ADD_SIGNED\0"
- "GL_ADD_SIGNED_ARB\0"
- "GL_ADD_SIGNED_EXT\0"
- "GL_ALIASED_LINE_WIDTH_RANGE\0"
- "GL_ALIASED_POINT_SIZE_RANGE\0"
- "GL_ALL_ATTRIB_BITS\0"
- "GL_ALL_CLIENT_ATTRIB_BITS\0"
- "GL_ALPHA\0"
- "GL_ALPHA12\0"
- "GL_ALPHA12_EXT\0"
- "GL_ALPHA16\0"
- "GL_ALPHA16I_EXT\0"
- "GL_ALPHA16UI_EXT\0"
- "GL_ALPHA16_EXT\0"
- "GL_ALPHA32I_EXT\0"
- "GL_ALPHA32UI_EXT\0"
- "GL_ALPHA4\0"
- "GL_ALPHA4_EXT\0"
- "GL_ALPHA8\0"
- "GL_ALPHA8I_EXT\0"
- "GL_ALPHA8UI_EXT\0"
- "GL_ALPHA8_EXT\0"
- "GL_ALPHA_BIAS\0"
- "GL_ALPHA_BITS\0"
- "GL_ALPHA_INTEGER_EXT\0"
- "GL_ALPHA_SCALE\0"
- "GL_ALPHA_TEST\0"
- "GL_ALPHA_TEST_FUNC\0"
- "GL_ALPHA_TEST_REF\0"
- "GL_ALREADY_SIGNALED\0"
- "GL_ALWAYS\0"
- "GL_AMBIENT\0"
- "GL_AMBIENT_AND_DIFFUSE\0"
- "GL_AND\0"
- "GL_AND_INVERTED\0"
- "GL_AND_REVERSE\0"
- "GL_ARRAY_BUFFER\0"
- "GL_ARRAY_BUFFER_BINDING\0"
- "GL_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_ATTACHED_SHADERS\0"
- "GL_ATTRIB_ARRAY_POINTER_NV\0"
- "GL_ATTRIB_ARRAY_SIZE_NV\0"
- "GL_ATTRIB_ARRAY_STRIDE_NV\0"
- "GL_ATTRIB_ARRAY_TYPE_NV\0"
- "GL_ATTRIB_STACK_DEPTH\0"
- "GL_AUTO_NORMAL\0"
- "GL_AUX0\0"
- "GL_AUX1\0"
- "GL_AUX2\0"
- "GL_AUX3\0"
- "GL_AUX_BUFFERS\0"
- "GL_BACK\0"
- "GL_BACK_LEFT\0"
- "GL_BACK_RIGHT\0"
- "GL_BGR\0"
- "GL_BGRA\0"
- "GL_BGRA_EXT\0"
- "GL_BGRA_INTEGER\0"
- "GL_BGRA_INTEGER_EXT\0"
- "GL_BGR_INTEGER\0"
- "GL_BGR_INTEGER_EXT\0"
- "GL_BITMAP\0"
- "GL_BITMAP_TOKEN\0"
- "GL_BLEND\0"
- "GL_BLEND_COLOR\0"
- "GL_BLEND_COLOR_EXT\0"
- "GL_BLEND_DST\0"
- "GL_BLEND_DST_ALPHA\0"
- "GL_BLEND_DST_ALPHA_OES\0"
- "GL_BLEND_DST_RGB\0"
- "GL_BLEND_DST_RGB_OES\0"
- "GL_BLEND_EQUATION\0"
- "GL_BLEND_EQUATION_ALPHA\0"
- "GL_BLEND_EQUATION_ALPHA_EXT\0"
- "GL_BLEND_EQUATION_ALPHA_OES\0"
- "GL_BLEND_EQUATION_EXT\0"
- "GL_BLEND_EQUATION_OES\0"
- "GL_BLEND_EQUATION_RGB\0"
- "GL_BLEND_EQUATION_RGB_EXT\0"
- "GL_BLEND_EQUATION_RGB_OES\0"
- "GL_BLEND_SRC\0"
- "GL_BLEND_SRC_ALPHA\0"
- "GL_BLEND_SRC_ALPHA_OES\0"
- "GL_BLEND_SRC_RGB\0"
- "GL_BLEND_SRC_RGB_OES\0"
- "GL_BLUE\0"
- "GL_BLUE_BIAS\0"
- "GL_BLUE_BITS\0"
- "GL_BLUE_INTEGER\0"
- "GL_BLUE_INTEGER_EXT\0"
- "GL_BLUE_SCALE\0"
- "GL_BOOL\0"
- "GL_BOOL_ARB\0"
- "GL_BOOL_VEC2\0"
- "GL_BOOL_VEC2_ARB\0"
- "GL_BOOL_VEC3\0"
- "GL_BOOL_VEC3_ARB\0"
- "GL_BOOL_VEC4\0"
- "GL_BOOL_VEC4_ARB\0"
- "GL_BUFFER_ACCESS\0"
- "GL_BUFFER_ACCESS_ARB\0"
- "GL_BUFFER_ACCESS_FLAGS\0"
- "GL_BUFFER_ACCESS_OES\0"
- "GL_BUFFER_FLUSHING_UNMAP_APPLE\0"
- "GL_BUFFER_MAPPED\0"
- "GL_BUFFER_MAPPED_ARB\0"
- "GL_BUFFER_MAPPED_OES\0"
- "GL_BUFFER_MAP_LENGTH\0"
- "GL_BUFFER_MAP_OFFSET\0"
- "GL_BUFFER_MAP_POINTER\0"
- "GL_BUFFER_MAP_POINTER_ARB\0"
- "GL_BUFFER_MAP_POINTER_OES\0"
- "GL_BUFFER_OBJECT_APPLE\0"
- "GL_BUFFER_SERIALIZED_MODIFY_APPLE\0"
- "GL_BUFFER_SIZE\0"
- "GL_BUFFER_SIZE_ARB\0"
- "GL_BUFFER_USAGE\0"
- "GL_BUFFER_USAGE_ARB\0"
- "GL_BUMP_ENVMAP_ATI\0"
- "GL_BUMP_NUM_TEX_UNITS_ATI\0"
- "GL_BUMP_ROT_MATRIX_ATI\0"
- "GL_BUMP_ROT_MATRIX_SIZE_ATI\0"
- "GL_BUMP_TARGET_ATI\0"
- "GL_BUMP_TEX_UNITS_ATI\0"
- "GL_BYTE\0"
- "GL_C3F_V3F\0"
- "GL_C4F_N3F_V3F\0"
- "GL_C4UB_V2F\0"
- "GL_C4UB_V3F\0"
- "GL_CCW\0"
- "GL_CLAMP\0"
- "GL_CLAMP_READ_COLOR\0"
- "GL_CLAMP_TO_BORDER\0"
- "GL_CLAMP_TO_BORDER_ARB\0"
- "GL_CLAMP_TO_BORDER_SGIS\0"
- "GL_CLAMP_TO_EDGE\0"
- "GL_CLAMP_TO_EDGE_SGIS\0"
- "GL_CLEAR\0"
- "GL_CLIENT_ACTIVE_TEXTURE\0"
- "GL_CLIENT_ACTIVE_TEXTURE_ARB\0"
- "GL_CLIENT_ALL_ATTRIB_BITS\0"
- "GL_CLIENT_ATTRIB_STACK_DEPTH\0"
- "GL_CLIENT_PIXEL_STORE_BIT\0"
- "GL_CLIENT_VERTEX_ARRAY_BIT\0"
- "GL_CLIP_DISTANCE0\0"
- "GL_CLIP_DISTANCE1\0"
- "GL_CLIP_DISTANCE2\0"
- "GL_CLIP_DISTANCE3\0"
- "GL_CLIP_DISTANCE4\0"
- "GL_CLIP_DISTANCE5\0"
- "GL_CLIP_DISTANCE6\0"
- "GL_CLIP_DISTANCE7\0"
- "GL_CLIP_PLANE0\0"
- "GL_CLIP_PLANE1\0"
- "GL_CLIP_PLANE2\0"
- "GL_CLIP_PLANE3\0"
- "GL_CLIP_PLANE4\0"
- "GL_CLIP_PLANE5\0"
- "GL_CLIP_VOLUME_CLIPPING_HINT_EXT\0"
- "GL_COEFF\0"
- "GL_COLOR\0"
- "GL_COLOR_ARRAY\0"
- "GL_COLOR_ARRAY_BUFFER_BINDING\0"
- "GL_COLOR_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_COLOR_ARRAY_POINTER\0"
- "GL_COLOR_ARRAY_SIZE\0"
- "GL_COLOR_ARRAY_STRIDE\0"
- "GL_COLOR_ARRAY_TYPE\0"
- "GL_COLOR_ATTACHMENT0\0"
- "GL_COLOR_ATTACHMENT0_EXT\0"
- "GL_COLOR_ATTACHMENT0_OES\0"
- "GL_COLOR_ATTACHMENT1\0"
- "GL_COLOR_ATTACHMENT10\0"
- "GL_COLOR_ATTACHMENT10_EXT\0"
- "GL_COLOR_ATTACHMENT11\0"
- "GL_COLOR_ATTACHMENT11_EXT\0"
- "GL_COLOR_ATTACHMENT12\0"
- "GL_COLOR_ATTACHMENT12_EXT\0"
- "GL_COLOR_ATTACHMENT13\0"
- "GL_COLOR_ATTACHMENT13_EXT\0"
- "GL_COLOR_ATTACHMENT14\0"
- "GL_COLOR_ATTACHMENT14_EXT\0"
- "GL_COLOR_ATTACHMENT15\0"
- "GL_COLOR_ATTACHMENT15_EXT\0"
- "GL_COLOR_ATTACHMENT1_EXT\0"
- "GL_COLOR_ATTACHMENT2\0"
- "GL_COLOR_ATTACHMENT2_EXT\0"
- "GL_COLOR_ATTACHMENT3\0"
- "GL_COLOR_ATTACHMENT3_EXT\0"
- "GL_COLOR_ATTACHMENT4\0"
- "GL_COLOR_ATTACHMENT4_EXT\0"
- "GL_COLOR_ATTACHMENT5\0"
- "GL_COLOR_ATTACHMENT5_EXT\0"
- "GL_COLOR_ATTACHMENT6\0"
- "GL_COLOR_ATTACHMENT6_EXT\0"
- "GL_COLOR_ATTACHMENT7\0"
- "GL_COLOR_ATTACHMENT7_EXT\0"
- "GL_COLOR_ATTACHMENT8\0"
- "GL_COLOR_ATTACHMENT8_EXT\0"
- "GL_COLOR_ATTACHMENT9\0"
- "GL_COLOR_ATTACHMENT9_EXT\0"
- "GL_COLOR_BUFFER_BIT\0"
- "GL_COLOR_CLEAR_VALUE\0"
- "GL_COLOR_INDEX\0"
- "GL_COLOR_INDEXES\0"
- "GL_COLOR_LOGIC_OP\0"
- "GL_COLOR_MATERIAL\0"
- "GL_COLOR_MATERIAL_FACE\0"
- "GL_COLOR_MATERIAL_PARAMETER\0"
- "GL_COLOR_MATRIX\0"
- "GL_COLOR_MATRIX_SGI\0"
- "GL_COLOR_MATRIX_STACK_DEPTH\0"
- "GL_COLOR_MATRIX_STACK_DEPTH_SGI\0"
- "GL_COLOR_SUM\0"
- "GL_COLOR_SUM_ARB\0"
- "GL_COLOR_TABLE\0"
- "GL_COLOR_TABLE_ALPHA_SIZE\0"
- "GL_COLOR_TABLE_ALPHA_SIZE_EXT\0"
- "GL_COLOR_TABLE_ALPHA_SIZE_SGI\0"
- "GL_COLOR_TABLE_BIAS\0"
- "GL_COLOR_TABLE_BIAS_SGI\0"
- "GL_COLOR_TABLE_BLUE_SIZE\0"
- "GL_COLOR_TABLE_BLUE_SIZE_EXT\0"
- "GL_COLOR_TABLE_BLUE_SIZE_SGI\0"
- "GL_COLOR_TABLE_FORMAT\0"
- "GL_COLOR_TABLE_FORMAT_EXT\0"
- "GL_COLOR_TABLE_FORMAT_SGI\0"
- "GL_COLOR_TABLE_GREEN_SIZE\0"
- "GL_COLOR_TABLE_GREEN_SIZE_EXT\0"
- "GL_COLOR_TABLE_GREEN_SIZE_SGI\0"
- "GL_COLOR_TABLE_INTENSITY_SIZE\0"
- "GL_COLOR_TABLE_INTENSITY_SIZE_EXT\0"
- "GL_COLOR_TABLE_INTENSITY_SIZE_SGI\0"
- "GL_COLOR_TABLE_LUMINANCE_SIZE\0"
- "GL_COLOR_TABLE_LUMINANCE_SIZE_EXT\0"
- "GL_COLOR_TABLE_LUMINANCE_SIZE_SGI\0"
- "GL_COLOR_TABLE_RED_SIZE\0"
- "GL_COLOR_TABLE_RED_SIZE_EXT\0"
- "GL_COLOR_TABLE_RED_SIZE_SGI\0"
- "GL_COLOR_TABLE_SCALE\0"
- "GL_COLOR_TABLE_SCALE_SGI\0"
- "GL_COLOR_TABLE_WIDTH\0"
- "GL_COLOR_TABLE_WIDTH_EXT\0"
- "GL_COLOR_TABLE_WIDTH_SGI\0"
- "GL_COLOR_WRITEMASK\0"
- "GL_COMBINE\0"
- "GL_COMBINE4\0"
- "GL_COMBINE_ALPHA\0"
- "GL_COMBINE_ALPHA_ARB\0"
- "GL_COMBINE_ALPHA_EXT\0"
- "GL_COMBINE_ARB\0"
- "GL_COMBINE_EXT\0"
- "GL_COMBINE_RGB\0"
- "GL_COMBINE_RGB_ARB\0"
- "GL_COMBINE_RGB_EXT\0"
- "GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT\0"
- "GL_COMPARE_REF_TO_TEXTURE\0"
- "GL_COMPARE_R_TO_TEXTURE\0"
- "GL_COMPARE_R_TO_TEXTURE_ARB\0"
- "GL_COMPILE\0"
- "GL_COMPILE_AND_EXECUTE\0"
- "GL_COMPILE_STATUS\0"
- "GL_COMPRESSED_ALPHA\0"
- "GL_COMPRESSED_ALPHA_ARB\0"
- "GL_COMPRESSED_INTENSITY\0"
- "GL_COMPRESSED_INTENSITY_ARB\0"
- "GL_COMPRESSED_LUMINANCE\0"
- "GL_COMPRESSED_LUMINANCE_ALPHA\0"
- "GL_COMPRESSED_LUMINANCE_ALPHA_ARB\0"
- "GL_COMPRESSED_LUMINANCE_ARB\0"
- "GL_COMPRESSED_RED\0"
- "GL_COMPRESSED_RG\0"
- "GL_COMPRESSED_RGB\0"
- "GL_COMPRESSED_RGBA\0"
- "GL_COMPRESSED_RGBA_ARB\0"
- "GL_COMPRESSED_RGBA_FXT1_3DFX\0"
- "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT\0"
- "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT\0"
- "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT\0"
- "GL_COMPRESSED_RGB_ARB\0"
- "GL_COMPRESSED_RGB_FXT1_3DFX\0"
- "GL_COMPRESSED_RGB_S3TC_DXT1_EXT\0"
- "GL_COMPRESSED_SLUMINANCE\0"
- "GL_COMPRESSED_SLUMINANCE_ALPHA\0"
- "GL_COMPRESSED_SRGB\0"
- "GL_COMPRESSED_SRGB_ALPHA\0"
- "GL_COMPRESSED_TEXTURE_FORMATS\0"
- "GL_CONDITION_SATISFIED\0"
- "GL_CONSTANT\0"
- "GL_CONSTANT_ALPHA\0"
- "GL_CONSTANT_ALPHA_EXT\0"
- "GL_CONSTANT_ARB\0"
- "GL_CONSTANT_ATTENUATION\0"
- "GL_CONSTANT_BORDER_HP\0"
- "GL_CONSTANT_COLOR\0"
- "GL_CONSTANT_COLOR_EXT\0"
- "GL_CONSTANT_EXT\0"
- "GL_CONTEXT_COMPATIBILITY_PROFILE_BIT\0"
- "GL_CONTEXT_CORE_PROFILE_BIT\0"
- "GL_CONTEXT_FLAGS\0"
- "GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT\0"
- "GL_CONTEXT_PROFILE_MASK\0"
- "GL_CONVOLUTION_1D\0"
- "GL_CONVOLUTION_2D\0"
- "GL_CONVOLUTION_BORDER_COLOR\0"
- "GL_CONVOLUTION_BORDER_COLOR_HP\0"
- "GL_CONVOLUTION_BORDER_MODE\0"
- "GL_CONVOLUTION_BORDER_MODE_EXT\0"
- "GL_CONVOLUTION_FILTER_BIAS\0"
- "GL_CONVOLUTION_FILTER_BIAS_EXT\0"
- "GL_CONVOLUTION_FILTER_SCALE\0"
- "GL_CONVOLUTION_FILTER_SCALE_EXT\0"
- "GL_CONVOLUTION_FORMAT\0"
- "GL_CONVOLUTION_FORMAT_EXT\0"
- "GL_CONVOLUTION_HEIGHT\0"
- "GL_CONVOLUTION_HEIGHT_EXT\0"
- "GL_CONVOLUTION_WIDTH\0"
- "GL_CONVOLUTION_WIDTH_EXT\0"
- "GL_COORD_REPLACE\0"
- "GL_COORD_REPLACE_ARB\0"
- "GL_COORD_REPLACE_NV\0"
- "GL_COORD_REPLACE_OES\0"
- "GL_COPY\0"
- "GL_COPY_INVERTED\0"
- "GL_COPY_PIXEL_TOKEN\0"
- "GL_COPY_READ_BUFFER\0"
- "GL_COPY_WRITE_BUFFER\0"
- "GL_CULL_FACE\0"
- "GL_CULL_FACE_MODE\0"
- "GL_CULL_VERTEX_EXT\0"
- "GL_CULL_VERTEX_EYE_POSITION_EXT\0"
- "GL_CULL_VERTEX_OBJECT_POSITION_EXT\0"
- "GL_CURRENT_ATTRIB_NV\0"
- "GL_CURRENT_BIT\0"
- "GL_CURRENT_COLOR\0"
- "GL_CURRENT_FOG_COORD\0"
- "GL_CURRENT_FOG_COORDINATE\0"
- "GL_CURRENT_INDEX\0"
- "GL_CURRENT_MATRIX_ARB\0"
- "GL_CURRENT_MATRIX_INDEX_ARB\0"
- "GL_CURRENT_MATRIX_NV\0"
- "GL_CURRENT_MATRIX_STACK_DEPTH_ARB\0"
- "GL_CURRENT_MATRIX_STACK_DEPTH_NV\0"
- "GL_CURRENT_NORMAL\0"
- "GL_CURRENT_PALETTE_MATRIX_ARB\0"
- "GL_CURRENT_PALETTE_MATRIX_OES\0"
- "GL_CURRENT_PROGRAM\0"
- "GL_CURRENT_QUERY\0"
- "GL_CURRENT_QUERY_ARB\0"
- "GL_CURRENT_RASTER_COLOR\0"
- "GL_CURRENT_RASTER_DISTANCE\0"
- "GL_CURRENT_RASTER_INDEX\0"
- "GL_CURRENT_RASTER_POSITION\0"
- "GL_CURRENT_RASTER_POSITION_VALID\0"
- "GL_CURRENT_RASTER_SECONDARY_COLOR\0"
- "GL_CURRENT_RASTER_TEXTURE_COORDS\0"
- "GL_CURRENT_SECONDARY_COLOR\0"
- "GL_CURRENT_TEXTURE_COORDS\0"
- "GL_CURRENT_VERTEX_ATTRIB\0"
- "GL_CURRENT_VERTEX_ATTRIB_ARB\0"
- "GL_CURRENT_WEIGHT_ARB\0"
- "GL_CW\0"
- "GL_DEBUG_ASSERT_MESA\0"
- "GL_DEBUG_OBJECT_MESA\0"
- "GL_DEBUG_PRINT_MESA\0"
- "GL_DECAL\0"
- "GL_DECR\0"
- "GL_DECR_WRAP\0"
- "GL_DECR_WRAP_EXT\0"
- "GL_DELETE_STATUS\0"
- "GL_DEPTH\0"
- "GL_DEPTH24_STENCIL8\0"
- "GL_DEPTH24_STENCIL8_EXT\0"
- "GL_DEPTH24_STENCIL8_OES\0"
- "GL_DEPTH_ATTACHMENT\0"
- "GL_DEPTH_ATTACHMENT_EXT\0"
- "GL_DEPTH_ATTACHMENT_OES\0"
- "GL_DEPTH_BIAS\0"
- "GL_DEPTH_BITS\0"
- "GL_DEPTH_BOUNDS_EXT\0"
- "GL_DEPTH_BOUNDS_TEST_EXT\0"
- "GL_DEPTH_BUFFER\0"
- "GL_DEPTH_BUFFER_BIT\0"
- "GL_DEPTH_CLAMP\0"
- "GL_DEPTH_CLAMP_NV\0"
- "GL_DEPTH_CLEAR_VALUE\0"
- "GL_DEPTH_COMPONENT\0"
- "GL_DEPTH_COMPONENT16\0"
- "GL_DEPTH_COMPONENT16_ARB\0"
- "GL_DEPTH_COMPONENT16_OES\0"
- "GL_DEPTH_COMPONENT16_SGIX\0"
- "GL_DEPTH_COMPONENT24\0"
- "GL_DEPTH_COMPONENT24_ARB\0"
- "GL_DEPTH_COMPONENT24_OES\0"
- "GL_DEPTH_COMPONENT24_SGIX\0"
- "GL_DEPTH_COMPONENT32\0"
- "GL_DEPTH_COMPONENT32_ARB\0"
- "GL_DEPTH_COMPONENT32_OES\0"
- "GL_DEPTH_COMPONENT32_SGIX\0"
- "GL_DEPTH_FUNC\0"
- "GL_DEPTH_RANGE\0"
- "GL_DEPTH_SCALE\0"
- "GL_DEPTH_STENCIL\0"
- "GL_DEPTH_STENCIL_ATTACHMENT\0"
- "GL_DEPTH_STENCIL_EXT\0"
- "GL_DEPTH_STENCIL_NV\0"
- "GL_DEPTH_STENCIL_OES\0"
- "GL_DEPTH_STENCIL_TO_BGRA_NV\0"
- "GL_DEPTH_STENCIL_TO_RGBA_NV\0"
- "GL_DEPTH_TEST\0"
- "GL_DEPTH_TEXTURE_MODE\0"
- "GL_DEPTH_TEXTURE_MODE_ARB\0"
- "GL_DEPTH_WRITEMASK\0"
- "GL_DIFFUSE\0"
- "GL_DITHER\0"
- "GL_DOMAIN\0"
- "GL_DONT_CARE\0"
- "GL_DOT3_RGB\0"
- "GL_DOT3_RGBA\0"
- "GL_DOT3_RGBA_ARB\0"
- "GL_DOT3_RGBA_EXT\0"
- "GL_DOT3_RGB_ARB\0"
- "GL_DOT3_RGB_EXT\0"
- "GL_DOUBLE\0"
- "GL_DOUBLEBUFFER\0"
- "GL_DRAW_BUFFER\0"
- "GL_DRAW_BUFFER0\0"
- "GL_DRAW_BUFFER0_ARB\0"
- "GL_DRAW_BUFFER0_ATI\0"
- "GL_DRAW_BUFFER1\0"
- "GL_DRAW_BUFFER10\0"
- "GL_DRAW_BUFFER10_ARB\0"
- "GL_DRAW_BUFFER10_ATI\0"
- "GL_DRAW_BUFFER11\0"
- "GL_DRAW_BUFFER11_ARB\0"
- "GL_DRAW_BUFFER11_ATI\0"
- "GL_DRAW_BUFFER12\0"
- "GL_DRAW_BUFFER12_ARB\0"
- "GL_DRAW_BUFFER12_ATI\0"
- "GL_DRAW_BUFFER13\0"
- "GL_DRAW_BUFFER13_ARB\0"
- "GL_DRAW_BUFFER13_ATI\0"
- "GL_DRAW_BUFFER14\0"
- "GL_DRAW_BUFFER14_ARB\0"
- "GL_DRAW_BUFFER14_ATI\0"
- "GL_DRAW_BUFFER15\0"
- "GL_DRAW_BUFFER15_ARB\0"
- "GL_DRAW_BUFFER15_ATI\0"
- "GL_DRAW_BUFFER1_ARB\0"
- "GL_DRAW_BUFFER1_ATI\0"
- "GL_DRAW_BUFFER2\0"
- "GL_DRAW_BUFFER2_ARB\0"
- "GL_DRAW_BUFFER2_ATI\0"
- "GL_DRAW_BUFFER3\0"
- "GL_DRAW_BUFFER3_ARB\0"
- "GL_DRAW_BUFFER3_ATI\0"
- "GL_DRAW_BUFFER4\0"
- "GL_DRAW_BUFFER4_ARB\0"
- "GL_DRAW_BUFFER4_ATI\0"
- "GL_DRAW_BUFFER5\0"
- "GL_DRAW_BUFFER5_ARB\0"
- "GL_DRAW_BUFFER5_ATI\0"
- "GL_DRAW_BUFFER6\0"
- "GL_DRAW_BUFFER6_ARB\0"
- "GL_DRAW_BUFFER6_ATI\0"
- "GL_DRAW_BUFFER7\0"
- "GL_DRAW_BUFFER7_ARB\0"
- "GL_DRAW_BUFFER7_ATI\0"
- "GL_DRAW_BUFFER8\0"
- "GL_DRAW_BUFFER8_ARB\0"
- "GL_DRAW_BUFFER8_ATI\0"
- "GL_DRAW_BUFFER9\0"
- "GL_DRAW_BUFFER9_ARB\0"
- "GL_DRAW_BUFFER9_ATI\0"
- "GL_DRAW_FRAMEBUFFER\0"
- "GL_DRAW_FRAMEBUFFER_BINDING\0"
- "GL_DRAW_FRAMEBUFFER_BINDING_EXT\0"
- "GL_DRAW_FRAMEBUFFER_EXT\0"
- "GL_DRAW_PIXEL_TOKEN\0"
- "GL_DST_ALPHA\0"
- "GL_DST_COLOR\0"
- "GL_DU8DV8_ATI\0"
- "GL_DUDV_ATI\0"
- "GL_DYNAMIC_COPY\0"
- "GL_DYNAMIC_COPY_ARB\0"
- "GL_DYNAMIC_DRAW\0"
- "GL_DYNAMIC_DRAW_ARB\0"
- "GL_DYNAMIC_READ\0"
- "GL_DYNAMIC_READ_ARB\0"
- "GL_EDGE_FLAG\0"
- "GL_EDGE_FLAG_ARRAY\0"
- "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING\0"
- "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_EDGE_FLAG_ARRAY_POINTER\0"
- "GL_EDGE_FLAG_ARRAY_STRIDE\0"
- "GL_ELEMENT_ARRAY_BUFFER\0"
- "GL_ELEMENT_ARRAY_BUFFER_BINDING\0"
- "GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_EMISSION\0"
- "GL_ENABLE_BIT\0"
- "GL_EQUAL\0"
- "GL_EQUIV\0"
- "GL_EVAL_BIT\0"
- "GL_EXP\0"
- "GL_EXP2\0"
- "GL_EXTENSIONS\0"
- "GL_EYE_LINEAR\0"
- "GL_EYE_PLANE\0"
- "GL_EYE_PLANE_ABSOLUTE_NV\0"
- "GL_EYE_RADIAL_NV\0"
- "GL_FALSE\0"
- "GL_FASTEST\0"
- "GL_FEEDBACK\0"
- "GL_FEEDBACK_BUFFER_POINTER\0"
- "GL_FEEDBACK_BUFFER_SIZE\0"
- "GL_FEEDBACK_BUFFER_TYPE\0"
- "GL_FILL\0"
- "GL_FIRST_VERTEX_CONVENTION\0"
- "GL_FIRST_VERTEX_CONVENTION_EXT\0"
- "GL_FIXED\0"
- "GL_FIXED_OES\0"
- "GL_FIXED_ONLY\0"
- "GL_FLAT\0"
- "GL_FLOAT\0"
- "GL_FLOAT_MAT2\0"
- "GL_FLOAT_MAT2_ARB\0"
- "GL_FLOAT_MAT2x3\0"
- "GL_FLOAT_MAT2x4\0"
- "GL_FLOAT_MAT3\0"
- "GL_FLOAT_MAT3_ARB\0"
- "GL_FLOAT_MAT3x2\0"
- "GL_FLOAT_MAT3x4\0"
- "GL_FLOAT_MAT4\0"
- "GL_FLOAT_MAT4_ARB\0"
- "GL_FLOAT_MAT4x2\0"
- "GL_FLOAT_MAT4x3\0"
- "GL_FLOAT_VEC2\0"
- "GL_FLOAT_VEC2_ARB\0"
- "GL_FLOAT_VEC3\0"
- "GL_FLOAT_VEC3_ARB\0"
- "GL_FLOAT_VEC4\0"
- "GL_FLOAT_VEC4_ARB\0"
- "GL_FOG\0"
- "GL_FOG_BIT\0"
- "GL_FOG_COLOR\0"
- "GL_FOG_COORD\0"
- "GL_FOG_COORDINATE\0"
- "GL_FOG_COORDINATE_ARRAY\0"
- "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING\0"
- "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_FOG_COORDINATE_ARRAY_POINTER\0"
- "GL_FOG_COORDINATE_ARRAY_STRIDE\0"
- "GL_FOG_COORDINATE_ARRAY_TYPE\0"
- "GL_FOG_COORDINATE_SOURCE\0"
- "GL_FOG_COORD_ARRAY\0"
- "GL_FOG_COORD_ARRAY_BUFFER_BINDING\0"
- "GL_FOG_COORD_ARRAY_POINTER\0"
- "GL_FOG_COORD_ARRAY_STRIDE\0"
- "GL_FOG_COORD_ARRAY_TYPE\0"
- "GL_FOG_COORD_SRC\0"
- "GL_FOG_DENSITY\0"
- "GL_FOG_DISTANCE_MODE_NV\0"
- "GL_FOG_END\0"
- "GL_FOG_HINT\0"
- "GL_FOG_INDEX\0"
- "GL_FOG_MODE\0"
- "GL_FOG_OFFSET_SGIX\0"
- "GL_FOG_OFFSET_VALUE_SGIX\0"
- "GL_FOG_START\0"
- "GL_FRAGMENT_DEPTH\0"
- "GL_FRAGMENT_PROGRAM_ARB\0"
- "GL_FRAGMENT_SHADER\0"
- "GL_FRAGMENT_SHADER_ARB\0"
- "GL_FRAGMENT_SHADER_DERIVATIVE_HINT\0"
- "GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES\0"
- "GL_FRAMEBUFFER\0"
- "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING\0"
- "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_LAYERED\0"
- "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB\0"
- "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\0"
- "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT\0"
- "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES\0"
- "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT\0"
- "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES\0"
- "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT\0"
- "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES\0"
- "GL_FRAMEBUFFER_BINDING\0"
- "GL_FRAMEBUFFER_BINDING_EXT\0"
- "GL_FRAMEBUFFER_BINDING_OES\0"
- "GL_FRAMEBUFFER_COMPLETE\0"
- "GL_FRAMEBUFFER_COMPLETE_EXT\0"
- "GL_FRAMEBUFFER_COMPLETE_OES\0"
- "GL_FRAMEBUFFER_DEFAULT\0"
- "GL_FRAMEBUFFER_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES\0"
- "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS\0"
- "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES\0"
- "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER\0"
- "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES\0"
- "GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES\0"
- "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB\0"
- "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS\0"
- "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB\0"
- "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES\0"
- "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE\0"
- "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER\0"
- "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT\0"
- "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES\0"
- "GL_FRAMEBUFFER_OES\0"
- "GL_FRAMEBUFFER_STATUS_ERROR_EXT\0"
- "GL_FRAMEBUFFER_UNDEFINED\0"
- "GL_FRAMEBUFFER_UNSUPPORTED\0"
- "GL_FRAMEBUFFER_UNSUPPORTED_EXT\0"
- "GL_FRAMEBUFFER_UNSUPPORTED_OES\0"
- "GL_FRONT\0"
- "GL_FRONT_AND_BACK\0"
- "GL_FRONT_FACE\0"
- "GL_FRONT_LEFT\0"
- "GL_FRONT_RIGHT\0"
- "GL_FUNC_ADD\0"
- "GL_FUNC_ADD_EXT\0"
- "GL_FUNC_ADD_OES\0"
- "GL_FUNC_REVERSE_SUBTRACT\0"
- "GL_FUNC_REVERSE_SUBTRACT_EXT\0"
- "GL_FUNC_REVERSE_SUBTRACT_OES\0"
- "GL_FUNC_SUBTRACT\0"
- "GL_FUNC_SUBTRACT_EXT\0"
- "GL_FUNC_SUBTRACT_OES\0"
- "GL_GENERATE_MIPMAP\0"
- "GL_GENERATE_MIPMAP_HINT\0"
- "GL_GENERATE_MIPMAP_HINT_SGIS\0"
- "GL_GENERATE_MIPMAP_SGIS\0"
- "GL_GEOMETRY_INPUT_TYPE\0"
- "GL_GEOMETRY_INPUT_TYPE_ARB\0"
- "GL_GEOMETRY_OUTPUT_TYPE\0"
- "GL_GEOMETRY_OUTPUT_TYPE_ARB\0"
- "GL_GEOMETRY_SHADER\0"
- "GL_GEOMETRY_SHADER_ARB\0"
- "GL_GEOMETRY_VERTICES_OUT\0"
- "GL_GEOMETRY_VERTICES_OUT_ARB\0"
- "GL_GEQUAL\0"
- "GL_GREATER\0"
- "GL_GREEN\0"
- "GL_GREEN_BIAS\0"
- "GL_GREEN_BITS\0"
- "GL_GREEN_INTEGER\0"
- "GL_GREEN_INTEGER_EXT\0"
- "GL_GREEN_SCALE\0"
- "GL_HALF_FLOAT\0"
- "GL_HALF_FLOAT_OES\0"
- "GL_HIGH_FLOAT\0"
- "GL_HIGH_INT\0"
- "GL_HINT_BIT\0"
- "GL_HISTOGRAM\0"
- "GL_HISTOGRAM_ALPHA_SIZE\0"
- "GL_HISTOGRAM_ALPHA_SIZE_EXT\0"
- "GL_HISTOGRAM_BLUE_SIZE\0"
- "GL_HISTOGRAM_BLUE_SIZE_EXT\0"
- "GL_HISTOGRAM_EXT\0"
- "GL_HISTOGRAM_FORMAT\0"
- "GL_HISTOGRAM_FORMAT_EXT\0"
- "GL_HISTOGRAM_GREEN_SIZE\0"
- "GL_HISTOGRAM_GREEN_SIZE_EXT\0"
- "GL_HISTOGRAM_LUMINANCE_SIZE\0"
- "GL_HISTOGRAM_LUMINANCE_SIZE_EXT\0"
- "GL_HISTOGRAM_RED_SIZE\0"
- "GL_HISTOGRAM_RED_SIZE_EXT\0"
- "GL_HISTOGRAM_SINK\0"
- "GL_HISTOGRAM_SINK_EXT\0"
- "GL_HISTOGRAM_WIDTH\0"
- "GL_HISTOGRAM_WIDTH_EXT\0"
- "GL_IDENTITY_NV\0"
- "GL_IGNORE_BORDER_HP\0"
- "GL_IMPLEMENTATION_COLOR_READ_FORMAT\0"
- "GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES\0"
- "GL_IMPLEMENTATION_COLOR_READ_TYPE\0"
- "GL_IMPLEMENTATION_COLOR_READ_TYPE_OES\0"
- "GL_INCR\0"
- "GL_INCR_WRAP\0"
- "GL_INCR_WRAP_EXT\0"
- "GL_INDEX\0"
- "GL_INDEX_ARRAY\0"
- "GL_INDEX_ARRAY_BUFFER_BINDING\0"
- "GL_INDEX_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_INDEX_ARRAY_POINTER\0"
- "GL_INDEX_ARRAY_STRIDE\0"
- "GL_INDEX_ARRAY_TYPE\0"
- "GL_INDEX_BITS\0"
- "GL_INDEX_CLEAR_VALUE\0"
- "GL_INDEX_LOGIC_OP\0"
- "GL_INDEX_MODE\0"
- "GL_INDEX_OFFSET\0"
- "GL_INDEX_SHIFT\0"
- "GL_INDEX_WRITEMASK\0"
- "GL_INFO_LOG_LENGTH\0"
- "GL_INT\0"
- "GL_INTENSITY\0"
- "GL_INTENSITY12\0"
- "GL_INTENSITY12_EXT\0"
- "GL_INTENSITY16\0"
- "GL_INTENSITY16I_EXT\0"
- "GL_INTENSITY16UI_EXT\0"
- "GL_INTENSITY16_EXT\0"
- "GL_INTENSITY32I_EXT\0"
- "GL_INTENSITY32UI_EXT\0"
- "GL_INTENSITY4\0"
- "GL_INTENSITY4_EXT\0"
- "GL_INTENSITY8\0"
- "GL_INTENSITY8I_EXT\0"
- "GL_INTENSITY8UI_EXT\0"
- "GL_INTENSITY8_EXT\0"
- "GL_INTENSITY_EXT\0"
- "GL_INTERLEAVED_ATTRIBS\0"
- "GL_INTERLEAVED_ATTRIBS_EXT\0"
- "GL_INTERPOLATE\0"
- "GL_INTERPOLATE_ARB\0"
- "GL_INTERPOLATE_EXT\0"
- "GL_INT_10_10_10_2_OES\0"
- "GL_INT_SAMPLER_1D\0"
- "GL_INT_SAMPLER_1D_ARRAY\0"
- "GL_INT_SAMPLER_1D_ARRAY_EXT\0"
- "GL_INT_SAMPLER_1D_EXT\0"
- "GL_INT_SAMPLER_2D\0"
- "GL_INT_SAMPLER_2D_ARRAY\0"
- "GL_INT_SAMPLER_2D_ARRAY_EXT\0"
- "GL_INT_SAMPLER_2D_EXT\0"
- "GL_INT_SAMPLER_2D_RECT\0"
- "GL_INT_SAMPLER_2D_RECT_EXT\0"
- "GL_INT_SAMPLER_3D\0"
- "GL_INT_SAMPLER_3D_EXT\0"
- "GL_INT_SAMPLER_BUFFER\0"
- "GL_INT_SAMPLER_BUFFER_EXT\0"
- "GL_INT_SAMPLER_CUBE\0"
- "GL_INT_SAMPLER_CUBE_EXT\0"
- "GL_INT_VEC2\0"
- "GL_INT_VEC2_ARB\0"
- "GL_INT_VEC3\0"
- "GL_INT_VEC3_ARB\0"
- "GL_INT_VEC4\0"
- "GL_INT_VEC4_ARB\0"
- "GL_INVALID_ENUM\0"
- "GL_INVALID_FRAMEBUFFER_OPERATION\0"
- "GL_INVALID_FRAMEBUFFER_OPERATION_EXT\0"
- "GL_INVALID_FRAMEBUFFER_OPERATION_OES\0"
- "GL_INVALID_OPERATION\0"
- "GL_INVALID_VALUE\0"
- "GL_INVERSE_NV\0"
- "GL_INVERSE_TRANSPOSE_NV\0"
- "GL_INVERT\0"
- "GL_KEEP\0"
- "GL_LAST_VERTEX_CONVENTION\0"
- "GL_LAST_VERTEX_CONVENTION_EXT\0"
- "GL_LEFT\0"
- "GL_LEQUAL\0"
- "GL_LESS\0"
- "GL_LIGHT0\0"
- "GL_LIGHT1\0"
- "GL_LIGHT2\0"
- "GL_LIGHT3\0"
- "GL_LIGHT4\0"
- "GL_LIGHT5\0"
- "GL_LIGHT6\0"
- "GL_LIGHT7\0"
- "GL_LIGHTING\0"
- "GL_LIGHTING_BIT\0"
- "GL_LIGHT_MODEL_AMBIENT\0"
- "GL_LIGHT_MODEL_COLOR_CONTROL\0"
- "GL_LIGHT_MODEL_COLOR_CONTROL_EXT\0"
- "GL_LIGHT_MODEL_LOCAL_VIEWER\0"
- "GL_LIGHT_MODEL_TWO_SIDE\0"
- "GL_LINE\0"
- "GL_LINEAR\0"
- "GL_LINEAR_ATTENUATION\0"
- "GL_LINEAR_CLIPMAP_LINEAR_SGIX\0"
- "GL_LINEAR_CLIPMAP_NEAREST_SGIX\0"
- "GL_LINEAR_MIPMAP_LINEAR\0"
- "GL_LINEAR_MIPMAP_NEAREST\0"
- "GL_LINES\0"
- "GL_LINES_ADJACENCY\0"
- "GL_LINES_ADJACENCY_ARB\0"
- "GL_LINE_BIT\0"
- "GL_LINE_LOOP\0"
- "GL_LINE_RESET_TOKEN\0"
- "GL_LINE_SMOOTH\0"
- "GL_LINE_SMOOTH_HINT\0"
- "GL_LINE_STIPPLE\0"
- "GL_LINE_STIPPLE_PATTERN\0"
- "GL_LINE_STIPPLE_REPEAT\0"
- "GL_LINE_STRIP\0"
- "GL_LINE_STRIP_ADJACENCY\0"
- "GL_LINE_STRIP_ADJACENCY_ARB\0"
- "GL_LINE_TOKEN\0"
- "GL_LINE_WIDTH\0"
- "GL_LINE_WIDTH_GRANULARITY\0"
- "GL_LINE_WIDTH_RANGE\0"
- "GL_LINK_STATUS\0"
- "GL_LIST_BASE\0"
- "GL_LIST_BIT\0"
- "GL_LIST_INDEX\0"
- "GL_LIST_MODE\0"
- "GL_LOAD\0"
- "GL_LOGIC_OP\0"
- "GL_LOGIC_OP_MODE\0"
- "GL_LOWER_LEFT\0"
- "GL_LOW_FLOAT\0"
- "GL_LOW_INT\0"
- "GL_LUMINANCE\0"
- "GL_LUMINANCE12\0"
- "GL_LUMINANCE12_ALPHA12\0"
- "GL_LUMINANCE12_ALPHA12_EXT\0"
- "GL_LUMINANCE12_ALPHA4\0"
- "GL_LUMINANCE12_ALPHA4_EXT\0"
- "GL_LUMINANCE12_EXT\0"
- "GL_LUMINANCE16\0"
- "GL_LUMINANCE16I_EXT\0"
- "GL_LUMINANCE16UI_EXT\0"
- "GL_LUMINANCE16_ALPHA16\0"
- "GL_LUMINANCE16_ALPHA16_EXT\0"
- "GL_LUMINANCE16_EXT\0"
- "GL_LUMINANCE32I_EXT\0"
- "GL_LUMINANCE32UI_EXT\0"
- "GL_LUMINANCE4\0"
- "GL_LUMINANCE4_ALPHA4\0"
- "GL_LUMINANCE4_ALPHA4_EXT\0"
- "GL_LUMINANCE4_EXT\0"
- "GL_LUMINANCE6_ALPHA2\0"
- "GL_LUMINANCE6_ALPHA2_EXT\0"
- "GL_LUMINANCE8\0"
- "GL_LUMINANCE8I_EXT\0"
- "GL_LUMINANCE8UI_EXT\0"
- "GL_LUMINANCE8_ALPHA8\0"
- "GL_LUMINANCE8_ALPHA8_EXT\0"
- "GL_LUMINANCE8_EXT\0"
- "GL_LUMINANCE_ALPHA\0"
- "GL_LUMINANCE_ALPHA16I_EXT\0"
- "GL_LUMINANCE_ALPHA16UI_EXT\0"
- "GL_LUMINANCE_ALPHA32I_EXT\0"
- "GL_LUMINANCE_ALPHA32UI_EXT\0"
- "GL_LUMINANCE_ALPHA8I_EXT\0"
- "GL_LUMINANCE_ALPHA8UI_EXT\0"
- "GL_LUMINANCE_ALPHA_INTEGER_EXT\0"
- "GL_LUMINANCE_INTEGER_EXT\0"
- "GL_MAJOR_VERSION\0"
- "GL_MAP1_COLOR_4\0"
- "GL_MAP1_GRID_DOMAIN\0"
- "GL_MAP1_GRID_SEGMENTS\0"
- "GL_MAP1_INDEX\0"
- "GL_MAP1_NORMAL\0"
- "GL_MAP1_TEXTURE_COORD_1\0"
- "GL_MAP1_TEXTURE_COORD_2\0"
- "GL_MAP1_TEXTURE_COORD_3\0"
- "GL_MAP1_TEXTURE_COORD_4\0"
- "GL_MAP1_VERTEX_3\0"
- "GL_MAP1_VERTEX_4\0"
- "GL_MAP1_VERTEX_ATTRIB0_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB10_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB11_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB12_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB13_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB14_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB15_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB1_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB2_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB3_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB4_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB5_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB6_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB7_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB8_4_NV\0"
- "GL_MAP1_VERTEX_ATTRIB9_4_NV\0"
- "GL_MAP2_COLOR_4\0"
- "GL_MAP2_GRID_DOMAIN\0"
- "GL_MAP2_GRID_SEGMENTS\0"
- "GL_MAP2_INDEX\0"
- "GL_MAP2_NORMAL\0"
- "GL_MAP2_TEXTURE_COORD_1\0"
- "GL_MAP2_TEXTURE_COORD_2\0"
- "GL_MAP2_TEXTURE_COORD_3\0"
- "GL_MAP2_TEXTURE_COORD_4\0"
- "GL_MAP2_VERTEX_3\0"
- "GL_MAP2_VERTEX_4\0"
- "GL_MAP2_VERTEX_ATTRIB0_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB10_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB11_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB12_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB13_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB14_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB15_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB1_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB2_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB3_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB4_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB5_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB6_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB7_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB8_4_NV\0"
- "GL_MAP2_VERTEX_ATTRIB9_4_NV\0"
- "GL_MAP_COLOR\0"
- "GL_MAP_FLUSH_EXPLICIT_BIT\0"
- "GL_MAP_INVALIDATE_BUFFER_BIT\0"
- "GL_MAP_INVALIDATE_RANGE_BIT\0"
- "GL_MAP_READ_BIT\0"
- "GL_MAP_STENCIL\0"
- "GL_MAP_UNSYNCHRONIZED_BIT\0"
- "GL_MAP_WRITE_BIT\0"
- "GL_MATRIX0_ARB\0"
- "GL_MATRIX0_NV\0"
- "GL_MATRIX10_ARB\0"
- "GL_MATRIX11_ARB\0"
- "GL_MATRIX12_ARB\0"
- "GL_MATRIX13_ARB\0"
- "GL_MATRIX14_ARB\0"
- "GL_MATRIX15_ARB\0"
- "GL_MATRIX16_ARB\0"
- "GL_MATRIX17_ARB\0"
- "GL_MATRIX18_ARB\0"
- "GL_MATRIX19_ARB\0"
- "GL_MATRIX1_ARB\0"
- "GL_MATRIX1_NV\0"
- "GL_MATRIX20_ARB\0"
- "GL_MATRIX21_ARB\0"
- "GL_MATRIX22_ARB\0"
- "GL_MATRIX23_ARB\0"
- "GL_MATRIX24_ARB\0"
- "GL_MATRIX25_ARB\0"
- "GL_MATRIX26_ARB\0"
- "GL_MATRIX27_ARB\0"
- "GL_MATRIX28_ARB\0"
- "GL_MATRIX29_ARB\0"
- "GL_MATRIX2_ARB\0"
- "GL_MATRIX2_NV\0"
- "GL_MATRIX30_ARB\0"
- "GL_MATRIX31_ARB\0"
- "GL_MATRIX3_ARB\0"
- "GL_MATRIX3_NV\0"
- "GL_MATRIX4_ARB\0"
- "GL_MATRIX4_NV\0"
- "GL_MATRIX5_ARB\0"
- "GL_MATRIX5_NV\0"
- "GL_MATRIX6_ARB\0"
- "GL_MATRIX6_NV\0"
- "GL_MATRIX7_ARB\0"
- "GL_MATRIX7_NV\0"
- "GL_MATRIX8_ARB\0"
- "GL_MATRIX9_ARB\0"
- "GL_MATRIX_INDEX_ARRAY_ARB\0"
- "GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES\0"
- "GL_MATRIX_INDEX_ARRAY_OES\0"
- "GL_MATRIX_INDEX_ARRAY_POINTER_ARB\0"
- "GL_MATRIX_INDEX_ARRAY_POINTER_OES\0"
- "GL_MATRIX_INDEX_ARRAY_SIZE_ARB\0"
- "GL_MATRIX_INDEX_ARRAY_SIZE_OES\0"
- "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB\0"
- "GL_MATRIX_INDEX_ARRAY_STRIDE_OES\0"
- "GL_MATRIX_INDEX_ARRAY_TYPE_ARB\0"
- "GL_MATRIX_INDEX_ARRAY_TYPE_OES\0"
- "GL_MATRIX_MODE\0"
- "GL_MATRIX_PALETTE_ARB\0"
- "GL_MATRIX_PALETTE_OES\0"
- "GL_MAX\0"
- "GL_MAX_3D_TEXTURE_SIZE\0"
- "GL_MAX_3D_TEXTURE_SIZE_OES\0"
- "GL_MAX_ARRAY_TEXTURE_LAYERS\0"
- "GL_MAX_ARRAY_TEXTURE_LAYERS_EXT\0"
- "GL_MAX_ATTRIB_STACK_DEPTH\0"
- "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH\0"
- "GL_MAX_CLIPMAP_DEPTH_SGIX\0"
- "GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX\0"
- "GL_MAX_CLIP_DISTANCES\0"
- "GL_MAX_CLIP_PLANES\0"
- "GL_MAX_COLOR_ATTACHMENTS\0"
- "GL_MAX_COLOR_ATTACHMENTS_EXT\0"
- "GL_MAX_COLOR_MATRIX_STACK_DEPTH\0"
- "GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI\0"
- "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS\0"
- "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB\0"
- "GL_MAX_CONVOLUTION_HEIGHT\0"
- "GL_MAX_CONVOLUTION_HEIGHT_EXT\0"
- "GL_MAX_CONVOLUTION_WIDTH\0"
- "GL_MAX_CONVOLUTION_WIDTH_EXT\0"
- "GL_MAX_CUBE_MAP_TEXTURE_SIZE\0"
- "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB\0"
- "GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES\0"
- "GL_MAX_DRAW_BUFFERS\0"
- "GL_MAX_DRAW_BUFFERS_ARB\0"
- "GL_MAX_DRAW_BUFFERS_ATI\0"
- "GL_MAX_ELEMENTS_INDICES\0"
- "GL_MAX_ELEMENTS_VERTICES\0"
- "GL_MAX_EVAL_ORDER\0"
- "GL_MAX_EXT\0"
- "GL_MAX_FRAGMENT_INPUT_COMPONENTS\0"
- "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS\0"
- "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB\0"
- "GL_MAX_FRAGMENT_UNIFORM_VECTORS\0"
- "GL_MAX_GEOMETRY_INPUT_COMPONENTS\0"
- "GL_MAX_GEOMETRY_OUTPUT_COMPONENTS\0"
- "GL_MAX_GEOMETRY_OUTPUT_VERTICES\0"
- "GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB\0"
- "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS\0"
- "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB\0"
- "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS\0"
- "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB\0"
- "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS\0"
- "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB\0"
- "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB\0"
- "GL_MAX_LIGHTS\0"
- "GL_MAX_LIST_NESTING\0"
- "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB\0"
- "GL_MAX_MODELVIEW_STACK_DEPTH\0"
- "GL_MAX_NAME_STACK_DEPTH\0"
- "GL_MAX_PALETTE_MATRICES_ARB\0"
- "GL_MAX_PALETTE_MATRICES_OES\0"
- "GL_MAX_PIXEL_MAP_TABLE\0"
- "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB\0"
- "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB\0"
- "GL_MAX_PROGRAM_ATTRIBS_ARB\0"
- "GL_MAX_PROGRAM_CALL_DEPTH_NV\0"
- "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB\0"
- "GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV\0"
- "GL_MAX_PROGRAM_IF_DEPTH_NV\0"
- "GL_MAX_PROGRAM_INSTRUCTIONS_ARB\0"
- "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB\0"
- "GL_MAX_PROGRAM_LOOP_COUNT_NV\0"
- "GL_MAX_PROGRAM_LOOP_DEPTH_NV\0"
- "GL_MAX_PROGRAM_MATRICES_ARB\0"
- "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB\0"
- "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB\0"
- "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB\0"
- "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB\0"
- "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB\0"
- "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB\0"
- "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB\0"
- "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB\0"
- "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB\0"
- "GL_MAX_PROGRAM_PARAMETERS_ARB\0"
- "GL_MAX_PROGRAM_TEMPORARIES_ARB\0"
- "GL_MAX_PROGRAM_TEXEL_OFFSET\0"
- "GL_MAX_PROGRAM_TEXEL_OFFSET_EXT\0"
- "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB\0"
- "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB\0"
- "GL_MAX_PROJECTION_STACK_DEPTH\0"
- "GL_MAX_RECTANGLE_TEXTURE_SIZE\0"
- "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB\0"
- "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV\0"
- "GL_MAX_RENDERBUFFER_SIZE\0"
- "GL_MAX_RENDERBUFFER_SIZE_EXT\0"
- "GL_MAX_RENDERBUFFER_SIZE_OES\0"
- "GL_MAX_SAMPLES\0"
- "GL_MAX_SAMPLES_EXT\0"
- "GL_MAX_SERVER_WAIT_TIMEOUT\0"
- "GL_MAX_SHININESS_NV\0"
- "GL_MAX_SPOT_EXPONENT_NV\0"
- "GL_MAX_TEXTURE_BUFFER_SIZE\0"
- "GL_MAX_TEXTURE_COORDS\0"
- "GL_MAX_TEXTURE_COORDS_ARB\0"
- "GL_MAX_TEXTURE_IMAGE_UNITS\0"
- "GL_MAX_TEXTURE_IMAGE_UNITS_ARB\0"
- "GL_MAX_TEXTURE_LOD_BIAS\0"
- "GL_MAX_TEXTURE_LOD_BIAS_EXT\0"
- "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT\0"
- "GL_MAX_TEXTURE_SIZE\0"
- "GL_MAX_TEXTURE_STACK_DEPTH\0"
- "GL_MAX_TEXTURE_UNITS\0"
- "GL_MAX_TEXTURE_UNITS_ARB\0"
- "GL_MAX_TRACK_MATRICES_NV\0"
- "GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV\0"
- "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS\0"
- "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT\0"
- "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS\0"
- "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT\0"
- "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS\0"
- "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT\0"
- "GL_MAX_VARYING_COMPONENTS\0"
- "GL_MAX_VARYING_FLOATS\0"
- "GL_MAX_VARYING_FLOATS_ARB\0"
- "GL_MAX_VARYING_VECTORS\0"
- "GL_MAX_VERTEX_ATTRIBS\0"
- "GL_MAX_VERTEX_ATTRIBS_ARB\0"
- "GL_MAX_VERTEX_OUTPUT_COMPONENTS\0"
- "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS\0"
- "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB\0"
- "GL_MAX_VERTEX_UNIFORM_COMPONENTS\0"
- "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB\0"
- "GL_MAX_VERTEX_UNIFORM_VECTORS\0"
- "GL_MAX_VERTEX_UNITS_ARB\0"
- "GL_MAX_VERTEX_UNITS_OES\0"
- "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB\0"
- "GL_MAX_VIEWPORT_DIMS\0"
- "GL_MEDIUM_FLOAT\0"
- "GL_MEDIUM_INT\0"
- "GL_MIN\0"
- "GL_MINMAX\0"
- "GL_MINMAX_EXT\0"
- "GL_MINMAX_FORMAT\0"
- "GL_MINMAX_FORMAT_EXT\0"
- "GL_MINMAX_SINK\0"
- "GL_MINMAX_SINK_EXT\0"
- "GL_MINOR_VERSION\0"
- "GL_MIN_EXT\0"
- "GL_MIN_PROGRAM_TEXEL_OFFSET\0"
- "GL_MIN_PROGRAM_TEXEL_OFFSET_EXT\0"
- "GL_MIRRORED_REPEAT\0"
- "GL_MIRRORED_REPEAT_ARB\0"
- "GL_MIRRORED_REPEAT_IBM\0"
- "GL_MIRROR_CLAMP_ATI\0"
- "GL_MIRROR_CLAMP_EXT\0"
- "GL_MIRROR_CLAMP_TO_BORDER_EXT\0"
- "GL_MIRROR_CLAMP_TO_EDGE_ATI\0"
- "GL_MIRROR_CLAMP_TO_EDGE_EXT\0"
- "GL_MODELVIEW\0"
- "GL_MODELVIEW0_ARB\0"
- "GL_MODELVIEW10_ARB\0"
- "GL_MODELVIEW11_ARB\0"
- "GL_MODELVIEW12_ARB\0"
- "GL_MODELVIEW13_ARB\0"
- "GL_MODELVIEW14_ARB\0"
- "GL_MODELVIEW15_ARB\0"
- "GL_MODELVIEW16_ARB\0"
- "GL_MODELVIEW17_ARB\0"
- "GL_MODELVIEW18_ARB\0"
- "GL_MODELVIEW19_ARB\0"
- "GL_MODELVIEW1_ARB\0"
- "GL_MODELVIEW20_ARB\0"
- "GL_MODELVIEW21_ARB\0"
- "GL_MODELVIEW22_ARB\0"
- "GL_MODELVIEW23_ARB\0"
- "GL_MODELVIEW24_ARB\0"
- "GL_MODELVIEW25_ARB\0"
- "GL_MODELVIEW26_ARB\0"
- "GL_MODELVIEW27_ARB\0"
- "GL_MODELVIEW28_ARB\0"
- "GL_MODELVIEW29_ARB\0"
- "GL_MODELVIEW2_ARB\0"
- "GL_MODELVIEW30_ARB\0"
- "GL_MODELVIEW31_ARB\0"
- "GL_MODELVIEW3_ARB\0"
- "GL_MODELVIEW4_ARB\0"
- "GL_MODELVIEW5_ARB\0"
- "GL_MODELVIEW6_ARB\0"
- "GL_MODELVIEW7_ARB\0"
- "GL_MODELVIEW8_ARB\0"
- "GL_MODELVIEW9_ARB\0"
- "GL_MODELVIEW_MATRIX\0"
- "GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES\0"
- "GL_MODELVIEW_PROJECTION_NV\0"
- "GL_MODELVIEW_STACK_DEPTH\0"
- "GL_MODULATE\0"
- "GL_MODULATE_ADD_ATI\0"
- "GL_MODULATE_SIGNED_ADD_ATI\0"
- "GL_MODULATE_SUBTRACT_ATI\0"
- "GL_MULT\0"
- "GL_MULTISAMPLE\0"
- "GL_MULTISAMPLE_3DFX\0"
- "GL_MULTISAMPLE_ARB\0"
- "GL_MULTISAMPLE_BIT\0"
- "GL_MULTISAMPLE_BIT_3DFX\0"
- "GL_MULTISAMPLE_BIT_ARB\0"
- "GL_MULTISAMPLE_FILTER_HINT_NV\0"
- "GL_N3F_V3F\0"
- "GL_NAME_STACK_DEPTH\0"
- "GL_NAND\0"
- "GL_NEAREST\0"
- "GL_NEAREST_CLIPMAP_LINEAR_SGIX\0"
- "GL_NEAREST_CLIPMAP_NEAREST_SGIX\0"
- "GL_NEAREST_MIPMAP_LINEAR\0"
- "GL_NEAREST_MIPMAP_NEAREST\0"
- "GL_NEVER\0"
- "GL_NICEST\0"
- "GL_NONE\0"
- "GL_NONE_OES\0"
- "GL_NOOP\0"
- "GL_NOR\0"
- "GL_NORMALIZE\0"
- "GL_NORMAL_ARRAY\0"
- "GL_NORMAL_ARRAY_BUFFER_BINDING\0"
- "GL_NORMAL_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_NORMAL_ARRAY_POINTER\0"
- "GL_NORMAL_ARRAY_STRIDE\0"
- "GL_NORMAL_ARRAY_TYPE\0"
- "GL_NORMAL_MAP\0"
- "GL_NORMAL_MAP_ARB\0"
- "GL_NORMAL_MAP_NV\0"
- "GL_NORMAL_MAP_OES\0"
- "GL_NOTEQUAL\0"
- "GL_NO_ERROR\0"
- "GL_NUM_COMPRESSED_TEXTURE_FORMATS\0"
- "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB\0"
- "GL_NUM_EXTENSIONS\0"
- "GL_NUM_PROGRAM_BINARY_FORMATS_OES\0"
- "GL_NUM_SHADER_BINARY_FORMATS\0"
- "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB\0"
- "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB\0"
- "GL_OBJECT_ACTIVE_UNIFORMS_ARB\0"
- "GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB\0"
- "GL_OBJECT_ATTACHED_OBJECTS_ARB\0"
- "GL_OBJECT_COMPILE_STATUS_ARB\0"
- "GL_OBJECT_DELETE_STATUS_ARB\0"
- "GL_OBJECT_INFO_LOG_LENGTH_ARB\0"
- "GL_OBJECT_LINEAR\0"
- "GL_OBJECT_LINK_STATUS_ARB\0"
- "GL_OBJECT_PLANE\0"
- "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB\0"
- "GL_OBJECT_SUBTYPE_ARB\0"
- "GL_OBJECT_TYPE\0"
- "GL_OBJECT_TYPE_ARB\0"
- "GL_OBJECT_VALIDATE_STATUS_ARB\0"
- "GL_OCCLUSION_TEST_HP\0"
- "GL_OCCLUSION_TEST_RESULT_HP\0"
- "GL_ONE\0"
- "GL_ONE_MINUS_CONSTANT_ALPHA\0"
- "GL_ONE_MINUS_CONSTANT_ALPHA_EXT\0"
- "GL_ONE_MINUS_CONSTANT_COLOR\0"
- "GL_ONE_MINUS_CONSTANT_COLOR_EXT\0"
- "GL_ONE_MINUS_DST_ALPHA\0"
- "GL_ONE_MINUS_DST_COLOR\0"
- "GL_ONE_MINUS_SRC_ALPHA\0"
- "GL_ONE_MINUS_SRC_COLOR\0"
- "GL_OPERAND0_ALPHA\0"
- "GL_OPERAND0_ALPHA_ARB\0"
- "GL_OPERAND0_ALPHA_EXT\0"
- "GL_OPERAND0_RGB\0"
- "GL_OPERAND0_RGB_ARB\0"
- "GL_OPERAND0_RGB_EXT\0"
- "GL_OPERAND1_ALPHA\0"
- "GL_OPERAND1_ALPHA_ARB\0"
- "GL_OPERAND1_ALPHA_EXT\0"
- "GL_OPERAND1_RGB\0"
- "GL_OPERAND1_RGB_ARB\0"
- "GL_OPERAND1_RGB_EXT\0"
- "GL_OPERAND2_ALPHA\0"
- "GL_OPERAND2_ALPHA_ARB\0"
- "GL_OPERAND2_ALPHA_EXT\0"
- "GL_OPERAND2_RGB\0"
- "GL_OPERAND2_RGB_ARB\0"
- "GL_OPERAND2_RGB_EXT\0"
- "GL_OPERAND3_ALPHA_NV\0"
- "GL_OPERAND3_RGB_NV\0"
- "GL_OR\0"
- "GL_ORDER\0"
- "GL_OR_INVERTED\0"
- "GL_OR_REVERSE\0"
- "GL_OUT_OF_MEMORY\0"
- "GL_PACK_ALIGNMENT\0"
- "GL_PACK_IMAGE_HEIGHT\0"
- "GL_PACK_INVERT_MESA\0"
- "GL_PACK_LSB_FIRST\0"
- "GL_PACK_ROW_LENGTH\0"
- "GL_PACK_SKIP_IMAGES\0"
- "GL_PACK_SKIP_PIXELS\0"
- "GL_PACK_SKIP_ROWS\0"
- "GL_PACK_SWAP_BYTES\0"
- "GL_PALETTE4_R5_G6_B5_OES\0"
- "GL_PALETTE4_RGB5_A1_OES\0"
- "GL_PALETTE4_RGB8_OES\0"
- "GL_PALETTE4_RGBA4_OES\0"
- "GL_PALETTE4_RGBA8_OES\0"
- "GL_PALETTE8_R5_G6_B5_OES\0"
- "GL_PALETTE8_RGB5_A1_OES\0"
- "GL_PALETTE8_RGB8_OES\0"
- "GL_PALETTE8_RGBA4_OES\0"
- "GL_PALETTE8_RGBA8_OES\0"
- "GL_PASS_THROUGH_TOKEN\0"
- "GL_PERSPECTIVE_CORRECTION_HINT\0"
- "GL_PIXEL_MAP_A_TO_A\0"
- "GL_PIXEL_MAP_A_TO_A_SIZE\0"
- "GL_PIXEL_MAP_B_TO_B\0"
- "GL_PIXEL_MAP_B_TO_B_SIZE\0"
- "GL_PIXEL_MAP_G_TO_G\0"
- "GL_PIXEL_MAP_G_TO_G_SIZE\0"
- "GL_PIXEL_MAP_I_TO_A\0"
- "GL_PIXEL_MAP_I_TO_A_SIZE\0"
- "GL_PIXEL_MAP_I_TO_B\0"
- "GL_PIXEL_MAP_I_TO_B_SIZE\0"
- "GL_PIXEL_MAP_I_TO_G\0"
- "GL_PIXEL_MAP_I_TO_G_SIZE\0"
- "GL_PIXEL_MAP_I_TO_I\0"
- "GL_PIXEL_MAP_I_TO_I_SIZE\0"
- "GL_PIXEL_MAP_I_TO_R\0"
- "GL_PIXEL_MAP_I_TO_R_SIZE\0"
- "GL_PIXEL_MAP_R_TO_R\0"
- "GL_PIXEL_MAP_R_TO_R_SIZE\0"
- "GL_PIXEL_MAP_S_TO_S\0"
- "GL_PIXEL_MAP_S_TO_S_SIZE\0"
- "GL_PIXEL_MODE_BIT\0"
- "GL_PIXEL_PACK_BUFFER\0"
- "GL_PIXEL_PACK_BUFFER_BINDING\0"
- "GL_PIXEL_PACK_BUFFER_BINDING_EXT\0"
- "GL_PIXEL_PACK_BUFFER_EXT\0"
- "GL_PIXEL_UNPACK_BUFFER\0"
- "GL_PIXEL_UNPACK_BUFFER_BINDING\0"
- "GL_PIXEL_UNPACK_BUFFER_BINDING_EXT\0"
- "GL_PIXEL_UNPACK_BUFFER_EXT\0"
- "GL_POINT\0"
- "GL_POINTS\0"
- "GL_POINT_BIT\0"
- "GL_POINT_DISTANCE_ATTENUATION\0"
- "GL_POINT_DISTANCE_ATTENUATION_ARB\0"
- "GL_POINT_DISTANCE_ATTENUATION_EXT\0"
- "GL_POINT_DISTANCE_ATTENUATION_SGIS\0"
- "GL_POINT_FADE_THRESHOLD_SIZE\0"
- "GL_POINT_FADE_THRESHOLD_SIZE_ARB\0"
- "GL_POINT_FADE_THRESHOLD_SIZE_EXT\0"
- "GL_POINT_FADE_THRESHOLD_SIZE_SGIS\0"
- "GL_POINT_SIZE\0"
- "GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES\0"
- "GL_POINT_SIZE_ARRAY_OES\0"
- "GL_POINT_SIZE_ARRAY_POINTER_OES\0"
- "GL_POINT_SIZE_ARRAY_STRIDE_OES\0"
- "GL_POINT_SIZE_ARRAY_TYPE_OES\0"
- "GL_POINT_SIZE_GRANULARITY\0"
- "GL_POINT_SIZE_MAX\0"
- "GL_POINT_SIZE_MAX_ARB\0"
- "GL_POINT_SIZE_MAX_EXT\0"
- "GL_POINT_SIZE_MAX_SGIS\0"
- "GL_POINT_SIZE_MIN\0"
- "GL_POINT_SIZE_MIN_ARB\0"
- "GL_POINT_SIZE_MIN_EXT\0"
- "GL_POINT_SIZE_MIN_SGIS\0"
- "GL_POINT_SIZE_RANGE\0"
- "GL_POINT_SMOOTH\0"
- "GL_POINT_SMOOTH_HINT\0"
- "GL_POINT_SPRITE\0"
- "GL_POINT_SPRITE_ARB\0"
- "GL_POINT_SPRITE_COORD_ORIGIN\0"
- "GL_POINT_SPRITE_NV\0"
- "GL_POINT_SPRITE_OES\0"
- "GL_POINT_SPRITE_R_MODE_NV\0"
- "GL_POINT_TOKEN\0"
- "GL_POLYGON\0"
- "GL_POLYGON_BIT\0"
- "GL_POLYGON_MODE\0"
- "GL_POLYGON_OFFSET_BIAS\0"
- "GL_POLYGON_OFFSET_FACTOR\0"
- "GL_POLYGON_OFFSET_FILL\0"
- "GL_POLYGON_OFFSET_LINE\0"
- "GL_POLYGON_OFFSET_POINT\0"
- "GL_POLYGON_OFFSET_UNITS\0"
- "GL_POLYGON_SMOOTH\0"
- "GL_POLYGON_SMOOTH_HINT\0"
- "GL_POLYGON_STIPPLE\0"
- "GL_POLYGON_STIPPLE_BIT\0"
- "GL_POLYGON_TOKEN\0"
- "GL_POSITION\0"
- "GL_POST_COLOR_MATRIX_ALPHA_BIAS\0"
- "GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI\0"
- "GL_POST_COLOR_MATRIX_ALPHA_SCALE\0"
- "GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI\0"
- "GL_POST_COLOR_MATRIX_BLUE_BIAS\0"
- "GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI\0"
- "GL_POST_COLOR_MATRIX_BLUE_SCALE\0"
- "GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI\0"
- "GL_POST_COLOR_MATRIX_COLOR_TABLE\0"
- "GL_POST_COLOR_MATRIX_GREEN_BIAS\0"
- "GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI\0"
- "GL_POST_COLOR_MATRIX_GREEN_SCALE\0"
- "GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI\0"
- "GL_POST_COLOR_MATRIX_RED_BIAS\0"
- "GL_POST_COLOR_MATRIX_RED_BIAS_SGI\0"
- "GL_POST_COLOR_MATRIX_RED_SCALE\0"
- "GL_POST_COLOR_MATRIX_RED_SCALE_SGI\0"
- "GL_POST_CONVOLUTION_ALPHA_BIAS\0"
- "GL_POST_CONVOLUTION_ALPHA_BIAS_EXT\0"
- "GL_POST_CONVOLUTION_ALPHA_SCALE\0"
- "GL_POST_CONVOLUTION_ALPHA_SCALE_EXT\0"
- "GL_POST_CONVOLUTION_BLUE_BIAS\0"
- "GL_POST_CONVOLUTION_BLUE_BIAS_EXT\0"
- "GL_POST_CONVOLUTION_BLUE_SCALE\0"
- "GL_POST_CONVOLUTION_BLUE_SCALE_EXT\0"
- "GL_POST_CONVOLUTION_COLOR_TABLE\0"
- "GL_POST_CONVOLUTION_GREEN_BIAS\0"
- "GL_POST_CONVOLUTION_GREEN_BIAS_EXT\0"
- "GL_POST_CONVOLUTION_GREEN_SCALE\0"
- "GL_POST_CONVOLUTION_GREEN_SCALE_EXT\0"
- "GL_POST_CONVOLUTION_RED_BIAS\0"
- "GL_POST_CONVOLUTION_RED_BIAS_EXT\0"
- "GL_POST_CONVOLUTION_RED_SCALE\0"
- "GL_POST_CONVOLUTION_RED_SCALE_EXT\0"
- "GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX\0"
- "GL_POST_TEXTURE_FILTER_BIAS_SGIX\0"
- "GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX\0"
- "GL_POST_TEXTURE_FILTER_SCALE_SGIX\0"
- "GL_PREVIOUS\0"
- "GL_PREVIOUS_ARB\0"
- "GL_PREVIOUS_EXT\0"
- "GL_PRIMARY_COLOR\0"
- "GL_PRIMARY_COLOR_ARB\0"
- "GL_PRIMARY_COLOR_EXT\0"
- "GL_PRIMITIVES_GENERATED\0"
- "GL_PRIMITIVES_GENERATED_EXT\0"
- "GL_PRIMITIVE_RESTART\0"
- "GL_PRIMITIVE_RESTART_INDEX\0"
- "GL_PRIMITIVE_RESTART_INDEX_NV\0"
- "GL_PRIMITIVE_RESTART_NV\0"
- "GL_PROGRAM_ADDRESS_REGISTERS_ARB\0"
- "GL_PROGRAM_ALU_INSTRUCTIONS_ARB\0"
- "GL_PROGRAM_ATTRIBS_ARB\0"
- "GL_PROGRAM_BINARY_FORMATS_OES\0"
- "GL_PROGRAM_BINARY_LENGTH_OES\0"
- "GL_PROGRAM_BINDING_ARB\0"
- "GL_PROGRAM_ERROR_POSITION_ARB\0"
- "GL_PROGRAM_ERROR_POSITION_NV\0"
- "GL_PROGRAM_ERROR_STRING_ARB\0"
- "GL_PROGRAM_FORMAT_ARB\0"
- "GL_PROGRAM_FORMAT_ASCII_ARB\0"
- "GL_PROGRAM_INSTRUCTIONS_ARB\0"
- "GL_PROGRAM_LENGTH_ARB\0"
- "GL_PROGRAM_LENGTH_NV\0"
- "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB\0"
- "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB\0"
- "GL_PROGRAM_NATIVE_ATTRIBS_ARB\0"
- "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB\0"
- "GL_PROGRAM_NATIVE_PARAMETERS_ARB\0"
- "GL_PROGRAM_NATIVE_TEMPORARIES_ARB\0"
- "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB\0"
- "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB\0"
- "GL_PROGRAM_OBJECT_ARB\0"
- "GL_PROGRAM_PARAMETERS_ARB\0"
- "GL_PROGRAM_PARAMETER_NV\0"
- "GL_PROGRAM_POINT_SIZE\0"
- "GL_PROGRAM_POINT_SIZE_ARB\0"
- "GL_PROGRAM_RESIDENT_NV\0"
- "GL_PROGRAM_STRING_ARB\0"
- "GL_PROGRAM_STRING_NV\0"
- "GL_PROGRAM_TARGET_NV\0"
- "GL_PROGRAM_TEMPORARIES_ARB\0"
- "GL_PROGRAM_TEX_INDIRECTIONS_ARB\0"
- "GL_PROGRAM_TEX_INSTRUCTIONS_ARB\0"
- "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB\0"
- "GL_PROJECTION\0"
- "GL_PROJECTION_MATRIX\0"
- "GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES\0"
- "GL_PROJECTION_STACK_DEPTH\0"
- "GL_PROVOKING_VERTEX\0"
- "GL_PROVOKING_VERTEX_EXT\0"
- "GL_PROXY_COLOR_TABLE\0"
- "GL_PROXY_HISTOGRAM\0"
- "GL_PROXY_HISTOGRAM_EXT\0"
- "GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE\0"
- "GL_PROXY_POST_CONVOLUTION_COLOR_TABLE\0"
- "GL_PROXY_TEXTURE_1D\0"
- "GL_PROXY_TEXTURE_1D_ARRAY\0"
- "GL_PROXY_TEXTURE_1D_ARRAY_EXT\0"
- "GL_PROXY_TEXTURE_1D_EXT\0"
- "GL_PROXY_TEXTURE_2D\0"
- "GL_PROXY_TEXTURE_2D_ARRAY\0"
- "GL_PROXY_TEXTURE_2D_ARRAY_EXT\0"
- "GL_PROXY_TEXTURE_2D_EXT\0"
- "GL_PROXY_TEXTURE_3D\0"
- "GL_PROXY_TEXTURE_COLOR_TABLE_SGI\0"
- "GL_PROXY_TEXTURE_CUBE_MAP\0"
- "GL_PROXY_TEXTURE_CUBE_MAP_ARB\0"
- "GL_PROXY_TEXTURE_RECTANGLE\0"
- "GL_PROXY_TEXTURE_RECTANGLE_ARB\0"
- "GL_PROXY_TEXTURE_RECTANGLE_NV\0"
- "GL_PURGEABLE_APPLE\0"
- "GL_Q\0"
- "GL_QUADRATIC_ATTENUATION\0"
- "GL_QUADS\0"
- "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION\0"
- "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT\0"
- "GL_QUAD_MESH_SUN\0"
- "GL_QUAD_STRIP\0"
- "GL_QUERY_BY_REGION_NO_WAIT\0"
- "GL_QUERY_BY_REGION_NO_WAIT_NV\0"
- "GL_QUERY_BY_REGION_WAIT\0"
- "GL_QUERY_BY_REGION_WAIT_NV\0"
- "GL_QUERY_COUNTER_BITS\0"
- "GL_QUERY_COUNTER_BITS_ARB\0"
- "GL_QUERY_NO_WAIT\0"
- "GL_QUERY_NO_WAIT_NV\0"
- "GL_QUERY_RESULT\0"
- "GL_QUERY_RESULT_ARB\0"
- "GL_QUERY_RESULT_AVAILABLE\0"
- "GL_QUERY_RESULT_AVAILABLE_ARB\0"
- "GL_QUERY_WAIT\0"
- "GL_QUERY_WAIT_NV\0"
- "GL_R\0"
- "GL_R11F_G11F_B10F\0"
- "GL_R16_SNORM\0"
- "GL_R3_G3_B2\0"
- "GL_R8_SNORM\0"
- "GL_RASTERIZER_DISCARD\0"
- "GL_RASTERIZER_DISCARD_EXT\0"
- "GL_RASTER_POSITION_UNCLIPPED_IBM\0"
- "GL_READ_BUFFER\0"
- "GL_READ_FRAMEBUFFER\0"
- "GL_READ_FRAMEBUFFER_BINDING\0"
- "GL_READ_FRAMEBUFFER_BINDING_EXT\0"
- "GL_READ_FRAMEBUFFER_EXT\0"
- "GL_READ_ONLY\0"
- "GL_READ_ONLY_ARB\0"
- "GL_READ_WRITE\0"
- "GL_READ_WRITE_ARB\0"
- "GL_RED\0"
- "GL_REDUCE\0"
- "GL_REDUCE_EXT\0"
- "GL_RED_BIAS\0"
- "GL_RED_BITS\0"
- "GL_RED_INTEGER\0"
- "GL_RED_INTEGER_EXT\0"
- "GL_RED_SCALE\0"
- "GL_RED_SNORM\0"
- "GL_REFLECTION_MAP\0"
- "GL_REFLECTION_MAP_ARB\0"
- "GL_REFLECTION_MAP_NV\0"
- "GL_REFLECTION_MAP_OES\0"
- "GL_RELEASED_APPLE\0"
- "GL_RENDER\0"
- "GL_RENDERBUFFER\0"
- "GL_RENDERBUFFER_ALPHA_SIZE\0"
- "GL_RENDERBUFFER_ALPHA_SIZE_OES\0"
- "GL_RENDERBUFFER_BINDING\0"
- "GL_RENDERBUFFER_BINDING_EXT\0"
- "GL_RENDERBUFFER_BINDING_OES\0"
- "GL_RENDERBUFFER_BLUE_SIZE\0"
- "GL_RENDERBUFFER_BLUE_SIZE_OES\0"
- "GL_RENDERBUFFER_DEPTH_SIZE\0"
- "GL_RENDERBUFFER_DEPTH_SIZE_OES\0"
- "GL_RENDERBUFFER_EXT\0"
- "GL_RENDERBUFFER_GREEN_SIZE\0"
- "GL_RENDERBUFFER_GREEN_SIZE_OES\0"
- "GL_RENDERBUFFER_HEIGHT\0"
- "GL_RENDERBUFFER_HEIGHT_EXT\0"
- "GL_RENDERBUFFER_HEIGHT_OES\0"
- "GL_RENDERBUFFER_INTERNAL_FORMAT\0"
- "GL_RENDERBUFFER_INTERNAL_FORMAT_EXT\0"
- "GL_RENDERBUFFER_INTERNAL_FORMAT_OES\0"
- "GL_RENDERBUFFER_OES\0"
- "GL_RENDERBUFFER_RED_SIZE\0"
- "GL_RENDERBUFFER_RED_SIZE_OES\0"
- "GL_RENDERBUFFER_SAMPLES\0"
- "GL_RENDERBUFFER_SAMPLES_EXT\0"
- "GL_RENDERBUFFER_STENCIL_SIZE\0"
- "GL_RENDERBUFFER_STENCIL_SIZE_OES\0"
- "GL_RENDERBUFFER_WIDTH\0"
- "GL_RENDERBUFFER_WIDTH_EXT\0"
- "GL_RENDERBUFFER_WIDTH_OES\0"
- "GL_RENDERER\0"
- "GL_RENDER_MODE\0"
- "GL_REPEAT\0"
- "GL_REPLACE\0"
- "GL_REPLACE_EXT\0"
- "GL_REPLICATE_BORDER_HP\0"
- "GL_RESCALE_NORMAL\0"
- "GL_RESCALE_NORMAL_EXT\0"
- "GL_RETAINED_APPLE\0"
- "GL_RETURN\0"
- "GL_RG16_SNORM\0"
- "GL_RG8_SNORM\0"
- "GL_RGB\0"
- "GL_RGB10\0"
- "GL_RGB10_A2\0"
- "GL_RGB10_A2_EXT\0"
- "GL_RGB10_EXT\0"
- "GL_RGB12\0"
- "GL_RGB12_EXT\0"
- "GL_RGB16\0"
- "GL_RGB16F\0"
- "GL_RGB16I\0"
- "GL_RGB16I_EXT\0"
- "GL_RGB16UI\0"
- "GL_RGB16UI_EXT\0"
- "GL_RGB16_EXT\0"
- "GL_RGB16_SNORM\0"
- "GL_RGB2_EXT\0"
- "GL_RGB32F\0"
- "GL_RGB32I\0"
- "GL_RGB32I_EXT\0"
- "GL_RGB32UI\0"
- "GL_RGB32UI_EXT\0"
- "GL_RGB4\0"
- "GL_RGB4_EXT\0"
- "GL_RGB4_S3TC\0"
- "GL_RGB5\0"
- "GL_RGB565\0"
- "GL_RGB565_OES\0"
- "GL_RGB5_A1\0"
- "GL_RGB5_A1_EXT\0"
- "GL_RGB5_A1_OES\0"
- "GL_RGB5_EXT\0"
- "GL_RGB8\0"
- "GL_RGB8I\0"
- "GL_RGB8I_EXT\0"
- "GL_RGB8UI\0"
- "GL_RGB8UI_EXT\0"
- "GL_RGB8_EXT\0"
- "GL_RGB8_OES\0"
- "GL_RGB8_SNORM\0"
- "GL_RGB9_E5\0"
- "GL_RGBA\0"
- "GL_RGBA12\0"
- "GL_RGBA12_EXT\0"
- "GL_RGBA16\0"
- "GL_RGBA16F\0"
- "GL_RGBA16I\0"
- "GL_RGBA16I_EXT\0"
- "GL_RGBA16UI\0"
- "GL_RGBA16UI_EXT\0"
- "GL_RGBA16_EXT\0"
- "GL_RGBA16_SNORM\0"
- "GL_RGBA2\0"
- "GL_RGBA2_EXT\0"
- "GL_RGBA32F\0"
- "GL_RGBA32I\0"
- "GL_RGBA32I_EXT\0"
- "GL_RGBA32UI\0"
- "GL_RGBA32UI_EXT\0"
- "GL_RGBA4\0"
- "GL_RGBA4_DXT5_S3TC\0"
- "GL_RGBA4_EXT\0"
- "GL_RGBA4_OES\0"
- "GL_RGBA4_S3TC\0"
- "GL_RGBA8\0"
- "GL_RGBA8I\0"
- "GL_RGBA8I_EXT\0"
- "GL_RGBA8UI\0"
- "GL_RGBA8UI_EXT\0"
- "GL_RGBA8_EXT\0"
- "GL_RGBA8_OES\0"
- "GL_RGBA8_SNORM\0"
- "GL_RGBA_DXT5_S3TC\0"
- "GL_RGBA_INTEGER\0"
- "GL_RGBA_INTEGER_EXT\0"
- "GL_RGBA_INTEGER_MODE_EXT\0"
- "GL_RGBA_MODE\0"
- "GL_RGBA_S3TC\0"
- "GL_RGBA_SNORM\0"
- "GL_RGB_INTEGER\0"
- "GL_RGB_INTEGER_EXT\0"
- "GL_RGB_S3TC\0"
- "GL_RGB_SCALE\0"
- "GL_RGB_SCALE_ARB\0"
- "GL_RGB_SCALE_EXT\0"
- "GL_RGB_SNORM\0"
- "GL_RG_SNORM\0"
- "GL_RIGHT\0"
- "GL_S\0"
- "GL_SAMPLER_1D\0"
- "GL_SAMPLER_1D_ARRAY\0"
- "GL_SAMPLER_1D_ARRAY_EXT\0"
- "GL_SAMPLER_1D_ARRAY_SHADOW\0"
- "GL_SAMPLER_1D_ARRAY_SHADOW_EXT\0"
- "GL_SAMPLER_1D_SHADOW\0"
- "GL_SAMPLER_2D\0"
- "GL_SAMPLER_2D_ARRAY\0"
- "GL_SAMPLER_2D_ARRAY_EXT\0"
- "GL_SAMPLER_2D_ARRAY_SHADOW\0"
- "GL_SAMPLER_2D_ARRAY_SHADOW_EXT\0"
- "GL_SAMPLER_2D_RECT\0"
- "GL_SAMPLER_2D_RECT_SHADOW\0"
- "GL_SAMPLER_2D_SHADOW\0"
- "GL_SAMPLER_3D\0"
- "GL_SAMPLER_3D_OES\0"
- "GL_SAMPLER_BUFFER\0"
- "GL_SAMPLER_BUFFER_EXT\0"
- "GL_SAMPLER_CUBE\0"
- "GL_SAMPLER_CUBE_SHADOW\0"
- "GL_SAMPLER_CUBE_SHADOW_EXT\0"
- "GL_SAMPLES\0"
- "GL_SAMPLES_3DFX\0"
- "GL_SAMPLES_ARB\0"
- "GL_SAMPLES_PASSED\0"
- "GL_SAMPLES_PASSED_ARB\0"
- "GL_SAMPLE_ALPHA_TO_COVERAGE\0"
- "GL_SAMPLE_ALPHA_TO_COVERAGE_ARB\0"
- "GL_SAMPLE_ALPHA_TO_ONE\0"
- "GL_SAMPLE_ALPHA_TO_ONE_ARB\0"
- "GL_SAMPLE_BUFFERS\0"
- "GL_SAMPLE_BUFFERS_3DFX\0"
- "GL_SAMPLE_BUFFERS_ARB\0"
- "GL_SAMPLE_COVERAGE\0"
- "GL_SAMPLE_COVERAGE_ARB\0"
- "GL_SAMPLE_COVERAGE_INVERT\0"
- "GL_SAMPLE_COVERAGE_INVERT_ARB\0"
- "GL_SAMPLE_COVERAGE_VALUE\0"
- "GL_SAMPLE_COVERAGE_VALUE_ARB\0"
- "GL_SCISSOR_BIT\0"
- "GL_SCISSOR_BOX\0"
- "GL_SCISSOR_TEST\0"
- "GL_SECONDARY_COLOR_ARRAY\0"
- "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING\0"
- "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_SECONDARY_COLOR_ARRAY_POINTER\0"
- "GL_SECONDARY_COLOR_ARRAY_SIZE\0"
- "GL_SECONDARY_COLOR_ARRAY_STRIDE\0"
- "GL_SECONDARY_COLOR_ARRAY_TYPE\0"
- "GL_SELECT\0"
- "GL_SELECTION_BUFFER_POINTER\0"
- "GL_SELECTION_BUFFER_SIZE\0"
- "GL_SEPARABLE_2D\0"
- "GL_SEPARATE_ATTRIBS\0"
- "GL_SEPARATE_ATTRIBS_EXT\0"
- "GL_SEPARATE_SPECULAR_COLOR\0"
- "GL_SEPARATE_SPECULAR_COLOR_EXT\0"
- "GL_SET\0"
- "GL_SHADER_BINARY_FORMATS\0"
- "GL_SHADER_COMPILER\0"
- "GL_SHADER_OBJECT_ARB\0"
- "GL_SHADER_SOURCE_LENGTH\0"
- "GL_SHADER_TYPE\0"
- "GL_SHADE_MODEL\0"
- "GL_SHADING_LANGUAGE_VERSION\0"
- "GL_SHADOW_AMBIENT_SGIX\0"
- "GL_SHARED_TEXTURE_PALETTE_EXT\0"
- "GL_SHININESS\0"
- "GL_SHORT\0"
- "GL_SIGNALED\0"
- "GL_SIGNED_NORMALIZED\0"
- "GL_SINGLE_COLOR\0"
- "GL_SINGLE_COLOR_EXT\0"
- "GL_SLICE_ACCUM_SUN\0"
- "GL_SLUMINANCE\0"
- "GL_SLUMINANCE8\0"
- "GL_SLUMINANCE8_ALPHA8\0"
- "GL_SLUMINANCE_ALPHA\0"
- "GL_SMOOTH\0"
- "GL_SMOOTH_LINE_WIDTH_GRANULARITY\0"
- "GL_SMOOTH_LINE_WIDTH_RANGE\0"
- "GL_SMOOTH_POINT_SIZE_GRANULARITY\0"
- "GL_SMOOTH_POINT_SIZE_RANGE\0"
- "GL_SOURCE0_ALPHA\0"
- "GL_SOURCE0_ALPHA_ARB\0"
- "GL_SOURCE0_ALPHA_EXT\0"
- "GL_SOURCE0_RGB\0"
- "GL_SOURCE0_RGB_ARB\0"
- "GL_SOURCE0_RGB_EXT\0"
- "GL_SOURCE1_ALPHA\0"
- "GL_SOURCE1_ALPHA_ARB\0"
- "GL_SOURCE1_ALPHA_EXT\0"
- "GL_SOURCE1_RGB\0"
- "GL_SOURCE1_RGB_ARB\0"
- "GL_SOURCE1_RGB_EXT\0"
- "GL_SOURCE2_ALPHA\0"
- "GL_SOURCE2_ALPHA_ARB\0"
- "GL_SOURCE2_ALPHA_EXT\0"
- "GL_SOURCE2_RGB\0"
- "GL_SOURCE2_RGB_ARB\0"
- "GL_SOURCE2_RGB_EXT\0"
- "GL_SOURCE3_ALPHA_NV\0"
- "GL_SOURCE3_RGB_NV\0"
- "GL_SPECULAR\0"
- "GL_SPHERE_MAP\0"
- "GL_SPOT_CUTOFF\0"
- "GL_SPOT_DIRECTION\0"
- "GL_SPOT_EXPONENT\0"
- "GL_SRC0_ALPHA\0"
- "GL_SRC0_RGB\0"
- "GL_SRC1_ALPHA\0"
- "GL_SRC1_RGB\0"
- "GL_SRC2_ALPHA\0"
- "GL_SRC2_RGB\0"
- "GL_SRC_ALPHA\0"
- "GL_SRC_ALPHA_SATURATE\0"
- "GL_SRC_COLOR\0"
- "GL_SRGB\0"
- "GL_SRGB8\0"
- "GL_SRGB8_ALPHA8\0"
- "GL_SRGB_ALPHA\0"
- "GL_STACK_OVERFLOW\0"
- "GL_STACK_UNDERFLOW\0"
- "GL_STATIC_COPY\0"
- "GL_STATIC_COPY_ARB\0"
- "GL_STATIC_DRAW\0"
- "GL_STATIC_DRAW_ARB\0"
- "GL_STATIC_READ\0"
- "GL_STATIC_READ_ARB\0"
- "GL_STENCIL\0"
- "GL_STENCIL_ATTACHMENT\0"
- "GL_STENCIL_ATTACHMENT_EXT\0"
- "GL_STENCIL_ATTACHMENT_OES\0"
- "GL_STENCIL_BACK_FAIL\0"
- "GL_STENCIL_BACK_FAIL_ATI\0"
- "GL_STENCIL_BACK_FUNC\0"
- "GL_STENCIL_BACK_FUNC_ATI\0"
- "GL_STENCIL_BACK_PASS_DEPTH_FAIL\0"
- "GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI\0"
- "GL_STENCIL_BACK_PASS_DEPTH_PASS\0"
- "GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI\0"
- "GL_STENCIL_BACK_REF\0"
- "GL_STENCIL_BACK_VALUE_MASK\0"
- "GL_STENCIL_BACK_WRITEMASK\0"
- "GL_STENCIL_BITS\0"
- "GL_STENCIL_BUFFER\0"
- "GL_STENCIL_BUFFER_BIT\0"
- "GL_STENCIL_CLEAR_VALUE\0"
- "GL_STENCIL_FAIL\0"
- "GL_STENCIL_FUNC\0"
- "GL_STENCIL_INDEX\0"
- "GL_STENCIL_INDEX1\0"
- "GL_STENCIL_INDEX16\0"
- "GL_STENCIL_INDEX16_EXT\0"
- "GL_STENCIL_INDEX1_EXT\0"
- "GL_STENCIL_INDEX1_OES\0"
- "GL_STENCIL_INDEX4\0"
- "GL_STENCIL_INDEX4_EXT\0"
- "GL_STENCIL_INDEX4_OES\0"
- "GL_STENCIL_INDEX8\0"
- "GL_STENCIL_INDEX8_EXT\0"
- "GL_STENCIL_INDEX8_OES\0"
- "GL_STENCIL_INDEX_EXT\0"
- "GL_STENCIL_PASS_DEPTH_FAIL\0"
- "GL_STENCIL_PASS_DEPTH_PASS\0"
- "GL_STENCIL_REF\0"
- "GL_STENCIL_TEST\0"
- "GL_STENCIL_TEST_TWO_SIDE_EXT\0"
- "GL_STENCIL_VALUE_MASK\0"
- "GL_STENCIL_WRITEMASK\0"
- "GL_STEREO\0"
- "GL_STORAGE_CACHED_APPLE\0"
- "GL_STORAGE_PRIVATE_APPLE\0"
- "GL_STORAGE_SHARED_APPLE\0"
- "GL_STREAM_COPY\0"
- "GL_STREAM_COPY_ARB\0"
- "GL_STREAM_DRAW\0"
- "GL_STREAM_DRAW_ARB\0"
- "GL_STREAM_READ\0"
- "GL_STREAM_READ_ARB\0"
- "GL_SUBPIXEL_BITS\0"
- "GL_SUBTRACT\0"
- "GL_SUBTRACT_ARB\0"
- "GL_SYNC_CONDITION\0"
- "GL_SYNC_FENCE\0"
- "GL_SYNC_FLAGS\0"
- "GL_SYNC_FLUSH_COMMANDS_BIT\0"
- "GL_SYNC_GPU_COMMANDS_COMPLETE\0"
- "GL_SYNC_STATUS\0"
- "GL_T\0"
- "GL_T2F_C3F_V3F\0"
- "GL_T2F_C4F_N3F_V3F\0"
- "GL_T2F_C4UB_V3F\0"
- "GL_T2F_N3F_V3F\0"
- "GL_T2F_V3F\0"
- "GL_T4F_C4F_N3F_V4F\0"
- "GL_T4F_V4F\0"
- "GL_TABLE_TOO_LARGE_EXT\0"
- "GL_TEXTURE\0"
- "GL_TEXTURE0\0"
- "GL_TEXTURE0_ARB\0"
- "GL_TEXTURE1\0"
- "GL_TEXTURE10\0"
- "GL_TEXTURE10_ARB\0"
- "GL_TEXTURE11\0"
- "GL_TEXTURE11_ARB\0"
- "GL_TEXTURE12\0"
- "GL_TEXTURE12_ARB\0"
- "GL_TEXTURE13\0"
- "GL_TEXTURE13_ARB\0"
- "GL_TEXTURE14\0"
- "GL_TEXTURE14_ARB\0"
- "GL_TEXTURE15\0"
- "GL_TEXTURE15_ARB\0"
- "GL_TEXTURE16\0"
- "GL_TEXTURE16_ARB\0"
- "GL_TEXTURE17\0"
- "GL_TEXTURE17_ARB\0"
- "GL_TEXTURE18\0"
- "GL_TEXTURE18_ARB\0"
- "GL_TEXTURE19\0"
- "GL_TEXTURE19_ARB\0"
- "GL_TEXTURE1_ARB\0"
- "GL_TEXTURE2\0"
- "GL_TEXTURE20\0"
- "GL_TEXTURE20_ARB\0"
- "GL_TEXTURE21\0"
- "GL_TEXTURE21_ARB\0"
- "GL_TEXTURE22\0"
- "GL_TEXTURE22_ARB\0"
- "GL_TEXTURE23\0"
- "GL_TEXTURE23_ARB\0"
- "GL_TEXTURE24\0"
- "GL_TEXTURE24_ARB\0"
- "GL_TEXTURE25\0"
- "GL_TEXTURE25_ARB\0"
- "GL_TEXTURE26\0"
- "GL_TEXTURE26_ARB\0"
- "GL_TEXTURE27\0"
- "GL_TEXTURE27_ARB\0"
- "GL_TEXTURE28\0"
- "GL_TEXTURE28_ARB\0"
- "GL_TEXTURE29\0"
- "GL_TEXTURE29_ARB\0"
- "GL_TEXTURE2_ARB\0"
- "GL_TEXTURE3\0"
- "GL_TEXTURE30\0"
- "GL_TEXTURE30_ARB\0"
- "GL_TEXTURE31\0"
- "GL_TEXTURE31_ARB\0"
- "GL_TEXTURE3_ARB\0"
- "GL_TEXTURE4\0"
- "GL_TEXTURE4_ARB\0"
- "GL_TEXTURE5\0"
- "GL_TEXTURE5_ARB\0"
- "GL_TEXTURE6\0"
- "GL_TEXTURE6_ARB\0"
- "GL_TEXTURE7\0"
- "GL_TEXTURE7_ARB\0"
- "GL_TEXTURE8\0"
- "GL_TEXTURE8_ARB\0"
- "GL_TEXTURE9\0"
- "GL_TEXTURE9_ARB\0"
- "GL_TEXTURE_1D\0"
- "GL_TEXTURE_1D_ARRAY\0"
- "GL_TEXTURE_1D_ARRAY_EXT\0"
- "GL_TEXTURE_2D\0"
- "GL_TEXTURE_2D_ARRAY\0"
- "GL_TEXTURE_2D_ARRAY_EXT\0"
- "GL_TEXTURE_3D\0"
- "GL_TEXTURE_3D_OES\0"
- "GL_TEXTURE_ALPHA_SIZE\0"
- "GL_TEXTURE_ALPHA_SIZE_EXT\0"
- "GL_TEXTURE_BASE_LEVEL\0"
- "GL_TEXTURE_BINDING_1D\0"
- "GL_TEXTURE_BINDING_1D_ARRAY\0"
- "GL_TEXTURE_BINDING_1D_ARRAY_EXT\0"
- "GL_TEXTURE_BINDING_2D\0"
- "GL_TEXTURE_BINDING_2D_ARRAY\0"
- "GL_TEXTURE_BINDING_2D_ARRAY_EXT\0"
- "GL_TEXTURE_BINDING_3D\0"
- "GL_TEXTURE_BINDING_3D_OES\0"
- "GL_TEXTURE_BINDING_BUFFER\0"
- "GL_TEXTURE_BINDING_CUBE_MAP\0"
- "GL_TEXTURE_BINDING_CUBE_MAP_ARB\0"
- "GL_TEXTURE_BINDING_CUBE_MAP_OES\0"
- "GL_TEXTURE_BINDING_RECTANGLE\0"
- "GL_TEXTURE_BINDING_RECTANGLE_ARB\0"
- "GL_TEXTURE_BINDING_RECTANGLE_NV\0"
- "GL_TEXTURE_BIT\0"
- "GL_TEXTURE_BLUE_SIZE\0"
- "GL_TEXTURE_BLUE_SIZE_EXT\0"
- "GL_TEXTURE_BORDER\0"
- "GL_TEXTURE_BORDER_COLOR\0"
- "GL_TEXTURE_BUFFER\0"
- "GL_TEXTURE_BUFFER_DATA_STORE_BINDING\0"
- "GL_TEXTURE_BUFFER_FORMAT\0"
- "GL_TEXTURE_CLIPMAP_CENTER_SGIX\0"
- "GL_TEXTURE_CLIPMAP_DEPTH_SGIX\0"
- "GL_TEXTURE_CLIPMAP_FRAME_SGIX\0"
- "GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX\0"
- "GL_TEXTURE_CLIPMAP_OFFSET_SGIX\0"
- "GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX\0"
- "GL_TEXTURE_COLOR_TABLE_SGI\0"
- "GL_TEXTURE_COLOR_WRITEMASK_SGIS\0"
- "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB\0"
- "GL_TEXTURE_COMPARE_FUNC\0"
- "GL_TEXTURE_COMPARE_FUNC_ARB\0"
- "GL_TEXTURE_COMPARE_MODE\0"
- "GL_TEXTURE_COMPARE_MODE_ARB\0"
- "GL_TEXTURE_COMPARE_OPERATOR_SGIX\0"
- "GL_TEXTURE_COMPARE_SGIX\0"
- "GL_TEXTURE_COMPONENTS\0"
- "GL_TEXTURE_COMPRESSED\0"
- "GL_TEXTURE_COMPRESSED_ARB\0"
- "GL_TEXTURE_COMPRESSED_FORMATS_ARB\0"
- "GL_TEXTURE_COMPRESSED_IMAGE_SIZE\0"
- "GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB\0"
- "GL_TEXTURE_COMPRESSION_HINT\0"
- "GL_TEXTURE_COMPRESSION_HINT_ARB\0"
- "GL_TEXTURE_COORD_ARRAY\0"
- "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING\0"
- "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_TEXTURE_COORD_ARRAY_POINTER\0"
- "GL_TEXTURE_COORD_ARRAY_SIZE\0"
- "GL_TEXTURE_COORD_ARRAY_STRIDE\0"
- "GL_TEXTURE_COORD_ARRAY_TYPE\0"
- "GL_TEXTURE_CROP_RECT_OES\0"
- "GL_TEXTURE_CUBE_MAP\0"
- "GL_TEXTURE_CUBE_MAP_ARB\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_X\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB\0"
- "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES\0"
- "GL_TEXTURE_CUBE_MAP_OES\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_X\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_Y\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_Z\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB\0"
- "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES\0"
- "GL_TEXTURE_CUBE_MAP_SEAMLESS\0"
- "GL_TEXTURE_DEPTH\0"
- "GL_TEXTURE_DEPTH_SIZE\0"
- "GL_TEXTURE_DEPTH_SIZE_ARB\0"
- "GL_TEXTURE_ENV\0"
- "GL_TEXTURE_ENV_COLOR\0"
- "GL_TEXTURE_ENV_MODE\0"
- "GL_TEXTURE_FILTER_CONTROL\0"
- "GL_TEXTURE_FILTER_CONTROL_EXT\0"
- "GL_TEXTURE_GEN_MODE\0"
- "GL_TEXTURE_GEN_MODE_OES\0"
- "GL_TEXTURE_GEN_Q\0"
- "GL_TEXTURE_GEN_R\0"
- "GL_TEXTURE_GEN_S\0"
- "GL_TEXTURE_GEN_STR_OES\0"
- "GL_TEXTURE_GEN_T\0"
- "GL_TEXTURE_GEQUAL_R_SGIX\0"
- "GL_TEXTURE_GREEN_SIZE\0"
- "GL_TEXTURE_GREEN_SIZE_EXT\0"
- "GL_TEXTURE_HEIGHT\0"
- "GL_TEXTURE_INDEX_SIZE_EXT\0"
- "GL_TEXTURE_INTENSITY_SIZE\0"
- "GL_TEXTURE_INTENSITY_SIZE_EXT\0"
- "GL_TEXTURE_INTERNAL_FORMAT\0"
- "GL_TEXTURE_LEQUAL_R_SGIX\0"
- "GL_TEXTURE_LOD_BIAS\0"
- "GL_TEXTURE_LOD_BIAS_EXT\0"
- "GL_TEXTURE_LOD_BIAS_R_SGIX\0"
- "GL_TEXTURE_LOD_BIAS_S_SGIX\0"
- "GL_TEXTURE_LOD_BIAS_T_SGIX\0"
- "GL_TEXTURE_LUMINANCE_SIZE\0"
- "GL_TEXTURE_LUMINANCE_SIZE_EXT\0"
- "GL_TEXTURE_MAG_FILTER\0"
- "GL_TEXTURE_MATRIX\0"
- "GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES\0"
- "GL_TEXTURE_MAX_ANISOTROPY_EXT\0"
- "GL_TEXTURE_MAX_CLAMP_R_SGIX\0"
- "GL_TEXTURE_MAX_CLAMP_S_SGIX\0"
- "GL_TEXTURE_MAX_CLAMP_T_SGIX\0"
- "GL_TEXTURE_MAX_LEVEL\0"
- "GL_TEXTURE_MAX_LOD\0"
- "GL_TEXTURE_MIN_FILTER\0"
- "GL_TEXTURE_MIN_LOD\0"
- "GL_TEXTURE_PRIORITY\0"
- "GL_TEXTURE_RANGE_LENGTH_APPLE\0"
- "GL_TEXTURE_RANGE_POINTER_APPLE\0"
- "GL_TEXTURE_RECTANGLE\0"
- "GL_TEXTURE_RECTANGLE_ARB\0"
- "GL_TEXTURE_RECTANGLE_NV\0"
- "GL_TEXTURE_RED_SIZE\0"
- "GL_TEXTURE_RED_SIZE_EXT\0"
- "GL_TEXTURE_RESIDENT\0"
- "GL_TEXTURE_SHARED_SIZE\0"
- "GL_TEXTURE_STACK_DEPTH\0"
- "GL_TEXTURE_STENCIL_SIZE\0"
- "GL_TEXTURE_STENCIL_SIZE_EXT\0"
- "GL_TEXTURE_STORAGE_HINT_APPLE\0"
- "GL_TEXTURE_TOO_LARGE_EXT\0"
- "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV\0"
- "GL_TEXTURE_WIDTH\0"
- "GL_TEXTURE_WRAP_R\0"
- "GL_TEXTURE_WRAP_R_OES\0"
- "GL_TEXTURE_WRAP_S\0"
- "GL_TEXTURE_WRAP_T\0"
- "GL_TIMEOUT_EXPIRED\0"
- "GL_TIME_ELAPSED_EXT\0"
- "GL_TRACK_MATRIX_NV\0"
- "GL_TRACK_MATRIX_TRANSFORM_NV\0"
- "GL_TRANSFORM_BIT\0"
- "GL_TRANSFORM_FEEDBACK\0"
- "GL_TRANSFORM_FEEDBACK_BINDING\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_EXT\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_MODE\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_START\0"
- "GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT\0"
- "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN\0"
- "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT\0"
- "GL_TRANSFORM_FEEDBACK_VARYINGS\0"
- "GL_TRANSFORM_FEEDBACK_VARYINGS_EXT\0"
- "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH\0"
- "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT\0"
- "GL_TRANSPOSE_COLOR_MATRIX\0"
- "GL_TRANSPOSE_COLOR_MATRIX_ARB\0"
- "GL_TRANSPOSE_CURRENT_MATRIX_ARB\0"
- "GL_TRANSPOSE_MODELVIEW_MATRIX\0"
- "GL_TRANSPOSE_MODELVIEW_MATRIX_ARB\0"
- "GL_TRANSPOSE_NV\0"
- "GL_TRANSPOSE_PROJECTION_MATRIX\0"
- "GL_TRANSPOSE_PROJECTION_MATRIX_ARB\0"
- "GL_TRANSPOSE_TEXTURE_MATRIX\0"
- "GL_TRANSPOSE_TEXTURE_MATRIX_ARB\0"
- "GL_TRIANGLES\0"
- "GL_TRIANGLES_ADJACENCY\0"
- "GL_TRIANGLES_ADJACENCY_ARB\0"
- "GL_TRIANGLE_FAN\0"
- "GL_TRIANGLE_MESH_SUN\0"
- "GL_TRIANGLE_STRIP\0"
- "GL_TRIANGLE_STRIP_ADJACENCY\0"
- "GL_TRIANGLE_STRIP_ADJACENCY_ARB\0"
- "GL_TRUE\0"
- "GL_UNDEFINED_APPLE\0"
- "GL_UNPACK_ALIGNMENT\0"
- "GL_UNPACK_IMAGE_HEIGHT\0"
- "GL_UNPACK_LSB_FIRST\0"
- "GL_UNPACK_ROW_LENGTH\0"
- "GL_UNPACK_SKIP_IMAGES\0"
- "GL_UNPACK_SKIP_PIXELS\0"
- "GL_UNPACK_SKIP_ROWS\0"
- "GL_UNPACK_SWAP_BYTES\0"
- "GL_UNSIGNALED\0"
- "GL_UNSIGNED_BYTE\0"
- "GL_UNSIGNED_BYTE_2_3_3_REV\0"
- "GL_UNSIGNED_BYTE_3_3_2\0"
- "GL_UNSIGNED_INT\0"
- "GL_UNSIGNED_INT_10F_11F_11F_REV\0"
- "GL_UNSIGNED_INT_10_10_10_2\0"
- "GL_UNSIGNED_INT_10_10_10_2_OES\0"
- "GL_UNSIGNED_INT_24_8\0"
- "GL_UNSIGNED_INT_24_8_EXT\0"
- "GL_UNSIGNED_INT_24_8_NV\0"
- "GL_UNSIGNED_INT_24_8_OES\0"
- "GL_UNSIGNED_INT_2_10_10_10_REV\0"
- "GL_UNSIGNED_INT_2_10_10_10_REV_EXT\0"
- "GL_UNSIGNED_INT_5_9_9_9_REV\0"
- "GL_UNSIGNED_INT_8_8_8_8\0"
- "GL_UNSIGNED_INT_8_8_8_8_REV\0"
- "GL_UNSIGNED_INT_SAMPLER_1D\0"
- "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY\0"
- "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT\0"
- "GL_UNSIGNED_INT_SAMPLER_1D_EXT\0"
- "GL_UNSIGNED_INT_SAMPLER_2D\0"
- "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY\0"
- "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT\0"
- "GL_UNSIGNED_INT_SAMPLER_2D_EXT\0"
- "GL_UNSIGNED_INT_SAMPLER_2D_RECT\0"
- "GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT\0"
- "GL_UNSIGNED_INT_SAMPLER_3D\0"
- "GL_UNSIGNED_INT_SAMPLER_3D_EXT\0"
- "GL_UNSIGNED_INT_SAMPLER_BUFFER\0"
- "GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT\0"
- "GL_UNSIGNED_INT_SAMPLER_CUBE\0"
- "GL_UNSIGNED_INT_SAMPLER_CUBE_EXT\0"
- "GL_UNSIGNED_INT_VEC2\0"
- "GL_UNSIGNED_INT_VEC2_EXT\0"
- "GL_UNSIGNED_INT_VEC3\0"
- "GL_UNSIGNED_INT_VEC3_EXT\0"
- "GL_UNSIGNED_INT_VEC4\0"
- "GL_UNSIGNED_INT_VEC4_EXT\0"
- "GL_UNSIGNED_NORMALIZED\0"
- "GL_UNSIGNED_SHORT\0"
- "GL_UNSIGNED_SHORT_1_5_5_5_REV\0"
- "GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT\0"
- "GL_UNSIGNED_SHORT_4_4_4_4\0"
- "GL_UNSIGNED_SHORT_4_4_4_4_REV\0"
- "GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT\0"
- "GL_UNSIGNED_SHORT_5_5_5_1\0"
- "GL_UNSIGNED_SHORT_5_6_5\0"
- "GL_UNSIGNED_SHORT_5_6_5_REV\0"
- "GL_UNSIGNED_SHORT_8_8_APPLE\0"
- "GL_UNSIGNED_SHORT_8_8_MESA\0"
- "GL_UNSIGNED_SHORT_8_8_REV_APPLE\0"
- "GL_UNSIGNED_SHORT_8_8_REV_MESA\0"
- "GL_UPPER_LEFT\0"
- "GL_V2F\0"
- "GL_V3F\0"
- "GL_VALIDATE_STATUS\0"
- "GL_VENDOR\0"
- "GL_VERSION\0"
- "GL_VERTEX_ARRAY\0"
- "GL_VERTEX_ARRAY_BINDING\0"
- "GL_VERTEX_ARRAY_BINDING_APPLE\0"
- "GL_VERTEX_ARRAY_BUFFER_BINDING\0"
- "GL_VERTEX_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_VERTEX_ARRAY_POINTER\0"
- "GL_VERTEX_ARRAY_SIZE\0"
- "GL_VERTEX_ARRAY_STRIDE\0"
- "GL_VERTEX_ARRAY_TYPE\0"
- "GL_VERTEX_ATTRIB_ARRAY0_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY10_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY11_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY12_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY13_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY14_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY15_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY1_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY2_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY3_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY4_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY5_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY6_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY7_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY8_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY9_NV\0"
- "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\0"
- "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB\0"
- "GL_VERTEX_ATTRIB_ARRAY_ENABLED\0"
- "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB\0"
- "GL_VERTEX_ATTRIB_ARRAY_INTEGER\0"
- "GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT\0"
- "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED\0"
- "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB\0"
- "GL_VERTEX_ATTRIB_ARRAY_POINTER\0"
- "GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB\0"
- "GL_VERTEX_ATTRIB_ARRAY_SIZE\0"
- "GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB\0"
- "GL_VERTEX_ATTRIB_ARRAY_STRIDE\0"
- "GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB\0"
- "GL_VERTEX_ATTRIB_ARRAY_TYPE\0"
- "GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB\0"
- "GL_VERTEX_BLEND_ARB\0"
- "GL_VERTEX_PROGRAM_ARB\0"
- "GL_VERTEX_PROGRAM_BINDING_NV\0"
- "GL_VERTEX_PROGRAM_NV\0"
- "GL_VERTEX_PROGRAM_POINT_SIZE\0"
- "GL_VERTEX_PROGRAM_POINT_SIZE_ARB\0"
- "GL_VERTEX_PROGRAM_POINT_SIZE_NV\0"
- "GL_VERTEX_PROGRAM_TWO_SIDE\0"
- "GL_VERTEX_PROGRAM_TWO_SIDE_ARB\0"
- "GL_VERTEX_PROGRAM_TWO_SIDE_NV\0"
- "GL_VERTEX_SHADER\0"
- "GL_VERTEX_SHADER_ARB\0"
- "GL_VERTEX_STATE_PROGRAM_NV\0"
- "GL_VIEWPORT\0"
- "GL_VIEWPORT_BIT\0"
- "GL_VOLATILE_APPLE\0"
- "GL_WAIT_FAILED\0"
- "GL_WEIGHT_ARRAY_ARB\0"
- "GL_WEIGHT_ARRAY_BUFFER_BINDING\0"
- "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB\0"
- "GL_WEIGHT_ARRAY_BUFFER_BINDING_OES\0"
- "GL_WEIGHT_ARRAY_OES\0"
- "GL_WEIGHT_ARRAY_POINTER_ARB\0"
- "GL_WEIGHT_ARRAY_POINTER_OES\0"
- "GL_WEIGHT_ARRAY_SIZE_ARB\0"
- "GL_WEIGHT_ARRAY_SIZE_OES\0"
- "GL_WEIGHT_ARRAY_STRIDE_ARB\0"
- "GL_WEIGHT_ARRAY_STRIDE_OES\0"
- "GL_WEIGHT_ARRAY_TYPE_ARB\0"
- "GL_WEIGHT_ARRAY_TYPE_OES\0"
- "GL_WEIGHT_SUM_UNITY_ARB\0"
- "GL_WRAP_BORDER_SUN\0"
- "GL_WRITE_ONLY\0"
- "GL_WRITE_ONLY_ARB\0"
- "GL_WRITE_ONLY_OES\0"
- "GL_XOR\0"
- "GL_YCBCR_422_APPLE\0"
- "GL_YCBCR_MESA\0"
- "GL_ZERO\0"
- "GL_ZOOM_X\0"
- "GL_ZOOM_Y\0"
- ;
-
-static const enum_elt all_enums[2295] =
-{
- { 0, 0x00000600 }, /* GL_2D */
- { 6, 0x00001407 }, /* GL_2_BYTES */
- { 17, 0x00000601 }, /* GL_3D */
- { 23, 0x00000602 }, /* GL_3D_COLOR */
- { 35, 0x00000603 }, /* GL_3D_COLOR_TEXTURE */
- { 55, 0x00001408 }, /* GL_3_BYTES */
- { 66, 0x00000604 }, /* GL_4D_COLOR_TEXTURE */
- { 86, 0x00001409 }, /* GL_4_BYTES */
- { 97, 0x00000100 }, /* GL_ACCUM */
- { 106, 0x00000D5B }, /* GL_ACCUM_ALPHA_BITS */
- { 126, 0x00000D5A }, /* GL_ACCUM_BLUE_BITS */
- { 145, 0x00000200 }, /* GL_ACCUM_BUFFER_BIT */
- { 165, 0x00000B80 }, /* GL_ACCUM_CLEAR_VALUE */
- { 186, 0x00000D59 }, /* GL_ACCUM_GREEN_BITS */
- { 206, 0x00000D58 }, /* GL_ACCUM_RED_BITS */
- { 224, 0x00008B89 }, /* GL_ACTIVE_ATTRIBUTES */
- { 245, 0x00008B8A }, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */
- { 276, 0x00008B8D }, /* GL_ACTIVE_PROGRAM_EXT */
- { 298, 0x00008911 }, /* GL_ACTIVE_STENCIL_FACE_EXT */
- { 325, 0x000084E0 }, /* GL_ACTIVE_TEXTURE */
- { 343, 0x000084E0 }, /* GL_ACTIVE_TEXTURE_ARB */
- { 365, 0x00008B86 }, /* GL_ACTIVE_UNIFORMS */
- { 384, 0x00008B87 }, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
- { 413, 0x000086A5 }, /* GL_ACTIVE_VERTEX_UNITS_ARB */
- { 440, 0x00000104 }, /* GL_ADD */
- { 447, 0x00008574 }, /* GL_ADD_SIGNED */
- { 461, 0x00008574 }, /* GL_ADD_SIGNED_ARB */
- { 479, 0x00008574 }, /* GL_ADD_SIGNED_EXT */
- { 497, 0x0000846E }, /* GL_ALIASED_LINE_WIDTH_RANGE */
- { 525, 0x0000846D }, /* GL_ALIASED_POINT_SIZE_RANGE */
- { 553, 0x000FFFFF }, /* GL_ALL_ATTRIB_BITS */
- { 572, 0xFFFFFFFF }, /* GL_ALL_CLIENT_ATTRIB_BITS */
- { 598, 0x00001906 }, /* GL_ALPHA */
- { 607, 0x0000803D }, /* GL_ALPHA12 */
- { 618, 0x0000803D }, /* GL_ALPHA12_EXT */
- { 633, 0x0000803E }, /* GL_ALPHA16 */
- { 644, 0x00008D8A }, /* GL_ALPHA16I_EXT */
- { 660, 0x00008D78 }, /* GL_ALPHA16UI_EXT */
- { 677, 0x0000803E }, /* GL_ALPHA16_EXT */
- { 692, 0x00008D84 }, /* GL_ALPHA32I_EXT */
- { 708, 0x00008D72 }, /* GL_ALPHA32UI_EXT */
- { 725, 0x0000803B }, /* GL_ALPHA4 */
- { 735, 0x0000803B }, /* GL_ALPHA4_EXT */
- { 749, 0x0000803C }, /* GL_ALPHA8 */
- { 759, 0x00008D90 }, /* GL_ALPHA8I_EXT */
- { 774, 0x00008D7E }, /* GL_ALPHA8UI_EXT */
- { 790, 0x0000803C }, /* GL_ALPHA8_EXT */
- { 804, 0x00000D1D }, /* GL_ALPHA_BIAS */
- { 818, 0x00000D55 }, /* GL_ALPHA_BITS */
- { 832, 0x00008D97 }, /* GL_ALPHA_INTEGER_EXT */
- { 853, 0x00000D1C }, /* GL_ALPHA_SCALE */
- { 868, 0x00000BC0 }, /* GL_ALPHA_TEST */
- { 882, 0x00000BC1 }, /* GL_ALPHA_TEST_FUNC */
- { 901, 0x00000BC2 }, /* GL_ALPHA_TEST_REF */
- { 919, 0x0000911A }, /* GL_ALREADY_SIGNALED */
- { 939, 0x00000207 }, /* GL_ALWAYS */
- { 949, 0x00001200 }, /* GL_AMBIENT */
- { 960, 0x00001602 }, /* GL_AMBIENT_AND_DIFFUSE */
- { 983, 0x00001501 }, /* GL_AND */
- { 990, 0x00001504 }, /* GL_AND_INVERTED */
- { 1006, 0x00001502 }, /* GL_AND_REVERSE */
- { 1021, 0x00008892 }, /* GL_ARRAY_BUFFER */
- { 1037, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */
- { 1061, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */
- { 1089, 0x00008B85 }, /* GL_ATTACHED_SHADERS */
- { 1109, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */
- { 1136, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */
- { 1160, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */
- { 1186, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */
- { 1210, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */
- { 1232, 0x00000D80 }, /* GL_AUTO_NORMAL */
- { 1247, 0x00000409 }, /* GL_AUX0 */
- { 1255, 0x0000040A }, /* GL_AUX1 */
- { 1263, 0x0000040B }, /* GL_AUX2 */
- { 1271, 0x0000040C }, /* GL_AUX3 */
- { 1279, 0x00000C00 }, /* GL_AUX_BUFFERS */
- { 1294, 0x00000405 }, /* GL_BACK */
- { 1302, 0x00000402 }, /* GL_BACK_LEFT */
- { 1315, 0x00000403 }, /* GL_BACK_RIGHT */
- { 1329, 0x000080E0 }, /* GL_BGR */
- { 1336, 0x000080E1 }, /* GL_BGRA */
- { 1344, 0x000080E1 }, /* GL_BGRA_EXT */
- { 1356, 0x00008D9B }, /* GL_BGRA_INTEGER */
- { 1372, 0x00008D9B }, /* GL_BGRA_INTEGER_EXT */
- { 1392, 0x00008D9A }, /* GL_BGR_INTEGER */
- { 1407, 0x00008D9A }, /* GL_BGR_INTEGER_EXT */
- { 1426, 0x00001A00 }, /* GL_BITMAP */
- { 1436, 0x00000704 }, /* GL_BITMAP_TOKEN */
- { 1452, 0x00000BE2 }, /* GL_BLEND */
- { 1461, 0x00008005 }, /* GL_BLEND_COLOR */
- { 1476, 0x00008005 }, /* GL_BLEND_COLOR_EXT */
- { 1495, 0x00000BE0 }, /* GL_BLEND_DST */
- { 1508, 0x000080CA }, /* GL_BLEND_DST_ALPHA */
- { 1527, 0x000080CA }, /* GL_BLEND_DST_ALPHA_OES */
- { 1550, 0x000080C8 }, /* GL_BLEND_DST_RGB */
- { 1567, 0x000080C8 }, /* GL_BLEND_DST_RGB_OES */
- { 1588, 0x00008009 }, /* GL_BLEND_EQUATION */
- { 1606, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */
- { 1630, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */
- { 1658, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_OES */
- { 1686, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */
- { 1708, 0x00008009 }, /* GL_BLEND_EQUATION_OES */
- { 1730, 0x00008009 }, /* GL_BLEND_EQUATION_RGB */
- { 1752, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */
- { 1778, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_OES */
- { 1804, 0x00000BE1 }, /* GL_BLEND_SRC */
- { 1817, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */
- { 1836, 0x000080CB }, /* GL_BLEND_SRC_ALPHA_OES */
- { 1859, 0x000080C9 }, /* GL_BLEND_SRC_RGB */
- { 1876, 0x000080C9 }, /* GL_BLEND_SRC_RGB_OES */
- { 1897, 0x00001905 }, /* GL_BLUE */
- { 1905, 0x00000D1B }, /* GL_BLUE_BIAS */
- { 1918, 0x00000D54 }, /* GL_BLUE_BITS */
- { 1931, 0x00008D96 }, /* GL_BLUE_INTEGER */
- { 1947, 0x00008D96 }, /* GL_BLUE_INTEGER_EXT */
- { 1967, 0x00000D1A }, /* GL_BLUE_SCALE */
- { 1981, 0x00008B56 }, /* GL_BOOL */
- { 1989, 0x00008B56 }, /* GL_BOOL_ARB */
- { 2001, 0x00008B57 }, /* GL_BOOL_VEC2 */
- { 2014, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */
- { 2031, 0x00008B58 }, /* GL_BOOL_VEC3 */
- { 2044, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */
- { 2061, 0x00008B59 }, /* GL_BOOL_VEC4 */
- { 2074, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */
- { 2091, 0x000088BB }, /* GL_BUFFER_ACCESS */
- { 2108, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */
- { 2129, 0x0000911F }, /* GL_BUFFER_ACCESS_FLAGS */
- { 2152, 0x000088BB }, /* GL_BUFFER_ACCESS_OES */
- { 2173, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */
- { 2204, 0x000088BC }, /* GL_BUFFER_MAPPED */
- { 2221, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */
- { 2242, 0x000088BC }, /* GL_BUFFER_MAPPED_OES */
- { 2263, 0x00009120 }, /* GL_BUFFER_MAP_LENGTH */
- { 2284, 0x00009121 }, /* GL_BUFFER_MAP_OFFSET */
- { 2305, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */
- { 2327, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */
- { 2353, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_OES */
- { 2379, 0x000085B3 }, /* GL_BUFFER_OBJECT_APPLE */
- { 2402, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */
- { 2436, 0x00008764 }, /* GL_BUFFER_SIZE */
- { 2451, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */
- { 2470, 0x00008765 }, /* GL_BUFFER_USAGE */
- { 2486, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */
- { 2506, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */
- { 2525, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */
- { 2551, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */
- { 2574, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
- { 2602, 0x0000877C }, /* GL_BUMP_TARGET_ATI */
- { 2621, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */
- { 2643, 0x00001400 }, /* GL_BYTE */
- { 2651, 0x00002A24 }, /* GL_C3F_V3F */
- { 2662, 0x00002A26 }, /* GL_C4F_N3F_V3F */
- { 2677, 0x00002A22 }, /* GL_C4UB_V2F */
- { 2689, 0x00002A23 }, /* GL_C4UB_V3F */
- { 2701, 0x00000901 }, /* GL_CCW */
- { 2708, 0x00002900 }, /* GL_CLAMP */
- { 2717, 0x0000891C }, /* GL_CLAMP_READ_COLOR */
- { 2737, 0x0000812D }, /* GL_CLAMP_TO_BORDER */
- { 2756, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */
- { 2779, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */
- { 2803, 0x0000812F }, /* GL_CLAMP_TO_EDGE */
- { 2820, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */
- { 2842, 0x00001500 }, /* GL_CLEAR */
- { 2851, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */
- { 2876, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */
- { 2905, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */
- { 2931, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
- { 2960, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */
- { 2986, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */
- { 3013, 0x00003000 }, /* GL_CLIP_DISTANCE0 */
- { 3031, 0x00003001 }, /* GL_CLIP_DISTANCE1 */
- { 3049, 0x00003002 }, /* GL_CLIP_DISTANCE2 */
- { 3067, 0x00003003 }, /* GL_CLIP_DISTANCE3 */
- { 3085, 0x00003004 }, /* GL_CLIP_DISTANCE4 */
- { 3103, 0x00003005 }, /* GL_CLIP_DISTANCE5 */
- { 3121, 0x00003006 }, /* GL_CLIP_DISTANCE6 */
- { 3139, 0x00003007 }, /* GL_CLIP_DISTANCE7 */
- { 3157, 0x00003000 }, /* GL_CLIP_PLANE0 */
- { 3172, 0x00003001 }, /* GL_CLIP_PLANE1 */
- { 3187, 0x00003002 }, /* GL_CLIP_PLANE2 */
- { 3202, 0x00003003 }, /* GL_CLIP_PLANE3 */
- { 3217, 0x00003004 }, /* GL_CLIP_PLANE4 */
- { 3232, 0x00003005 }, /* GL_CLIP_PLANE5 */
- { 3247, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
- { 3280, 0x00000A00 }, /* GL_COEFF */
- { 3289, 0x00001800 }, /* GL_COLOR */
- { 3298, 0x00008076 }, /* GL_COLOR_ARRAY */
- { 3313, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */
- { 3343, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */
- { 3377, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */
- { 3400, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */
- { 3420, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */
- { 3442, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */
- { 3462, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */
- { 3483, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */
- { 3508, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_OES */
- { 3533, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */
- { 3554, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */
- { 3576, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */
- { 3602, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */
- { 3624, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */
- { 3650, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */
- { 3672, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */
- { 3698, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */
- { 3720, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */
- { 3746, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */
- { 3768, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */
- { 3794, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */
- { 3816, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */
- { 3842, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */
- { 3867, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */
- { 3888, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */
- { 3913, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */
- { 3934, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */
- { 3959, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */
- { 3980, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */
- { 4005, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */
- { 4026, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */
- { 4051, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */
- { 4072, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */
- { 4097, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */
- { 4118, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */
- { 4143, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */
- { 4164, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */
- { 4189, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */
- { 4210, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */
- { 4235, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */
- { 4255, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */
- { 4276, 0x00001900 }, /* GL_COLOR_INDEX */
- { 4291, 0x00001603 }, /* GL_COLOR_INDEXES */
- { 4308, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */
- { 4326, 0x00000B57 }, /* GL_COLOR_MATERIAL */
- { 4344, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */
- { 4367, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */
- { 4395, 0x000080B1 }, /* GL_COLOR_MATRIX */
- { 4411, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */
- { 4431, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */
- { 4459, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */
- { 4491, 0x00008458 }, /* GL_COLOR_SUM */
- { 4504, 0x00008458 }, /* GL_COLOR_SUM_ARB */
- { 4521, 0x000080D0 }, /* GL_COLOR_TABLE */
- { 4536, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */
- { 4562, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */
- { 4592, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */
- { 4622, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */
- { 4642, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */
- { 4666, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */
- { 4691, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */
- { 4720, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */
- { 4749, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */
- { 4771, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */
- { 4797, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */
- { 4823, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */
- { 4849, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */
- { 4879, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */
- { 4909, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */
- { 4939, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */
- { 4973, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */
- { 5007, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
- { 5037, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */
- { 5071, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */
- { 5105, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */
- { 5129, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */
- { 5157, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */
- { 5185, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */
- { 5206, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */
- { 5231, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */
- { 5252, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */
- { 5277, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */
- { 5302, 0x00000C23 }, /* GL_COLOR_WRITEMASK */
- { 5321, 0x00008570 }, /* GL_COMBINE */
- { 5332, 0x00008503 }, /* GL_COMBINE4 */
- { 5344, 0x00008572 }, /* GL_COMBINE_ALPHA */
- { 5361, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */
- { 5382, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */
- { 5403, 0x00008570 }, /* GL_COMBINE_ARB */
- { 5418, 0x00008570 }, /* GL_COMBINE_EXT */
- { 5433, 0x00008571 }, /* GL_COMBINE_RGB */
- { 5448, 0x00008571 }, /* GL_COMBINE_RGB_ARB */
- { 5467, 0x00008571 }, /* GL_COMBINE_RGB_EXT */
- { 5486, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */
- { 5522, 0x0000884E }, /* GL_COMPARE_REF_TO_TEXTURE */
- { 5548, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
- { 5572, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
- { 5600, 0x00001300 }, /* GL_COMPILE */
- { 5611, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
- { 5634, 0x00008B81 }, /* GL_COMPILE_STATUS */
- { 5652, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
- { 5672, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
- { 5696, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
- { 5720, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
- { 5748, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
- { 5772, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
- { 5802, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
- { 5836, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
- { 5864, 0x00008225 }, /* GL_COMPRESSED_RED */
- { 5882, 0x00008226 }, /* GL_COMPRESSED_RG */
- { 5899, 0x000084ED }, /* GL_COMPRESSED_RGB */
- { 5917, 0x000084EE }, /* GL_COMPRESSED_RGBA */
- { 5936, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
- { 5959, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- { 5988, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
- { 6021, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
- { 6054, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
- { 6087, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
- { 6109, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
- { 6137, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
- { 6169, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */
- { 6194, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
- { 6225, 0x00008C48 }, /* GL_COMPRESSED_SRGB */
- { 6244, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */
- { 6269, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
- { 6299, 0x0000911C }, /* GL_CONDITION_SATISFIED */
- { 6322, 0x00008576 }, /* GL_CONSTANT */
- { 6334, 0x00008003 }, /* GL_CONSTANT_ALPHA */
- { 6352, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
- { 6374, 0x00008576 }, /* GL_CONSTANT_ARB */
- { 6390, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
- { 6414, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
- { 6436, 0x00008001 }, /* GL_CONSTANT_COLOR */
- { 6454, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
- { 6476, 0x00008576 }, /* GL_CONSTANT_EXT */
- { 6492, 0x00000002 }, /* GL_CONTEXT_COMPATIBILITY_PROFILE_BIT */
- { 6529, 0x00000001 }, /* GL_CONTEXT_CORE_PROFILE_BIT */
- { 6557, 0x0000821E }, /* GL_CONTEXT_FLAGS */
- { 6574, 0x00000001 }, /* GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT */
- { 6613, 0x00009126 }, /* GL_CONTEXT_PROFILE_MASK */
- { 6637, 0x00008010 }, /* GL_CONVOLUTION_1D */
- { 6655, 0x00008011 }, /* GL_CONVOLUTION_2D */
- { 6673, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
- { 6701, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
- { 6732, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
- { 6759, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
- { 6790, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
- { 6817, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
- { 6848, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
- { 6876, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
- { 6908, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
- { 6930, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
- { 6956, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
- { 6978, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
- { 7004, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
- { 7025, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
- { 7050, 0x00008862 }, /* GL_COORD_REPLACE */
- { 7067, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
- { 7088, 0x00008862 }, /* GL_COORD_REPLACE_NV */
- { 7108, 0x00008862 }, /* GL_COORD_REPLACE_OES */
- { 7129, 0x00001503 }, /* GL_COPY */
- { 7137, 0x0000150C }, /* GL_COPY_INVERTED */
- { 7154, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
- { 7174, 0x00008F36 }, /* GL_COPY_READ_BUFFER */
- { 7194, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */
- { 7215, 0x00000B44 }, /* GL_CULL_FACE */
- { 7228, 0x00000B45 }, /* GL_CULL_FACE_MODE */
- { 7246, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
- { 7265, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
- { 7297, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
- { 7332, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
- { 7353, 0x00000001 }, /* GL_CURRENT_BIT */
- { 7368, 0x00000B00 }, /* GL_CURRENT_COLOR */
- { 7385, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
- { 7406, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
- { 7432, 0x00000B01 }, /* GL_CURRENT_INDEX */
- { 7449, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
- { 7471, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
- { 7499, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
- { 7520, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- { 7554, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
- { 7587, 0x00000B02 }, /* GL_CURRENT_NORMAL */
- { 7605, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- { 7635, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_OES */
- { 7665, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
- { 7684, 0x00008865 }, /* GL_CURRENT_QUERY */
- { 7701, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
- { 7722, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
- { 7746, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
- { 7773, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
- { 7797, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
- { 7824, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
- { 7857, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
- { 7891, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
- { 7924, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
- { 7951, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
- { 7977, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
- { 8002, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
- { 8031, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
- { 8053, 0x00000900 }, /* GL_CW */
- { 8059, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
- { 8080, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
- { 8101, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
- { 8121, 0x00002101 }, /* GL_DECAL */
- { 8130, 0x00001E03 }, /* GL_DECR */
- { 8138, 0x00008508 }, /* GL_DECR_WRAP */
- { 8151, 0x00008508 }, /* GL_DECR_WRAP_EXT */
- { 8168, 0x00008B80 }, /* GL_DELETE_STATUS */
- { 8185, 0x00001801 }, /* GL_DEPTH */
- { 8194, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */
- { 8214, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_EXT */
- { 8238, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_OES */
- { 8262, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */
- { 8282, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
- { 8306, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_OES */
- { 8330, 0x00000D1F }, /* GL_DEPTH_BIAS */
- { 8344, 0x00000D56 }, /* GL_DEPTH_BITS */
- { 8358, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
- { 8378, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
- { 8403, 0x00008223 }, /* GL_DEPTH_BUFFER */
- { 8419, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
- { 8439, 0x0000864F }, /* GL_DEPTH_CLAMP */
- { 8454, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
- { 8472, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
- { 8493, 0x00001902 }, /* GL_DEPTH_COMPONENT */
- { 8512, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
- { 8533, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
- { 8558, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_OES */
- { 8583, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
- { 8609, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
- { 8630, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
- { 8655, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_OES */
- { 8680, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
- { 8706, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
- { 8727, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
- { 8752, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_OES */
- { 8777, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
- { 8803, 0x00000B74 }, /* GL_DEPTH_FUNC */
- { 8817, 0x00000B70 }, /* GL_DEPTH_RANGE */
- { 8832, 0x00000D1E }, /* GL_DEPTH_SCALE */
- { 8847, 0x000084F9 }, /* GL_DEPTH_STENCIL */
- { 8864, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */
- { 8892, 0x000084F9 }, /* GL_DEPTH_STENCIL_EXT */
- { 8913, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
- { 8933, 0x000084F9 }, /* GL_DEPTH_STENCIL_OES */
- { 8954, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- { 8982, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- { 9010, 0x00000B71 }, /* GL_DEPTH_TEST */
- { 9024, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
- { 9046, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
- { 9072, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
- { 9091, 0x00001201 }, /* GL_DIFFUSE */
- { 9102, 0x00000BD0 }, /* GL_DITHER */
- { 9112, 0x00000A02 }, /* GL_DOMAIN */
- { 9122, 0x00001100 }, /* GL_DONT_CARE */
- { 9135, 0x000086AE }, /* GL_DOT3_RGB */
- { 9147, 0x000086AF }, /* GL_DOT3_RGBA */
- { 9160, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
- { 9177, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
- { 9194, 0x000086AE }, /* GL_DOT3_RGB_ARB */
- { 9210, 0x00008740 }, /* GL_DOT3_RGB_EXT */
- { 9226, 0x0000140A }, /* GL_DOUBLE */
- { 9236, 0x00000C32 }, /* GL_DOUBLEBUFFER */
- { 9252, 0x00000C01 }, /* GL_DRAW_BUFFER */
- { 9267, 0x00008825 }, /* GL_DRAW_BUFFER0 */
- { 9283, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
- { 9303, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
- { 9323, 0x00008826 }, /* GL_DRAW_BUFFER1 */
- { 9339, 0x0000882F }, /* GL_DRAW_BUFFER10 */
- { 9356, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
- { 9377, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
- { 9398, 0x00008830 }, /* GL_DRAW_BUFFER11 */
- { 9415, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
- { 9436, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
- { 9457, 0x00008831 }, /* GL_DRAW_BUFFER12 */
- { 9474, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
- { 9495, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
- { 9516, 0x00008832 }, /* GL_DRAW_BUFFER13 */
- { 9533, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
- { 9554, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
- { 9575, 0x00008833 }, /* GL_DRAW_BUFFER14 */
- { 9592, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
- { 9613, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
- { 9634, 0x00008834 }, /* GL_DRAW_BUFFER15 */
- { 9651, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
- { 9672, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
- { 9693, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
- { 9713, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
- { 9733, 0x00008827 }, /* GL_DRAW_BUFFER2 */
- { 9749, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
- { 9769, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
- { 9789, 0x00008828 }, /* GL_DRAW_BUFFER3 */
- { 9805, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
- { 9825, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
- { 9845, 0x00008829 }, /* GL_DRAW_BUFFER4 */
- { 9861, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
- { 9881, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
- { 9901, 0x0000882A }, /* GL_DRAW_BUFFER5 */
- { 9917, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
- { 9937, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
- { 9957, 0x0000882B }, /* GL_DRAW_BUFFER6 */
- { 9973, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
- { 9993, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
- { 10013, 0x0000882C }, /* GL_DRAW_BUFFER7 */
- { 10029, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
- { 10049, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
- { 10069, 0x0000882D }, /* GL_DRAW_BUFFER8 */
- { 10085, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
- { 10105, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
- { 10125, 0x0000882E }, /* GL_DRAW_BUFFER9 */
- { 10141, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
- { 10161, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
- { 10181, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */
- { 10201, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING */
- { 10229, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
- { 10261, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
- { 10285, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
- { 10305, 0x00000304 }, /* GL_DST_ALPHA */
- { 10318, 0x00000306 }, /* GL_DST_COLOR */
- { 10331, 0x0000877A }, /* GL_DU8DV8_ATI */
- { 10345, 0x00008779 }, /* GL_DUDV_ATI */
- { 10357, 0x000088EA }, /* GL_DYNAMIC_COPY */
- { 10373, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
- { 10393, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
- { 10409, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
- { 10429, 0x000088E9 }, /* GL_DYNAMIC_READ */
- { 10445, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
- { 10465, 0x00000B43 }, /* GL_EDGE_FLAG */
- { 10478, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
- { 10497, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- { 10531, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
- { 10569, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
- { 10596, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- { 10622, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
- { 10646, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- { 10678, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
- { 10714, 0x00001600 }, /* GL_EMISSION */
- { 10726, 0x00002000 }, /* GL_ENABLE_BIT */
- { 10740, 0x00000202 }, /* GL_EQUAL */
- { 10749, 0x00001509 }, /* GL_EQUIV */
- { 10758, 0x00010000 }, /* GL_EVAL_BIT */
- { 10770, 0x00000800 }, /* GL_EXP */
- { 10777, 0x00000801 }, /* GL_EXP2 */
- { 10785, 0x00001F03 }, /* GL_EXTENSIONS */
- { 10799, 0x00002400 }, /* GL_EYE_LINEAR */
- { 10813, 0x00002502 }, /* GL_EYE_PLANE */
- { 10826, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
- { 10851, 0x0000855B }, /* GL_EYE_RADIAL_NV */
- { 10868, 0x00000000 }, /* GL_FALSE */
- { 10877, 0x00001101 }, /* GL_FASTEST */
- { 10888, 0x00001C01 }, /* GL_FEEDBACK */
- { 10900, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
- { 10927, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
- { 10951, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
- { 10975, 0x00001B02 }, /* GL_FILL */
- { 10983, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION */
- { 11010, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */
- { 11041, 0x0000140C }, /* GL_FIXED */
- { 11050, 0x0000140C }, /* GL_FIXED_OES */
- { 11063, 0x0000891D }, /* GL_FIXED_ONLY */
- { 11077, 0x00001D00 }, /* GL_FLAT */
- { 11085, 0x00001406 }, /* GL_FLOAT */
- { 11094, 0x00008B5A }, /* GL_FLOAT_MAT2 */
- { 11108, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
- { 11126, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */
- { 11142, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */
- { 11158, 0x00008B5B }, /* GL_FLOAT_MAT3 */
- { 11172, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
- { 11190, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */
- { 11206, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */
- { 11222, 0x00008B5C }, /* GL_FLOAT_MAT4 */
- { 11236, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
- { 11254, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */
- { 11270, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */
- { 11286, 0x00008B50 }, /* GL_FLOAT_VEC2 */
- { 11300, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
- { 11318, 0x00008B51 }, /* GL_FLOAT_VEC3 */
- { 11332, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
- { 11350, 0x00008B52 }, /* GL_FLOAT_VEC4 */
- { 11364, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
- { 11382, 0x00000B60 }, /* GL_FOG */
- { 11389, 0x00000080 }, /* GL_FOG_BIT */
- { 11400, 0x00000B66 }, /* GL_FOG_COLOR */
- { 11413, 0x00008451 }, /* GL_FOG_COORD */
- { 11426, 0x00008451 }, /* GL_FOG_COORDINATE */
- { 11444, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
- { 11468, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- { 11507, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
- { 11550, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- { 11582, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- { 11613, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- { 11642, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
- { 11667, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
- { 11686, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
- { 11720, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
- { 11747, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
- { 11773, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
- { 11797, 0x00008450 }, /* GL_FOG_COORD_SRC */
- { 11814, 0x00000B62 }, /* GL_FOG_DENSITY */
- { 11829, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
- { 11853, 0x00000B64 }, /* GL_FOG_END */
- { 11864, 0x00000C54 }, /* GL_FOG_HINT */
- { 11876, 0x00000B61 }, /* GL_FOG_INDEX */
- { 11889, 0x00000B65 }, /* GL_FOG_MODE */
- { 11901, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
- { 11920, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
- { 11945, 0x00000B63 }, /* GL_FOG_START */
- { 11958, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
- { 11976, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
- { 12000, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
- { 12019, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
- { 12042, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- { 12077, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES */
- { 12116, 0x00008D40 }, /* GL_FRAMEBUFFER */
- { 12131, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
- { 12168, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
- { 12204, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
- { 12245, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
- { 12286, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
- { 12323, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
- { 12360, 0x00008DA7 }, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED */
- { 12394, 0x00008DA7 }, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */
- { 12432, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
- { 12470, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
- { 12512, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES */
- { 12554, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
- { 12592, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
- { 12634, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES */
- { 12676, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
- { 12711, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
- { 12750, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
- { 12799, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES */
- { 12848, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
- { 12896, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
- { 12948, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES */
- { 13000, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
- { 13040, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
- { 13084, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
- { 13124, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
- { 13168, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES */
- { 13212, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING */
- { 13235, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
- { 13262, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_OES */
- { 13289, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */
- { 13313, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
- { 13341, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_OES */
- { 13369, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */
- { 13392, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
- { 13411, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
- { 13448, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
- { 13489, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES */
- { 13530, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS */
- { 13567, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- { 13608, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES */
- { 13649, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
- { 13687, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
- { 13729, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES */
- { 13771, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- { 13822, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- { 13860, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES */
- { 13898, 0x00008DA9 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */
- { 13940, 0x00008DA8 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS */
- { 13980, 0x00008DA8 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */
- { 14024, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
- { 14069, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
- { 14118, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES */
- { 14167, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
- { 14205, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT */
- { 14247, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
- { 14285, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
- { 14327, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES */
- { 14369, 0x00008D40 }, /* GL_FRAMEBUFFER_OES */
- { 14388, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- { 14420, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */
- { 14445, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */
- { 14472, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
- { 14503, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_OES */
- { 14534, 0x00000404 }, /* GL_FRONT */
- { 14543, 0x00000408 }, /* GL_FRONT_AND_BACK */
- { 14561, 0x00000B46 }, /* GL_FRONT_FACE */
- { 14575, 0x00000400 }, /* GL_FRONT_LEFT */
- { 14589, 0x00000401 }, /* GL_FRONT_RIGHT */
- { 14604, 0x00008006 }, /* GL_FUNC_ADD */
- { 14616, 0x00008006 }, /* GL_FUNC_ADD_EXT */
- { 14632, 0x00008006 }, /* GL_FUNC_ADD_OES */
- { 14648, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
- { 14673, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
- { 14702, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_OES */
- { 14731, 0x0000800A }, /* GL_FUNC_SUBTRACT */
- { 14748, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
- { 14769, 0x0000800A }, /* GL_FUNC_SUBTRACT_OES */
- { 14790, 0x00008191 }, /* GL_GENERATE_MIPMAP */
- { 14809, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
- { 14833, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
- { 14862, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
- { 14886, 0x00008917 }, /* GL_GEOMETRY_INPUT_TYPE */
- { 14909, 0x00008DDB }, /* GL_GEOMETRY_INPUT_TYPE_ARB */
- { 14936, 0x00008918 }, /* GL_GEOMETRY_OUTPUT_TYPE */
- { 14960, 0x00008DDC }, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */
- { 14988, 0x00008DD9 }, /* GL_GEOMETRY_SHADER */
- { 15007, 0x00008DD9 }, /* GL_GEOMETRY_SHADER_ARB */
- { 15030, 0x00008916 }, /* GL_GEOMETRY_VERTICES_OUT */
- { 15055, 0x00008DDA }, /* GL_GEOMETRY_VERTICES_OUT_ARB */
- { 15084, 0x00000206 }, /* GL_GEQUAL */
- { 15094, 0x00000204 }, /* GL_GREATER */
- { 15105, 0x00001904 }, /* GL_GREEN */
- { 15114, 0x00000D19 }, /* GL_GREEN_BIAS */
- { 15128, 0x00000D53 }, /* GL_GREEN_BITS */
- { 15142, 0x00008D95 }, /* GL_GREEN_INTEGER */
- { 15159, 0x00008D95 }, /* GL_GREEN_INTEGER_EXT */
- { 15180, 0x00000D18 }, /* GL_GREEN_SCALE */
- { 15195, 0x0000140B }, /* GL_HALF_FLOAT */
- { 15209, 0x00008D61 }, /* GL_HALF_FLOAT_OES */
- { 15227, 0x00008DF2 }, /* GL_HIGH_FLOAT */
- { 15241, 0x00008DF5 }, /* GL_HIGH_INT */
- { 15253, 0x00008000 }, /* GL_HINT_BIT */
- { 15265, 0x00008024 }, /* GL_HISTOGRAM */
- { 15278, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
- { 15302, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
- { 15330, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
- { 15353, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
- { 15380, 0x00008024 }, /* GL_HISTOGRAM_EXT */
- { 15397, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
- { 15417, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
- { 15441, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
- { 15465, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
- { 15493, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- { 15521, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
- { 15553, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
- { 15575, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
- { 15601, 0x0000802D }, /* GL_HISTOGRAM_SINK */
- { 15619, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
- { 15641, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
- { 15660, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
- { 15683, 0x0000862A }, /* GL_IDENTITY_NV */
- { 15698, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
- { 15718, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */
- { 15754, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- { 15794, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */
- { 15828, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- { 15866, 0x00001E02 }, /* GL_INCR */
- { 15874, 0x00008507 }, /* GL_INCR_WRAP */
- { 15887, 0x00008507 }, /* GL_INCR_WRAP_EXT */
- { 15904, 0x00008222 }, /* GL_INDEX */
- { 15913, 0x00008077 }, /* GL_INDEX_ARRAY */
- { 15928, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- { 15958, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
- { 15992, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
- { 16015, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
- { 16037, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
- { 16057, 0x00000D51 }, /* GL_INDEX_BITS */
- { 16071, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
- { 16092, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
- { 16110, 0x00000C30 }, /* GL_INDEX_MODE */
- { 16124, 0x00000D13 }, /* GL_INDEX_OFFSET */
- { 16140, 0x00000D12 }, /* GL_INDEX_SHIFT */
- { 16155, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
- { 16174, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
- { 16193, 0x00001404 }, /* GL_INT */
- { 16200, 0x00008049 }, /* GL_INTENSITY */
- { 16213, 0x0000804C }, /* GL_INTENSITY12 */
- { 16228, 0x0000804C }, /* GL_INTENSITY12_EXT */
- { 16247, 0x0000804D }, /* GL_INTENSITY16 */
- { 16262, 0x00008D8B }, /* GL_INTENSITY16I_EXT */
- { 16282, 0x00008D79 }, /* GL_INTENSITY16UI_EXT */
- { 16303, 0x0000804D }, /* GL_INTENSITY16_EXT */
- { 16322, 0x00008D85 }, /* GL_INTENSITY32I_EXT */
- { 16342, 0x00008D73 }, /* GL_INTENSITY32UI_EXT */
- { 16363, 0x0000804A }, /* GL_INTENSITY4 */
- { 16377, 0x0000804A }, /* GL_INTENSITY4_EXT */
- { 16395, 0x0000804B }, /* GL_INTENSITY8 */
- { 16409, 0x00008D91 }, /* GL_INTENSITY8I_EXT */
- { 16428, 0x00008D7F }, /* GL_INTENSITY8UI_EXT */
- { 16448, 0x0000804B }, /* GL_INTENSITY8_EXT */
- { 16466, 0x00008049 }, /* GL_INTENSITY_EXT */
- { 16483, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS */
- { 16506, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */
- { 16533, 0x00008575 }, /* GL_INTERPOLATE */
- { 16548, 0x00008575 }, /* GL_INTERPOLATE_ARB */
- { 16567, 0x00008575 }, /* GL_INTERPOLATE_EXT */
- { 16586, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */
- { 16608, 0x00008DC9 }, /* GL_INT_SAMPLER_1D */
- { 16626, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY */
- { 16650, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY_EXT */
- { 16678, 0x00008DC9 }, /* GL_INT_SAMPLER_1D_EXT */
- { 16700, 0x00008DCA }, /* GL_INT_SAMPLER_2D */
- { 16718, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY */
- { 16742, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY_EXT */
- { 16770, 0x00008DCA }, /* GL_INT_SAMPLER_2D_EXT */
- { 16792, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT */
- { 16815, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT_EXT */
- { 16842, 0x00008DCB }, /* GL_INT_SAMPLER_3D */
- { 16860, 0x00008DCB }, /* GL_INT_SAMPLER_3D_EXT */
- { 16882, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER */
- { 16904, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER_EXT */
- { 16930, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE */
- { 16950, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE_EXT */
- { 16974, 0x00008B53 }, /* GL_INT_VEC2 */
- { 16986, 0x00008B53 }, /* GL_INT_VEC2_ARB */
- { 17002, 0x00008B54 }, /* GL_INT_VEC3 */
- { 17014, 0x00008B54 }, /* GL_INT_VEC3_ARB */
- { 17030, 0x00008B55 }, /* GL_INT_VEC4 */
- { 17042, 0x00008B55 }, /* GL_INT_VEC4_ARB */
- { 17058, 0x00000500 }, /* GL_INVALID_ENUM */
- { 17074, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */
- { 17107, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
- { 17144, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */
- { 17181, 0x00000502 }, /* GL_INVALID_OPERATION */
- { 17202, 0x00000501 }, /* GL_INVALID_VALUE */
- { 17219, 0x0000862B }, /* GL_INVERSE_NV */
- { 17233, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
- { 17257, 0x0000150A }, /* GL_INVERT */
- { 17267, 0x00001E00 }, /* GL_KEEP */
- { 17275, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */
- { 17301, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */
- { 17331, 0x00000406 }, /* GL_LEFT */
- { 17339, 0x00000203 }, /* GL_LEQUAL */
- { 17349, 0x00000201 }, /* GL_LESS */
- { 17357, 0x00004000 }, /* GL_LIGHT0 */
- { 17367, 0x00004001 }, /* GL_LIGHT1 */
- { 17377, 0x00004002 }, /* GL_LIGHT2 */
- { 17387, 0x00004003 }, /* GL_LIGHT3 */
- { 17397, 0x00004004 }, /* GL_LIGHT4 */
- { 17407, 0x00004005 }, /* GL_LIGHT5 */
- { 17417, 0x00004006 }, /* GL_LIGHT6 */
- { 17427, 0x00004007 }, /* GL_LIGHT7 */
- { 17437, 0x00000B50 }, /* GL_LIGHTING */
- { 17449, 0x00000040 }, /* GL_LIGHTING_BIT */
- { 17465, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
- { 17488, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- { 17517, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
- { 17550, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- { 17578, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
- { 17602, 0x00001B01 }, /* GL_LINE */
- { 17610, 0x00002601 }, /* GL_LINEAR */
- { 17620, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
- { 17642, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- { 17672, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- { 17703, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
- { 17727, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
- { 17752, 0x00000001 }, /* GL_LINES */
- { 17761, 0x0000000A }, /* GL_LINES_ADJACENCY */
- { 17780, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */
- { 17803, 0x00000004 }, /* GL_LINE_BIT */
- { 17815, 0x00000002 }, /* GL_LINE_LOOP */
- { 17828, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
- { 17848, 0x00000B20 }, /* GL_LINE_SMOOTH */
- { 17863, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
- { 17883, 0x00000B24 }, /* GL_LINE_STIPPLE */
- { 17899, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
- { 17923, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
- { 17946, 0x00000003 }, /* GL_LINE_STRIP */
- { 17960, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY */
- { 17984, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */
- { 18012, 0x00000702 }, /* GL_LINE_TOKEN */
- { 18026, 0x00000B21 }, /* GL_LINE_WIDTH */
- { 18040, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
- { 18066, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
- { 18086, 0x00008B82 }, /* GL_LINK_STATUS */
- { 18101, 0x00000B32 }, /* GL_LIST_BASE */
- { 18114, 0x00020000 }, /* GL_LIST_BIT */
- { 18126, 0x00000B33 }, /* GL_LIST_INDEX */
- { 18140, 0x00000B30 }, /* GL_LIST_MODE */
- { 18153, 0x00000101 }, /* GL_LOAD */
- { 18161, 0x00000BF1 }, /* GL_LOGIC_OP */
- { 18173, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
- { 18190, 0x00008CA1 }, /* GL_LOWER_LEFT */
- { 18204, 0x00008DF0 }, /* GL_LOW_FLOAT */
- { 18217, 0x00008DF3 }, /* GL_LOW_INT */
- { 18228, 0x00001909 }, /* GL_LUMINANCE */
- { 18241, 0x00008041 }, /* GL_LUMINANCE12 */
- { 18256, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
- { 18279, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
- { 18306, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
- { 18328, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
- { 18354, 0x00008041 }, /* GL_LUMINANCE12_EXT */
- { 18373, 0x00008042 }, /* GL_LUMINANCE16 */
- { 18388, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */
- { 18408, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */
- { 18429, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
- { 18452, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
- { 18479, 0x00008042 }, /* GL_LUMINANCE16_EXT */
- { 18498, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */
- { 18518, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */
- { 18539, 0x0000803F }, /* GL_LUMINANCE4 */
- { 18553, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
- { 18574, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
- { 18599, 0x0000803F }, /* GL_LUMINANCE4_EXT */
- { 18617, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
- { 18638, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
- { 18663, 0x00008040 }, /* GL_LUMINANCE8 */
- { 18677, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */
- { 18696, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */
- { 18716, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
- { 18737, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
- { 18762, 0x00008040 }, /* GL_LUMINANCE8_EXT */
- { 18780, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
- { 18799, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */
- { 18825, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */
- { 18852, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */
- { 18878, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */
- { 18905, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */
- { 18930, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */
- { 18956, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */
- { 18987, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */
- { 19012, 0x0000821B }, /* GL_MAJOR_VERSION */
- { 19029, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
- { 19045, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
- { 19065, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
- { 19087, 0x00000D91 }, /* GL_MAP1_INDEX */
- { 19101, 0x00000D92 }, /* GL_MAP1_NORMAL */
- { 19116, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
- { 19140, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
- { 19164, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
- { 19188, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
- { 19212, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
- { 19229, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
- { 19246, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- { 19274, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- { 19303, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- { 19332, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- { 19361, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- { 19390, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- { 19419, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- { 19448, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- { 19476, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- { 19504, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- { 19532, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- { 19560, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- { 19588, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- { 19616, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- { 19644, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- { 19672, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- { 19700, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
- { 19716, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
- { 19736, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
- { 19758, 0x00000DB1 }, /* GL_MAP2_INDEX */
- { 19772, 0x00000DB2 }, /* GL_MAP2_NORMAL */
- { 19787, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
- { 19811, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
- { 19835, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
- { 19859, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
- { 19883, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
- { 19900, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
- { 19917, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- { 19945, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- { 19974, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- { 20003, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- { 20032, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- { 20061, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- { 20090, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- { 20119, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- { 20147, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- { 20175, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- { 20203, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- { 20231, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- { 20259, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- { 20287, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
- { 20315, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- { 20343, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- { 20371, 0x00000D10 }, /* GL_MAP_COLOR */
- { 20384, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */
- { 20410, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */
- { 20439, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */
- { 20467, 0x00000001 }, /* GL_MAP_READ_BIT */
- { 20483, 0x00000D11 }, /* GL_MAP_STENCIL */
- { 20498, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */
- { 20524, 0x00000002 }, /* GL_MAP_WRITE_BIT */
- { 20541, 0x000088C0 }, /* GL_MATRIX0_ARB */
- { 20556, 0x00008630 }, /* GL_MATRIX0_NV */
- { 20570, 0x000088CA }, /* GL_MATRIX10_ARB */
- { 20586, 0x000088CB }, /* GL_MATRIX11_ARB */
- { 20602, 0x000088CC }, /* GL_MATRIX12_ARB */
- { 20618, 0x000088CD }, /* GL_MATRIX13_ARB */
- { 20634, 0x000088CE }, /* GL_MATRIX14_ARB */
- { 20650, 0x000088CF }, /* GL_MATRIX15_ARB */
- { 20666, 0x000088D0 }, /* GL_MATRIX16_ARB */
- { 20682, 0x000088D1 }, /* GL_MATRIX17_ARB */
- { 20698, 0x000088D2 }, /* GL_MATRIX18_ARB */
- { 20714, 0x000088D3 }, /* GL_MATRIX19_ARB */
- { 20730, 0x000088C1 }, /* GL_MATRIX1_ARB */
- { 20745, 0x00008631 }, /* GL_MATRIX1_NV */
- { 20759, 0x000088D4 }, /* GL_MATRIX20_ARB */
- { 20775, 0x000088D5 }, /* GL_MATRIX21_ARB */
- { 20791, 0x000088D6 }, /* GL_MATRIX22_ARB */
- { 20807, 0x000088D7 }, /* GL_MATRIX23_ARB */
- { 20823, 0x000088D8 }, /* GL_MATRIX24_ARB */
- { 20839, 0x000088D9 }, /* GL_MATRIX25_ARB */
- { 20855, 0x000088DA }, /* GL_MATRIX26_ARB */
- { 20871, 0x000088DB }, /* GL_MATRIX27_ARB */
- { 20887, 0x000088DC }, /* GL_MATRIX28_ARB */
- { 20903, 0x000088DD }, /* GL_MATRIX29_ARB */
- { 20919, 0x000088C2 }, /* GL_MATRIX2_ARB */
- { 20934, 0x00008632 }, /* GL_MATRIX2_NV */
- { 20948, 0x000088DE }, /* GL_MATRIX30_ARB */
- { 20964, 0x000088DF }, /* GL_MATRIX31_ARB */
- { 20980, 0x000088C3 }, /* GL_MATRIX3_ARB */
- { 20995, 0x00008633 }, /* GL_MATRIX3_NV */
- { 21009, 0x000088C4 }, /* GL_MATRIX4_ARB */
- { 21024, 0x00008634 }, /* GL_MATRIX4_NV */
- { 21038, 0x000088C5 }, /* GL_MATRIX5_ARB */
- { 21053, 0x00008635 }, /* GL_MATRIX5_NV */
- { 21067, 0x000088C6 }, /* GL_MATRIX6_ARB */
- { 21082, 0x00008636 }, /* GL_MATRIX6_NV */
- { 21096, 0x000088C7 }, /* GL_MATRIX7_ARB */
- { 21111, 0x00008637 }, /* GL_MATRIX7_NV */
- { 21125, 0x000088C8 }, /* GL_MATRIX8_ARB */
- { 21140, 0x000088C9 }, /* GL_MATRIX9_ARB */
- { 21155, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
- { 21181, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */
- { 21222, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */
- { 21248, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- { 21282, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */
- { 21316, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- { 21347, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */
- { 21378, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- { 21411, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */
- { 21444, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- { 21475, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */
- { 21506, 0x00000BA0 }, /* GL_MATRIX_MODE */
- { 21521, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
- { 21543, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */
- { 21565, 0x00008008 }, /* GL_MAX */
- { 21572, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
- { 21595, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */
- { 21622, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS */
- { 21650, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
- { 21682, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
- { 21708, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- { 21741, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- { 21767, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 21801, 0x00000D32 }, /* GL_MAX_CLIP_DISTANCES */
- { 21823, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
- { 21842, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */
- { 21867, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
- { 21896, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- { 21928, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
- { 21964, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- { 22000, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
- { 22040, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
- { 22066, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
- { 22096, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
- { 22121, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
- { 22150, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- { 22179, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
- { 22212, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */
- { 22245, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
- { 22265, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
- { 22289, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
- { 22313, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
- { 22337, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
- { 22362, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
- { 22380, 0x00008008 }, /* GL_MAX_EXT */
- { 22391, 0x00009125 }, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */
- { 22424, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- { 22459, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
- { 22498, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */
- { 22530, 0x00009123 }, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */
- { 22563, 0x00009124 }, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */
- { 22597, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */
- { 22629, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */
- { 22665, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */
- { 22701, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */
- { 22741, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */
- { 22781, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */
- { 22825, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */
- { 22860, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */
- { 22899, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */
- { 22938, 0x00000D31 }, /* GL_MAX_LIGHTS */
- { 22952, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
- { 22972, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- { 23010, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- { 23039, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
- { 23063, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
- { 23091, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */
- { 23119, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
- { 23142, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 23179, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 23215, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- { 23242, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- { 23271, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- { 23305, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
- { 23341, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- { 23368, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- { 23400, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- { 23436, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- { 23465, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- { 23494, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
- { 23522, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- { 23560, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 23604, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 23647, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 23681, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 23720, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 23757, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 23795, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 23838, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 23881, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- { 23911, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- { 23942, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET */
- { 23970, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET_EXT */
- { 24002, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 24038, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 24074, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
- { 24104, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */
- { 24134, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- { 24168, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
- { 24201, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */
- { 24226, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
- { 24255, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */
- { 24284, 0x00008D57 }, /* GL_MAX_SAMPLES */
- { 24299, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */
- { 24318, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */
- { 24345, 0x00008504 }, /* GL_MAX_SHININESS_NV */
- { 24365, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
- { 24389, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE */
- { 24416, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
- { 24438, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
- { 24464, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- { 24491, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
- { 24522, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
- { 24546, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */
- { 24574, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- { 24608, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
- { 24628, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
- { 24655, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
- { 24676, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
- { 24701, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
- { 24726, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
- { 24761, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */
- { 24810, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */
- { 24863, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */
- { 24906, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */
- { 24953, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */
- { 24999, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */
- { 25049, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */
- { 25075, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
- { 25097, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
- { 25123, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */
- { 25146, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
- { 25168, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
- { 25194, 0x00009122 }, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */
- { 25226, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- { 25260, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
- { 25298, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- { 25331, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
- { 25368, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */
- { 25398, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
- { 25422, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */
- { 25446, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */
- { 25483, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
- { 25504, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */
- { 25520, 0x00008DF4 }, /* GL_MEDIUM_INT */
- { 25534, 0x00008007 }, /* GL_MIN */
- { 25541, 0x0000802E }, /* GL_MINMAX */
- { 25551, 0x0000802E }, /* GL_MINMAX_EXT */
- { 25565, 0x0000802F }, /* GL_MINMAX_FORMAT */
- { 25582, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
- { 25603, 0x00008030 }, /* GL_MINMAX_SINK */
- { 25618, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
- { 25637, 0x0000821C }, /* GL_MINOR_VERSION */
- { 25654, 0x00008007 }, /* GL_MIN_EXT */
- { 25665, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET */
- { 25693, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET_EXT */
- { 25725, 0x00008370 }, /* GL_MIRRORED_REPEAT */
- { 25744, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
- { 25767, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
- { 25790, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
- { 25810, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
- { 25830, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- { 25860, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
- { 25888, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- { 25916, 0x00001700 }, /* GL_MODELVIEW */
- { 25929, 0x00001700 }, /* GL_MODELVIEW0_ARB */
- { 25947, 0x0000872A }, /* GL_MODELVIEW10_ARB */
- { 25966, 0x0000872B }, /* GL_MODELVIEW11_ARB */
- { 25985, 0x0000872C }, /* GL_MODELVIEW12_ARB */
- { 26004, 0x0000872D }, /* GL_MODELVIEW13_ARB */
- { 26023, 0x0000872E }, /* GL_MODELVIEW14_ARB */
- { 26042, 0x0000872F }, /* GL_MODELVIEW15_ARB */
- { 26061, 0x00008730 }, /* GL_MODELVIEW16_ARB */
- { 26080, 0x00008731 }, /* GL_MODELVIEW17_ARB */
- { 26099, 0x00008732 }, /* GL_MODELVIEW18_ARB */
- { 26118, 0x00008733 }, /* GL_MODELVIEW19_ARB */
- { 26137, 0x0000850A }, /* GL_MODELVIEW1_ARB */
- { 26155, 0x00008734 }, /* GL_MODELVIEW20_ARB */
- { 26174, 0x00008735 }, /* GL_MODELVIEW21_ARB */
- { 26193, 0x00008736 }, /* GL_MODELVIEW22_ARB */
- { 26212, 0x00008737 }, /* GL_MODELVIEW23_ARB */
- { 26231, 0x00008738 }, /* GL_MODELVIEW24_ARB */
- { 26250, 0x00008739 }, /* GL_MODELVIEW25_ARB */
- { 26269, 0x0000873A }, /* GL_MODELVIEW26_ARB */
- { 26288, 0x0000873B }, /* GL_MODELVIEW27_ARB */
- { 26307, 0x0000873C }, /* GL_MODELVIEW28_ARB */
- { 26326, 0x0000873D }, /* GL_MODELVIEW29_ARB */
- { 26345, 0x00008722 }, /* GL_MODELVIEW2_ARB */
- { 26363, 0x0000873E }, /* GL_MODELVIEW30_ARB */
- { 26382, 0x0000873F }, /* GL_MODELVIEW31_ARB */
- { 26401, 0x00008723 }, /* GL_MODELVIEW3_ARB */
- { 26419, 0x00008724 }, /* GL_MODELVIEW4_ARB */
- { 26437, 0x00008725 }, /* GL_MODELVIEW5_ARB */
- { 26455, 0x00008726 }, /* GL_MODELVIEW6_ARB */
- { 26473, 0x00008727 }, /* GL_MODELVIEW7_ARB */
- { 26491, 0x00008728 }, /* GL_MODELVIEW8_ARB */
- { 26509, 0x00008729 }, /* GL_MODELVIEW9_ARB */
- { 26527, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
- { 26547, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */
- { 26589, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
- { 26616, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
- { 26641, 0x00002100 }, /* GL_MODULATE */
- { 26653, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
- { 26673, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
- { 26700, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
- { 26725, 0x00000103 }, /* GL_MULT */
- { 26733, 0x0000809D }, /* GL_MULTISAMPLE */
- { 26748, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
- { 26768, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
- { 26787, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
- { 26806, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
- { 26830, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
- { 26853, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- { 26883, 0x00002A25 }, /* GL_N3F_V3F */
- { 26894, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
- { 26914, 0x0000150E }, /* GL_NAND */
- { 26922, 0x00002600 }, /* GL_NEAREST */
- { 26933, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- { 26964, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- { 26996, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
- { 27021, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
- { 27047, 0x00000200 }, /* GL_NEVER */
- { 27056, 0x00001102 }, /* GL_NICEST */
- { 27066, 0x00000000 }, /* GL_NONE */
- { 27074, 0x00000000 }, /* GL_NONE_OES */
- { 27086, 0x00001505 }, /* GL_NOOP */
- { 27094, 0x00001508 }, /* GL_NOR */
- { 27101, 0x00000BA1 }, /* GL_NORMALIZE */
- { 27114, 0x00008075 }, /* GL_NORMAL_ARRAY */
- { 27130, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
- { 27161, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
- { 27196, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
- { 27220, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
- { 27243, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
- { 27264, 0x00008511 }, /* GL_NORMAL_MAP */
- { 27278, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
- { 27296, 0x00008511 }, /* GL_NORMAL_MAP_NV */
- { 27313, 0x00008511 }, /* GL_NORMAL_MAP_OES */
- { 27331, 0x00000205 }, /* GL_NOTEQUAL */
- { 27343, 0x00000000 }, /* GL_NO_ERROR */
- { 27355, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- { 27389, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
- { 27427, 0x0000821D }, /* GL_NUM_EXTENSIONS */
- { 27445, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */
- { 27479, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */
- { 27508, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
- { 27540, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
- { 27582, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
- { 27612, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
- { 27652, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
- { 27683, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
- { 27712, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
- { 27740, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
- { 27770, 0x00002401 }, /* GL_OBJECT_LINEAR */
- { 27787, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
- { 27813, 0x00002501 }, /* GL_OBJECT_PLANE */
- { 27829, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
- { 27864, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
- { 27886, 0x00009112 }, /* GL_OBJECT_TYPE */
- { 27901, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
- { 27920, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
- { 27950, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
- { 27971, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
- { 27999, 0x00000001 }, /* GL_ONE */
- { 28006, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
- { 28034, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
- { 28066, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
- { 28094, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
- { 28126, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
- { 28149, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
- { 28172, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
- { 28195, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
- { 28218, 0x00008598 }, /* GL_OPERAND0_ALPHA */
- { 28236, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
- { 28258, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
- { 28280, 0x00008590 }, /* GL_OPERAND0_RGB */
- { 28296, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
- { 28316, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
- { 28336, 0x00008599 }, /* GL_OPERAND1_ALPHA */
- { 28354, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
- { 28376, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
- { 28398, 0x00008591 }, /* GL_OPERAND1_RGB */
- { 28414, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
- { 28434, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
- { 28454, 0x0000859A }, /* GL_OPERAND2_ALPHA */
- { 28472, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
- { 28494, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
- { 28516, 0x00008592 }, /* GL_OPERAND2_RGB */
- { 28532, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
- { 28552, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
- { 28572, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
- { 28593, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
- { 28612, 0x00001507 }, /* GL_OR */
- { 28618, 0x00000A01 }, /* GL_ORDER */
- { 28627, 0x0000150D }, /* GL_OR_INVERTED */
- { 28642, 0x0000150B }, /* GL_OR_REVERSE */
- { 28656, 0x00000505 }, /* GL_OUT_OF_MEMORY */
- { 28673, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
- { 28691, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
- { 28712, 0x00008758 }, /* GL_PACK_INVERT_MESA */
- { 28732, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
- { 28750, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
- { 28769, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
- { 28789, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
- { 28809, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
- { 28827, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
- { 28846, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
- { 28871, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
- { 28895, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
- { 28916, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
- { 28938, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
- { 28960, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
- { 28985, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
- { 29009, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
- { 29030, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
- { 29052, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
- { 29074, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
- { 29096, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
- { 29127, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
- { 29147, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- { 29172, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
- { 29192, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- { 29217, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
- { 29237, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- { 29262, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
- { 29282, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- { 29307, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
- { 29327, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- { 29352, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
- { 29372, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- { 29397, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
- { 29417, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- { 29442, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
- { 29462, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- { 29487, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
- { 29507, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- { 29532, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
- { 29552, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- { 29577, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
- { 29595, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */
- { 29616, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */
- { 29645, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
- { 29678, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
- { 29703, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */
- { 29726, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
- { 29757, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
- { 29792, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
- { 29819, 0x00001B00 }, /* GL_POINT */
- { 29828, 0x00000000 }, /* GL_POINTS */
- { 29838, 0x00000002 }, /* GL_POINT_BIT */
- { 29851, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
- { 29881, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
- { 29915, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
- { 29949, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
- { 29984, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
- { 30013, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
- { 30046, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
- { 30079, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
- { 30113, 0x00000B11 }, /* GL_POINT_SIZE */
- { 30127, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */
- { 30166, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */
- { 30190, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */
- { 30222, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */
- { 30253, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */
- { 30282, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
- { 30308, 0x00008127 }, /* GL_POINT_SIZE_MAX */
- { 30326, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
- { 30348, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
- { 30370, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
- { 30393, 0x00008126 }, /* GL_POINT_SIZE_MIN */
- { 30411, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
- { 30433, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
- { 30455, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
- { 30478, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
- { 30498, 0x00000B10 }, /* GL_POINT_SMOOTH */
- { 30514, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
- { 30535, 0x00008861 }, /* GL_POINT_SPRITE */
- { 30551, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
- { 30571, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
- { 30600, 0x00008861 }, /* GL_POINT_SPRITE_NV */
- { 30619, 0x00008861 }, /* GL_POINT_SPRITE_OES */
- { 30639, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
- { 30665, 0x00000701 }, /* GL_POINT_TOKEN */
- { 30680, 0x00000009 }, /* GL_POLYGON */
- { 30691, 0x00000008 }, /* GL_POLYGON_BIT */
- { 30706, 0x00000B40 }, /* GL_POLYGON_MODE */
- { 30722, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
- { 30745, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
- { 30770, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
- { 30793, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
- { 30816, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
- { 30840, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
- { 30864, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
- { 30882, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
- { 30905, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
- { 30924, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
- { 30947, 0x00000703 }, /* GL_POLYGON_TOKEN */
- { 30964, 0x00001203 }, /* GL_POSITION */
- { 30976, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- { 31008, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
- { 31044, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- { 31077, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
- { 31114, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- { 31145, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
- { 31180, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- { 31212, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
- { 31248, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- { 31281, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- { 31313, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
- { 31349, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- { 31382, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
- { 31419, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- { 31449, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
- { 31483, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- { 31514, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
- { 31549, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- { 31580, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
- { 31615, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- { 31647, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
- { 31683, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- { 31713, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
- { 31747, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- { 31778, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
- { 31813, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- { 31845, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- { 31876, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
- { 31911, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- { 31943, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
- { 31979, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
- { 32008, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
- { 32041, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
- { 32071, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
- { 32105, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- { 32144, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- { 32177, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- { 32217, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- { 32251, 0x00008578 }, /* GL_PREVIOUS */
- { 32263, 0x00008578 }, /* GL_PREVIOUS_ARB */
- { 32279, 0x00008578 }, /* GL_PREVIOUS_EXT */
- { 32295, 0x00008577 }, /* GL_PRIMARY_COLOR */
- { 32312, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
- { 32333, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
- { 32354, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED */
- { 32378, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */
- { 32406, 0x00008F9D }, /* GL_PRIMITIVE_RESTART */
- { 32427, 0x00008F9E }, /* GL_PRIMITIVE_RESTART_INDEX */
- { 32454, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */
- { 32484, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */
- { 32508, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 32541, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 32573, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
- { 32596, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */
- { 32626, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */
- { 32655, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
- { 32678, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
- { 32708, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
- { 32737, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
- { 32765, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
- { 32787, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- { 32815, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- { 32843, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
- { 32865, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
- { 32886, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 32926, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 32965, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 32995, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 33030, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 33063, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 33097, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 33136, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 33175, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
- { 33197, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
- { 33223, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
- { 33247, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE */
- { 33269, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */
- { 33295, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
- { 33318, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
- { 33340, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
- { 33361, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
- { 33382, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
- { 33409, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 33441, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 33473, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- { 33508, 0x00001701 }, /* GL_PROJECTION */
- { 33522, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
- { 33543, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */
- { 33586, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
- { 33612, 0x00008E4F }, /* GL_PROVOKING_VERTEX */
- { 33632, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */
- { 33656, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
- { 33677, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
- { 33696, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
- { 33719, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
- { 33758, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- { 33796, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
- { 33816, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY */
- { 33842, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
- { 33872, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
- { 33896, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
- { 33916, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY */
- { 33942, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
- { 33972, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
- { 33996, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
- { 34016, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- { 34049, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
- { 34075, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
- { 34105, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE */
- { 34132, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- { 34163, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
- { 34193, 0x00008A1D }, /* GL_PURGEABLE_APPLE */
- { 34212, 0x00002003 }, /* GL_Q */
- { 34217, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
- { 34242, 0x00000007 }, /* GL_QUADS */
- { 34251, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
- { 34295, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */
- { 34343, 0x00008614 }, /* GL_QUAD_MESH_SUN */
- { 34360, 0x00000008 }, /* GL_QUAD_STRIP */
- { 34374, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT */
- { 34401, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */
- { 34431, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT */
- { 34455, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */
- { 34482, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
- { 34504, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
- { 34530, 0x00008E14 }, /* GL_QUERY_NO_WAIT */
- { 34547, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */
- { 34567, 0x00008866 }, /* GL_QUERY_RESULT */
- { 34583, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
- { 34603, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
- { 34629, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
- { 34659, 0x00008E13 }, /* GL_QUERY_WAIT */
- { 34673, 0x00008E13 }, /* GL_QUERY_WAIT_NV */
- { 34690, 0x00002002 }, /* GL_R */
- { 34695, 0x00008C3A }, /* GL_R11F_G11F_B10F */
- { 34713, 0x00008F98 }, /* GL_R16_SNORM */
- { 34726, 0x00002A10 }, /* GL_R3_G3_B2 */
- { 34738, 0x00008F94 }, /* GL_R8_SNORM */
- { 34750, 0x00008C89 }, /* GL_RASTERIZER_DISCARD */
- { 34772, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */
- { 34798, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- { 34831, 0x00000C02 }, /* GL_READ_BUFFER */
- { 34846, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */
- { 34866, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */
- { 34894, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
- { 34926, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
- { 34950, 0x000088B8 }, /* GL_READ_ONLY */
- { 34963, 0x000088B8 }, /* GL_READ_ONLY_ARB */
- { 34980, 0x000088BA }, /* GL_READ_WRITE */
- { 34994, 0x000088BA }, /* GL_READ_WRITE_ARB */
- { 35012, 0x00001903 }, /* GL_RED */
- { 35019, 0x00008016 }, /* GL_REDUCE */
- { 35029, 0x00008016 }, /* GL_REDUCE_EXT */
- { 35043, 0x00000D15 }, /* GL_RED_BIAS */
- { 35055, 0x00000D52 }, /* GL_RED_BITS */
- { 35067, 0x00008D94 }, /* GL_RED_INTEGER */
- { 35082, 0x00008D94 }, /* GL_RED_INTEGER_EXT */
- { 35101, 0x00000D14 }, /* GL_RED_SCALE */
- { 35114, 0x00008F90 }, /* GL_RED_SNORM */
- { 35127, 0x00008512 }, /* GL_REFLECTION_MAP */
- { 35145, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
- { 35167, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
- { 35188, 0x00008512 }, /* GL_REFLECTION_MAP_OES */
- { 35210, 0x00008A19 }, /* GL_RELEASED_APPLE */
- { 35228, 0x00001C00 }, /* GL_RENDER */
- { 35238, 0x00008D41 }, /* GL_RENDERBUFFER */
- { 35254, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */
- { 35281, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */
- { 35312, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */
- { 35336, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
- { 35364, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */
- { 35392, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */
- { 35418, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */
- { 35448, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */
- { 35475, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */
- { 35506, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
- { 35526, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */
- { 35553, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */
- { 35584, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */
- { 35607, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
- { 35634, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */
- { 35661, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
- { 35693, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
- { 35729, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */
- { 35765, 0x00008D41 }, /* GL_RENDERBUFFER_OES */
- { 35785, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */
- { 35810, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */
- { 35839, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */
- { 35863, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */
- { 35891, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */
- { 35920, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */
- { 35953, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */
- { 35975, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
- { 36001, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */
- { 36027, 0x00001F01 }, /* GL_RENDERER */
- { 36039, 0x00000C40 }, /* GL_RENDER_MODE */
- { 36054, 0x00002901 }, /* GL_REPEAT */
- { 36064, 0x00001E01 }, /* GL_REPLACE */
- { 36075, 0x00008062 }, /* GL_REPLACE_EXT */
- { 36090, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
- { 36113, 0x0000803A }, /* GL_RESCALE_NORMAL */
- { 36131, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
- { 36153, 0x00008A1B }, /* GL_RETAINED_APPLE */
- { 36171, 0x00000102 }, /* GL_RETURN */
- { 36181, 0x00008F99 }, /* GL_RG16_SNORM */
- { 36195, 0x00008F95 }, /* GL_RG8_SNORM */
- { 36208, 0x00001907 }, /* GL_RGB */
- { 36215, 0x00008052 }, /* GL_RGB10 */
- { 36224, 0x00008059 }, /* GL_RGB10_A2 */
- { 36236, 0x00008059 }, /* GL_RGB10_A2_EXT */
- { 36252, 0x00008052 }, /* GL_RGB10_EXT */
- { 36265, 0x00008053 }, /* GL_RGB12 */
- { 36274, 0x00008053 }, /* GL_RGB12_EXT */
- { 36287, 0x00008054 }, /* GL_RGB16 */
- { 36296, 0x0000881B }, /* GL_RGB16F */
- { 36306, 0x00008D89 }, /* GL_RGB16I */
- { 36316, 0x00008D89 }, /* GL_RGB16I_EXT */
- { 36330, 0x00008D77 }, /* GL_RGB16UI */
- { 36341, 0x00008D77 }, /* GL_RGB16UI_EXT */
- { 36356, 0x00008054 }, /* GL_RGB16_EXT */
- { 36369, 0x00008F9A }, /* GL_RGB16_SNORM */
- { 36384, 0x0000804E }, /* GL_RGB2_EXT */
- { 36396, 0x00008815 }, /* GL_RGB32F */
- { 36406, 0x00008D83 }, /* GL_RGB32I */
- { 36416, 0x00008D83 }, /* GL_RGB32I_EXT */
- { 36430, 0x00008D71 }, /* GL_RGB32UI */
- { 36441, 0x00008D71 }, /* GL_RGB32UI_EXT */
- { 36456, 0x0000804F }, /* GL_RGB4 */
- { 36464, 0x0000804F }, /* GL_RGB4_EXT */
- { 36476, 0x000083A1 }, /* GL_RGB4_S3TC */
- { 36489, 0x00008050 }, /* GL_RGB5 */
- { 36497, 0x00008D62 }, /* GL_RGB565 */
- { 36507, 0x00008D62 }, /* GL_RGB565_OES */
- { 36521, 0x00008057 }, /* GL_RGB5_A1 */
- { 36532, 0x00008057 }, /* GL_RGB5_A1_EXT */
- { 36547, 0x00008057 }, /* GL_RGB5_A1_OES */
- { 36562, 0x00008050 }, /* GL_RGB5_EXT */
- { 36574, 0x00008051 }, /* GL_RGB8 */
- { 36582, 0x00008D8F }, /* GL_RGB8I */
- { 36591, 0x00008D8F }, /* GL_RGB8I_EXT */
- { 36604, 0x00008D7D }, /* GL_RGB8UI */
- { 36614, 0x00008D7D }, /* GL_RGB8UI_EXT */
- { 36628, 0x00008051 }, /* GL_RGB8_EXT */
- { 36640, 0x00008051 }, /* GL_RGB8_OES */
- { 36652, 0x00008F96 }, /* GL_RGB8_SNORM */
- { 36666, 0x00008C3D }, /* GL_RGB9_E5 */
- { 36677, 0x00001908 }, /* GL_RGBA */
- { 36685, 0x0000805A }, /* GL_RGBA12 */
- { 36695, 0x0000805A }, /* GL_RGBA12_EXT */
- { 36709, 0x0000805B }, /* GL_RGBA16 */
- { 36719, 0x0000881A }, /* GL_RGBA16F */
- { 36730, 0x00008D88 }, /* GL_RGBA16I */
- { 36741, 0x00008D88 }, /* GL_RGBA16I_EXT */
- { 36756, 0x00008D76 }, /* GL_RGBA16UI */
- { 36768, 0x00008D76 }, /* GL_RGBA16UI_EXT */
- { 36784, 0x0000805B }, /* GL_RGBA16_EXT */
- { 36798, 0x00008F9B }, /* GL_RGBA16_SNORM */
- { 36814, 0x00008055 }, /* GL_RGBA2 */
- { 36823, 0x00008055 }, /* GL_RGBA2_EXT */
- { 36836, 0x00008814 }, /* GL_RGBA32F */
- { 36847, 0x00008D82 }, /* GL_RGBA32I */
- { 36858, 0x00008D82 }, /* GL_RGBA32I_EXT */
- { 36873, 0x00008D70 }, /* GL_RGBA32UI */
- { 36885, 0x00008D70 }, /* GL_RGBA32UI_EXT */
- { 36901, 0x00008056 }, /* GL_RGBA4 */
- { 36910, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
- { 36929, 0x00008056 }, /* GL_RGBA4_EXT */
- { 36942, 0x00008056 }, /* GL_RGBA4_OES */
- { 36955, 0x000083A3 }, /* GL_RGBA4_S3TC */
- { 36969, 0x00008058 }, /* GL_RGBA8 */
- { 36978, 0x00008D8E }, /* GL_RGBA8I */
- { 36988, 0x00008D8E }, /* GL_RGBA8I_EXT */
- { 37002, 0x00008D7C }, /* GL_RGBA8UI */
- { 37013, 0x00008D7C }, /* GL_RGBA8UI_EXT */
- { 37028, 0x00008058 }, /* GL_RGBA8_EXT */
- { 37041, 0x00008058 }, /* GL_RGBA8_OES */
- { 37054, 0x00008F97 }, /* GL_RGBA8_SNORM */
- { 37069, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
- { 37087, 0x00008D99 }, /* GL_RGBA_INTEGER */
- { 37103, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */
- { 37123, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */
- { 37148, 0x00000C31 }, /* GL_RGBA_MODE */
- { 37161, 0x000083A2 }, /* GL_RGBA_S3TC */
- { 37174, 0x00008F93 }, /* GL_RGBA_SNORM */
- { 37188, 0x00008D98 }, /* GL_RGB_INTEGER */
- { 37203, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */
- { 37222, 0x000083A0 }, /* GL_RGB_S3TC */
- { 37234, 0x00008573 }, /* GL_RGB_SCALE */
- { 37247, 0x00008573 }, /* GL_RGB_SCALE_ARB */
- { 37264, 0x00008573 }, /* GL_RGB_SCALE_EXT */
- { 37281, 0x00008F92 }, /* GL_RGB_SNORM */
- { 37294, 0x00008F91 }, /* GL_RG_SNORM */
- { 37306, 0x00000407 }, /* GL_RIGHT */
- { 37315, 0x00002000 }, /* GL_S */
- { 37320, 0x00008B5D }, /* GL_SAMPLER_1D */
- { 37334, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY */
- { 37354, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY_EXT */
- { 37378, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW */
- { 37405, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW_EXT */
- { 37436, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
- { 37457, 0x00008B5E }, /* GL_SAMPLER_2D */
- { 37471, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY */
- { 37491, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY_EXT */
- { 37515, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW */
- { 37542, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW_EXT */
- { 37573, 0x00008B63 }, /* GL_SAMPLER_2D_RECT */
- { 37592, 0x00008B64 }, /* GL_SAMPLER_2D_RECT_SHADOW */
- { 37618, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
- { 37639, 0x00008B5F }, /* GL_SAMPLER_3D */
- { 37653, 0x00008B5F }, /* GL_SAMPLER_3D_OES */
- { 37671, 0x00008DC2 }, /* GL_SAMPLER_BUFFER */
- { 37689, 0x00008DC2 }, /* GL_SAMPLER_BUFFER_EXT */
- { 37711, 0x00008B60 }, /* GL_SAMPLER_CUBE */
- { 37727, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW */
- { 37750, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW_EXT */
- { 37777, 0x000080A9 }, /* GL_SAMPLES */
- { 37788, 0x000086B4 }, /* GL_SAMPLES_3DFX */
- { 37804, 0x000080A9 }, /* GL_SAMPLES_ARB */
- { 37819, 0x00008914 }, /* GL_SAMPLES_PASSED */
- { 37837, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
- { 37859, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- { 37887, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
- { 37919, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
- { 37942, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
- { 37969, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
- { 37987, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
- { 38010, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
- { 38032, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
- { 38051, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
- { 38074, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
- { 38100, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
- { 38130, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
- { 38155, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
- { 38184, 0x00080000 }, /* GL_SCISSOR_BIT */
- { 38199, 0x00000C10 }, /* GL_SCISSOR_BOX */
- { 38214, 0x00000C11 }, /* GL_SCISSOR_TEST */
- { 38230, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
- { 38255, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- { 38295, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
- { 38339, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- { 38372, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- { 38402, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- { 38434, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- { 38464, 0x00001C02 }, /* GL_SELECT */
- { 38474, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
- { 38502, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
- { 38527, 0x00008012 }, /* GL_SEPARABLE_2D */
- { 38543, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS */
- { 38563, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */
- { 38587, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
- { 38614, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
- { 38645, 0x0000150F }, /* GL_SET */
- { 38652, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */
- { 38677, 0x00008DFA }, /* GL_SHADER_COMPILER */
- { 38696, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
- { 38717, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
- { 38741, 0x00008B4F }, /* GL_SHADER_TYPE */
- { 38756, 0x00000B54 }, /* GL_SHADE_MODEL */
- { 38771, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
- { 38799, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
- { 38822, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- { 38852, 0x00001601 }, /* GL_SHININESS */
- { 38865, 0x00001402 }, /* GL_SHORT */
- { 38874, 0x00009119 }, /* GL_SIGNALED */
- { 38886, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */
- { 38907, 0x000081F9 }, /* GL_SINGLE_COLOR */
- { 38923, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
- { 38943, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
- { 38962, 0x00008C46 }, /* GL_SLUMINANCE */
- { 38976, 0x00008C47 }, /* GL_SLUMINANCE8 */
- { 38991, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */
- { 39013, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */
- { 39033, 0x00001D01 }, /* GL_SMOOTH */
- { 39043, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
- { 39076, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
- { 39103, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
- { 39136, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
- { 39163, 0x00008588 }, /* GL_SOURCE0_ALPHA */
- { 39180, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
- { 39201, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
- { 39222, 0x00008580 }, /* GL_SOURCE0_RGB */
- { 39237, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
- { 39256, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
- { 39275, 0x00008589 }, /* GL_SOURCE1_ALPHA */
- { 39292, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
- { 39313, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
- { 39334, 0x00008581 }, /* GL_SOURCE1_RGB */
- { 39349, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
- { 39368, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
- { 39387, 0x0000858A }, /* GL_SOURCE2_ALPHA */
- { 39404, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
- { 39425, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
- { 39446, 0x00008582 }, /* GL_SOURCE2_RGB */
- { 39461, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
- { 39480, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
- { 39499, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
- { 39519, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
- { 39537, 0x00001202 }, /* GL_SPECULAR */
- { 39549, 0x00002402 }, /* GL_SPHERE_MAP */
- { 39563, 0x00001206 }, /* GL_SPOT_CUTOFF */
- { 39578, 0x00001204 }, /* GL_SPOT_DIRECTION */
- { 39596, 0x00001205 }, /* GL_SPOT_EXPONENT */
- { 39613, 0x00008588 }, /* GL_SRC0_ALPHA */
- { 39627, 0x00008580 }, /* GL_SRC0_RGB */
- { 39639, 0x00008589 }, /* GL_SRC1_ALPHA */
- { 39653, 0x00008581 }, /* GL_SRC1_RGB */
- { 39665, 0x0000858A }, /* GL_SRC2_ALPHA */
- { 39679, 0x00008582 }, /* GL_SRC2_RGB */
- { 39691, 0x00000302 }, /* GL_SRC_ALPHA */
- { 39704, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
- { 39726, 0x00000300 }, /* GL_SRC_COLOR */
- { 39739, 0x00008C40 }, /* GL_SRGB */
- { 39747, 0x00008C41 }, /* GL_SRGB8 */
- { 39756, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */
- { 39772, 0x00008C42 }, /* GL_SRGB_ALPHA */
- { 39786, 0x00000503 }, /* GL_STACK_OVERFLOW */
- { 39804, 0x00000504 }, /* GL_STACK_UNDERFLOW */
- { 39823, 0x000088E6 }, /* GL_STATIC_COPY */
- { 39838, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
- { 39857, 0x000088E4 }, /* GL_STATIC_DRAW */
- { 39872, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
- { 39891, 0x000088E5 }, /* GL_STATIC_READ */
- { 39906, 0x000088E5 }, /* GL_STATIC_READ_ARB */
- { 39925, 0x00001802 }, /* GL_STENCIL */
- { 39936, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */
- { 39958, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
- { 39984, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */
- { 40010, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
- { 40031, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */
- { 40056, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
- { 40077, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */
- { 40102, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- { 40134, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */
- { 40170, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- { 40202, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */
- { 40238, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
- { 40258, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
- { 40285, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
- { 40311, 0x00000D57 }, /* GL_STENCIL_BITS */
- { 40327, 0x00008224 }, /* GL_STENCIL_BUFFER */
- { 40345, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
- { 40367, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
- { 40390, 0x00000B94 }, /* GL_STENCIL_FAIL */
- { 40406, 0x00000B92 }, /* GL_STENCIL_FUNC */
- { 40422, 0x00001901 }, /* GL_STENCIL_INDEX */
- { 40439, 0x00008D46 }, /* GL_STENCIL_INDEX1 */
- { 40457, 0x00008D49 }, /* GL_STENCIL_INDEX16 */
- { 40476, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
- { 40499, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
- { 40521, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */
- { 40543, 0x00008D47 }, /* GL_STENCIL_INDEX4 */
- { 40561, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
- { 40583, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */
- { 40605, 0x00008D48 }, /* GL_STENCIL_INDEX8 */
- { 40623, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
- { 40645, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */
- { 40667, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
- { 40688, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
- { 40715, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
- { 40742, 0x00000B97 }, /* GL_STENCIL_REF */
- { 40757, 0x00000B90 }, /* GL_STENCIL_TEST */
- { 40773, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
- { 40802, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
- { 40824, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
- { 40845, 0x00000C33 }, /* GL_STEREO */
- { 40855, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */
- { 40879, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */
- { 40904, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */
- { 40928, 0x000088E2 }, /* GL_STREAM_COPY */
- { 40943, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
- { 40962, 0x000088E0 }, /* GL_STREAM_DRAW */
- { 40977, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
- { 40996, 0x000088E1 }, /* GL_STREAM_READ */
- { 41011, 0x000088E1 }, /* GL_STREAM_READ_ARB */
- { 41030, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
- { 41047, 0x000084E7 }, /* GL_SUBTRACT */
- { 41059, 0x000084E7 }, /* GL_SUBTRACT_ARB */
- { 41075, 0x00009113 }, /* GL_SYNC_CONDITION */
- { 41093, 0x00009116 }, /* GL_SYNC_FENCE */
- { 41107, 0x00009115 }, /* GL_SYNC_FLAGS */
- { 41121, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */
- { 41148, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */
- { 41178, 0x00009114 }, /* GL_SYNC_STATUS */
- { 41193, 0x00002001 }, /* GL_T */
- { 41198, 0x00002A2A }, /* GL_T2F_C3F_V3F */
- { 41213, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
- { 41232, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
- { 41248, 0x00002A2B }, /* GL_T2F_N3F_V3F */
- { 41263, 0x00002A27 }, /* GL_T2F_V3F */
- { 41274, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
- { 41293, 0x00002A28 }, /* GL_T4F_V4F */
- { 41304, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
- { 41327, 0x00001702 }, /* GL_TEXTURE */
- { 41338, 0x000084C0 }, /* GL_TEXTURE0 */
- { 41350, 0x000084C0 }, /* GL_TEXTURE0_ARB */
- { 41366, 0x000084C1 }, /* GL_TEXTURE1 */
- { 41378, 0x000084CA }, /* GL_TEXTURE10 */
- { 41391, 0x000084CA }, /* GL_TEXTURE10_ARB */
- { 41408, 0x000084CB }, /* GL_TEXTURE11 */
- { 41421, 0x000084CB }, /* GL_TEXTURE11_ARB */
- { 41438, 0x000084CC }, /* GL_TEXTURE12 */
- { 41451, 0x000084CC }, /* GL_TEXTURE12_ARB */
- { 41468, 0x000084CD }, /* GL_TEXTURE13 */
- { 41481, 0x000084CD }, /* GL_TEXTURE13_ARB */
- { 41498, 0x000084CE }, /* GL_TEXTURE14 */
- { 41511, 0x000084CE }, /* GL_TEXTURE14_ARB */
- { 41528, 0x000084CF }, /* GL_TEXTURE15 */
- { 41541, 0x000084CF }, /* GL_TEXTURE15_ARB */
- { 41558, 0x000084D0 }, /* GL_TEXTURE16 */
- { 41571, 0x000084D0 }, /* GL_TEXTURE16_ARB */
- { 41588, 0x000084D1 }, /* GL_TEXTURE17 */
- { 41601, 0x000084D1 }, /* GL_TEXTURE17_ARB */
- { 41618, 0x000084D2 }, /* GL_TEXTURE18 */
- { 41631, 0x000084D2 }, /* GL_TEXTURE18_ARB */
- { 41648, 0x000084D3 }, /* GL_TEXTURE19 */
- { 41661, 0x000084D3 }, /* GL_TEXTURE19_ARB */
- { 41678, 0x000084C1 }, /* GL_TEXTURE1_ARB */
- { 41694, 0x000084C2 }, /* GL_TEXTURE2 */
- { 41706, 0x000084D4 }, /* GL_TEXTURE20 */
- { 41719, 0x000084D4 }, /* GL_TEXTURE20_ARB */
- { 41736, 0x000084D5 }, /* GL_TEXTURE21 */
- { 41749, 0x000084D5 }, /* GL_TEXTURE21_ARB */
- { 41766, 0x000084D6 }, /* GL_TEXTURE22 */
- { 41779, 0x000084D6 }, /* GL_TEXTURE22_ARB */
- { 41796, 0x000084D7 }, /* GL_TEXTURE23 */
- { 41809, 0x000084D7 }, /* GL_TEXTURE23_ARB */
- { 41826, 0x000084D8 }, /* GL_TEXTURE24 */
- { 41839, 0x000084D8 }, /* GL_TEXTURE24_ARB */
- { 41856, 0x000084D9 }, /* GL_TEXTURE25 */
- { 41869, 0x000084D9 }, /* GL_TEXTURE25_ARB */
- { 41886, 0x000084DA }, /* GL_TEXTURE26 */
- { 41899, 0x000084DA }, /* GL_TEXTURE26_ARB */
- { 41916, 0x000084DB }, /* GL_TEXTURE27 */
- { 41929, 0x000084DB }, /* GL_TEXTURE27_ARB */
- { 41946, 0x000084DC }, /* GL_TEXTURE28 */
- { 41959, 0x000084DC }, /* GL_TEXTURE28_ARB */
- { 41976, 0x000084DD }, /* GL_TEXTURE29 */
- { 41989, 0x000084DD }, /* GL_TEXTURE29_ARB */
- { 42006, 0x000084C2 }, /* GL_TEXTURE2_ARB */
- { 42022, 0x000084C3 }, /* GL_TEXTURE3 */
- { 42034, 0x000084DE }, /* GL_TEXTURE30 */
- { 42047, 0x000084DE }, /* GL_TEXTURE30_ARB */
- { 42064, 0x000084DF }, /* GL_TEXTURE31 */
- { 42077, 0x000084DF }, /* GL_TEXTURE31_ARB */
- { 42094, 0x000084C3 }, /* GL_TEXTURE3_ARB */
- { 42110, 0x000084C4 }, /* GL_TEXTURE4 */
- { 42122, 0x000084C4 }, /* GL_TEXTURE4_ARB */
- { 42138, 0x000084C5 }, /* GL_TEXTURE5 */
- { 42150, 0x000084C5 }, /* GL_TEXTURE5_ARB */
- { 42166, 0x000084C6 }, /* GL_TEXTURE6 */
- { 42178, 0x000084C6 }, /* GL_TEXTURE6_ARB */
- { 42194, 0x000084C7 }, /* GL_TEXTURE7 */
- { 42206, 0x000084C7 }, /* GL_TEXTURE7_ARB */
- { 42222, 0x000084C8 }, /* GL_TEXTURE8 */
- { 42234, 0x000084C8 }, /* GL_TEXTURE8_ARB */
- { 42250, 0x000084C9 }, /* GL_TEXTURE9 */
- { 42262, 0x000084C9 }, /* GL_TEXTURE9_ARB */
- { 42278, 0x00000DE0 }, /* GL_TEXTURE_1D */
- { 42292, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY */
- { 42312, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
- { 42336, 0x00000DE1 }, /* GL_TEXTURE_2D */
- { 42350, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY */
- { 42370, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
- { 42394, 0x0000806F }, /* GL_TEXTURE_3D */
- { 42408, 0x0000806F }, /* GL_TEXTURE_3D_OES */
- { 42426, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
- { 42448, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
- { 42474, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
- { 42496, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
- { 42518, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY */
- { 42546, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
- { 42578, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
- { 42600, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY */
- { 42628, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
- { 42660, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
- { 42682, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */
- { 42708, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER */
- { 42734, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
- { 42762, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
- { 42794, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */
- { 42826, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE */
- { 42855, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- { 42888, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
- { 42920, 0x00040000 }, /* GL_TEXTURE_BIT */
- { 42935, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
- { 42956, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
- { 42981, 0x00001005 }, /* GL_TEXTURE_BORDER */
- { 42999, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
- { 43023, 0x00008C2A }, /* GL_TEXTURE_BUFFER */
- { 43041, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */
- { 43078, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT */
- { 43103, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- { 43134, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- { 43164, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- { 43194, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- { 43229, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- { 43260, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 43298, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
- { 43325, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- { 43357, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
- { 43391, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
- { 43415, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
- { 43443, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
- { 43467, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
- { 43495, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- { 43528, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
- { 43552, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
- { 43574, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
- { 43596, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
- { 43622, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
- { 43656, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- { 43689, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
- { 43726, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
- { 43754, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
- { 43786, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
- { 43809, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- { 43847, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
- { 43889, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- { 43920, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- { 43948, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- { 43978, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- { 44006, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */
- { 44031, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
- { 44051, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
- { 44075, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- { 44106, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
- { 44141, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */
- { 44176, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- { 44207, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
- { 44242, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */
- { 44277, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- { 44308, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
- { 44343, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */
- { 44378, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */
- { 44402, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- { 44433, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
- { 44468, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */
- { 44503, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- { 44534, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
- { 44569, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */
- { 44604, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- { 44635, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
- { 44670, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */
- { 44705, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */
- { 44734, 0x00008071 }, /* GL_TEXTURE_DEPTH */
- { 44751, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
- { 44773, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
- { 44799, 0x00002300 }, /* GL_TEXTURE_ENV */
- { 44814, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
- { 44835, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
- { 44855, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
- { 44881, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */
- { 44911, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
- { 44931, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */
- { 44955, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
- { 44972, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
- { 44989, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
- { 45006, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */
- { 45029, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
- { 45046, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
- { 45071, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
- { 45093, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
- { 45119, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
- { 45137, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
- { 45163, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
- { 45189, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
- { 45219, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
- { 45246, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
- { 45271, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
- { 45291, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
- { 45315, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- { 45342, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- { 45369, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- { 45396, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
- { 45422, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
- { 45452, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
- { 45474, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
- { 45492, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */
- { 45532, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- { 45562, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- { 45590, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- { 45618, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- { 45646, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
- { 45667, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
- { 45686, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
- { 45708, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
- { 45727, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
- { 45747, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */
- { 45777, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */
- { 45808, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE */
- { 45829, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
- { 45854, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
- { 45878, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
- { 45898, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
- { 45922, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
- { 45942, 0x00008C3F }, /* GL_TEXTURE_SHARED_SIZE */
- { 45965, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
- { 45988, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */
- { 46012, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */
- { 46040, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */
- { 46070, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
- { 46095, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- { 46129, 0x00001000 }, /* GL_TEXTURE_WIDTH */
- { 46146, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
- { 46164, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */
- { 46186, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
- { 46204, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
- { 46222, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */
- { 46241, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
- { 46261, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
- { 46280, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- { 46309, 0x00001000 }, /* GL_TRANSFORM_BIT */
- { 46326, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */
- { 46348, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */
- { 46378, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER */
- { 46407, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
- { 46443, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */
- { 46480, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */
- { 46521, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */
- { 46554, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */
- { 46588, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */
- { 46626, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
- { 46662, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */
- { 46696, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */
- { 46734, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */
- { 46769, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */
- { 46808, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */
- { 46849, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */
- { 46894, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS */
- { 46925, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */
- { 46960, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */
- { 47001, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */
- { 47046, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
- { 47072, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
- { 47102, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- { 47134, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- { 47164, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
- { 47198, 0x0000862C }, /* GL_TRANSPOSE_NV */
- { 47214, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- { 47245, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
- { 47280, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- { 47308, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
- { 47340, 0x00000004 }, /* GL_TRIANGLES */
- { 47353, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY */
- { 47376, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */
- { 47403, 0x00000006 }, /* GL_TRIANGLE_FAN */
- { 47419, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
- { 47440, 0x00000005 }, /* GL_TRIANGLE_STRIP */
- { 47458, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY */
- { 47486, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */
- { 47518, 0x00000001 }, /* GL_TRUE */
- { 47526, 0x00008A1C }, /* GL_UNDEFINED_APPLE */
- { 47545, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
- { 47565, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
- { 47588, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
- { 47608, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
- { 47629, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
- { 47651, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
- { 47673, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
- { 47693, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
- { 47714, 0x00009118 }, /* GL_UNSIGNALED */
- { 47728, 0x00001401 }, /* GL_UNSIGNED_BYTE */
- { 47745, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- { 47772, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
- { 47795, 0x00001405 }, /* GL_UNSIGNED_INT */
- { 47811, 0x00008C3B }, /* GL_UNSIGNED_INT_10F_11F_11F_REV */
- { 47843, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
- { 47870, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */
- { 47901, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */
- { 47922, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */
- { 47947, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
- { 47971, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */
- { 47996, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- { 48027, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */
- { 48062, 0x00008C3E }, /* GL_UNSIGNED_INT_5_9_9_9_REV */
- { 48090, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
- { 48114, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- { 48142, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D */
- { 48169, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */
- { 48202, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT */
- { 48239, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D_EXT */
- { 48270, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D */
- { 48297, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */
- { 48330, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT */
- { 48367, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D_EXT */
- { 48398, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */
- { 48430, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT */
- { 48466, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D */
- { 48493, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D_EXT */
- { 48524, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */
- { 48555, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT */
- { 48590, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE */
- { 48619, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE_EXT */
- { 48652, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2 */
- { 48673, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2_EXT */
- { 48698, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3 */
- { 48719, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3_EXT */
- { 48744, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4 */
- { 48765, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4_EXT */
- { 48790, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */
- { 48813, 0x00001403 }, /* GL_UNSIGNED_SHORT */
- { 48831, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- { 48861, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */
- { 48895, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- { 48921, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- { 48951, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */
- { 48985, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- { 49011, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
- { 49035, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- { 49063, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- { 49091, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
- { 49118, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- { 49150, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
- { 49181, 0x00008CA2 }, /* GL_UPPER_LEFT */
- { 49195, 0x00002A20 }, /* GL_V2F */
- { 49202, 0x00002A21 }, /* GL_V3F */
- { 49209, 0x00008B83 }, /* GL_VALIDATE_STATUS */
- { 49228, 0x00001F00 }, /* GL_VENDOR */
- { 49238, 0x00001F02 }, /* GL_VERSION */
- { 49249, 0x00008074 }, /* GL_VERTEX_ARRAY */
- { 49265, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */
- { 49289, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
- { 49319, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- { 49350, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
- { 49385, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
- { 49409, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
- { 49430, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
- { 49453, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
- { 49474, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- { 49501, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- { 49529, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- { 49557, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- { 49585, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- { 49613, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- { 49641, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- { 49669, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- { 49696, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- { 49723, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- { 49750, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- { 49777, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- { 49804, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- { 49831, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- { 49858, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- { 49885, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- { 49912, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- { 49950, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
- { 49992, 0x000088FE }, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */
- { 50027, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- { 50058, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
- { 50093, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */
- { 50124, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */
- { 50159, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- { 50193, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
- { 50231, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- { 50262, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
- { 50297, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- { 50325, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
- { 50357, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- { 50387, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
- { 50421, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- { 50449, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
- { 50481, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
- { 50501, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
- { 50523, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
- { 50552, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
- { 50573, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- { 50602, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
- { 50635, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
- { 50667, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- { 50694, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
- { 50725, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
- { 50755, 0x00008B31 }, /* GL_VERTEX_SHADER */
- { 50772, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
- { 50793, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
- { 50820, 0x00000BA2 }, /* GL_VIEWPORT */
- { 50832, 0x00000800 }, /* GL_VIEWPORT_BIT */
- { 50848, 0x00008A1A }, /* GL_VOLATILE_APPLE */
- { 50866, 0x0000911D }, /* GL_WAIT_FAILED */
- { 50881, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
- { 50901, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- { 50932, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
- { 50967, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */
- { 51002, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */
- { 51022, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- { 51050, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */
- { 51078, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- { 51103, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */
- { 51128, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- { 51155, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */
- { 51182, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- { 51207, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */
- { 51232, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
- { 51256, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
- { 51275, 0x000088B9 }, /* GL_WRITE_ONLY */
- { 51289, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
- { 51307, 0x000088B9 }, /* GL_WRITE_ONLY_OES */
- { 51325, 0x00001506 }, /* GL_XOR */
- { 51332, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
- { 51351, 0x00008757 }, /* GL_YCBCR_MESA */
- { 51365, 0x00000000 }, /* GL_ZERO */
- { 51373, 0x00000D16 }, /* GL_ZOOM_X */
- { 51383, 0x00000D17 }, /* GL_ZOOM_Y */
-};
-
-static const unsigned reduced_enums[1552] =
-{
- 535, /* GL_FALSE */
- 827, /* GL_LINES */
- 831, /* GL_LINE_LOOP */
- 838, /* GL_LINE_STRIP */
- 2135, /* GL_TRIANGLES */
- 2140, /* GL_TRIANGLE_STRIP */
- 2138, /* GL_TRIANGLE_FAN */
- 1507, /* GL_QUADS */
- 1511, /* GL_QUAD_STRIP */
- 1378, /* GL_POLYGON */
- 828, /* GL_LINES_ADJACENCY */
- 839, /* GL_LINE_STRIP_ADJACENCY */
- 2136, /* GL_TRIANGLES_ADJACENCY */
- 2141, /* GL_TRIANGLE_STRIP_ADJACENCY */
- 1390, /* GL_POLYGON_STIPPLE_BIT */
- 1333, /* GL_PIXEL_MODE_BIT */
- 814, /* GL_LIGHTING_BIT */
- 568, /* GL_FOG_BIT */
- 8, /* GL_ACCUM */
- 850, /* GL_LOAD */
- 1596, /* GL_RETURN */
- 1200, /* GL_MULT */
- 24, /* GL_ADD */
- 1216, /* GL_NEVER */
- 804, /* GL_LESS */
- 525, /* GL_EQUAL */
- 803, /* GL_LEQUAL */
- 691, /* GL_GREATER */
- 1233, /* GL_NOTEQUAL */
- 690, /* GL_GEQUAL */
- 55, /* GL_ALWAYS */
- 1803, /* GL_SRC_COLOR */
- 1266, /* GL_ONE_MINUS_SRC_COLOR */
- 1801, /* GL_SRC_ALPHA */
- 1265, /* GL_ONE_MINUS_SRC_ALPHA */
- 504, /* GL_DST_ALPHA */
- 1263, /* GL_ONE_MINUS_DST_ALPHA */
- 505, /* GL_DST_COLOR */
- 1264, /* GL_ONE_MINUS_DST_COLOR */
- 1802, /* GL_SRC_ALPHA_SATURATE */
- 667, /* GL_FRONT_LEFT */
- 668, /* GL_FRONT_RIGHT */
- 77, /* GL_BACK_LEFT */
- 78, /* GL_BACK_RIGHT */
- 664, /* GL_FRONT */
- 76, /* GL_BACK */
- 802, /* GL_LEFT */
- 1685, /* GL_RIGHT */
- 665, /* GL_FRONT_AND_BACK */
- 71, /* GL_AUX0 */
- 72, /* GL_AUX1 */
- 73, /* GL_AUX2 */
- 74, /* GL_AUX3 */
- 790, /* GL_INVALID_ENUM */
- 795, /* GL_INVALID_VALUE */
- 794, /* GL_INVALID_OPERATION */
- 1808, /* GL_STACK_OVERFLOW */
- 1809, /* GL_STACK_UNDERFLOW */
- 1291, /* GL_OUT_OF_MEMORY */
- 791, /* GL_INVALID_FRAMEBUFFER_OPERATION */
- 0, /* GL_2D */
- 2, /* GL_3D */
- 3, /* GL_3D_COLOR */
- 4, /* GL_3D_COLOR_TEXTURE */
- 6, /* GL_4D_COLOR_TEXTURE */
- 1311, /* GL_PASS_THROUGH_TOKEN */
- 1377, /* GL_POINT_TOKEN */
- 841, /* GL_LINE_TOKEN */
- 1391, /* GL_POLYGON_TOKEN */
- 87, /* GL_BITMAP_TOKEN */
- 503, /* GL_DRAW_PIXEL_TOKEN */
- 349, /* GL_COPY_PIXEL_TOKEN */
- 832, /* GL_LINE_RESET_TOKEN */
- 528, /* GL_EXP */
- 529, /* GL_EXP2 */
- 386, /* GL_CW */
- 154, /* GL_CCW */
- 184, /* GL_COEFF */
- 1288, /* GL_ORDER */
- 440, /* GL_DOMAIN */
- 359, /* GL_CURRENT_COLOR */
- 362, /* GL_CURRENT_INDEX */
- 368, /* GL_CURRENT_NORMAL */
- 382, /* GL_CURRENT_TEXTURE_COORDS */
- 374, /* GL_CURRENT_RASTER_COLOR */
- 376, /* GL_CURRENT_RASTER_INDEX */
- 380, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
- 377, /* GL_CURRENT_RASTER_POSITION */
- 378, /* GL_CURRENT_RASTER_POSITION_VALID */
- 375, /* GL_CURRENT_RASTER_DISTANCE */
- 1369, /* GL_POINT_SMOOTH */
- 1353, /* GL_POINT_SIZE */
- 1368, /* GL_POINT_SIZE_RANGE */
- 1359, /* GL_POINT_SIZE_GRANULARITY */
- 833, /* GL_LINE_SMOOTH */
- 842, /* GL_LINE_WIDTH */
- 844, /* GL_LINE_WIDTH_RANGE */
- 843, /* GL_LINE_WIDTH_GRANULARITY */
- 835, /* GL_LINE_STIPPLE */
- 836, /* GL_LINE_STIPPLE_PATTERN */
- 837, /* GL_LINE_STIPPLE_REPEAT */
- 849, /* GL_LIST_MODE */
- 1056, /* GL_MAX_LIST_NESTING */
- 846, /* GL_LIST_BASE */
- 848, /* GL_LIST_INDEX */
- 1380, /* GL_POLYGON_MODE */
- 1387, /* GL_POLYGON_SMOOTH */
- 1389, /* GL_POLYGON_STIPPLE */
- 514, /* GL_EDGE_FLAG */
- 352, /* GL_CULL_FACE */
- 353, /* GL_CULL_FACE_MODE */
- 666, /* GL_FRONT_FACE */
- 813, /* GL_LIGHTING */
- 818, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- 819, /* GL_LIGHT_MODEL_TWO_SIDE */
- 815, /* GL_LIGHT_MODEL_AMBIENT */
- 1750, /* GL_SHADE_MODEL */
- 232, /* GL_COLOR_MATERIAL_FACE */
- 233, /* GL_COLOR_MATERIAL_PARAMETER */
- 231, /* GL_COLOR_MATERIAL */
- 567, /* GL_FOG */
- 589, /* GL_FOG_INDEX */
- 585, /* GL_FOG_DENSITY */
- 593, /* GL_FOG_START */
- 587, /* GL_FOG_END */
- 590, /* GL_FOG_MODE */
- 569, /* GL_FOG_COLOR */
- 425, /* GL_DEPTH_RANGE */
- 434, /* GL_DEPTH_TEST */
- 437, /* GL_DEPTH_WRITEMASK */
- 410, /* GL_DEPTH_CLEAR_VALUE */
- 424, /* GL_DEPTH_FUNC */
- 12, /* GL_ACCUM_CLEAR_VALUE */
- 1853, /* GL_STENCIL_TEST */
- 1834, /* GL_STENCIL_CLEAR_VALUE */
- 1836, /* GL_STENCIL_FUNC */
- 1855, /* GL_STENCIL_VALUE_MASK */
- 1835, /* GL_STENCIL_FAIL */
- 1850, /* GL_STENCIL_PASS_DEPTH_FAIL */
- 1851, /* GL_STENCIL_PASS_DEPTH_PASS */
- 1852, /* GL_STENCIL_REF */
- 1856, /* GL_STENCIL_WRITEMASK */
- 1006, /* GL_MATRIX_MODE */
- 1222, /* GL_NORMALIZE */
- 2267, /* GL_VIEWPORT */
- 1195, /* GL_MODELVIEW_STACK_DEPTH */
- 1481, /* GL_PROJECTION_STACK_DEPTH */
- 2089, /* GL_TEXTURE_STACK_DEPTH */
- 1192, /* GL_MODELVIEW_MATRIX */
- 1479, /* GL_PROJECTION_MATRIX */
- 2069, /* GL_TEXTURE_MATRIX */
- 69, /* GL_ATTRIB_STACK_DEPTH */
- 166, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
- 51, /* GL_ALPHA_TEST */
- 52, /* GL_ALPHA_TEST_FUNC */
- 53, /* GL_ALPHA_TEST_REF */
- 439, /* GL_DITHER */
- 91, /* GL_BLEND_DST */
- 105, /* GL_BLEND_SRC */
- 88, /* GL_BLEND */
- 852, /* GL_LOGIC_OP_MODE */
- 739, /* GL_INDEX_LOGIC_OP */
- 230, /* GL_COLOR_LOGIC_OP */
- 75, /* GL_AUX_BUFFERS */
- 450, /* GL_DRAW_BUFFER */
- 1534, /* GL_READ_BUFFER */
- 1727, /* GL_SCISSOR_BOX */
- 1728, /* GL_SCISSOR_TEST */
- 738, /* GL_INDEX_CLEAR_VALUE */
- 743, /* GL_INDEX_WRITEMASK */
- 227, /* GL_COLOR_CLEAR_VALUE */
- 269, /* GL_COLOR_WRITEMASK */
- 740, /* GL_INDEX_MODE */
- 1674, /* GL_RGBA_MODE */
- 449, /* GL_DOUBLEBUFFER */
- 1857, /* GL_STEREO */
- 1588, /* GL_RENDER_MODE */
- 1312, /* GL_PERSPECTIVE_CORRECTION_HINT */
- 1370, /* GL_POINT_SMOOTH_HINT */
- 834, /* GL_LINE_SMOOTH_HINT */
- 1388, /* GL_POLYGON_SMOOTH_HINT */
- 588, /* GL_FOG_HINT */
- 2049, /* GL_TEXTURE_GEN_S */
- 2051, /* GL_TEXTURE_GEN_T */
- 2048, /* GL_TEXTURE_GEN_R */
- 2047, /* GL_TEXTURE_GEN_Q */
- 1325, /* GL_PIXEL_MAP_I_TO_I */
- 1331, /* GL_PIXEL_MAP_S_TO_S */
- 1327, /* GL_PIXEL_MAP_I_TO_R */
- 1323, /* GL_PIXEL_MAP_I_TO_G */
- 1321, /* GL_PIXEL_MAP_I_TO_B */
- 1319, /* GL_PIXEL_MAP_I_TO_A */
- 1329, /* GL_PIXEL_MAP_R_TO_R */
- 1317, /* GL_PIXEL_MAP_G_TO_G */
- 1315, /* GL_PIXEL_MAP_B_TO_B */
- 1313, /* GL_PIXEL_MAP_A_TO_A */
- 1326, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- 1332, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- 1328, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- 1324, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- 1322, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- 1320, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- 1330, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- 1318, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- 1316, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- 1314, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- 2152, /* GL_UNPACK_SWAP_BYTES */
- 2147, /* GL_UNPACK_LSB_FIRST */
- 2148, /* GL_UNPACK_ROW_LENGTH */
- 2151, /* GL_UNPACK_SKIP_ROWS */
- 2150, /* GL_UNPACK_SKIP_PIXELS */
- 2145, /* GL_UNPACK_ALIGNMENT */
- 1300, /* GL_PACK_SWAP_BYTES */
- 1295, /* GL_PACK_LSB_FIRST */
- 1296, /* GL_PACK_ROW_LENGTH */
- 1299, /* GL_PACK_SKIP_ROWS */
- 1298, /* GL_PACK_SKIP_PIXELS */
- 1292, /* GL_PACK_ALIGNMENT */
- 947, /* GL_MAP_COLOR */
- 952, /* GL_MAP_STENCIL */
- 742, /* GL_INDEX_SHIFT */
- 741, /* GL_INDEX_OFFSET */
- 1550, /* GL_RED_SCALE */
- 1546, /* GL_RED_BIAS */
- 2293, /* GL_ZOOM_X */
- 2294, /* GL_ZOOM_Y */
- 697, /* GL_GREEN_SCALE */
- 693, /* GL_GREEN_BIAS */
- 115, /* GL_BLUE_SCALE */
- 111, /* GL_BLUE_BIAS */
- 50, /* GL_ALPHA_SCALE */
- 47, /* GL_ALPHA_BIAS */
- 426, /* GL_DEPTH_SCALE */
- 402, /* GL_DEPTH_BIAS */
- 1038, /* GL_MAX_EVAL_ORDER */
- 1055, /* GL_MAX_LIGHTS */
- 1018, /* GL_MAX_CLIP_DISTANCES */
- 1110, /* GL_MAX_TEXTURE_SIZE */
- 1062, /* GL_MAX_PIXEL_MAP_TABLE */
- 1014, /* GL_MAX_ATTRIB_STACK_DEPTH */
- 1058, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- 1059, /* GL_MAX_NAME_STACK_DEPTH */
- 1090, /* GL_MAX_PROJECTION_STACK_DEPTH */
- 1111, /* GL_MAX_TEXTURE_STACK_DEPTH */
- 1137, /* GL_MAX_VIEWPORT_DIMS */
- 1015, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- 1867, /* GL_SUBPIXEL_BITS */
- 737, /* GL_INDEX_BITS */
- 1547, /* GL_RED_BITS */
- 694, /* GL_GREEN_BITS */
- 112, /* GL_BLUE_BITS */
- 48, /* GL_ALPHA_BITS */
- 403, /* GL_DEPTH_BITS */
- 1831, /* GL_STENCIL_BITS */
- 14, /* GL_ACCUM_RED_BITS */
- 13, /* GL_ACCUM_GREEN_BITS */
- 10, /* GL_ACCUM_BLUE_BITS */
- 9, /* GL_ACCUM_ALPHA_BITS */
- 1209, /* GL_NAME_STACK_DEPTH */
- 70, /* GL_AUTO_NORMAL */
- 893, /* GL_MAP1_COLOR_4 */
- 896, /* GL_MAP1_INDEX */
- 897, /* GL_MAP1_NORMAL */
- 898, /* GL_MAP1_TEXTURE_COORD_1 */
- 899, /* GL_MAP1_TEXTURE_COORD_2 */
- 900, /* GL_MAP1_TEXTURE_COORD_3 */
- 901, /* GL_MAP1_TEXTURE_COORD_4 */
- 902, /* GL_MAP1_VERTEX_3 */
- 903, /* GL_MAP1_VERTEX_4 */
- 920, /* GL_MAP2_COLOR_4 */
- 923, /* GL_MAP2_INDEX */
- 924, /* GL_MAP2_NORMAL */
- 925, /* GL_MAP2_TEXTURE_COORD_1 */
- 926, /* GL_MAP2_TEXTURE_COORD_2 */
- 927, /* GL_MAP2_TEXTURE_COORD_3 */
- 928, /* GL_MAP2_TEXTURE_COORD_4 */
- 929, /* GL_MAP2_VERTEX_3 */
- 930, /* GL_MAP2_VERTEX_4 */
- 894, /* GL_MAP1_GRID_DOMAIN */
- 895, /* GL_MAP1_GRID_SEGMENTS */
- 921, /* GL_MAP2_GRID_DOMAIN */
- 922, /* GL_MAP2_GRID_SEGMENTS */
- 1950, /* GL_TEXTURE_1D */
- 1953, /* GL_TEXTURE_2D */
- 538, /* GL_FEEDBACK_BUFFER_POINTER */
- 539, /* GL_FEEDBACK_BUFFER_SIZE */
- 540, /* GL_FEEDBACK_BUFFER_TYPE */
- 1737, /* GL_SELECTION_BUFFER_POINTER */
- 1738, /* GL_SELECTION_BUFFER_SIZE */
- 2095, /* GL_TEXTURE_WIDTH */
- 2055, /* GL_TEXTURE_HEIGHT */
- 1999, /* GL_TEXTURE_COMPONENTS */
- 1980, /* GL_TEXTURE_BORDER_COLOR */
- 1979, /* GL_TEXTURE_BORDER */
- 441, /* GL_DONT_CARE */
- 536, /* GL_FASTEST */
- 1217, /* GL_NICEST */
- 56, /* GL_AMBIENT */
- 438, /* GL_DIFFUSE */
- 1790, /* GL_SPECULAR */
- 1392, /* GL_POSITION */
- 1793, /* GL_SPOT_DIRECTION */
- 1794, /* GL_SPOT_EXPONENT */
- 1792, /* GL_SPOT_CUTOFF */
- 317, /* GL_CONSTANT_ATTENUATION */
- 822, /* GL_LINEAR_ATTENUATION */
- 1506, /* GL_QUADRATIC_ATTENUATION */
- 284, /* GL_COMPILE */
- 285, /* GL_COMPILE_AND_EXECUTE */
- 149, /* GL_BYTE */
- 2154, /* GL_UNSIGNED_BYTE */
- 1755, /* GL_SHORT */
- 2193, /* GL_UNSIGNED_SHORT */
- 745, /* GL_INT */
- 2157, /* GL_UNSIGNED_INT */
- 548, /* GL_FLOAT */
- 1, /* GL_2_BYTES */
- 5, /* GL_3_BYTES */
- 7, /* GL_4_BYTES */
- 448, /* GL_DOUBLE */
- 698, /* GL_HALF_FLOAT */
- 544, /* GL_FIXED */
- 162, /* GL_CLEAR */
- 58, /* GL_AND */
- 60, /* GL_AND_REVERSE */
- 347, /* GL_COPY */
- 59, /* GL_AND_INVERTED */
- 1220, /* GL_NOOP */
- 2289, /* GL_XOR */
- 1287, /* GL_OR */
- 1221, /* GL_NOR */
- 526, /* GL_EQUIV */
- 798, /* GL_INVERT */
- 1290, /* GL_OR_REVERSE */
- 348, /* GL_COPY_INVERTED */
- 1289, /* GL_OR_INVERTED */
- 1210, /* GL_NAND */
- 1744, /* GL_SET */
- 523, /* GL_EMISSION */
- 1754, /* GL_SHININESS */
- 57, /* GL_AMBIENT_AND_DIFFUSE */
- 229, /* GL_COLOR_INDEXES */
- 1159, /* GL_MODELVIEW */
- 1478, /* GL_PROJECTION */
- 1885, /* GL_TEXTURE */
- 185, /* GL_COLOR */
- 395, /* GL_DEPTH */
- 1816, /* GL_STENCIL */
- 228, /* GL_COLOR_INDEX */
- 1837, /* GL_STENCIL_INDEX */
- 411, /* GL_DEPTH_COMPONENT */
- 1543, /* GL_RED */
- 692, /* GL_GREEN */
- 110, /* GL_BLUE */
- 32, /* GL_ALPHA */
- 1599, /* GL_RGB */
- 1639, /* GL_RGBA */
- 856, /* GL_LUMINANCE */
- 883, /* GL_LUMINANCE_ALPHA */
- 86, /* GL_BITMAP */
- 1342, /* GL_POINT */
- 820, /* GL_LINE */
- 541, /* GL_FILL */
- 1557, /* GL_RENDER */
- 537, /* GL_FEEDBACK */
- 1736, /* GL_SELECT */
- 547, /* GL_FLAT */
- 1765, /* GL_SMOOTH */
- 799, /* GL_KEEP */
- 1590, /* GL_REPLACE */
- 727, /* GL_INCR */
- 391, /* GL_DECR */
- 2210, /* GL_VENDOR */
- 1587, /* GL_RENDERER */
- 2211, /* GL_VERSION */
- 530, /* GL_EXTENSIONS */
- 1686, /* GL_S */
- 1876, /* GL_T */
- 1526, /* GL_R */
- 1505, /* GL_Q */
- 1196, /* GL_MODULATE */
- 390, /* GL_DECAL */
- 2042, /* GL_TEXTURE_ENV_MODE */
- 2041, /* GL_TEXTURE_ENV_COLOR */
- 2040, /* GL_TEXTURE_ENV */
- 531, /* GL_EYE_LINEAR */
- 1248, /* GL_OBJECT_LINEAR */
- 1791, /* GL_SPHERE_MAP */
- 2045, /* GL_TEXTURE_GEN_MODE */
- 1250, /* GL_OBJECT_PLANE */
- 532, /* GL_EYE_PLANE */
- 1211, /* GL_NEAREST */
- 821, /* GL_LINEAR */
- 1215, /* GL_NEAREST_MIPMAP_NEAREST */
- 826, /* GL_LINEAR_MIPMAP_NEAREST */
- 1214, /* GL_NEAREST_MIPMAP_LINEAR */
- 825, /* GL_LINEAR_MIPMAP_LINEAR */
- 2068, /* GL_TEXTURE_MAG_FILTER */
- 2077, /* GL_TEXTURE_MIN_FILTER */
- 2098, /* GL_TEXTURE_WRAP_S */
- 2099, /* GL_TEXTURE_WRAP_T */
- 155, /* GL_CLAMP */
- 1589, /* GL_REPEAT */
- 1386, /* GL_POLYGON_OFFSET_UNITS */
- 1385, /* GL_POLYGON_OFFSET_POINT */
- 1384, /* GL_POLYGON_OFFSET_LINE */
- 1529, /* GL_R3_G3_B2 */
- 2207, /* GL_V2F */
- 2208, /* GL_V3F */
- 152, /* GL_C4UB_V2F */
- 153, /* GL_C4UB_V3F */
- 150, /* GL_C3F_V3F */
- 1208, /* GL_N3F_V3F */
- 151, /* GL_C4F_N3F_V3F */
- 1881, /* GL_T2F_V3F */
- 1883, /* GL_T4F_V4F */
- 1879, /* GL_T2F_C4UB_V3F */
- 1877, /* GL_T2F_C3F_V3F */
- 1880, /* GL_T2F_N3F_V3F */
- 1878, /* GL_T2F_C4F_N3F_V3F */
- 1882, /* GL_T4F_C4F_N3F_V4F */
- 169, /* GL_CLIP_DISTANCE0 */
- 170, /* GL_CLIP_DISTANCE1 */
- 171, /* GL_CLIP_DISTANCE2 */
- 172, /* GL_CLIP_DISTANCE3 */
- 173, /* GL_CLIP_DISTANCE4 */
- 174, /* GL_CLIP_DISTANCE5 */
- 175, /* GL_CLIP_DISTANCE6 */
- 176, /* GL_CLIP_DISTANCE7 */
- 805, /* GL_LIGHT0 */
- 806, /* GL_LIGHT1 */
- 807, /* GL_LIGHT2 */
- 808, /* GL_LIGHT3 */
- 809, /* GL_LIGHT4 */
- 810, /* GL_LIGHT5 */
- 811, /* GL_LIGHT6 */
- 812, /* GL_LIGHT7 */
- 702, /* GL_HINT_BIT */
- 319, /* GL_CONSTANT_COLOR */
- 1261, /* GL_ONE_MINUS_CONSTANT_COLOR */
- 314, /* GL_CONSTANT_ALPHA */
- 1259, /* GL_ONE_MINUS_CONSTANT_ALPHA */
- 89, /* GL_BLEND_COLOR */
- 669, /* GL_FUNC_ADD */
- 1140, /* GL_MIN */
- 1009, /* GL_MAX */
- 96, /* GL_BLEND_EQUATION */
- 675, /* GL_FUNC_SUBTRACT */
- 672, /* GL_FUNC_REVERSE_SUBTRACT */
- 327, /* GL_CONVOLUTION_1D */
- 328, /* GL_CONVOLUTION_2D */
- 1739, /* GL_SEPARABLE_2D */
- 331, /* GL_CONVOLUTION_BORDER_MODE */
- 335, /* GL_CONVOLUTION_FILTER_SCALE */
- 333, /* GL_CONVOLUTION_FILTER_BIAS */
- 1544, /* GL_REDUCE */
- 337, /* GL_CONVOLUTION_FORMAT */
- 341, /* GL_CONVOLUTION_WIDTH */
- 339, /* GL_CONVOLUTION_HEIGHT */
- 1028, /* GL_MAX_CONVOLUTION_WIDTH */
- 1026, /* GL_MAX_CONVOLUTION_HEIGHT */
- 1425, /* GL_POST_CONVOLUTION_RED_SCALE */
- 1421, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- 1416, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- 1412, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- 1423, /* GL_POST_CONVOLUTION_RED_BIAS */
- 1419, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- 1414, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- 1410, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- 703, /* GL_HISTOGRAM */
- 1485, /* GL_PROXY_HISTOGRAM */
- 719, /* GL_HISTOGRAM_WIDTH */
- 709, /* GL_HISTOGRAM_FORMAT */
- 715, /* GL_HISTOGRAM_RED_SIZE */
- 711, /* GL_HISTOGRAM_GREEN_SIZE */
- 706, /* GL_HISTOGRAM_BLUE_SIZE */
- 704, /* GL_HISTOGRAM_ALPHA_SIZE */
- 713, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- 717, /* GL_HISTOGRAM_SINK */
- 1141, /* GL_MINMAX */
- 1143, /* GL_MINMAX_FORMAT */
- 1145, /* GL_MINMAX_SINK */
- 1884, /* GL_TABLE_TOO_LARGE_EXT */
- 2156, /* GL_UNSIGNED_BYTE_3_3_2 */
- 2196, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- 2199, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- 2168, /* GL_UNSIGNED_INT_8_8_8_8 */
- 2159, /* GL_UNSIGNED_INT_10_10_10_2 */
- 1383, /* GL_POLYGON_OFFSET_FILL */
- 1382, /* GL_POLYGON_OFFSET_FACTOR */
- 1381, /* GL_POLYGON_OFFSET_BIAS */
- 1593, /* GL_RESCALE_NORMAL */
- 41, /* GL_ALPHA4 */
- 43, /* GL_ALPHA8 */
- 33, /* GL_ALPHA12 */
- 35, /* GL_ALPHA16 */
- 871, /* GL_LUMINANCE4 */
- 877, /* GL_LUMINANCE8 */
- 857, /* GL_LUMINANCE12 */
- 863, /* GL_LUMINANCE16 */
- 872, /* GL_LUMINANCE4_ALPHA4 */
- 875, /* GL_LUMINANCE6_ALPHA2 */
- 880, /* GL_LUMINANCE8_ALPHA8 */
- 860, /* GL_LUMINANCE12_ALPHA4 */
- 858, /* GL_LUMINANCE12_ALPHA12 */
- 866, /* GL_LUMINANCE16_ALPHA16 */
- 746, /* GL_INTENSITY */
- 755, /* GL_INTENSITY4 */
- 757, /* GL_INTENSITY8 */
- 747, /* GL_INTENSITY12 */
- 749, /* GL_INTENSITY16 */
- 1614, /* GL_RGB2_EXT */
- 1620, /* GL_RGB4 */
- 1623, /* GL_RGB5 */
- 1630, /* GL_RGB8 */
- 1600, /* GL_RGB10 */
- 1604, /* GL_RGB12 */
- 1606, /* GL_RGB16 */
- 1650, /* GL_RGBA2 */
- 1657, /* GL_RGBA4 */
- 1626, /* GL_RGB5_A1 */
- 1662, /* GL_RGBA8 */
- 1601, /* GL_RGB10_A2 */
- 1640, /* GL_RGBA12 */
- 1642, /* GL_RGBA16 */
- 2085, /* GL_TEXTURE_RED_SIZE */
- 2053, /* GL_TEXTURE_GREEN_SIZE */
- 1977, /* GL_TEXTURE_BLUE_SIZE */
- 1958, /* GL_TEXTURE_ALPHA_SIZE */
- 2066, /* GL_TEXTURE_LUMINANCE_SIZE */
- 2057, /* GL_TEXTURE_INTENSITY_SIZE */
- 1591, /* GL_REPLACE_EXT */
- 1489, /* GL_PROXY_TEXTURE_1D */
- 1493, /* GL_PROXY_TEXTURE_2D */
- 2093, /* GL_TEXTURE_TOO_LARGE_EXT */
- 2079, /* GL_TEXTURE_PRIORITY */
- 2087, /* GL_TEXTURE_RESIDENT */
- 1961, /* GL_TEXTURE_BINDING_1D */
- 1964, /* GL_TEXTURE_BINDING_2D */
- 1967, /* GL_TEXTURE_BINDING_3D */
- 1297, /* GL_PACK_SKIP_IMAGES */
- 1293, /* GL_PACK_IMAGE_HEIGHT */
- 2149, /* GL_UNPACK_SKIP_IMAGES */
- 2146, /* GL_UNPACK_IMAGE_HEIGHT */
- 1956, /* GL_TEXTURE_3D */
- 1497, /* GL_PROXY_TEXTURE_3D */
- 2037, /* GL_TEXTURE_DEPTH */
- 2096, /* GL_TEXTURE_WRAP_R */
- 1010, /* GL_MAX_3D_TEXTURE_SIZE */
- 2212, /* GL_VERTEX_ARRAY */
- 1223, /* GL_NORMAL_ARRAY */
- 186, /* GL_COLOR_ARRAY */
- 731, /* GL_INDEX_ARRAY */
- 2007, /* GL_TEXTURE_COORD_ARRAY */
- 515, /* GL_EDGE_FLAG_ARRAY */
- 2218, /* GL_VERTEX_ARRAY_SIZE */
- 2220, /* GL_VERTEX_ARRAY_TYPE */
- 2219, /* GL_VERTEX_ARRAY_STRIDE */
- 1228, /* GL_NORMAL_ARRAY_TYPE */
- 1227, /* GL_NORMAL_ARRAY_STRIDE */
- 190, /* GL_COLOR_ARRAY_SIZE */
- 192, /* GL_COLOR_ARRAY_TYPE */
- 191, /* GL_COLOR_ARRAY_STRIDE */
- 736, /* GL_INDEX_ARRAY_TYPE */
- 735, /* GL_INDEX_ARRAY_STRIDE */
- 2011, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- 2013, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- 2012, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- 519, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- 2217, /* GL_VERTEX_ARRAY_POINTER */
- 1226, /* GL_NORMAL_ARRAY_POINTER */
- 189, /* GL_COLOR_ARRAY_POINTER */
- 734, /* GL_INDEX_ARRAY_POINTER */
- 2010, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- 518, /* GL_EDGE_FLAG_ARRAY_POINTER */
- 1201, /* GL_MULTISAMPLE */
- 1713, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- 1715, /* GL_SAMPLE_ALPHA_TO_ONE */
- 1720, /* GL_SAMPLE_COVERAGE */
- 1717, /* GL_SAMPLE_BUFFERS */
- 1708, /* GL_SAMPLES */
- 1724, /* GL_SAMPLE_COVERAGE_VALUE */
- 1722, /* GL_SAMPLE_COVERAGE_INVERT */
- 234, /* GL_COLOR_MATRIX */
- 236, /* GL_COLOR_MATRIX_STACK_DEPTH */
- 1022, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- 1408, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- 1404, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- 1399, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- 1395, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- 1406, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- 1402, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- 1397, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- 1393, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- 1990, /* GL_TEXTURE_COLOR_TABLE_SGI */
- 1498, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- 1992, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
- 94, /* GL_BLEND_DST_RGB */
- 108, /* GL_BLEND_SRC_RGB */
- 92, /* GL_BLEND_DST_ALPHA */
- 106, /* GL_BLEND_SRC_ALPHA */
- 240, /* GL_COLOR_TABLE */
- 1418, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- 1401, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- 1484, /* GL_PROXY_COLOR_TABLE */
- 1488, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- 1487, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
- 264, /* GL_COLOR_TABLE_SCALE */
- 244, /* GL_COLOR_TABLE_BIAS */
- 249, /* GL_COLOR_TABLE_FORMAT */
- 266, /* GL_COLOR_TABLE_WIDTH */
- 261, /* GL_COLOR_TABLE_RED_SIZE */
- 252, /* GL_COLOR_TABLE_GREEN_SIZE */
- 246, /* GL_COLOR_TABLE_BLUE_SIZE */
- 241, /* GL_COLOR_TABLE_ALPHA_SIZE */
- 258, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
- 255, /* GL_COLOR_TABLE_INTENSITY_SIZE */
- 79, /* GL_BGR */
- 80, /* GL_BGRA */
- 1037, /* GL_MAX_ELEMENTS_VERTICES */
- 1036, /* GL_MAX_ELEMENTS_INDICES */
- 2056, /* GL_TEXTURE_INDEX_SIZE_EXT */
- 183, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
- 1364, /* GL_POINT_SIZE_MIN */
- 1360, /* GL_POINT_SIZE_MAX */
- 1349, /* GL_POINT_FADE_THRESHOLD_SIZE */
- 1345, /* GL_POINT_DISTANCE_ATTENUATION */
- 157, /* GL_CLAMP_TO_BORDER */
- 160, /* GL_CLAMP_TO_EDGE */
- 2078, /* GL_TEXTURE_MIN_LOD */
- 2076, /* GL_TEXTURE_MAX_LOD */
- 1960, /* GL_TEXTURE_BASE_LEVEL */
- 2075, /* GL_TEXTURE_MAX_LEVEL */
- 722, /* GL_IGNORE_BORDER_HP */
- 318, /* GL_CONSTANT_BORDER_HP */
- 1592, /* GL_REPLICATE_BORDER_HP */
- 329, /* GL_CONVOLUTION_BORDER_COLOR */
- 1256, /* GL_OCCLUSION_TEST_HP */
- 1257, /* GL_OCCLUSION_TEST_RESULT_HP */
- 823, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- 1984, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- 1986, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- 1988, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- 1989, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1987, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- 1985, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- 1016, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- 1017, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1428, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- 1430, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- 1427, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- 1429, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- 2064, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- 2065, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- 2063, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- 678, /* GL_GENERATE_MIPMAP */
- 679, /* GL_GENERATE_MIPMAP_HINT */
- 591, /* GL_FOG_OFFSET_SGIX */
- 592, /* GL_FOG_OFFSET_VALUE_SGIX */
- 1998, /* GL_TEXTURE_COMPARE_SGIX */
- 1997, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- 2060, /* GL_TEXTURE_LEQUAL_R_SGIX */
- 2052, /* GL_TEXTURE_GEQUAL_R_SGIX */
- 412, /* GL_DEPTH_COMPONENT16 */
- 416, /* GL_DEPTH_COMPONENT24 */
- 420, /* GL_DEPTH_COMPONENT32 */
- 354, /* GL_CULL_VERTEX_EXT */
- 356, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
- 355, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
- 2285, /* GL_WRAP_BORDER_SUN */
- 1991, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- 816, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- 1758, /* GL_SINGLE_COLOR */
- 1742, /* GL_SEPARATE_SPECULAR_COLOR */
- 1753, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- 603, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
- 604, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
- 615, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
- 606, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
- 602, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
- 601, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
- 605, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
- 616, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
- 633, /* GL_FRAMEBUFFER_DEFAULT */
- 660, /* GL_FRAMEBUFFER_UNDEFINED */
- 428, /* GL_DEPTH_STENCIL_ATTACHMENT */
- 892, /* GL_MAJOR_VERSION */
- 1147, /* GL_MINOR_VERSION */
- 1237, /* GL_NUM_EXTENSIONS */
- 324, /* GL_CONTEXT_FLAGS */
- 730, /* GL_INDEX */
- 406, /* GL_DEPTH_BUFFER */
- 1832, /* GL_STENCIL_BUFFER */
- 295, /* GL_COMPRESSED_RED */
- 296, /* GL_COMPRESSED_RG */
- 2155, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- 2200, /* GL_UNSIGNED_SHORT_5_6_5 */
- 2201, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- 2197, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- 2194, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- 2169, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- 2165, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- 2073, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- 2074, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- 2072, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- 1151, /* GL_MIRRORED_REPEAT */
- 1679, /* GL_RGB_S3TC */
- 1622, /* GL_RGB4_S3TC */
- 1675, /* GL_RGBA_S3TC */
- 1661, /* GL_RGBA4_S3TC */
- 1670, /* GL_RGBA_DXT5_S3TC */
- 1658, /* GL_RGBA4_DXT5_S3TC */
- 306, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
- 301, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
- 302, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
- 303, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
- 1213, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- 1212, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- 824, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- 578, /* GL_FOG_COORDINATE_SOURCE */
- 570, /* GL_FOG_COORD */
- 594, /* GL_FRAGMENT_DEPTH */
- 360, /* GL_CURRENT_FOG_COORD */
- 577, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- 576, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- 575, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- 572, /* GL_FOG_COORDINATE_ARRAY */
- 238, /* GL_COLOR_SUM */
- 381, /* GL_CURRENT_SECONDARY_COLOR */
- 1733, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- 1735, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- 1734, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- 1732, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- 1729, /* GL_SECONDARY_COLOR_ARRAY */
- 379, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
- 29, /* GL_ALIASED_POINT_SIZE_RANGE */
- 28, /* GL_ALIASED_LINE_WIDTH_RANGE */
- 1886, /* GL_TEXTURE0 */
- 1888, /* GL_TEXTURE1 */
- 1910, /* GL_TEXTURE2 */
- 1932, /* GL_TEXTURE3 */
- 1938, /* GL_TEXTURE4 */
- 1940, /* GL_TEXTURE5 */
- 1942, /* GL_TEXTURE6 */
- 1944, /* GL_TEXTURE7 */
- 1946, /* GL_TEXTURE8 */
- 1948, /* GL_TEXTURE9 */
- 1889, /* GL_TEXTURE10 */
- 1891, /* GL_TEXTURE11 */
- 1893, /* GL_TEXTURE12 */
- 1895, /* GL_TEXTURE13 */
- 1897, /* GL_TEXTURE14 */
- 1899, /* GL_TEXTURE15 */
- 1901, /* GL_TEXTURE16 */
- 1903, /* GL_TEXTURE17 */
- 1905, /* GL_TEXTURE18 */
- 1907, /* GL_TEXTURE19 */
- 1911, /* GL_TEXTURE20 */
- 1913, /* GL_TEXTURE21 */
- 1915, /* GL_TEXTURE22 */
- 1917, /* GL_TEXTURE23 */
- 1919, /* GL_TEXTURE24 */
- 1921, /* GL_TEXTURE25 */
- 1923, /* GL_TEXTURE26 */
- 1925, /* GL_TEXTURE27 */
- 1927, /* GL_TEXTURE28 */
- 1929, /* GL_TEXTURE29 */
- 1933, /* GL_TEXTURE30 */
- 1935, /* GL_TEXTURE31 */
- 19, /* GL_ACTIVE_TEXTURE */
- 163, /* GL_CLIENT_ACTIVE_TEXTURE */
- 1112, /* GL_MAX_TEXTURE_UNITS */
- 2128, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- 2131, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- 2133, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- 2125, /* GL_TRANSPOSE_COLOR_MATRIX */
- 1868, /* GL_SUBTRACT */
- 1094, /* GL_MAX_RENDERBUFFER_SIZE */
- 287, /* GL_COMPRESSED_ALPHA */
- 291, /* GL_COMPRESSED_LUMINANCE */
- 292, /* GL_COMPRESSED_LUMINANCE_ALPHA */
- 289, /* GL_COMPRESSED_INTENSITY */
- 297, /* GL_COMPRESSED_RGB */
- 298, /* GL_COMPRESSED_RGBA */
- 2005, /* GL_TEXTURE_COMPRESSION_HINT */
- 2082, /* GL_TEXTURE_RECTANGLE */
- 1973, /* GL_TEXTURE_BINDING_RECTANGLE */
- 1501, /* GL_PROXY_TEXTURE_RECTANGLE */
- 1091, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */
- 427, /* GL_DEPTH_STENCIL */
- 2161, /* GL_UNSIGNED_INT_24_8 */
- 1107, /* GL_MAX_TEXTURE_LOD_BIAS */
- 2071, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- 1109, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- 2043, /* GL_TEXTURE_FILTER_CONTROL */
- 2061, /* GL_TEXTURE_LOD_BIAS */
- 271, /* GL_COMBINE4 */
- 1100, /* GL_MAX_SHININESS_NV */
- 1101, /* GL_MAX_SPOT_EXPONENT_NV */
- 728, /* GL_INCR_WRAP */
- 392, /* GL_DECR_WRAP */
- 1171, /* GL_MODELVIEW1_ARB */
- 1229, /* GL_NORMAL_MAP */
- 1552, /* GL_REFLECTION_MAP */
- 2015, /* GL_TEXTURE_CUBE_MAP */
- 1970, /* GL_TEXTURE_BINDING_CUBE_MAP */
- 2027, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- 2017, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- 2030, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- 2020, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- 2033, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- 2023, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- 1499, /* GL_PROXY_TEXTURE_CUBE_MAP */
- 1030, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- 1207, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- 1442, /* GL_PRIMITIVE_RESTART_NV */
- 1441, /* GL_PRIMITIVE_RESTART_INDEX_NV */
- 586, /* GL_FOG_DISTANCE_MODE_NV */
- 534, /* GL_EYE_RADIAL_NV */
- 533, /* GL_EYE_PLANE_ABSOLUTE_NV */
- 270, /* GL_COMBINE */
- 277, /* GL_COMBINE_RGB */
- 272, /* GL_COMBINE_ALPHA */
- 1680, /* GL_RGB_SCALE */
- 25, /* GL_ADD_SIGNED */
- 764, /* GL_INTERPOLATE */
- 313, /* GL_CONSTANT */
- 1434, /* GL_PRIMARY_COLOR */
- 1431, /* GL_PREVIOUS */
- 1773, /* GL_SOURCE0_RGB */
- 1779, /* GL_SOURCE1_RGB */
- 1785, /* GL_SOURCE2_RGB */
- 1789, /* GL_SOURCE3_RGB_NV */
- 1770, /* GL_SOURCE0_ALPHA */
- 1776, /* GL_SOURCE1_ALPHA */
- 1782, /* GL_SOURCE2_ALPHA */
- 1788, /* GL_SOURCE3_ALPHA_NV */
- 1270, /* GL_OPERAND0_RGB */
- 1276, /* GL_OPERAND1_RGB */
- 1282, /* GL_OPERAND2_RGB */
- 1286, /* GL_OPERAND3_RGB_NV */
- 1267, /* GL_OPERAND0_ALPHA */
- 1273, /* GL_OPERAND1_ALPHA */
- 1279, /* GL_OPERAND2_ALPHA */
- 1285, /* GL_OPERAND3_ALPHA_NV */
- 137, /* GL_BUFFER_OBJECT_APPLE */
- 2213, /* GL_VERTEX_ARRAY_BINDING */
- 2080, /* GL_TEXTURE_RANGE_LENGTH_APPLE */
- 2081, /* GL_TEXTURE_RANGE_POINTER_APPLE */
- 2290, /* GL_YCBCR_422_APPLE */
- 2202, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- 2204, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- 2092, /* GL_TEXTURE_STORAGE_HINT_APPLE */
- 1859, /* GL_STORAGE_PRIVATE_APPLE */
- 1858, /* GL_STORAGE_CACHED_APPLE */
- 1860, /* GL_STORAGE_SHARED_APPLE */
- 1760, /* GL_SLICE_ACCUM_SUN */
- 1510, /* GL_QUAD_MESH_SUN */
- 2139, /* GL_TRIANGLE_MESH_SUN */
- 2255, /* GL_VERTEX_PROGRAM_ARB */
- 2266, /* GL_VERTEX_STATE_PROGRAM_NV */
- 2240, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- 2248, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- 2250, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- 2252, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- 383, /* GL_CURRENT_VERTEX_ATTRIB */
- 1455, /* GL_PROGRAM_LENGTH_ARB */
- 1471, /* GL_PROGRAM_STRING_ARB */
- 1194, /* GL_MODELVIEW_PROJECTION_NV */
- 721, /* GL_IDENTITY_NV */
- 796, /* GL_INVERSE_NV */
- 2130, /* GL_TRANSPOSE_NV */
- 797, /* GL_INVERSE_TRANSPOSE_NV */
- 1075, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- 1074, /* GL_MAX_PROGRAM_MATRICES_ARB */
- 956, /* GL_MATRIX0_NV */
- 968, /* GL_MATRIX1_NV */
- 980, /* GL_MATRIX2_NV */
- 984, /* GL_MATRIX3_NV */
- 986, /* GL_MATRIX4_NV */
- 988, /* GL_MATRIX5_NV */
- 990, /* GL_MATRIX6_NV */
- 992, /* GL_MATRIX7_NV */
- 366, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- 363, /* GL_CURRENT_MATRIX_ARB */
- 1468, /* GL_PROGRAM_POINT_SIZE */
- 2261, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- 1467, /* GL_PROGRAM_PARAMETER_NV */
- 2246, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- 1473, /* GL_PROGRAM_TARGET_NV */
- 1470, /* GL_PROGRAM_RESIDENT_NV */
- 2102, /* GL_TRACK_MATRIX_NV */
- 2103, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- 2256, /* GL_VERTEX_PROGRAM_BINDING_NV */
- 1449, /* GL_PROGRAM_ERROR_POSITION_ARB */
- 408, /* GL_DEPTH_CLAMP */
- 2221, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- 2228, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- 2229, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- 2230, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- 2231, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- 2232, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- 2233, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- 2234, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- 2235, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- 2236, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- 2222, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- 2223, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- 2224, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- 2225, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- 2226, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- 2227, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- 904, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- 911, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- 912, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- 913, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- 914, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- 915, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- 916, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- 917, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- 918, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- 919, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- 905, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- 906, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- 907, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- 908, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- 909, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- 910, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- 931, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- 938, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- 939, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- 940, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- 941, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- 942, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- 943, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- 1448, /* GL_PROGRAM_BINDING_ARB */
- 945, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- 946, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- 932, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- 933, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- 934, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- 935, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- 936, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- 937, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- 2003, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- 2000, /* GL_TEXTURE_COMPRESSED */
- 1235, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- 311, /* GL_COMPRESSED_TEXTURE_FORMATS */
- 1134, /* GL_MAX_VERTEX_UNITS_ARB */
- 23, /* GL_ACTIVE_VERTEX_UNITS_ARB */
- 2284, /* GL_WEIGHT_SUM_UNITY_ARB */
- 2254, /* GL_VERTEX_BLEND_ARB */
- 385, /* GL_CURRENT_WEIGHT_ARB */
- 2282, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- 2280, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- 2278, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- 2276, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- 2271, /* GL_WEIGHT_ARRAY_ARB */
- 442, /* GL_DOT3_RGB */
- 443, /* GL_DOT3_RGBA */
- 305, /* GL_COMPRESSED_RGB_FXT1_3DFX */
- 300, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- 1202, /* GL_MULTISAMPLE_3DFX */
- 1718, /* GL_SAMPLE_BUFFERS_3DFX */
- 1709, /* GL_SAMPLES_3DFX */
- 1182, /* GL_MODELVIEW2_ARB */
- 1185, /* GL_MODELVIEW3_ARB */
- 1186, /* GL_MODELVIEW4_ARB */
- 1187, /* GL_MODELVIEW5_ARB */
- 1188, /* GL_MODELVIEW6_ARB */
- 1189, /* GL_MODELVIEW7_ARB */
- 1190, /* GL_MODELVIEW8_ARB */
- 1191, /* GL_MODELVIEW9_ARB */
- 1161, /* GL_MODELVIEW10_ARB */
- 1162, /* GL_MODELVIEW11_ARB */
- 1163, /* GL_MODELVIEW12_ARB */
- 1164, /* GL_MODELVIEW13_ARB */
- 1165, /* GL_MODELVIEW14_ARB */
- 1166, /* GL_MODELVIEW15_ARB */
- 1167, /* GL_MODELVIEW16_ARB */
- 1168, /* GL_MODELVIEW17_ARB */
- 1169, /* GL_MODELVIEW18_ARB */
- 1170, /* GL_MODELVIEW19_ARB */
- 1172, /* GL_MODELVIEW20_ARB */
- 1173, /* GL_MODELVIEW21_ARB */
- 1174, /* GL_MODELVIEW22_ARB */
- 1175, /* GL_MODELVIEW23_ARB */
- 1176, /* GL_MODELVIEW24_ARB */
- 1177, /* GL_MODELVIEW25_ARB */
- 1178, /* GL_MODELVIEW26_ARB */
- 1179, /* GL_MODELVIEW27_ARB */
- 1180, /* GL_MODELVIEW28_ARB */
- 1181, /* GL_MODELVIEW29_ARB */
- 1183, /* GL_MODELVIEW30_ARB */
- 1184, /* GL_MODELVIEW31_ARB */
- 447, /* GL_DOT3_RGB_EXT */
- 445, /* GL_DOT3_RGBA_EXT */
- 1155, /* GL_MIRROR_CLAMP_EXT */
- 1158, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- 1197, /* GL_MODULATE_ADD_ATI */
- 1198, /* GL_MODULATE_SIGNED_ADD_ATI */
- 1199, /* GL_MODULATE_SUBTRACT_ATI */
- 2291, /* GL_YCBCR_MESA */
- 1294, /* GL_PACK_INVERT_MESA */
- 388, /* GL_DEBUG_OBJECT_MESA */
- 389, /* GL_DEBUG_PRINT_MESA */
- 387, /* GL_DEBUG_ASSERT_MESA */
- 139, /* GL_BUFFER_SIZE */
- 141, /* GL_BUFFER_USAGE */
- 145, /* GL_BUMP_ROT_MATRIX_ATI */
- 146, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
- 144, /* GL_BUMP_NUM_TEX_UNITS_ATI */
- 148, /* GL_BUMP_TEX_UNITS_ATI */
- 507, /* GL_DUDV_ATI */
- 506, /* GL_DU8DV8_ATI */
- 143, /* GL_BUMP_ENVMAP_ATI */
- 147, /* GL_BUMP_TARGET_ATI */
- 1238, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */
- 1446, /* GL_PROGRAM_BINARY_FORMATS_OES */
- 1822, /* GL_STENCIL_BACK_FUNC */
- 1820, /* GL_STENCIL_BACK_FAIL */
- 1824, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- 1826, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- 595, /* GL_FRAGMENT_PROGRAM_ARB */
- 1444, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 1476, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 1475, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- 1458, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 1464, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 1463, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 1064, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 1089, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 1088, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- 1077, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 1083, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 1082, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 1652, /* GL_RGBA32F */
- 1615, /* GL_RGB32F */
- 1643, /* GL_RGBA16F */
- 1607, /* GL_RGB16F */
- 1033, /* GL_MAX_DRAW_BUFFERS */
- 451, /* GL_DRAW_BUFFER0 */
- 454, /* GL_DRAW_BUFFER1 */
- 475, /* GL_DRAW_BUFFER2 */
- 478, /* GL_DRAW_BUFFER3 */
- 481, /* GL_DRAW_BUFFER4 */
- 484, /* GL_DRAW_BUFFER5 */
- 487, /* GL_DRAW_BUFFER6 */
- 490, /* GL_DRAW_BUFFER7 */
- 493, /* GL_DRAW_BUFFER8 */
- 496, /* GL_DRAW_BUFFER9 */
- 455, /* GL_DRAW_BUFFER10 */
- 458, /* GL_DRAW_BUFFER11 */
- 461, /* GL_DRAW_BUFFER12 */
- 464, /* GL_DRAW_BUFFER13 */
- 467, /* GL_DRAW_BUFFER14 */
- 470, /* GL_DRAW_BUFFER15 */
- 97, /* GL_BLEND_EQUATION_ALPHA */
- 1007, /* GL_MATRIX_PALETTE_ARB */
- 1057, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- 1060, /* GL_MAX_PALETTE_MATRICES_ARB */
- 369, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- 995, /* GL_MATRIX_INDEX_ARRAY_ARB */
- 364, /* GL_CURRENT_MATRIX_INDEX_ARB */
- 1000, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- 1004, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- 1002, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- 998, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- 2038, /* GL_TEXTURE_DEPTH_SIZE */
- 435, /* GL_DEPTH_TEXTURE_MODE */
- 1995, /* GL_TEXTURE_COMPARE_MODE */
- 1993, /* GL_TEXTURE_COMPARE_FUNC */
- 281, /* GL_COMPARE_REF_TO_TEXTURE */
- 1371, /* GL_POINT_SPRITE */
- 343, /* GL_COORD_REPLACE */
- 1376, /* GL_POINT_SPRITE_R_MODE_NV */
- 1516, /* GL_QUERY_COUNTER_BITS */
- 372, /* GL_CURRENT_QUERY */
- 1520, /* GL_QUERY_RESULT */
- 1522, /* GL_QUERY_RESULT_AVAILABLE */
- 1126, /* GL_MAX_VERTEX_ATTRIBS */
- 2244, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- 433, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- 432, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- 1103, /* GL_MAX_TEXTURE_COORDS */
- 1105, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- 1451, /* GL_PROGRAM_ERROR_STRING_ARB */
- 1453, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- 1452, /* GL_PROGRAM_FORMAT_ARB */
- 2094, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- 405, /* GL_DEPTH_BOUNDS_TEST_EXT */
- 404, /* GL_DEPTH_BOUNDS_EXT */
- 61, /* GL_ARRAY_BUFFER */
- 520, /* GL_ELEMENT_ARRAY_BUFFER */
- 62, /* GL_ARRAY_BUFFER_BINDING */
- 521, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- 2215, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- 1224, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
- 187, /* GL_COLOR_ARRAY_BUFFER_BINDING */
- 732, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- 2008, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- 516, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- 1730, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- 573, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- 2272, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- 2237, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- 1454, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- 1070, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- 1460, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 1079, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 1474, /* GL_PROGRAM_TEMPORARIES_ARB */
- 1085, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- 1462, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 1081, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 1466, /* GL_PROGRAM_PARAMETERS_ARB */
- 1084, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- 1461, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- 1080, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- 1445, /* GL_PROGRAM_ATTRIBS_ARB */
- 1065, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- 1459, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- 1078, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- 1443, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- 1063, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- 1457, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 1076, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 1071, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- 1067, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- 1477, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- 2127, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- 1539, /* GL_READ_ONLY */
- 2286, /* GL_WRITE_ONLY */
- 1541, /* GL_READ_WRITE */
- 124, /* GL_BUFFER_ACCESS */
- 129, /* GL_BUFFER_MAPPED */
- 134, /* GL_BUFFER_MAP_POINTER */
- 2101, /* GL_TIME_ELAPSED_EXT */
- 955, /* GL_MATRIX0_ARB */
- 967, /* GL_MATRIX1_ARB */
- 979, /* GL_MATRIX2_ARB */
- 983, /* GL_MATRIX3_ARB */
- 985, /* GL_MATRIX4_ARB */
- 987, /* GL_MATRIX5_ARB */
- 989, /* GL_MATRIX6_ARB */
- 991, /* GL_MATRIX7_ARB */
- 993, /* GL_MATRIX8_ARB */
- 994, /* GL_MATRIX9_ARB */
- 957, /* GL_MATRIX10_ARB */
- 958, /* GL_MATRIX11_ARB */
- 959, /* GL_MATRIX12_ARB */
- 960, /* GL_MATRIX13_ARB */
- 961, /* GL_MATRIX14_ARB */
- 962, /* GL_MATRIX15_ARB */
- 963, /* GL_MATRIX16_ARB */
- 964, /* GL_MATRIX17_ARB */
- 965, /* GL_MATRIX18_ARB */
- 966, /* GL_MATRIX19_ARB */
- 969, /* GL_MATRIX20_ARB */
- 970, /* GL_MATRIX21_ARB */
- 971, /* GL_MATRIX22_ARB */
- 972, /* GL_MATRIX23_ARB */
- 973, /* GL_MATRIX24_ARB */
- 974, /* GL_MATRIX25_ARB */
- 975, /* GL_MATRIX26_ARB */
- 976, /* GL_MATRIX27_ARB */
- 977, /* GL_MATRIX28_ARB */
- 978, /* GL_MATRIX29_ARB */
- 981, /* GL_MATRIX30_ARB */
- 982, /* GL_MATRIX31_ARB */
- 1863, /* GL_STREAM_DRAW */
- 1865, /* GL_STREAM_READ */
- 1861, /* GL_STREAM_COPY */
- 1812, /* GL_STATIC_DRAW */
- 1814, /* GL_STATIC_READ */
- 1810, /* GL_STATIC_COPY */
- 510, /* GL_DYNAMIC_DRAW */
- 512, /* GL_DYNAMIC_READ */
- 508, /* GL_DYNAMIC_COPY */
- 1334, /* GL_PIXEL_PACK_BUFFER */
- 1338, /* GL_PIXEL_UNPACK_BUFFER */
- 1335, /* GL_PIXEL_PACK_BUFFER_BINDING */
- 1339, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
- 396, /* GL_DEPTH24_STENCIL8 */
- 2090, /* GL_TEXTURE_STENCIL_SIZE */
- 2036, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */
- 1066, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- 1069, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- 1073, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- 1072, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- 2242, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */
- 2239, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */
- 1012, /* GL_MAX_ARRAY_TEXTURE_LAYERS */
- 1149, /* GL_MIN_PROGRAM_TEXEL_OFFSET */
- 1086, /* GL_MAX_PROGRAM_TEXEL_OFFSET */
- 1854, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
- 18, /* GL_ACTIVE_STENCIL_FACE_EXT */
- 1156, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- 1711, /* GL_SAMPLES_PASSED */
- 688, /* GL_GEOMETRY_VERTICES_OUT */
- 682, /* GL_GEOMETRY_INPUT_TYPE */
- 684, /* GL_GEOMETRY_OUTPUT_TYPE */
- 156, /* GL_CLAMP_READ_COLOR */
- 546, /* GL_FIXED_ONLY */
- 1358, /* GL_POINT_SIZE_ARRAY_TYPE_OES */
- 1357, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */
- 1356, /* GL_POINT_SIZE_ARRAY_POINTER_OES */
- 1193, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */
- 1480, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */
- 2070, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */
- 138, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */
- 128, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */
- 1556, /* GL_RELEASED_APPLE */
- 2269, /* GL_VOLATILE_APPLE */
- 1595, /* GL_RETAINED_APPLE */
- 2144, /* GL_UNDEFINED_APPLE */
- 1504, /* GL_PURGEABLE_APPLE */
- 596, /* GL_FRAGMENT_SHADER */
- 2264, /* GL_VERTEX_SHADER */
- 1465, /* GL_PROGRAM_OBJECT_ARB */
- 1747, /* GL_SHADER_OBJECT_ARB */
- 1041, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- 1131, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- 1122, /* GL_MAX_VARYING_COMPONENTS */
- 1129, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- 1024, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- 1254, /* GL_OBJECT_TYPE_ARB */
- 1749, /* GL_SHADER_TYPE */
- 561, /* GL_FLOAT_VEC2 */
- 563, /* GL_FLOAT_VEC3 */
- 565, /* GL_FLOAT_VEC4 */
- 784, /* GL_INT_VEC2 */
- 786, /* GL_INT_VEC3 */
- 788, /* GL_INT_VEC4 */
- 116, /* GL_BOOL */
- 118, /* GL_BOOL_VEC2 */
- 120, /* GL_BOOL_VEC3 */
- 122, /* GL_BOOL_VEC4 */
- 549, /* GL_FLOAT_MAT2 */
- 553, /* GL_FLOAT_MAT3 */
- 557, /* GL_FLOAT_MAT4 */
- 1687, /* GL_SAMPLER_1D */
- 1693, /* GL_SAMPLER_2D */
- 1701, /* GL_SAMPLER_3D */
- 1705, /* GL_SAMPLER_CUBE */
- 1692, /* GL_SAMPLER_1D_SHADOW */
- 1700, /* GL_SAMPLER_2D_SHADOW */
- 1698, /* GL_SAMPLER_2D_RECT */
- 1699, /* GL_SAMPLER_2D_RECT_SHADOW */
- 551, /* GL_FLOAT_MAT2x3 */
- 552, /* GL_FLOAT_MAT2x4 */
- 555, /* GL_FLOAT_MAT3x2 */
- 556, /* GL_FLOAT_MAT3x4 */
- 559, /* GL_FLOAT_MAT4x2 */
- 560, /* GL_FLOAT_MAT4x3 */
- 394, /* GL_DELETE_STATUS */
- 286, /* GL_COMPILE_STATUS */
- 845, /* GL_LINK_STATUS */
- 2209, /* GL_VALIDATE_STATUS */
- 744, /* GL_INFO_LOG_LENGTH */
- 64, /* GL_ATTACHED_SHADERS */
- 21, /* GL_ACTIVE_UNIFORMS */
- 22, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
- 1748, /* GL_SHADER_SOURCE_LENGTH */
- 15, /* GL_ACTIVE_ATTRIBUTES */
- 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */
- 598, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- 1751, /* GL_SHADING_LANGUAGE_VERSION */
- 371, /* GL_CURRENT_PROGRAM */
- 1303, /* GL_PALETTE4_RGB8_OES */
- 1305, /* GL_PALETTE4_RGBA8_OES */
- 1301, /* GL_PALETTE4_R5_G6_B5_OES */
- 1304, /* GL_PALETTE4_RGBA4_OES */
- 1302, /* GL_PALETTE4_RGB5_A1_OES */
- 1308, /* GL_PALETTE8_RGB8_OES */
- 1310, /* GL_PALETTE8_RGBA8_OES */
- 1306, /* GL_PALETTE8_R5_G6_B5_OES */
- 1309, /* GL_PALETTE8_RGBA4_OES */
- 1307, /* GL_PALETTE8_RGB5_A1_OES */
- 725, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */
- 723, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */
- 1355, /* GL_POINT_SIZE_ARRAY_OES */
- 2014, /* GL_TEXTURE_CROP_RECT_OES */
- 996, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */
- 1354, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */
- 2192, /* GL_UNSIGNED_NORMALIZED */
- 1951, /* GL_TEXTURE_1D_ARRAY */
- 1490, /* GL_PROXY_TEXTURE_1D_ARRAY */
- 1954, /* GL_TEXTURE_2D_ARRAY */
- 1494, /* GL_PROXY_TEXTURE_2D_ARRAY */
- 1962, /* GL_TEXTURE_BINDING_1D_ARRAY */
- 1965, /* GL_TEXTURE_BINDING_2D_ARRAY */
- 1048, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */
- 1981, /* GL_TEXTURE_BUFFER */
- 1102, /* GL_MAX_TEXTURE_BUFFER_SIZE */
- 1969, /* GL_TEXTURE_BINDING_BUFFER */
- 1982, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */
- 1983, /* GL_TEXTURE_BUFFER_FORMAT */
- 1527, /* GL_R11F_G11F_B10F */
- 2158, /* GL_UNSIGNED_INT_10F_11F_11F_REV */
- 1638, /* GL_RGB9_E5 */
- 2167, /* GL_UNSIGNED_INT_5_9_9_9_REV */
- 2088, /* GL_TEXTURE_SHARED_SIZE */
- 1804, /* GL_SRGB */
- 1805, /* GL_SRGB8 */
- 1807, /* GL_SRGB_ALPHA */
- 1806, /* GL_SRGB8_ALPHA8 */
- 1764, /* GL_SLUMINANCE_ALPHA */
- 1763, /* GL_SLUMINANCE8_ALPHA8 */
- 1761, /* GL_SLUMINANCE */
- 1762, /* GL_SLUMINANCE8 */
- 309, /* GL_COMPRESSED_SRGB */
- 310, /* GL_COMPRESSED_SRGB_ALPHA */
- 307, /* GL_COMPRESSED_SLUMINANCE */
- 308, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
- 2123, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */
- 2112, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */
- 1120, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */
- 2121, /* GL_TRANSFORM_FEEDBACK_VARYINGS */
- 2117, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */
- 2115, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */
- 1437, /* GL_PRIMITIVES_GENERATED */
- 2119, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */
- 1531, /* GL_RASTERIZER_DISCARD */
- 1116, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */
- 1118, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */
- 762, /* GL_INTERLEAVED_ATTRIBS */
- 1740, /* GL_SEPARATE_ATTRIBS */
- 2107, /* GL_TRANSFORM_FEEDBACK_BUFFER */
- 2109, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */
- 1373, /* GL_POINT_SPRITE_COORD_ORIGIN */
- 853, /* GL_LOWER_LEFT */
- 2206, /* GL_UPPER_LEFT */
- 1828, /* GL_STENCIL_BACK_REF */
- 1829, /* GL_STENCIL_BACK_VALUE_MASK */
- 1830, /* GL_STENCIL_BACK_WRITEMASK */
- 500, /* GL_DRAW_FRAMEBUFFER_BINDING */
- 1561, /* GL_RENDERBUFFER_BINDING */
- 1535, /* GL_READ_FRAMEBUFFER */
- 499, /* GL_DRAW_FRAMEBUFFER */
- 1536, /* GL_READ_FRAMEBUFFER_BINDING */
- 1580, /* GL_RENDERBUFFER_SAMPLES */
- 612, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
- 609, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
- 624, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
- 619, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
- 622, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
- 630, /* GL_FRAMEBUFFER_COMPLETE */
- 635, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
- 650, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
- 644, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- 639, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- 645, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- 641, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
- 655, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
- 661, /* GL_FRAMEBUFFER_UNSUPPORTED */
- 659, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- 1020, /* GL_MAX_COLOR_ATTACHMENTS */
- 193, /* GL_COLOR_ATTACHMENT0 */
- 196, /* GL_COLOR_ATTACHMENT1 */
- 210, /* GL_COLOR_ATTACHMENT2 */
- 212, /* GL_COLOR_ATTACHMENT3 */
- 214, /* GL_COLOR_ATTACHMENT4 */
- 216, /* GL_COLOR_ATTACHMENT5 */
- 218, /* GL_COLOR_ATTACHMENT6 */
- 220, /* GL_COLOR_ATTACHMENT7 */
- 222, /* GL_COLOR_ATTACHMENT8 */
- 224, /* GL_COLOR_ATTACHMENT9 */
- 197, /* GL_COLOR_ATTACHMENT10 */
- 199, /* GL_COLOR_ATTACHMENT11 */
- 201, /* GL_COLOR_ATTACHMENT12 */
- 203, /* GL_COLOR_ATTACHMENT13 */
- 205, /* GL_COLOR_ATTACHMENT14 */
- 207, /* GL_COLOR_ATTACHMENT15 */
- 399, /* GL_DEPTH_ATTACHMENT */
- 1817, /* GL_STENCIL_ATTACHMENT */
- 600, /* GL_FRAMEBUFFER */
- 1558, /* GL_RENDERBUFFER */
- 1584, /* GL_RENDERBUFFER_WIDTH */
- 1571, /* GL_RENDERBUFFER_HEIGHT */
- 1574, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
- 1849, /* GL_STENCIL_INDEX_EXT */
- 1838, /* GL_STENCIL_INDEX1 */
- 1843, /* GL_STENCIL_INDEX4 */
- 1846, /* GL_STENCIL_INDEX8 */
- 1839, /* GL_STENCIL_INDEX16 */
- 1578, /* GL_RENDERBUFFER_RED_SIZE */
- 1569, /* GL_RENDERBUFFER_GREEN_SIZE */
- 1564, /* GL_RENDERBUFFER_BLUE_SIZE */
- 1559, /* GL_RENDERBUFFER_ALPHA_SIZE */
- 1566, /* GL_RENDERBUFFER_DEPTH_SIZE */
- 1582, /* GL_RENDERBUFFER_STENCIL_SIZE */
- 653, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
- 1097, /* GL_MAX_SAMPLES */
- 2050, /* GL_TEXTURE_GEN_STR_OES */
- 699, /* GL_HALF_FLOAT_OES */
- 1625, /* GL_RGB565_OES */
- 1655, /* GL_RGBA32UI */
- 1618, /* GL_RGB32UI */
- 40, /* GL_ALPHA32UI_EXT */
- 754, /* GL_INTENSITY32UI_EXT */
- 870, /* GL_LUMINANCE32UI_EXT */
- 887, /* GL_LUMINANCE_ALPHA32UI_EXT */
- 1646, /* GL_RGBA16UI */
- 1610, /* GL_RGB16UI */
- 37, /* GL_ALPHA16UI_EXT */
- 751, /* GL_INTENSITY16UI_EXT */
- 865, /* GL_LUMINANCE16UI_EXT */
- 885, /* GL_LUMINANCE_ALPHA16UI_EXT */
- 1665, /* GL_RGBA8UI */
- 1633, /* GL_RGB8UI */
- 45, /* GL_ALPHA8UI_EXT */
- 759, /* GL_INTENSITY8UI_EXT */
- 879, /* GL_LUMINANCE8UI_EXT */
- 889, /* GL_LUMINANCE_ALPHA8UI_EXT */
- 1653, /* GL_RGBA32I */
- 1616, /* GL_RGB32I */
- 39, /* GL_ALPHA32I_EXT */
- 753, /* GL_INTENSITY32I_EXT */
- 869, /* GL_LUMINANCE32I_EXT */
- 886, /* GL_LUMINANCE_ALPHA32I_EXT */
- 1644, /* GL_RGBA16I */
- 1608, /* GL_RGB16I */
- 36, /* GL_ALPHA16I_EXT */
- 750, /* GL_INTENSITY16I_EXT */
- 864, /* GL_LUMINANCE16I_EXT */
- 884, /* GL_LUMINANCE_ALPHA16I_EXT */
- 1663, /* GL_RGBA8I */
- 1631, /* GL_RGB8I */
- 44, /* GL_ALPHA8I_EXT */
- 758, /* GL_INTENSITY8I_EXT */
- 878, /* GL_LUMINANCE8I_EXT */
- 888, /* GL_LUMINANCE_ALPHA8I_EXT */
- 1548, /* GL_RED_INTEGER */
- 695, /* GL_GREEN_INTEGER */
- 113, /* GL_BLUE_INTEGER */
- 49, /* GL_ALPHA_INTEGER_EXT */
- 1677, /* GL_RGB_INTEGER */
- 1671, /* GL_RGBA_INTEGER */
- 84, /* GL_BGR_INTEGER */
- 82, /* GL_BGRA_INTEGER */
- 891, /* GL_LUMINANCE_INTEGER_EXT */
- 890, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */
- 1673, /* GL_RGBA_INTEGER_MODE_EXT */
- 607, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED */
- 648, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS */
- 647, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */
- 1688, /* GL_SAMPLER_1D_ARRAY */
- 1694, /* GL_SAMPLER_2D_ARRAY */
- 1703, /* GL_SAMPLER_BUFFER */
- 1690, /* GL_SAMPLER_1D_ARRAY_SHADOW */
- 1696, /* GL_SAMPLER_2D_ARRAY_SHADOW */
- 1706, /* GL_SAMPLER_CUBE_SHADOW */
- 2186, /* GL_UNSIGNED_INT_VEC2 */
- 2188, /* GL_UNSIGNED_INT_VEC3 */
- 2190, /* GL_UNSIGNED_INT_VEC4 */
- 768, /* GL_INT_SAMPLER_1D */
- 772, /* GL_INT_SAMPLER_2D */
- 778, /* GL_INT_SAMPLER_3D */
- 782, /* GL_INT_SAMPLER_CUBE */
- 776, /* GL_INT_SAMPLER_2D_RECT */
- 769, /* GL_INT_SAMPLER_1D_ARRAY */
- 773, /* GL_INT_SAMPLER_2D_ARRAY */
- 780, /* GL_INT_SAMPLER_BUFFER */
- 2170, /* GL_UNSIGNED_INT_SAMPLER_1D */
- 2174, /* GL_UNSIGNED_INT_SAMPLER_2D */
- 2180, /* GL_UNSIGNED_INT_SAMPLER_3D */
- 2184, /* GL_UNSIGNED_INT_SAMPLER_CUBE */
- 2178, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */
- 2171, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */
- 2175, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */
- 2182, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */
- 686, /* GL_GEOMETRY_SHADER */
- 689, /* GL_GEOMETRY_VERTICES_OUT_ARB */
- 683, /* GL_GEOMETRY_INPUT_TYPE_ARB */
- 685, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */
- 1054, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */
- 1136, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */
- 1052, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */
- 1046, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */
- 1050, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */
- 854, /* GL_LOW_FLOAT */
- 1138, /* GL_MEDIUM_FLOAT */
- 700, /* GL_HIGH_FLOAT */
- 855, /* GL_LOW_INT */
- 1139, /* GL_MEDIUM_INT */
- 701, /* GL_HIGH_INT */
- 2160, /* GL_UNSIGNED_INT_10_10_10_2_OES */
- 767, /* GL_INT_10_10_10_2_OES */
- 1745, /* GL_SHADER_BINARY_FORMATS */
- 1239, /* GL_NUM_SHADER_BINARY_FORMATS */
- 1746, /* GL_SHADER_COMPILER */
- 1133, /* GL_MAX_VERTEX_UNIFORM_VECTORS */
- 1125, /* GL_MAX_VARYING_VECTORS */
- 1043, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */
- 1524, /* GL_QUERY_WAIT */
- 1518, /* GL_QUERY_NO_WAIT */
- 1514, /* GL_QUERY_BY_REGION_WAIT */
- 1512, /* GL_QUERY_BY_REGION_NO_WAIT */
- 2105, /* GL_TRANSFORM_FEEDBACK */
- 2114, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
- 2108, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
- 2106, /* GL_TRANSFORM_FEEDBACK_BINDING */
- 1508, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
- 542, /* GL_FIRST_VERTEX_CONVENTION */
- 800, /* GL_LAST_VERTEX_CONVENTION */
- 1482, /* GL_PROVOKING_VERTEX */
- 350, /* GL_COPY_READ_BUFFER */
- 351, /* GL_COPY_WRITE_BUFFER */
- 1551, /* GL_RED_SNORM */
- 1684, /* GL_RG_SNORM */
- 1683, /* GL_RGB_SNORM */
- 1676, /* GL_RGBA_SNORM */
- 1530, /* GL_R8_SNORM */
- 1598, /* GL_RG8_SNORM */
- 1637, /* GL_RGB8_SNORM */
- 1669, /* GL_RGBA8_SNORM */
- 1528, /* GL_R16_SNORM */
- 1597, /* GL_RG16_SNORM */
- 1613, /* GL_RGB16_SNORM */
- 1649, /* GL_RGBA16_SNORM */
- 1757, /* GL_SIGNED_NORMALIZED */
- 1439, /* GL_PRIMITIVE_RESTART */
- 1440, /* GL_PRIMITIVE_RESTART_INDEX */
- 1099, /* GL_MAX_SERVER_WAIT_TIMEOUT */
- 1253, /* GL_OBJECT_TYPE */
- 1870, /* GL_SYNC_CONDITION */
- 1875, /* GL_SYNC_STATUS */
- 1872, /* GL_SYNC_FLAGS */
- 1871, /* GL_SYNC_FENCE */
- 1874, /* GL_SYNC_GPU_COMMANDS_COMPLETE */
- 2153, /* GL_UNSIGNALED */
- 1756, /* GL_SIGNALED */
- 54, /* GL_ALREADY_SIGNALED */
- 2100, /* GL_TIMEOUT_EXPIRED */
- 312, /* GL_CONDITION_SATISFIED */
- 2270, /* GL_WAIT_FAILED */
- 126, /* GL_BUFFER_ACCESS_FLAGS */
- 132, /* GL_BUFFER_MAP_LENGTH */
- 133, /* GL_BUFFER_MAP_OFFSET */
- 1128, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */
- 1044, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */
- 1045, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */
- 1040, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */
- 326, /* GL_CONTEXT_PROFILE_MASK */
- 527, /* GL_EVAL_BIT */
- 1533, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- 847, /* GL_LIST_BIT */
- 1976, /* GL_TEXTURE_BIT */
- 1726, /* GL_SCISSOR_BIT */
- 30, /* GL_ALL_ATTRIB_BITS */
- 1204, /* GL_MULTISAMPLE_BIT */
- 31, /* GL_ALL_CLIENT_ATTRIB_BITS */
-};
-
-typedef int (*cfunc)(const void *, const void *);
-
-/**
- * Compare a key name to an element in the \c all_enums array.
- *
- * \c bsearch always passes the key as the first parameter and the pointer
- * to the array element as the second parameter. We can elimiate some
- * extra work by taking advantage of that fact.
- *
- * \param a Pointer to the desired enum name.
- * \param b Pointer to an element of the \c all_enums array.
- */
-static int compar_name( const char *a, const enum_elt *b )
-{
- return strcmp( a, & enum_string_table[ b->offset ] );
-}
-
-/**
- * Compare a key enum value to an element in the \c all_enums array.
- *
- * \c bsearch always passes the key as the first parameter and the pointer
- * to the array element as the second parameter. We can elimiate some
- * extra work by taking advantage of that fact.
- *
- * \param a Pointer to the desired enum name.
- * \param b Pointer to an index into the \c all_enums array.
- */
-static int compar_nr( const int *a, const unsigned *b )
-{
- return a[0] - all_enums[*b].n;
-}
-
-
-static char token_tmp[20];
-
-const char *_mesa_lookup_enum_by_nr( int nr )
-{
- unsigned * i;
-
- i = (unsigned *) _mesa_bsearch(& nr, reduced_enums,
- Elements(reduced_enums),
- sizeof(reduced_enums[0]),
- (cfunc) compar_nr);
-
- if ( i != NULL ) {
- return & enum_string_table[ all_enums[ *i ].offset ];
- }
- else {
- /* this is not re-entrant safe, no big deal here */
- _mesa_snprintf(token_tmp, sizeof(token_tmp) - 1, "0x%x", nr);
- token_tmp[sizeof(token_tmp) - 1] = '\0';
- return token_tmp;
- }
-}
-
-/* Get the name of an enum given that it is a primitive type. Avoids
- * GL_FALSE/GL_POINTS ambiguity and others.
- */
-const char *_mesa_lookup_prim_by_nr( int nr )
-{
- switch (nr) {
- case GL_POINTS: return "GL_POINTS";
- case GL_LINES: return "GL_LINES";
- case GL_LINE_STRIP: return "GL_LINE_STRIP";
- case GL_LINE_LOOP: return "GL_LINE_LOOP";
- case GL_TRIANGLES: return "GL_TRIANGLES";
- case GL_TRIANGLE_STRIP: return "GL_TRIANGLE_STRIP";
- case GL_TRIANGLE_FAN: return "GL_TRIANGLE_FAN";
- case GL_QUADS: return "GL_QUADS";
- case GL_QUAD_STRIP: return "GL_QUAD_STRIP";
- case GL_POLYGON: return "GL_POLYGON";
- case GL_POLYGON+1: return "OUTSIDE_BEGIN_END";
- default: return "<invalid>";
- }
-}
-
-
-
-int _mesa_lookup_enum_by_name( const char *symbol )
-{
- enum_elt * f = NULL;
-
- if ( symbol != NULL ) {
- f = (enum_elt *) _mesa_bsearch(symbol, all_enums,
- Elements(all_enums),
- sizeof( enum_elt ),
- (cfunc) compar_name);
- }
-
- return (f != NULL) ? f->n : -1;
-}
-
-
+/* DO NOT EDIT - This file generated automatically by gl_enums.py (from Mesa) script */ + +/* + * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * 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 + * BRIAN PAUL, + * 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 "main/glheader.h" +#include "main/mfeatures.h" +#include "main/enums.h" +#include "main/imports.h" +#include "main/mtypes.h" + +typedef struct { + size_t offset; + int n; +} enum_elt; + +LONGSTRING static const char enum_string_table[] = + "GL_2D\0" + "GL_2_BYTES\0" + "GL_3D\0" + "GL_3D_COLOR\0" + "GL_3D_COLOR_TEXTURE\0" + "GL_3_BYTES\0" + "GL_4D_COLOR_TEXTURE\0" + "GL_4_BYTES\0" + "GL_ACCUM\0" + "GL_ACCUM_ALPHA_BITS\0" + "GL_ACCUM_BLUE_BITS\0" + "GL_ACCUM_BUFFER_BIT\0" + "GL_ACCUM_CLEAR_VALUE\0" + "GL_ACCUM_GREEN_BITS\0" + "GL_ACCUM_RED_BITS\0" + "GL_ACTIVE_ATTRIBUTES\0" + "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH\0" + "GL_ACTIVE_PROGRAM_EXT\0" + "GL_ACTIVE_STENCIL_FACE_EXT\0" + "GL_ACTIVE_TEXTURE\0" + "GL_ACTIVE_TEXTURE_ARB\0" + "GL_ACTIVE_UNIFORMS\0" + "GL_ACTIVE_UNIFORM_MAX_LENGTH\0" + "GL_ACTIVE_VERTEX_UNITS_ARB\0" + "GL_ADD\0" + "GL_ADD_SIGNED\0" + "GL_ADD_SIGNED_ARB\0" + "GL_ADD_SIGNED_EXT\0" + "GL_ALIASED_LINE_WIDTH_RANGE\0" + "GL_ALIASED_POINT_SIZE_RANGE\0" + "GL_ALL_ATTRIB_BITS\0" + "GL_ALL_CLIENT_ATTRIB_BITS\0" + "GL_ALPHA\0" + "GL_ALPHA12\0" + "GL_ALPHA12_EXT\0" + "GL_ALPHA16\0" + "GL_ALPHA16I_EXT\0" + "GL_ALPHA16UI_EXT\0" + "GL_ALPHA16_EXT\0" + "GL_ALPHA32I_EXT\0" + "GL_ALPHA32UI_EXT\0" + "GL_ALPHA4\0" + "GL_ALPHA4_EXT\0" + "GL_ALPHA8\0" + "GL_ALPHA8I_EXT\0" + "GL_ALPHA8UI_EXT\0" + "GL_ALPHA8_EXT\0" + "GL_ALPHA_BIAS\0" + "GL_ALPHA_BITS\0" + "GL_ALPHA_INTEGER_EXT\0" + "GL_ALPHA_SCALE\0" + "GL_ALPHA_TEST\0" + "GL_ALPHA_TEST_FUNC\0" + "GL_ALPHA_TEST_REF\0" + "GL_ALREADY_SIGNALED\0" + "GL_ALWAYS\0" + "GL_AMBIENT\0" + "GL_AMBIENT_AND_DIFFUSE\0" + "GL_AND\0" + "GL_AND_INVERTED\0" + "GL_AND_REVERSE\0" + "GL_ARRAY_BUFFER\0" + "GL_ARRAY_BUFFER_BINDING\0" + "GL_ARRAY_BUFFER_BINDING_ARB\0" + "GL_ATTACHED_SHADERS\0" + "GL_ATTRIB_ARRAY_POINTER_NV\0" + "GL_ATTRIB_ARRAY_SIZE_NV\0" + "GL_ATTRIB_ARRAY_STRIDE_NV\0" + "GL_ATTRIB_ARRAY_TYPE_NV\0" + "GL_ATTRIB_STACK_DEPTH\0" + "GL_AUTO_NORMAL\0" + "GL_AUX0\0" + "GL_AUX1\0" + "GL_AUX2\0" + "GL_AUX3\0" + "GL_AUX_BUFFERS\0" + "GL_BACK\0" + "GL_BACK_LEFT\0" + "GL_BACK_RIGHT\0" + "GL_BGR\0" + "GL_BGRA\0" + "GL_BGRA_EXT\0" + "GL_BGRA_INTEGER\0" + "GL_BGRA_INTEGER_EXT\0" + "GL_BGR_INTEGER\0" + "GL_BGR_INTEGER_EXT\0" + "GL_BITMAP\0" + "GL_BITMAP_TOKEN\0" + "GL_BLEND\0" + "GL_BLEND_COLOR\0" + "GL_BLEND_COLOR_EXT\0" + "GL_BLEND_DST\0" + "GL_BLEND_DST_ALPHA\0" + "GL_BLEND_DST_ALPHA_OES\0" + "GL_BLEND_DST_RGB\0" + "GL_BLEND_DST_RGB_OES\0" + "GL_BLEND_EQUATION\0" + "GL_BLEND_EQUATION_ALPHA\0" + "GL_BLEND_EQUATION_ALPHA_EXT\0" + "GL_BLEND_EQUATION_ALPHA_OES\0" + "GL_BLEND_EQUATION_EXT\0" + "GL_BLEND_EQUATION_OES\0" + "GL_BLEND_EQUATION_RGB\0" + "GL_BLEND_EQUATION_RGB_EXT\0" + "GL_BLEND_EQUATION_RGB_OES\0" + "GL_BLEND_SRC\0" + "GL_BLEND_SRC_ALPHA\0" + "GL_BLEND_SRC_ALPHA_OES\0" + "GL_BLEND_SRC_RGB\0" + "GL_BLEND_SRC_RGB_OES\0" + "GL_BLUE\0" + "GL_BLUE_BIAS\0" + "GL_BLUE_BITS\0" + "GL_BLUE_INTEGER\0" + "GL_BLUE_INTEGER_EXT\0" + "GL_BLUE_SCALE\0" + "GL_BOOL\0" + "GL_BOOL_ARB\0" + "GL_BOOL_VEC2\0" + "GL_BOOL_VEC2_ARB\0" + "GL_BOOL_VEC3\0" + "GL_BOOL_VEC3_ARB\0" + "GL_BOOL_VEC4\0" + "GL_BOOL_VEC4_ARB\0" + "GL_BUFFER_ACCESS\0" + "GL_BUFFER_ACCESS_ARB\0" + "GL_BUFFER_ACCESS_FLAGS\0" + "GL_BUFFER_ACCESS_OES\0" + "GL_BUFFER_FLUSHING_UNMAP_APPLE\0" + "GL_BUFFER_MAPPED\0" + "GL_BUFFER_MAPPED_ARB\0" + "GL_BUFFER_MAPPED_OES\0" + "GL_BUFFER_MAP_LENGTH\0" + "GL_BUFFER_MAP_OFFSET\0" + "GL_BUFFER_MAP_POINTER\0" + "GL_BUFFER_MAP_POINTER_ARB\0" + "GL_BUFFER_MAP_POINTER_OES\0" + "GL_BUFFER_OBJECT_APPLE\0" + "GL_BUFFER_SERIALIZED_MODIFY_APPLE\0" + "GL_BUFFER_SIZE\0" + "GL_BUFFER_SIZE_ARB\0" + "GL_BUFFER_USAGE\0" + "GL_BUFFER_USAGE_ARB\0" + "GL_BUMP_ENVMAP_ATI\0" + "GL_BUMP_NUM_TEX_UNITS_ATI\0" + "GL_BUMP_ROT_MATRIX_ATI\0" + "GL_BUMP_ROT_MATRIX_SIZE_ATI\0" + "GL_BUMP_TARGET_ATI\0" + "GL_BUMP_TEX_UNITS_ATI\0" + "GL_BYTE\0" + "GL_C3F_V3F\0" + "GL_C4F_N3F_V3F\0" + "GL_C4UB_V2F\0" + "GL_C4UB_V3F\0" + "GL_CCW\0" + "GL_CLAMP\0" + "GL_CLAMP_READ_COLOR\0" + "GL_CLAMP_TO_BORDER\0" + "GL_CLAMP_TO_BORDER_ARB\0" + "GL_CLAMP_TO_BORDER_SGIS\0" + "GL_CLAMP_TO_EDGE\0" + "GL_CLAMP_TO_EDGE_SGIS\0" + "GL_CLEAR\0" + "GL_CLIENT_ACTIVE_TEXTURE\0" + "GL_CLIENT_ACTIVE_TEXTURE_ARB\0" + "GL_CLIENT_ALL_ATTRIB_BITS\0" + "GL_CLIENT_ATTRIB_STACK_DEPTH\0" + "GL_CLIENT_PIXEL_STORE_BIT\0" + "GL_CLIENT_VERTEX_ARRAY_BIT\0" + "GL_CLIP_DISTANCE0\0" + "GL_CLIP_DISTANCE1\0" + "GL_CLIP_DISTANCE2\0" + "GL_CLIP_DISTANCE3\0" + "GL_CLIP_DISTANCE4\0" + "GL_CLIP_DISTANCE5\0" + "GL_CLIP_DISTANCE6\0" + "GL_CLIP_DISTANCE7\0" + "GL_CLIP_PLANE0\0" + "GL_CLIP_PLANE1\0" + "GL_CLIP_PLANE2\0" + "GL_CLIP_PLANE3\0" + "GL_CLIP_PLANE4\0" + "GL_CLIP_PLANE5\0" + "GL_CLIP_VOLUME_CLIPPING_HINT_EXT\0" + "GL_COEFF\0" + "GL_COLOR\0" + "GL_COLOR_ARRAY\0" + "GL_COLOR_ARRAY_BUFFER_BINDING\0" + "GL_COLOR_ARRAY_BUFFER_BINDING_ARB\0" + "GL_COLOR_ARRAY_POINTER\0" + "GL_COLOR_ARRAY_SIZE\0" + "GL_COLOR_ARRAY_STRIDE\0" + "GL_COLOR_ARRAY_TYPE\0" + "GL_COLOR_ATTACHMENT0\0" + "GL_COLOR_ATTACHMENT0_EXT\0" + "GL_COLOR_ATTACHMENT0_OES\0" + "GL_COLOR_ATTACHMENT1\0" + "GL_COLOR_ATTACHMENT10\0" + "GL_COLOR_ATTACHMENT10_EXT\0" + "GL_COLOR_ATTACHMENT11\0" + "GL_COLOR_ATTACHMENT11_EXT\0" + "GL_COLOR_ATTACHMENT12\0" + "GL_COLOR_ATTACHMENT12_EXT\0" + "GL_COLOR_ATTACHMENT13\0" + "GL_COLOR_ATTACHMENT13_EXT\0" + "GL_COLOR_ATTACHMENT14\0" + "GL_COLOR_ATTACHMENT14_EXT\0" + "GL_COLOR_ATTACHMENT15\0" + "GL_COLOR_ATTACHMENT15_EXT\0" + "GL_COLOR_ATTACHMENT1_EXT\0" + "GL_COLOR_ATTACHMENT2\0" + "GL_COLOR_ATTACHMENT2_EXT\0" + "GL_COLOR_ATTACHMENT3\0" + "GL_COLOR_ATTACHMENT3_EXT\0" + "GL_COLOR_ATTACHMENT4\0" + "GL_COLOR_ATTACHMENT4_EXT\0" + "GL_COLOR_ATTACHMENT5\0" + "GL_COLOR_ATTACHMENT5_EXT\0" + "GL_COLOR_ATTACHMENT6\0" + "GL_COLOR_ATTACHMENT6_EXT\0" + "GL_COLOR_ATTACHMENT7\0" + "GL_COLOR_ATTACHMENT7_EXT\0" + "GL_COLOR_ATTACHMENT8\0" + "GL_COLOR_ATTACHMENT8_EXT\0" + "GL_COLOR_ATTACHMENT9\0" + "GL_COLOR_ATTACHMENT9_EXT\0" + "GL_COLOR_BUFFER_BIT\0" + "GL_COLOR_CLEAR_VALUE\0" + "GL_COLOR_INDEX\0" + "GL_COLOR_INDEXES\0" + "GL_COLOR_LOGIC_OP\0" + "GL_COLOR_MATERIAL\0" + "GL_COLOR_MATERIAL_FACE\0" + "GL_COLOR_MATERIAL_PARAMETER\0" + "GL_COLOR_MATRIX\0" + "GL_COLOR_MATRIX_SGI\0" + "GL_COLOR_MATRIX_STACK_DEPTH\0" + "GL_COLOR_MATRIX_STACK_DEPTH_SGI\0" + "GL_COLOR_SUM\0" + "GL_COLOR_SUM_ARB\0" + "GL_COLOR_TABLE\0" + "GL_COLOR_TABLE_ALPHA_SIZE\0" + "GL_COLOR_TABLE_ALPHA_SIZE_EXT\0" + "GL_COLOR_TABLE_ALPHA_SIZE_SGI\0" + "GL_COLOR_TABLE_BIAS\0" + "GL_COLOR_TABLE_BIAS_SGI\0" + "GL_COLOR_TABLE_BLUE_SIZE\0" + "GL_COLOR_TABLE_BLUE_SIZE_EXT\0" + "GL_COLOR_TABLE_BLUE_SIZE_SGI\0" + "GL_COLOR_TABLE_FORMAT\0" + "GL_COLOR_TABLE_FORMAT_EXT\0" + "GL_COLOR_TABLE_FORMAT_SGI\0" + "GL_COLOR_TABLE_GREEN_SIZE\0" + "GL_COLOR_TABLE_GREEN_SIZE_EXT\0" + "GL_COLOR_TABLE_GREEN_SIZE_SGI\0" + "GL_COLOR_TABLE_INTENSITY_SIZE\0" + "GL_COLOR_TABLE_INTENSITY_SIZE_EXT\0" + "GL_COLOR_TABLE_INTENSITY_SIZE_SGI\0" + "GL_COLOR_TABLE_LUMINANCE_SIZE\0" + "GL_COLOR_TABLE_LUMINANCE_SIZE_EXT\0" + "GL_COLOR_TABLE_LUMINANCE_SIZE_SGI\0" + "GL_COLOR_TABLE_RED_SIZE\0" + "GL_COLOR_TABLE_RED_SIZE_EXT\0" + "GL_COLOR_TABLE_RED_SIZE_SGI\0" + "GL_COLOR_TABLE_SCALE\0" + "GL_COLOR_TABLE_SCALE_SGI\0" + "GL_COLOR_TABLE_WIDTH\0" + "GL_COLOR_TABLE_WIDTH_EXT\0" + "GL_COLOR_TABLE_WIDTH_SGI\0" + "GL_COLOR_WRITEMASK\0" + "GL_COMBINE\0" + "GL_COMBINE4\0" + "GL_COMBINE_ALPHA\0" + "GL_COMBINE_ALPHA_ARB\0" + "GL_COMBINE_ALPHA_EXT\0" + "GL_COMBINE_ARB\0" + "GL_COMBINE_EXT\0" + "GL_COMBINE_RGB\0" + "GL_COMBINE_RGB_ARB\0" + "GL_COMBINE_RGB_EXT\0" + "GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT\0" + "GL_COMPARE_REF_TO_TEXTURE\0" + "GL_COMPARE_R_TO_TEXTURE\0" + "GL_COMPARE_R_TO_TEXTURE_ARB\0" + "GL_COMPILE\0" + "GL_COMPILE_AND_EXECUTE\0" + "GL_COMPILE_STATUS\0" + "GL_COMPRESSED_ALPHA\0" + "GL_COMPRESSED_ALPHA_ARB\0" + "GL_COMPRESSED_INTENSITY\0" + "GL_COMPRESSED_INTENSITY_ARB\0" + "GL_COMPRESSED_LUMINANCE\0" + "GL_COMPRESSED_LUMINANCE_ALPHA\0" + "GL_COMPRESSED_LUMINANCE_ALPHA_ARB\0" + "GL_COMPRESSED_LUMINANCE_ARB\0" + "GL_COMPRESSED_RED\0" + "GL_COMPRESSED_RG\0" + "GL_COMPRESSED_RGB\0" + "GL_COMPRESSED_RGBA\0" + "GL_COMPRESSED_RGBA_ARB\0" + "GL_COMPRESSED_RGBA_FXT1_3DFX\0" + "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT\0" + "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT\0" + "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT\0" + "GL_COMPRESSED_RGB_ARB\0" + "GL_COMPRESSED_RGB_FXT1_3DFX\0" + "GL_COMPRESSED_RGB_S3TC_DXT1_EXT\0" + "GL_COMPRESSED_SLUMINANCE\0" + "GL_COMPRESSED_SLUMINANCE_ALPHA\0" + "GL_COMPRESSED_SRGB\0" + "GL_COMPRESSED_SRGB_ALPHA\0" + "GL_COMPRESSED_TEXTURE_FORMATS\0" + "GL_CONDITION_SATISFIED\0" + "GL_CONSTANT\0" + "GL_CONSTANT_ALPHA\0" + "GL_CONSTANT_ALPHA_EXT\0" + "GL_CONSTANT_ARB\0" + "GL_CONSTANT_ATTENUATION\0" + "GL_CONSTANT_BORDER_HP\0" + "GL_CONSTANT_COLOR\0" + "GL_CONSTANT_COLOR_EXT\0" + "GL_CONSTANT_EXT\0" + "GL_CONTEXT_COMPATIBILITY_PROFILE_BIT\0" + "GL_CONTEXT_CORE_PROFILE_BIT\0" + "GL_CONTEXT_FLAGS\0" + "GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT\0" + "GL_CONTEXT_PROFILE_MASK\0" + "GL_CONVOLUTION_1D\0" + "GL_CONVOLUTION_2D\0" + "GL_CONVOLUTION_BORDER_COLOR\0" + "GL_CONVOLUTION_BORDER_COLOR_HP\0" + "GL_CONVOLUTION_BORDER_MODE\0" + "GL_CONVOLUTION_BORDER_MODE_EXT\0" + "GL_CONVOLUTION_FILTER_BIAS\0" + "GL_CONVOLUTION_FILTER_BIAS_EXT\0" + "GL_CONVOLUTION_FILTER_SCALE\0" + "GL_CONVOLUTION_FILTER_SCALE_EXT\0" + "GL_CONVOLUTION_FORMAT\0" + "GL_CONVOLUTION_FORMAT_EXT\0" + "GL_CONVOLUTION_HEIGHT\0" + "GL_CONVOLUTION_HEIGHT_EXT\0" + "GL_CONVOLUTION_WIDTH\0" + "GL_CONVOLUTION_WIDTH_EXT\0" + "GL_COORD_REPLACE\0" + "GL_COORD_REPLACE_ARB\0" + "GL_COORD_REPLACE_NV\0" + "GL_COORD_REPLACE_OES\0" + "GL_COPY\0" + "GL_COPY_INVERTED\0" + "GL_COPY_PIXEL_TOKEN\0" + "GL_COPY_READ_BUFFER\0" + "GL_COPY_WRITE_BUFFER\0" + "GL_CULL_FACE\0" + "GL_CULL_FACE_MODE\0" + "GL_CULL_VERTEX_EXT\0" + "GL_CULL_VERTEX_EYE_POSITION_EXT\0" + "GL_CULL_VERTEX_OBJECT_POSITION_EXT\0" + "GL_CURRENT_ATTRIB_NV\0" + "GL_CURRENT_BIT\0" + "GL_CURRENT_COLOR\0" + "GL_CURRENT_FOG_COORD\0" + "GL_CURRENT_FOG_COORDINATE\0" + "GL_CURRENT_INDEX\0" + "GL_CURRENT_MATRIX_ARB\0" + "GL_CURRENT_MATRIX_INDEX_ARB\0" + "GL_CURRENT_MATRIX_NV\0" + "GL_CURRENT_MATRIX_STACK_DEPTH_ARB\0" + "GL_CURRENT_MATRIX_STACK_DEPTH_NV\0" + "GL_CURRENT_NORMAL\0" + "GL_CURRENT_PALETTE_MATRIX_ARB\0" + "GL_CURRENT_PALETTE_MATRIX_OES\0" + "GL_CURRENT_PROGRAM\0" + "GL_CURRENT_QUERY\0" + "GL_CURRENT_QUERY_ARB\0" + "GL_CURRENT_RASTER_COLOR\0" + "GL_CURRENT_RASTER_DISTANCE\0" + "GL_CURRENT_RASTER_INDEX\0" + "GL_CURRENT_RASTER_POSITION\0" + "GL_CURRENT_RASTER_POSITION_VALID\0" + "GL_CURRENT_RASTER_SECONDARY_COLOR\0" + "GL_CURRENT_RASTER_TEXTURE_COORDS\0" + "GL_CURRENT_SECONDARY_COLOR\0" + "GL_CURRENT_TEXTURE_COORDS\0" + "GL_CURRENT_VERTEX_ATTRIB\0" + "GL_CURRENT_VERTEX_ATTRIB_ARB\0" + "GL_CURRENT_WEIGHT_ARB\0" + "GL_CW\0" + "GL_DEBUG_ASSERT_MESA\0" + "GL_DEBUG_OBJECT_MESA\0" + "GL_DEBUG_PRINT_MESA\0" + "GL_DECAL\0" + "GL_DECR\0" + "GL_DECR_WRAP\0" + "GL_DECR_WRAP_EXT\0" + "GL_DELETE_STATUS\0" + "GL_DEPTH\0" + "GL_DEPTH24_STENCIL8\0" + "GL_DEPTH24_STENCIL8_EXT\0" + "GL_DEPTH24_STENCIL8_OES\0" + "GL_DEPTH_ATTACHMENT\0" + "GL_DEPTH_ATTACHMENT_EXT\0" + "GL_DEPTH_ATTACHMENT_OES\0" + "GL_DEPTH_BIAS\0" + "GL_DEPTH_BITS\0" + "GL_DEPTH_BOUNDS_EXT\0" + "GL_DEPTH_BOUNDS_TEST_EXT\0" + "GL_DEPTH_BUFFER\0" + "GL_DEPTH_BUFFER_BIT\0" + "GL_DEPTH_CLAMP\0" + "GL_DEPTH_CLAMP_NV\0" + "GL_DEPTH_CLEAR_VALUE\0" + "GL_DEPTH_COMPONENT\0" + "GL_DEPTH_COMPONENT16\0" + "GL_DEPTH_COMPONENT16_ARB\0" + "GL_DEPTH_COMPONENT16_OES\0" + "GL_DEPTH_COMPONENT16_SGIX\0" + "GL_DEPTH_COMPONENT24\0" + "GL_DEPTH_COMPONENT24_ARB\0" + "GL_DEPTH_COMPONENT24_OES\0" + "GL_DEPTH_COMPONENT24_SGIX\0" + "GL_DEPTH_COMPONENT32\0" + "GL_DEPTH_COMPONENT32_ARB\0" + "GL_DEPTH_COMPONENT32_OES\0" + "GL_DEPTH_COMPONENT32_SGIX\0" + "GL_DEPTH_FUNC\0" + "GL_DEPTH_RANGE\0" + "GL_DEPTH_SCALE\0" + "GL_DEPTH_STENCIL\0" + "GL_DEPTH_STENCIL_ATTACHMENT\0" + "GL_DEPTH_STENCIL_EXT\0" + "GL_DEPTH_STENCIL_NV\0" + "GL_DEPTH_STENCIL_OES\0" + "GL_DEPTH_STENCIL_TO_BGRA_NV\0" + "GL_DEPTH_STENCIL_TO_RGBA_NV\0" + "GL_DEPTH_TEST\0" + "GL_DEPTH_TEXTURE_MODE\0" + "GL_DEPTH_TEXTURE_MODE_ARB\0" + "GL_DEPTH_WRITEMASK\0" + "GL_DIFFUSE\0" + "GL_DITHER\0" + "GL_DOMAIN\0" + "GL_DONT_CARE\0" + "GL_DOT3_RGB\0" + "GL_DOT3_RGBA\0" + "GL_DOT3_RGBA_ARB\0" + "GL_DOT3_RGBA_EXT\0" + "GL_DOT3_RGB_ARB\0" + "GL_DOT3_RGB_EXT\0" + "GL_DOUBLE\0" + "GL_DOUBLEBUFFER\0" + "GL_DRAW_BUFFER\0" + "GL_DRAW_BUFFER0\0" + "GL_DRAW_BUFFER0_ARB\0" + "GL_DRAW_BUFFER0_ATI\0" + "GL_DRAW_BUFFER1\0" + "GL_DRAW_BUFFER10\0" + "GL_DRAW_BUFFER10_ARB\0" + "GL_DRAW_BUFFER10_ATI\0" + "GL_DRAW_BUFFER11\0" + "GL_DRAW_BUFFER11_ARB\0" + "GL_DRAW_BUFFER11_ATI\0" + "GL_DRAW_BUFFER12\0" + "GL_DRAW_BUFFER12_ARB\0" + "GL_DRAW_BUFFER12_ATI\0" + "GL_DRAW_BUFFER13\0" + "GL_DRAW_BUFFER13_ARB\0" + "GL_DRAW_BUFFER13_ATI\0" + "GL_DRAW_BUFFER14\0" + "GL_DRAW_BUFFER14_ARB\0" + "GL_DRAW_BUFFER14_ATI\0" + "GL_DRAW_BUFFER15\0" + "GL_DRAW_BUFFER15_ARB\0" + "GL_DRAW_BUFFER15_ATI\0" + "GL_DRAW_BUFFER1_ARB\0" + "GL_DRAW_BUFFER1_ATI\0" + "GL_DRAW_BUFFER2\0" + "GL_DRAW_BUFFER2_ARB\0" + "GL_DRAW_BUFFER2_ATI\0" + "GL_DRAW_BUFFER3\0" + "GL_DRAW_BUFFER3_ARB\0" + "GL_DRAW_BUFFER3_ATI\0" + "GL_DRAW_BUFFER4\0" + "GL_DRAW_BUFFER4_ARB\0" + "GL_DRAW_BUFFER4_ATI\0" + "GL_DRAW_BUFFER5\0" + "GL_DRAW_BUFFER5_ARB\0" + "GL_DRAW_BUFFER5_ATI\0" + "GL_DRAW_BUFFER6\0" + "GL_DRAW_BUFFER6_ARB\0" + "GL_DRAW_BUFFER6_ATI\0" + "GL_DRAW_BUFFER7\0" + "GL_DRAW_BUFFER7_ARB\0" + "GL_DRAW_BUFFER7_ATI\0" + "GL_DRAW_BUFFER8\0" + "GL_DRAW_BUFFER8_ARB\0" + "GL_DRAW_BUFFER8_ATI\0" + "GL_DRAW_BUFFER9\0" + "GL_DRAW_BUFFER9_ARB\0" + "GL_DRAW_BUFFER9_ATI\0" + "GL_DRAW_FRAMEBUFFER\0" + "GL_DRAW_FRAMEBUFFER_BINDING\0" + "GL_DRAW_FRAMEBUFFER_BINDING_EXT\0" + "GL_DRAW_FRAMEBUFFER_EXT\0" + "GL_DRAW_PIXEL_TOKEN\0" + "GL_DST_ALPHA\0" + "GL_DST_COLOR\0" + "GL_DU8DV8_ATI\0" + "GL_DUDV_ATI\0" + "GL_DYNAMIC_COPY\0" + "GL_DYNAMIC_COPY_ARB\0" + "GL_DYNAMIC_DRAW\0" + "GL_DYNAMIC_DRAW_ARB\0" + "GL_DYNAMIC_READ\0" + "GL_DYNAMIC_READ_ARB\0" + "GL_EDGE_FLAG\0" + "GL_EDGE_FLAG_ARRAY\0" + "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING\0" + "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB\0" + "GL_EDGE_FLAG_ARRAY_POINTER\0" + "GL_EDGE_FLAG_ARRAY_STRIDE\0" + "GL_ELEMENT_ARRAY_BUFFER\0" + "GL_ELEMENT_ARRAY_BUFFER_BINDING\0" + "GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB\0" + "GL_EMISSION\0" + "GL_ENABLE_BIT\0" + "GL_EQUAL\0" + "GL_EQUIV\0" + "GL_EVAL_BIT\0" + "GL_EXP\0" + "GL_EXP2\0" + "GL_EXTENSIONS\0" + "GL_EYE_LINEAR\0" + "GL_EYE_PLANE\0" + "GL_EYE_PLANE_ABSOLUTE_NV\0" + "GL_EYE_RADIAL_NV\0" + "GL_FALSE\0" + "GL_FASTEST\0" + "GL_FEEDBACK\0" + "GL_FEEDBACK_BUFFER_POINTER\0" + "GL_FEEDBACK_BUFFER_SIZE\0" + "GL_FEEDBACK_BUFFER_TYPE\0" + "GL_FILL\0" + "GL_FIRST_VERTEX_CONVENTION\0" + "GL_FIRST_VERTEX_CONVENTION_EXT\0" + "GL_FIXED\0" + "GL_FIXED_OES\0" + "GL_FIXED_ONLY\0" + "GL_FLAT\0" + "GL_FLOAT\0" + "GL_FLOAT_MAT2\0" + "GL_FLOAT_MAT2_ARB\0" + "GL_FLOAT_MAT2x3\0" + "GL_FLOAT_MAT2x4\0" + "GL_FLOAT_MAT3\0" + "GL_FLOAT_MAT3_ARB\0" + "GL_FLOAT_MAT3x2\0" + "GL_FLOAT_MAT3x4\0" + "GL_FLOAT_MAT4\0" + "GL_FLOAT_MAT4_ARB\0" + "GL_FLOAT_MAT4x2\0" + "GL_FLOAT_MAT4x3\0" + "GL_FLOAT_VEC2\0" + "GL_FLOAT_VEC2_ARB\0" + "GL_FLOAT_VEC3\0" + "GL_FLOAT_VEC3_ARB\0" + "GL_FLOAT_VEC4\0" + "GL_FLOAT_VEC4_ARB\0" + "GL_FOG\0" + "GL_FOG_BIT\0" + "GL_FOG_COLOR\0" + "GL_FOG_COORD\0" + "GL_FOG_COORDINATE\0" + "GL_FOG_COORDINATE_ARRAY\0" + "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING\0" + "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB\0" + "GL_FOG_COORDINATE_ARRAY_POINTER\0" + "GL_FOG_COORDINATE_ARRAY_STRIDE\0" + "GL_FOG_COORDINATE_ARRAY_TYPE\0" + "GL_FOG_COORDINATE_SOURCE\0" + "GL_FOG_COORD_ARRAY\0" + "GL_FOG_COORD_ARRAY_BUFFER_BINDING\0" + "GL_FOG_COORD_ARRAY_POINTER\0" + "GL_FOG_COORD_ARRAY_STRIDE\0" + "GL_FOG_COORD_ARRAY_TYPE\0" + "GL_FOG_COORD_SRC\0" + "GL_FOG_DENSITY\0" + "GL_FOG_DISTANCE_MODE_NV\0" + "GL_FOG_END\0" + "GL_FOG_HINT\0" + "GL_FOG_INDEX\0" + "GL_FOG_MODE\0" + "GL_FOG_OFFSET_SGIX\0" + "GL_FOG_OFFSET_VALUE_SGIX\0" + "GL_FOG_START\0" + "GL_FRAGMENT_DEPTH\0" + "GL_FRAGMENT_PROGRAM_ARB\0" + "GL_FRAGMENT_SHADER\0" + "GL_FRAGMENT_SHADER_ARB\0" + "GL_FRAGMENT_SHADER_DERIVATIVE_HINT\0" + "GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES\0" + "GL_FRAMEBUFFER\0" + "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE\0" + "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE\0" + "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING\0" + "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE\0" + "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE\0" + "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE\0" + "GL_FRAMEBUFFER_ATTACHMENT_LAYERED\0" + "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB\0" + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\0" + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES\0" + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\0" + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES\0" + "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE\0" + "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT\0" + "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES\0" + "GL_FRAMEBUFFER_BINDING\0" + "GL_FRAMEBUFFER_BINDING_EXT\0" + "GL_FRAMEBUFFER_BINDING_OES\0" + "GL_FRAMEBUFFER_COMPLETE\0" + "GL_FRAMEBUFFER_COMPLETE_EXT\0" + "GL_FRAMEBUFFER_COMPLETE_OES\0" + "GL_FRAMEBUFFER_DEFAULT\0" + "GL_FRAMEBUFFER_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT\0" + "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES\0" + "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS\0" + "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES\0" + "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER\0" + "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES\0" + "GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES\0" + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB\0" + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS\0" + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB\0" + "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\0" + "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES\0" + "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE\0" + "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER\0" + "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT\0" + "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES\0" + "GL_FRAMEBUFFER_OES\0" + "GL_FRAMEBUFFER_STATUS_ERROR_EXT\0" + "GL_FRAMEBUFFER_UNDEFINED\0" + "GL_FRAMEBUFFER_UNSUPPORTED\0" + "GL_FRAMEBUFFER_UNSUPPORTED_EXT\0" + "GL_FRAMEBUFFER_UNSUPPORTED_OES\0" + "GL_FRONT\0" + "GL_FRONT_AND_BACK\0" + "GL_FRONT_FACE\0" + "GL_FRONT_LEFT\0" + "GL_FRONT_RIGHT\0" + "GL_FUNC_ADD\0" + "GL_FUNC_ADD_EXT\0" + "GL_FUNC_ADD_OES\0" + "GL_FUNC_REVERSE_SUBTRACT\0" + "GL_FUNC_REVERSE_SUBTRACT_EXT\0" + "GL_FUNC_REVERSE_SUBTRACT_OES\0" + "GL_FUNC_SUBTRACT\0" + "GL_FUNC_SUBTRACT_EXT\0" + "GL_FUNC_SUBTRACT_OES\0" + "GL_GENERATE_MIPMAP\0" + "GL_GENERATE_MIPMAP_HINT\0" + "GL_GENERATE_MIPMAP_HINT_SGIS\0" + "GL_GENERATE_MIPMAP_SGIS\0" + "GL_GEOMETRY_INPUT_TYPE\0" + "GL_GEOMETRY_INPUT_TYPE_ARB\0" + "GL_GEOMETRY_OUTPUT_TYPE\0" + "GL_GEOMETRY_OUTPUT_TYPE_ARB\0" + "GL_GEOMETRY_SHADER\0" + "GL_GEOMETRY_SHADER_ARB\0" + "GL_GEOMETRY_VERTICES_OUT\0" + "GL_GEOMETRY_VERTICES_OUT_ARB\0" + "GL_GEQUAL\0" + "GL_GREATER\0" + "GL_GREEN\0" + "GL_GREEN_BIAS\0" + "GL_GREEN_BITS\0" + "GL_GREEN_INTEGER\0" + "GL_GREEN_INTEGER_EXT\0" + "GL_GREEN_SCALE\0" + "GL_HALF_FLOAT\0" + "GL_HALF_FLOAT_OES\0" + "GL_HIGH_FLOAT\0" + "GL_HIGH_INT\0" + "GL_HINT_BIT\0" + "GL_HISTOGRAM\0" + "GL_HISTOGRAM_ALPHA_SIZE\0" + "GL_HISTOGRAM_ALPHA_SIZE_EXT\0" + "GL_HISTOGRAM_BLUE_SIZE\0" + "GL_HISTOGRAM_BLUE_SIZE_EXT\0" + "GL_HISTOGRAM_EXT\0" + "GL_HISTOGRAM_FORMAT\0" + "GL_HISTOGRAM_FORMAT_EXT\0" + "GL_HISTOGRAM_GREEN_SIZE\0" + "GL_HISTOGRAM_GREEN_SIZE_EXT\0" + "GL_HISTOGRAM_LUMINANCE_SIZE\0" + "GL_HISTOGRAM_LUMINANCE_SIZE_EXT\0" + "GL_HISTOGRAM_RED_SIZE\0" + "GL_HISTOGRAM_RED_SIZE_EXT\0" + "GL_HISTOGRAM_SINK\0" + "GL_HISTOGRAM_SINK_EXT\0" + "GL_HISTOGRAM_WIDTH\0" + "GL_HISTOGRAM_WIDTH_EXT\0" + "GL_IDENTITY_NV\0" + "GL_IGNORE_BORDER_HP\0" + "GL_IMPLEMENTATION_COLOR_READ_FORMAT\0" + "GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES\0" + "GL_IMPLEMENTATION_COLOR_READ_TYPE\0" + "GL_IMPLEMENTATION_COLOR_READ_TYPE_OES\0" + "GL_INCR\0" + "GL_INCR_WRAP\0" + "GL_INCR_WRAP_EXT\0" + "GL_INDEX\0" + "GL_INDEX_ARRAY\0" + "GL_INDEX_ARRAY_BUFFER_BINDING\0" + "GL_INDEX_ARRAY_BUFFER_BINDING_ARB\0" + "GL_INDEX_ARRAY_POINTER\0" + "GL_INDEX_ARRAY_STRIDE\0" + "GL_INDEX_ARRAY_TYPE\0" + "GL_INDEX_BITS\0" + "GL_INDEX_CLEAR_VALUE\0" + "GL_INDEX_LOGIC_OP\0" + "GL_INDEX_MODE\0" + "GL_INDEX_OFFSET\0" + "GL_INDEX_SHIFT\0" + "GL_INDEX_WRITEMASK\0" + "GL_INFO_LOG_LENGTH\0" + "GL_INT\0" + "GL_INTENSITY\0" + "GL_INTENSITY12\0" + "GL_INTENSITY12_EXT\0" + "GL_INTENSITY16\0" + "GL_INTENSITY16I_EXT\0" + "GL_INTENSITY16UI_EXT\0" + "GL_INTENSITY16_EXT\0" + "GL_INTENSITY32I_EXT\0" + "GL_INTENSITY32UI_EXT\0" + "GL_INTENSITY4\0" + "GL_INTENSITY4_EXT\0" + "GL_INTENSITY8\0" + "GL_INTENSITY8I_EXT\0" + "GL_INTENSITY8UI_EXT\0" + "GL_INTENSITY8_EXT\0" + "GL_INTENSITY_EXT\0" + "GL_INTERLEAVED_ATTRIBS\0" + "GL_INTERLEAVED_ATTRIBS_EXT\0" + "GL_INTERPOLATE\0" + "GL_INTERPOLATE_ARB\0" + "GL_INTERPOLATE_EXT\0" + "GL_INT_10_10_10_2_OES\0" + "GL_INT_SAMPLER_1D\0" + "GL_INT_SAMPLER_1D_ARRAY\0" + "GL_INT_SAMPLER_1D_ARRAY_EXT\0" + "GL_INT_SAMPLER_1D_EXT\0" + "GL_INT_SAMPLER_2D\0" + "GL_INT_SAMPLER_2D_ARRAY\0" + "GL_INT_SAMPLER_2D_ARRAY_EXT\0" + "GL_INT_SAMPLER_2D_EXT\0" + "GL_INT_SAMPLER_2D_RECT\0" + "GL_INT_SAMPLER_2D_RECT_EXT\0" + "GL_INT_SAMPLER_3D\0" + "GL_INT_SAMPLER_3D_EXT\0" + "GL_INT_SAMPLER_BUFFER\0" + "GL_INT_SAMPLER_BUFFER_EXT\0" + "GL_INT_SAMPLER_CUBE\0" + "GL_INT_SAMPLER_CUBE_EXT\0" + "GL_INT_VEC2\0" + "GL_INT_VEC2_ARB\0" + "GL_INT_VEC3\0" + "GL_INT_VEC3_ARB\0" + "GL_INT_VEC4\0" + "GL_INT_VEC4_ARB\0" + "GL_INVALID_ENUM\0" + "GL_INVALID_FRAMEBUFFER_OPERATION\0" + "GL_INVALID_FRAMEBUFFER_OPERATION_EXT\0" + "GL_INVALID_FRAMEBUFFER_OPERATION_OES\0" + "GL_INVALID_OPERATION\0" + "GL_INVALID_VALUE\0" + "GL_INVERSE_NV\0" + "GL_INVERSE_TRANSPOSE_NV\0" + "GL_INVERT\0" + "GL_KEEP\0" + "GL_LAST_VERTEX_CONVENTION\0" + "GL_LAST_VERTEX_CONVENTION_EXT\0" + "GL_LEFT\0" + "GL_LEQUAL\0" + "GL_LESS\0" + "GL_LIGHT0\0" + "GL_LIGHT1\0" + "GL_LIGHT2\0" + "GL_LIGHT3\0" + "GL_LIGHT4\0" + "GL_LIGHT5\0" + "GL_LIGHT6\0" + "GL_LIGHT7\0" + "GL_LIGHTING\0" + "GL_LIGHTING_BIT\0" + "GL_LIGHT_MODEL_AMBIENT\0" + "GL_LIGHT_MODEL_COLOR_CONTROL\0" + "GL_LIGHT_MODEL_COLOR_CONTROL_EXT\0" + "GL_LIGHT_MODEL_LOCAL_VIEWER\0" + "GL_LIGHT_MODEL_TWO_SIDE\0" + "GL_LINE\0" + "GL_LINEAR\0" + "GL_LINEAR_ATTENUATION\0" + "GL_LINEAR_CLIPMAP_LINEAR_SGIX\0" + "GL_LINEAR_CLIPMAP_NEAREST_SGIX\0" + "GL_LINEAR_MIPMAP_LINEAR\0" + "GL_LINEAR_MIPMAP_NEAREST\0" + "GL_LINES\0" + "GL_LINES_ADJACENCY\0" + "GL_LINES_ADJACENCY_ARB\0" + "GL_LINE_BIT\0" + "GL_LINE_LOOP\0" + "GL_LINE_RESET_TOKEN\0" + "GL_LINE_SMOOTH\0" + "GL_LINE_SMOOTH_HINT\0" + "GL_LINE_STIPPLE\0" + "GL_LINE_STIPPLE_PATTERN\0" + "GL_LINE_STIPPLE_REPEAT\0" + "GL_LINE_STRIP\0" + "GL_LINE_STRIP_ADJACENCY\0" + "GL_LINE_STRIP_ADJACENCY_ARB\0" + "GL_LINE_TOKEN\0" + "GL_LINE_WIDTH\0" + "GL_LINE_WIDTH_GRANULARITY\0" + "GL_LINE_WIDTH_RANGE\0" + "GL_LINK_STATUS\0" + "GL_LIST_BASE\0" + "GL_LIST_BIT\0" + "GL_LIST_INDEX\0" + "GL_LIST_MODE\0" + "GL_LOAD\0" + "GL_LOGIC_OP\0" + "GL_LOGIC_OP_MODE\0" + "GL_LOWER_LEFT\0" + "GL_LOW_FLOAT\0" + "GL_LOW_INT\0" + "GL_LUMINANCE\0" + "GL_LUMINANCE12\0" + "GL_LUMINANCE12_ALPHA12\0" + "GL_LUMINANCE12_ALPHA12_EXT\0" + "GL_LUMINANCE12_ALPHA4\0" + "GL_LUMINANCE12_ALPHA4_EXT\0" + "GL_LUMINANCE12_EXT\0" + "GL_LUMINANCE16\0" + "GL_LUMINANCE16I_EXT\0" + "GL_LUMINANCE16UI_EXT\0" + "GL_LUMINANCE16_ALPHA16\0" + "GL_LUMINANCE16_ALPHA16_EXT\0" + "GL_LUMINANCE16_EXT\0" + "GL_LUMINANCE32I_EXT\0" + "GL_LUMINANCE32UI_EXT\0" + "GL_LUMINANCE4\0" + "GL_LUMINANCE4_ALPHA4\0" + "GL_LUMINANCE4_ALPHA4_EXT\0" + "GL_LUMINANCE4_EXT\0" + "GL_LUMINANCE6_ALPHA2\0" + "GL_LUMINANCE6_ALPHA2_EXT\0" + "GL_LUMINANCE8\0" + "GL_LUMINANCE8I_EXT\0" + "GL_LUMINANCE8UI_EXT\0" + "GL_LUMINANCE8_ALPHA8\0" + "GL_LUMINANCE8_ALPHA8_EXT\0" + "GL_LUMINANCE8_EXT\0" + "GL_LUMINANCE_ALPHA\0" + "GL_LUMINANCE_ALPHA16I_EXT\0" + "GL_LUMINANCE_ALPHA16UI_EXT\0" + "GL_LUMINANCE_ALPHA32I_EXT\0" + "GL_LUMINANCE_ALPHA32UI_EXT\0" + "GL_LUMINANCE_ALPHA8I_EXT\0" + "GL_LUMINANCE_ALPHA8UI_EXT\0" + "GL_LUMINANCE_ALPHA_INTEGER_EXT\0" + "GL_LUMINANCE_INTEGER_EXT\0" + "GL_MAJOR_VERSION\0" + "GL_MAP1_COLOR_4\0" + "GL_MAP1_GRID_DOMAIN\0" + "GL_MAP1_GRID_SEGMENTS\0" + "GL_MAP1_INDEX\0" + "GL_MAP1_NORMAL\0" + "GL_MAP1_TEXTURE_COORD_1\0" + "GL_MAP1_TEXTURE_COORD_2\0" + "GL_MAP1_TEXTURE_COORD_3\0" + "GL_MAP1_TEXTURE_COORD_4\0" + "GL_MAP1_VERTEX_3\0" + "GL_MAP1_VERTEX_4\0" + "GL_MAP1_VERTEX_ATTRIB0_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB10_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB11_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB12_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB13_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB14_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB15_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB1_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB2_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB3_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB4_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB5_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB6_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB7_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB8_4_NV\0" + "GL_MAP1_VERTEX_ATTRIB9_4_NV\0" + "GL_MAP2_COLOR_4\0" + "GL_MAP2_GRID_DOMAIN\0" + "GL_MAP2_GRID_SEGMENTS\0" + "GL_MAP2_INDEX\0" + "GL_MAP2_NORMAL\0" + "GL_MAP2_TEXTURE_COORD_1\0" + "GL_MAP2_TEXTURE_COORD_2\0" + "GL_MAP2_TEXTURE_COORD_3\0" + "GL_MAP2_TEXTURE_COORD_4\0" + "GL_MAP2_VERTEX_3\0" + "GL_MAP2_VERTEX_4\0" + "GL_MAP2_VERTEX_ATTRIB0_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB10_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB11_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB12_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB13_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB14_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB15_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB1_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB2_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB3_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB4_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB5_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB6_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB7_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB8_4_NV\0" + "GL_MAP2_VERTEX_ATTRIB9_4_NV\0" + "GL_MAP_COLOR\0" + "GL_MAP_FLUSH_EXPLICIT_BIT\0" + "GL_MAP_INVALIDATE_BUFFER_BIT\0" + "GL_MAP_INVALIDATE_RANGE_BIT\0" + "GL_MAP_READ_BIT\0" + "GL_MAP_STENCIL\0" + "GL_MAP_UNSYNCHRONIZED_BIT\0" + "GL_MAP_WRITE_BIT\0" + "GL_MATRIX0_ARB\0" + "GL_MATRIX0_NV\0" + "GL_MATRIX10_ARB\0" + "GL_MATRIX11_ARB\0" + "GL_MATRIX12_ARB\0" + "GL_MATRIX13_ARB\0" + "GL_MATRIX14_ARB\0" + "GL_MATRIX15_ARB\0" + "GL_MATRIX16_ARB\0" + "GL_MATRIX17_ARB\0" + "GL_MATRIX18_ARB\0" + "GL_MATRIX19_ARB\0" + "GL_MATRIX1_ARB\0" + "GL_MATRIX1_NV\0" + "GL_MATRIX20_ARB\0" + "GL_MATRIX21_ARB\0" + "GL_MATRIX22_ARB\0" + "GL_MATRIX23_ARB\0" + "GL_MATRIX24_ARB\0" + "GL_MATRIX25_ARB\0" + "GL_MATRIX26_ARB\0" + "GL_MATRIX27_ARB\0" + "GL_MATRIX28_ARB\0" + "GL_MATRIX29_ARB\0" + "GL_MATRIX2_ARB\0" + "GL_MATRIX2_NV\0" + "GL_MATRIX30_ARB\0" + "GL_MATRIX31_ARB\0" + "GL_MATRIX3_ARB\0" + "GL_MATRIX3_NV\0" + "GL_MATRIX4_ARB\0" + "GL_MATRIX4_NV\0" + "GL_MATRIX5_ARB\0" + "GL_MATRIX5_NV\0" + "GL_MATRIX6_ARB\0" + "GL_MATRIX6_NV\0" + "GL_MATRIX7_ARB\0" + "GL_MATRIX7_NV\0" + "GL_MATRIX8_ARB\0" + "GL_MATRIX9_ARB\0" + "GL_MATRIX_INDEX_ARRAY_ARB\0" + "GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES\0" + "GL_MATRIX_INDEX_ARRAY_OES\0" + "GL_MATRIX_INDEX_ARRAY_POINTER_ARB\0" + "GL_MATRIX_INDEX_ARRAY_POINTER_OES\0" + "GL_MATRIX_INDEX_ARRAY_SIZE_ARB\0" + "GL_MATRIX_INDEX_ARRAY_SIZE_OES\0" + "GL_MATRIX_INDEX_ARRAY_STRIDE_ARB\0" + "GL_MATRIX_INDEX_ARRAY_STRIDE_OES\0" + "GL_MATRIX_INDEX_ARRAY_TYPE_ARB\0" + "GL_MATRIX_INDEX_ARRAY_TYPE_OES\0" + "GL_MATRIX_MODE\0" + "GL_MATRIX_PALETTE_ARB\0" + "GL_MATRIX_PALETTE_OES\0" + "GL_MAX\0" + "GL_MAX_3D_TEXTURE_SIZE\0" + "GL_MAX_3D_TEXTURE_SIZE_OES\0" + "GL_MAX_ARRAY_TEXTURE_LAYERS\0" + "GL_MAX_ARRAY_TEXTURE_LAYERS_EXT\0" + "GL_MAX_ATTRIB_STACK_DEPTH\0" + "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH\0" + "GL_MAX_CLIPMAP_DEPTH_SGIX\0" + "GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX\0" + "GL_MAX_CLIP_DISTANCES\0" + "GL_MAX_CLIP_PLANES\0" + "GL_MAX_COLOR_ATTACHMENTS\0" + "GL_MAX_COLOR_ATTACHMENTS_EXT\0" + "GL_MAX_COLOR_MATRIX_STACK_DEPTH\0" + "GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI\0" + "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS\0" + "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB\0" + "GL_MAX_CONVOLUTION_HEIGHT\0" + "GL_MAX_CONVOLUTION_HEIGHT_EXT\0" + "GL_MAX_CONVOLUTION_WIDTH\0" + "GL_MAX_CONVOLUTION_WIDTH_EXT\0" + "GL_MAX_CUBE_MAP_TEXTURE_SIZE\0" + "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB\0" + "GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES\0" + "GL_MAX_DRAW_BUFFERS\0" + "GL_MAX_DRAW_BUFFERS_ARB\0" + "GL_MAX_DRAW_BUFFERS_ATI\0" + "GL_MAX_ELEMENTS_INDICES\0" + "GL_MAX_ELEMENTS_VERTICES\0" + "GL_MAX_EVAL_ORDER\0" + "GL_MAX_EXT\0" + "GL_MAX_FRAGMENT_INPUT_COMPONENTS\0" + "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS\0" + "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB\0" + "GL_MAX_FRAGMENT_UNIFORM_VECTORS\0" + "GL_MAX_GEOMETRY_INPUT_COMPONENTS\0" + "GL_MAX_GEOMETRY_OUTPUT_COMPONENTS\0" + "GL_MAX_GEOMETRY_OUTPUT_VERTICES\0" + "GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB\0" + "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS\0" + "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB\0" + "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS\0" + "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB\0" + "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS\0" + "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB\0" + "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB\0" + "GL_MAX_LIGHTS\0" + "GL_MAX_LIST_NESTING\0" + "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB\0" + "GL_MAX_MODELVIEW_STACK_DEPTH\0" + "GL_MAX_NAME_STACK_DEPTH\0" + "GL_MAX_PALETTE_MATRICES_ARB\0" + "GL_MAX_PALETTE_MATRICES_OES\0" + "GL_MAX_PIXEL_MAP_TABLE\0" + "GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB\0" + "GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB\0" + "GL_MAX_PROGRAM_ATTRIBS_ARB\0" + "GL_MAX_PROGRAM_CALL_DEPTH_NV\0" + "GL_MAX_PROGRAM_ENV_PARAMETERS_ARB\0" + "GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV\0" + "GL_MAX_PROGRAM_IF_DEPTH_NV\0" + "GL_MAX_PROGRAM_INSTRUCTIONS_ARB\0" + "GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB\0" + "GL_MAX_PROGRAM_LOOP_COUNT_NV\0" + "GL_MAX_PROGRAM_LOOP_DEPTH_NV\0" + "GL_MAX_PROGRAM_MATRICES_ARB\0" + "GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB\0" + "GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB\0" + "GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB\0" + "GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB\0" + "GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB\0" + "GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB\0" + "GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB\0" + "GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB\0" + "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB\0" + "GL_MAX_PROGRAM_PARAMETERS_ARB\0" + "GL_MAX_PROGRAM_TEMPORARIES_ARB\0" + "GL_MAX_PROGRAM_TEXEL_OFFSET\0" + "GL_MAX_PROGRAM_TEXEL_OFFSET_EXT\0" + "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB\0" + "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB\0" + "GL_MAX_PROJECTION_STACK_DEPTH\0" + "GL_MAX_RECTANGLE_TEXTURE_SIZE\0" + "GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB\0" + "GL_MAX_RECTANGLE_TEXTURE_SIZE_NV\0" + "GL_MAX_RENDERBUFFER_SIZE\0" + "GL_MAX_RENDERBUFFER_SIZE_EXT\0" + "GL_MAX_RENDERBUFFER_SIZE_OES\0" + "GL_MAX_SAMPLES\0" + "GL_MAX_SAMPLES_EXT\0" + "GL_MAX_SERVER_WAIT_TIMEOUT\0" + "GL_MAX_SHININESS_NV\0" + "GL_MAX_SPOT_EXPONENT_NV\0" + "GL_MAX_TEXTURE_BUFFER_SIZE\0" + "GL_MAX_TEXTURE_COORDS\0" + "GL_MAX_TEXTURE_COORDS_ARB\0" + "GL_MAX_TEXTURE_IMAGE_UNITS\0" + "GL_MAX_TEXTURE_IMAGE_UNITS_ARB\0" + "GL_MAX_TEXTURE_LOD_BIAS\0" + "GL_MAX_TEXTURE_LOD_BIAS_EXT\0" + "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT\0" + "GL_MAX_TEXTURE_SIZE\0" + "GL_MAX_TEXTURE_STACK_DEPTH\0" + "GL_MAX_TEXTURE_UNITS\0" + "GL_MAX_TEXTURE_UNITS_ARB\0" + "GL_MAX_TRACK_MATRICES_NV\0" + "GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV\0" + "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS\0" + "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT\0" + "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS\0" + "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT\0" + "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS\0" + "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT\0" + "GL_MAX_VARYING_COMPONENTS\0" + "GL_MAX_VARYING_FLOATS\0" + "GL_MAX_VARYING_FLOATS_ARB\0" + "GL_MAX_VARYING_VECTORS\0" + "GL_MAX_VERTEX_ATTRIBS\0" + "GL_MAX_VERTEX_ATTRIBS_ARB\0" + "GL_MAX_VERTEX_OUTPUT_COMPONENTS\0" + "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS\0" + "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB\0" + "GL_MAX_VERTEX_UNIFORM_COMPONENTS\0" + "GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB\0" + "GL_MAX_VERTEX_UNIFORM_VECTORS\0" + "GL_MAX_VERTEX_UNITS_ARB\0" + "GL_MAX_VERTEX_UNITS_OES\0" + "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB\0" + "GL_MAX_VIEWPORT_DIMS\0" + "GL_MEDIUM_FLOAT\0" + "GL_MEDIUM_INT\0" + "GL_MIN\0" + "GL_MINMAX\0" + "GL_MINMAX_EXT\0" + "GL_MINMAX_FORMAT\0" + "GL_MINMAX_FORMAT_EXT\0" + "GL_MINMAX_SINK\0" + "GL_MINMAX_SINK_EXT\0" + "GL_MINOR_VERSION\0" + "GL_MIN_EXT\0" + "GL_MIN_PROGRAM_TEXEL_OFFSET\0" + "GL_MIN_PROGRAM_TEXEL_OFFSET_EXT\0" + "GL_MIRRORED_REPEAT\0" + "GL_MIRRORED_REPEAT_ARB\0" + "GL_MIRRORED_REPEAT_IBM\0" + "GL_MIRROR_CLAMP_ATI\0" + "GL_MIRROR_CLAMP_EXT\0" + "GL_MIRROR_CLAMP_TO_BORDER_EXT\0" + "GL_MIRROR_CLAMP_TO_EDGE_ATI\0" + "GL_MIRROR_CLAMP_TO_EDGE_EXT\0" + "GL_MODELVIEW\0" + "GL_MODELVIEW0_ARB\0" + "GL_MODELVIEW10_ARB\0" + "GL_MODELVIEW11_ARB\0" + "GL_MODELVIEW12_ARB\0" + "GL_MODELVIEW13_ARB\0" + "GL_MODELVIEW14_ARB\0" + "GL_MODELVIEW15_ARB\0" + "GL_MODELVIEW16_ARB\0" + "GL_MODELVIEW17_ARB\0" + "GL_MODELVIEW18_ARB\0" + "GL_MODELVIEW19_ARB\0" + "GL_MODELVIEW1_ARB\0" + "GL_MODELVIEW20_ARB\0" + "GL_MODELVIEW21_ARB\0" + "GL_MODELVIEW22_ARB\0" + "GL_MODELVIEW23_ARB\0" + "GL_MODELVIEW24_ARB\0" + "GL_MODELVIEW25_ARB\0" + "GL_MODELVIEW26_ARB\0" + "GL_MODELVIEW27_ARB\0" + "GL_MODELVIEW28_ARB\0" + "GL_MODELVIEW29_ARB\0" + "GL_MODELVIEW2_ARB\0" + "GL_MODELVIEW30_ARB\0" + "GL_MODELVIEW31_ARB\0" + "GL_MODELVIEW3_ARB\0" + "GL_MODELVIEW4_ARB\0" + "GL_MODELVIEW5_ARB\0" + "GL_MODELVIEW6_ARB\0" + "GL_MODELVIEW7_ARB\0" + "GL_MODELVIEW8_ARB\0" + "GL_MODELVIEW9_ARB\0" + "GL_MODELVIEW_MATRIX\0" + "GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES\0" + "GL_MODELVIEW_PROJECTION_NV\0" + "GL_MODELVIEW_STACK_DEPTH\0" + "GL_MODULATE\0" + "GL_MODULATE_ADD_ATI\0" + "GL_MODULATE_SIGNED_ADD_ATI\0" + "GL_MODULATE_SUBTRACT_ATI\0" + "GL_MULT\0" + "GL_MULTISAMPLE\0" + "GL_MULTISAMPLE_3DFX\0" + "GL_MULTISAMPLE_ARB\0" + "GL_MULTISAMPLE_BIT\0" + "GL_MULTISAMPLE_BIT_3DFX\0" + "GL_MULTISAMPLE_BIT_ARB\0" + "GL_MULTISAMPLE_FILTER_HINT_NV\0" + "GL_N3F_V3F\0" + "GL_NAME_STACK_DEPTH\0" + "GL_NAND\0" + "GL_NEAREST\0" + "GL_NEAREST_CLIPMAP_LINEAR_SGIX\0" + "GL_NEAREST_CLIPMAP_NEAREST_SGIX\0" + "GL_NEAREST_MIPMAP_LINEAR\0" + "GL_NEAREST_MIPMAP_NEAREST\0" + "GL_NEVER\0" + "GL_NICEST\0" + "GL_NONE\0" + "GL_NONE_OES\0" + "GL_NOOP\0" + "GL_NOR\0" + "GL_NORMALIZE\0" + "GL_NORMAL_ARRAY\0" + "GL_NORMAL_ARRAY_BUFFER_BINDING\0" + "GL_NORMAL_ARRAY_BUFFER_BINDING_ARB\0" + "GL_NORMAL_ARRAY_POINTER\0" + "GL_NORMAL_ARRAY_STRIDE\0" + "GL_NORMAL_ARRAY_TYPE\0" + "GL_NORMAL_MAP\0" + "GL_NORMAL_MAP_ARB\0" + "GL_NORMAL_MAP_NV\0" + "GL_NORMAL_MAP_OES\0" + "GL_NOTEQUAL\0" + "GL_NO_ERROR\0" + "GL_NUM_COMPRESSED_TEXTURE_FORMATS\0" + "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB\0" + "GL_NUM_EXTENSIONS\0" + "GL_NUM_PROGRAM_BINARY_FORMATS_OES\0" + "GL_NUM_SHADER_BINARY_FORMATS\0" + "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB\0" + "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB\0" + "GL_OBJECT_ACTIVE_UNIFORMS_ARB\0" + "GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB\0" + "GL_OBJECT_ATTACHED_OBJECTS_ARB\0" + "GL_OBJECT_COMPILE_STATUS_ARB\0" + "GL_OBJECT_DELETE_STATUS_ARB\0" + "GL_OBJECT_INFO_LOG_LENGTH_ARB\0" + "GL_OBJECT_LINEAR\0" + "GL_OBJECT_LINK_STATUS_ARB\0" + "GL_OBJECT_PLANE\0" + "GL_OBJECT_SHADER_SOURCE_LENGTH_ARB\0" + "GL_OBJECT_SUBTYPE_ARB\0" + "GL_OBJECT_TYPE\0" + "GL_OBJECT_TYPE_ARB\0" + "GL_OBJECT_VALIDATE_STATUS_ARB\0" + "GL_OCCLUSION_TEST_HP\0" + "GL_OCCLUSION_TEST_RESULT_HP\0" + "GL_ONE\0" + "GL_ONE_MINUS_CONSTANT_ALPHA\0" + "GL_ONE_MINUS_CONSTANT_ALPHA_EXT\0" + "GL_ONE_MINUS_CONSTANT_COLOR\0" + "GL_ONE_MINUS_CONSTANT_COLOR_EXT\0" + "GL_ONE_MINUS_DST_ALPHA\0" + "GL_ONE_MINUS_DST_COLOR\0" + "GL_ONE_MINUS_SRC_ALPHA\0" + "GL_ONE_MINUS_SRC_COLOR\0" + "GL_OPERAND0_ALPHA\0" + "GL_OPERAND0_ALPHA_ARB\0" + "GL_OPERAND0_ALPHA_EXT\0" + "GL_OPERAND0_RGB\0" + "GL_OPERAND0_RGB_ARB\0" + "GL_OPERAND0_RGB_EXT\0" + "GL_OPERAND1_ALPHA\0" + "GL_OPERAND1_ALPHA_ARB\0" + "GL_OPERAND1_ALPHA_EXT\0" + "GL_OPERAND1_RGB\0" + "GL_OPERAND1_RGB_ARB\0" + "GL_OPERAND1_RGB_EXT\0" + "GL_OPERAND2_ALPHA\0" + "GL_OPERAND2_ALPHA_ARB\0" + "GL_OPERAND2_ALPHA_EXT\0" + "GL_OPERAND2_RGB\0" + "GL_OPERAND2_RGB_ARB\0" + "GL_OPERAND2_RGB_EXT\0" + "GL_OPERAND3_ALPHA_NV\0" + "GL_OPERAND3_RGB_NV\0" + "GL_OR\0" + "GL_ORDER\0" + "GL_OR_INVERTED\0" + "GL_OR_REVERSE\0" + "GL_OUT_OF_MEMORY\0" + "GL_PACK_ALIGNMENT\0" + "GL_PACK_IMAGE_HEIGHT\0" + "GL_PACK_INVERT_MESA\0" + "GL_PACK_LSB_FIRST\0" + "GL_PACK_ROW_LENGTH\0" + "GL_PACK_SKIP_IMAGES\0" + "GL_PACK_SKIP_PIXELS\0" + "GL_PACK_SKIP_ROWS\0" + "GL_PACK_SWAP_BYTES\0" + "GL_PALETTE4_R5_G6_B5_OES\0" + "GL_PALETTE4_RGB5_A1_OES\0" + "GL_PALETTE4_RGB8_OES\0" + "GL_PALETTE4_RGBA4_OES\0" + "GL_PALETTE4_RGBA8_OES\0" + "GL_PALETTE8_R5_G6_B5_OES\0" + "GL_PALETTE8_RGB5_A1_OES\0" + "GL_PALETTE8_RGB8_OES\0" + "GL_PALETTE8_RGBA4_OES\0" + "GL_PALETTE8_RGBA8_OES\0" + "GL_PASS_THROUGH_TOKEN\0" + "GL_PERSPECTIVE_CORRECTION_HINT\0" + "GL_PIXEL_MAP_A_TO_A\0" + "GL_PIXEL_MAP_A_TO_A_SIZE\0" + "GL_PIXEL_MAP_B_TO_B\0" + "GL_PIXEL_MAP_B_TO_B_SIZE\0" + "GL_PIXEL_MAP_G_TO_G\0" + "GL_PIXEL_MAP_G_TO_G_SIZE\0" + "GL_PIXEL_MAP_I_TO_A\0" + "GL_PIXEL_MAP_I_TO_A_SIZE\0" + "GL_PIXEL_MAP_I_TO_B\0" + "GL_PIXEL_MAP_I_TO_B_SIZE\0" + "GL_PIXEL_MAP_I_TO_G\0" + "GL_PIXEL_MAP_I_TO_G_SIZE\0" + "GL_PIXEL_MAP_I_TO_I\0" + "GL_PIXEL_MAP_I_TO_I_SIZE\0" + "GL_PIXEL_MAP_I_TO_R\0" + "GL_PIXEL_MAP_I_TO_R_SIZE\0" + "GL_PIXEL_MAP_R_TO_R\0" + "GL_PIXEL_MAP_R_TO_R_SIZE\0" + "GL_PIXEL_MAP_S_TO_S\0" + "GL_PIXEL_MAP_S_TO_S_SIZE\0" + "GL_PIXEL_MODE_BIT\0" + "GL_PIXEL_PACK_BUFFER\0" + "GL_PIXEL_PACK_BUFFER_BINDING\0" + "GL_PIXEL_PACK_BUFFER_BINDING_EXT\0" + "GL_PIXEL_PACK_BUFFER_EXT\0" + "GL_PIXEL_UNPACK_BUFFER\0" + "GL_PIXEL_UNPACK_BUFFER_BINDING\0" + "GL_PIXEL_UNPACK_BUFFER_BINDING_EXT\0" + "GL_PIXEL_UNPACK_BUFFER_EXT\0" + "GL_POINT\0" + "GL_POINTS\0" + "GL_POINT_BIT\0" + "GL_POINT_DISTANCE_ATTENUATION\0" + "GL_POINT_DISTANCE_ATTENUATION_ARB\0" + "GL_POINT_DISTANCE_ATTENUATION_EXT\0" + "GL_POINT_DISTANCE_ATTENUATION_SGIS\0" + "GL_POINT_FADE_THRESHOLD_SIZE\0" + "GL_POINT_FADE_THRESHOLD_SIZE_ARB\0" + "GL_POINT_FADE_THRESHOLD_SIZE_EXT\0" + "GL_POINT_FADE_THRESHOLD_SIZE_SGIS\0" + "GL_POINT_SIZE\0" + "GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES\0" + "GL_POINT_SIZE_ARRAY_OES\0" + "GL_POINT_SIZE_ARRAY_POINTER_OES\0" + "GL_POINT_SIZE_ARRAY_STRIDE_OES\0" + "GL_POINT_SIZE_ARRAY_TYPE_OES\0" + "GL_POINT_SIZE_GRANULARITY\0" + "GL_POINT_SIZE_MAX\0" + "GL_POINT_SIZE_MAX_ARB\0" + "GL_POINT_SIZE_MAX_EXT\0" + "GL_POINT_SIZE_MAX_SGIS\0" + "GL_POINT_SIZE_MIN\0" + "GL_POINT_SIZE_MIN_ARB\0" + "GL_POINT_SIZE_MIN_EXT\0" + "GL_POINT_SIZE_MIN_SGIS\0" + "GL_POINT_SIZE_RANGE\0" + "GL_POINT_SMOOTH\0" + "GL_POINT_SMOOTH_HINT\0" + "GL_POINT_SPRITE\0" + "GL_POINT_SPRITE_ARB\0" + "GL_POINT_SPRITE_COORD_ORIGIN\0" + "GL_POINT_SPRITE_NV\0" + "GL_POINT_SPRITE_OES\0" + "GL_POINT_SPRITE_R_MODE_NV\0" + "GL_POINT_TOKEN\0" + "GL_POLYGON\0" + "GL_POLYGON_BIT\0" + "GL_POLYGON_MODE\0" + "GL_POLYGON_OFFSET_BIAS\0" + "GL_POLYGON_OFFSET_FACTOR\0" + "GL_POLYGON_OFFSET_FILL\0" + "GL_POLYGON_OFFSET_LINE\0" + "GL_POLYGON_OFFSET_POINT\0" + "GL_POLYGON_OFFSET_UNITS\0" + "GL_POLYGON_SMOOTH\0" + "GL_POLYGON_SMOOTH_HINT\0" + "GL_POLYGON_STIPPLE\0" + "GL_POLYGON_STIPPLE_BIT\0" + "GL_POLYGON_TOKEN\0" + "GL_POSITION\0" + "GL_POST_COLOR_MATRIX_ALPHA_BIAS\0" + "GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI\0" + "GL_POST_COLOR_MATRIX_ALPHA_SCALE\0" + "GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI\0" + "GL_POST_COLOR_MATRIX_BLUE_BIAS\0" + "GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI\0" + "GL_POST_COLOR_MATRIX_BLUE_SCALE\0" + "GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI\0" + "GL_POST_COLOR_MATRIX_COLOR_TABLE\0" + "GL_POST_COLOR_MATRIX_GREEN_BIAS\0" + "GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI\0" + "GL_POST_COLOR_MATRIX_GREEN_SCALE\0" + "GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI\0" + "GL_POST_COLOR_MATRIX_RED_BIAS\0" + "GL_POST_COLOR_MATRIX_RED_BIAS_SGI\0" + "GL_POST_COLOR_MATRIX_RED_SCALE\0" + "GL_POST_COLOR_MATRIX_RED_SCALE_SGI\0" + "GL_POST_CONVOLUTION_ALPHA_BIAS\0" + "GL_POST_CONVOLUTION_ALPHA_BIAS_EXT\0" + "GL_POST_CONVOLUTION_ALPHA_SCALE\0" + "GL_POST_CONVOLUTION_ALPHA_SCALE_EXT\0" + "GL_POST_CONVOLUTION_BLUE_BIAS\0" + "GL_POST_CONVOLUTION_BLUE_BIAS_EXT\0" + "GL_POST_CONVOLUTION_BLUE_SCALE\0" + "GL_POST_CONVOLUTION_BLUE_SCALE_EXT\0" + "GL_POST_CONVOLUTION_COLOR_TABLE\0" + "GL_POST_CONVOLUTION_GREEN_BIAS\0" + "GL_POST_CONVOLUTION_GREEN_BIAS_EXT\0" + "GL_POST_CONVOLUTION_GREEN_SCALE\0" + "GL_POST_CONVOLUTION_GREEN_SCALE_EXT\0" + "GL_POST_CONVOLUTION_RED_BIAS\0" + "GL_POST_CONVOLUTION_RED_BIAS_EXT\0" + "GL_POST_CONVOLUTION_RED_SCALE\0" + "GL_POST_CONVOLUTION_RED_SCALE_EXT\0" + "GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX\0" + "GL_POST_TEXTURE_FILTER_BIAS_SGIX\0" + "GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX\0" + "GL_POST_TEXTURE_FILTER_SCALE_SGIX\0" + "GL_PREVIOUS\0" + "GL_PREVIOUS_ARB\0" + "GL_PREVIOUS_EXT\0" + "GL_PRIMARY_COLOR\0" + "GL_PRIMARY_COLOR_ARB\0" + "GL_PRIMARY_COLOR_EXT\0" + "GL_PRIMITIVES_GENERATED\0" + "GL_PRIMITIVES_GENERATED_EXT\0" + "GL_PRIMITIVE_RESTART\0" + "GL_PRIMITIVE_RESTART_INDEX\0" + "GL_PRIMITIVE_RESTART_INDEX_NV\0" + "GL_PRIMITIVE_RESTART_NV\0" + "GL_PROGRAM_ADDRESS_REGISTERS_ARB\0" + "GL_PROGRAM_ALU_INSTRUCTIONS_ARB\0" + "GL_PROGRAM_ATTRIBS_ARB\0" + "GL_PROGRAM_BINARY_FORMATS_OES\0" + "GL_PROGRAM_BINARY_LENGTH_OES\0" + "GL_PROGRAM_BINDING_ARB\0" + "GL_PROGRAM_ERROR_POSITION_ARB\0" + "GL_PROGRAM_ERROR_POSITION_NV\0" + "GL_PROGRAM_ERROR_STRING_ARB\0" + "GL_PROGRAM_FORMAT_ARB\0" + "GL_PROGRAM_FORMAT_ASCII_ARB\0" + "GL_PROGRAM_INSTRUCTIONS_ARB\0" + "GL_PROGRAM_LENGTH_ARB\0" + "GL_PROGRAM_LENGTH_NV\0" + "GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB\0" + "GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB\0" + "GL_PROGRAM_NATIVE_ATTRIBS_ARB\0" + "GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB\0" + "GL_PROGRAM_NATIVE_PARAMETERS_ARB\0" + "GL_PROGRAM_NATIVE_TEMPORARIES_ARB\0" + "GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB\0" + "GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB\0" + "GL_PROGRAM_OBJECT_ARB\0" + "GL_PROGRAM_PARAMETERS_ARB\0" + "GL_PROGRAM_PARAMETER_NV\0" + "GL_PROGRAM_POINT_SIZE\0" + "GL_PROGRAM_POINT_SIZE_ARB\0" + "GL_PROGRAM_RESIDENT_NV\0" + "GL_PROGRAM_STRING_ARB\0" + "GL_PROGRAM_STRING_NV\0" + "GL_PROGRAM_TARGET_NV\0" + "GL_PROGRAM_TEMPORARIES_ARB\0" + "GL_PROGRAM_TEX_INDIRECTIONS_ARB\0" + "GL_PROGRAM_TEX_INSTRUCTIONS_ARB\0" + "GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB\0" + "GL_PROJECTION\0" + "GL_PROJECTION_MATRIX\0" + "GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES\0" + "GL_PROJECTION_STACK_DEPTH\0" + "GL_PROVOKING_VERTEX\0" + "GL_PROVOKING_VERTEX_EXT\0" + "GL_PROXY_COLOR_TABLE\0" + "GL_PROXY_HISTOGRAM\0" + "GL_PROXY_HISTOGRAM_EXT\0" + "GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE\0" + "GL_PROXY_POST_CONVOLUTION_COLOR_TABLE\0" + "GL_PROXY_TEXTURE_1D\0" + "GL_PROXY_TEXTURE_1D_ARRAY\0" + "GL_PROXY_TEXTURE_1D_ARRAY_EXT\0" + "GL_PROXY_TEXTURE_1D_EXT\0" + "GL_PROXY_TEXTURE_2D\0" + "GL_PROXY_TEXTURE_2D_ARRAY\0" + "GL_PROXY_TEXTURE_2D_ARRAY_EXT\0" + "GL_PROXY_TEXTURE_2D_EXT\0" + "GL_PROXY_TEXTURE_3D\0" + "GL_PROXY_TEXTURE_COLOR_TABLE_SGI\0" + "GL_PROXY_TEXTURE_CUBE_MAP\0" + "GL_PROXY_TEXTURE_CUBE_MAP_ARB\0" + "GL_PROXY_TEXTURE_RECTANGLE\0" + "GL_PROXY_TEXTURE_RECTANGLE_ARB\0" + "GL_PROXY_TEXTURE_RECTANGLE_NV\0" + "GL_PURGEABLE_APPLE\0" + "GL_Q\0" + "GL_QUADRATIC_ATTENUATION\0" + "GL_QUADS\0" + "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION\0" + "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT\0" + "GL_QUAD_MESH_SUN\0" + "GL_QUAD_STRIP\0" + "GL_QUERY_BY_REGION_NO_WAIT\0" + "GL_QUERY_BY_REGION_NO_WAIT_NV\0" + "GL_QUERY_BY_REGION_WAIT\0" + "GL_QUERY_BY_REGION_WAIT_NV\0" + "GL_QUERY_COUNTER_BITS\0" + "GL_QUERY_COUNTER_BITS_ARB\0" + "GL_QUERY_NO_WAIT\0" + "GL_QUERY_NO_WAIT_NV\0" + "GL_QUERY_RESULT\0" + "GL_QUERY_RESULT_ARB\0" + "GL_QUERY_RESULT_AVAILABLE\0" + "GL_QUERY_RESULT_AVAILABLE_ARB\0" + "GL_QUERY_WAIT\0" + "GL_QUERY_WAIT_NV\0" + "GL_R\0" + "GL_R11F_G11F_B10F\0" + "GL_R16_SNORM\0" + "GL_R3_G3_B2\0" + "GL_R8_SNORM\0" + "GL_RASTERIZER_DISCARD\0" + "GL_RASTERIZER_DISCARD_EXT\0" + "GL_RASTER_POSITION_UNCLIPPED_IBM\0" + "GL_READ_BUFFER\0" + "GL_READ_FRAMEBUFFER\0" + "GL_READ_FRAMEBUFFER_BINDING\0" + "GL_READ_FRAMEBUFFER_BINDING_EXT\0" + "GL_READ_FRAMEBUFFER_EXT\0" + "GL_READ_ONLY\0" + "GL_READ_ONLY_ARB\0" + "GL_READ_WRITE\0" + "GL_READ_WRITE_ARB\0" + "GL_RED\0" + "GL_REDUCE\0" + "GL_REDUCE_EXT\0" + "GL_RED_BIAS\0" + "GL_RED_BITS\0" + "GL_RED_INTEGER\0" + "GL_RED_INTEGER_EXT\0" + "GL_RED_SCALE\0" + "GL_RED_SNORM\0" + "GL_REFLECTION_MAP\0" + "GL_REFLECTION_MAP_ARB\0" + "GL_REFLECTION_MAP_NV\0" + "GL_REFLECTION_MAP_OES\0" + "GL_RELEASED_APPLE\0" + "GL_RENDER\0" + "GL_RENDERBUFFER\0" + "GL_RENDERBUFFER_ALPHA_SIZE\0" + "GL_RENDERBUFFER_ALPHA_SIZE_OES\0" + "GL_RENDERBUFFER_BINDING\0" + "GL_RENDERBUFFER_BINDING_EXT\0" + "GL_RENDERBUFFER_BINDING_OES\0" + "GL_RENDERBUFFER_BLUE_SIZE\0" + "GL_RENDERBUFFER_BLUE_SIZE_OES\0" + "GL_RENDERBUFFER_DEPTH_SIZE\0" + "GL_RENDERBUFFER_DEPTH_SIZE_OES\0" + "GL_RENDERBUFFER_EXT\0" + "GL_RENDERBUFFER_GREEN_SIZE\0" + "GL_RENDERBUFFER_GREEN_SIZE_OES\0" + "GL_RENDERBUFFER_HEIGHT\0" + "GL_RENDERBUFFER_HEIGHT_EXT\0" + "GL_RENDERBUFFER_HEIGHT_OES\0" + "GL_RENDERBUFFER_INTERNAL_FORMAT\0" + "GL_RENDERBUFFER_INTERNAL_FORMAT_EXT\0" + "GL_RENDERBUFFER_INTERNAL_FORMAT_OES\0" + "GL_RENDERBUFFER_OES\0" + "GL_RENDERBUFFER_RED_SIZE\0" + "GL_RENDERBUFFER_RED_SIZE_OES\0" + "GL_RENDERBUFFER_SAMPLES\0" + "GL_RENDERBUFFER_SAMPLES_EXT\0" + "GL_RENDERBUFFER_STENCIL_SIZE\0" + "GL_RENDERBUFFER_STENCIL_SIZE_OES\0" + "GL_RENDERBUFFER_WIDTH\0" + "GL_RENDERBUFFER_WIDTH_EXT\0" + "GL_RENDERBUFFER_WIDTH_OES\0" + "GL_RENDERER\0" + "GL_RENDER_MODE\0" + "GL_REPEAT\0" + "GL_REPLACE\0" + "GL_REPLACE_EXT\0" + "GL_REPLICATE_BORDER_HP\0" + "GL_RESCALE_NORMAL\0" + "GL_RESCALE_NORMAL_EXT\0" + "GL_RETAINED_APPLE\0" + "GL_RETURN\0" + "GL_RG16_SNORM\0" + "GL_RG8_SNORM\0" + "GL_RGB\0" + "GL_RGB10\0" + "GL_RGB10_A2\0" + "GL_RGB10_A2_EXT\0" + "GL_RGB10_EXT\0" + "GL_RGB12\0" + "GL_RGB12_EXT\0" + "GL_RGB16\0" + "GL_RGB16F\0" + "GL_RGB16I\0" + "GL_RGB16I_EXT\0" + "GL_RGB16UI\0" + "GL_RGB16UI_EXT\0" + "GL_RGB16_EXT\0" + "GL_RGB16_SNORM\0" + "GL_RGB2_EXT\0" + "GL_RGB32F\0" + "GL_RGB32I\0" + "GL_RGB32I_EXT\0" + "GL_RGB32UI\0" + "GL_RGB32UI_EXT\0" + "GL_RGB4\0" + "GL_RGB4_EXT\0" + "GL_RGB4_S3TC\0" + "GL_RGB5\0" + "GL_RGB565\0" + "GL_RGB565_OES\0" + "GL_RGB5_A1\0" + "GL_RGB5_A1_EXT\0" + "GL_RGB5_A1_OES\0" + "GL_RGB5_EXT\0" + "GL_RGB8\0" + "GL_RGB8I\0" + "GL_RGB8I_EXT\0" + "GL_RGB8UI\0" + "GL_RGB8UI_EXT\0" + "GL_RGB8_EXT\0" + "GL_RGB8_OES\0" + "GL_RGB8_SNORM\0" + "GL_RGB9_E5\0" + "GL_RGBA\0" + "GL_RGBA12\0" + "GL_RGBA12_EXT\0" + "GL_RGBA16\0" + "GL_RGBA16F\0" + "GL_RGBA16I\0" + "GL_RGBA16I_EXT\0" + "GL_RGBA16UI\0" + "GL_RGBA16UI_EXT\0" + "GL_RGBA16_EXT\0" + "GL_RGBA16_SNORM\0" + "GL_RGBA2\0" + "GL_RGBA2_EXT\0" + "GL_RGBA32F\0" + "GL_RGBA32I\0" + "GL_RGBA32I_EXT\0" + "GL_RGBA32UI\0" + "GL_RGBA32UI_EXT\0" + "GL_RGBA4\0" + "GL_RGBA4_DXT5_S3TC\0" + "GL_RGBA4_EXT\0" + "GL_RGBA4_OES\0" + "GL_RGBA4_S3TC\0" + "GL_RGBA8\0" + "GL_RGBA8I\0" + "GL_RGBA8I_EXT\0" + "GL_RGBA8UI\0" + "GL_RGBA8UI_EXT\0" + "GL_RGBA8_EXT\0" + "GL_RGBA8_OES\0" + "GL_RGBA8_SNORM\0" + "GL_RGBA_DXT5_S3TC\0" + "GL_RGBA_INTEGER\0" + "GL_RGBA_INTEGER_EXT\0" + "GL_RGBA_INTEGER_MODE_EXT\0" + "GL_RGBA_MODE\0" + "GL_RGBA_S3TC\0" + "GL_RGBA_SNORM\0" + "GL_RGB_INTEGER\0" + "GL_RGB_INTEGER_EXT\0" + "GL_RGB_S3TC\0" + "GL_RGB_SCALE\0" + "GL_RGB_SCALE_ARB\0" + "GL_RGB_SCALE_EXT\0" + "GL_RGB_SNORM\0" + "GL_RG_SNORM\0" + "GL_RIGHT\0" + "GL_S\0" + "GL_SAMPLER_1D\0" + "GL_SAMPLER_1D_ARRAY\0" + "GL_SAMPLER_1D_ARRAY_EXT\0" + "GL_SAMPLER_1D_ARRAY_SHADOW\0" + "GL_SAMPLER_1D_ARRAY_SHADOW_EXT\0" + "GL_SAMPLER_1D_SHADOW\0" + "GL_SAMPLER_2D\0" + "GL_SAMPLER_2D_ARRAY\0" + "GL_SAMPLER_2D_ARRAY_EXT\0" + "GL_SAMPLER_2D_ARRAY_SHADOW\0" + "GL_SAMPLER_2D_ARRAY_SHADOW_EXT\0" + "GL_SAMPLER_2D_RECT\0" + "GL_SAMPLER_2D_RECT_SHADOW\0" + "GL_SAMPLER_2D_SHADOW\0" + "GL_SAMPLER_3D\0" + "GL_SAMPLER_3D_OES\0" + "GL_SAMPLER_BUFFER\0" + "GL_SAMPLER_BUFFER_EXT\0" + "GL_SAMPLER_CUBE\0" + "GL_SAMPLER_CUBE_SHADOW\0" + "GL_SAMPLER_CUBE_SHADOW_EXT\0" + "GL_SAMPLES\0" + "GL_SAMPLES_3DFX\0" + "GL_SAMPLES_ARB\0" + "GL_SAMPLES_PASSED\0" + "GL_SAMPLES_PASSED_ARB\0" + "GL_SAMPLE_ALPHA_TO_COVERAGE\0" + "GL_SAMPLE_ALPHA_TO_COVERAGE_ARB\0" + "GL_SAMPLE_ALPHA_TO_ONE\0" + "GL_SAMPLE_ALPHA_TO_ONE_ARB\0" + "GL_SAMPLE_BUFFERS\0" + "GL_SAMPLE_BUFFERS_3DFX\0" + "GL_SAMPLE_BUFFERS_ARB\0" + "GL_SAMPLE_COVERAGE\0" + "GL_SAMPLE_COVERAGE_ARB\0" + "GL_SAMPLE_COVERAGE_INVERT\0" + "GL_SAMPLE_COVERAGE_INVERT_ARB\0" + "GL_SAMPLE_COVERAGE_VALUE\0" + "GL_SAMPLE_COVERAGE_VALUE_ARB\0" + "GL_SCISSOR_BIT\0" + "GL_SCISSOR_BOX\0" + "GL_SCISSOR_TEST\0" + "GL_SECONDARY_COLOR_ARRAY\0" + "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING\0" + "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB\0" + "GL_SECONDARY_COLOR_ARRAY_POINTER\0" + "GL_SECONDARY_COLOR_ARRAY_SIZE\0" + "GL_SECONDARY_COLOR_ARRAY_STRIDE\0" + "GL_SECONDARY_COLOR_ARRAY_TYPE\0" + "GL_SELECT\0" + "GL_SELECTION_BUFFER_POINTER\0" + "GL_SELECTION_BUFFER_SIZE\0" + "GL_SEPARABLE_2D\0" + "GL_SEPARATE_ATTRIBS\0" + "GL_SEPARATE_ATTRIBS_EXT\0" + "GL_SEPARATE_SPECULAR_COLOR\0" + "GL_SEPARATE_SPECULAR_COLOR_EXT\0" + "GL_SET\0" + "GL_SHADER_BINARY_FORMATS\0" + "GL_SHADER_COMPILER\0" + "GL_SHADER_OBJECT_ARB\0" + "GL_SHADER_SOURCE_LENGTH\0" + "GL_SHADER_TYPE\0" + "GL_SHADE_MODEL\0" + "GL_SHADING_LANGUAGE_VERSION\0" + "GL_SHADOW_AMBIENT_SGIX\0" + "GL_SHARED_TEXTURE_PALETTE_EXT\0" + "GL_SHININESS\0" + "GL_SHORT\0" + "GL_SIGNALED\0" + "GL_SIGNED_NORMALIZED\0" + "GL_SINGLE_COLOR\0" + "GL_SINGLE_COLOR_EXT\0" + "GL_SLICE_ACCUM_SUN\0" + "GL_SLUMINANCE\0" + "GL_SLUMINANCE8\0" + "GL_SLUMINANCE8_ALPHA8\0" + "GL_SLUMINANCE_ALPHA\0" + "GL_SMOOTH\0" + "GL_SMOOTH_LINE_WIDTH_GRANULARITY\0" + "GL_SMOOTH_LINE_WIDTH_RANGE\0" + "GL_SMOOTH_POINT_SIZE_GRANULARITY\0" + "GL_SMOOTH_POINT_SIZE_RANGE\0" + "GL_SOURCE0_ALPHA\0" + "GL_SOURCE0_ALPHA_ARB\0" + "GL_SOURCE0_ALPHA_EXT\0" + "GL_SOURCE0_RGB\0" + "GL_SOURCE0_RGB_ARB\0" + "GL_SOURCE0_RGB_EXT\0" + "GL_SOURCE1_ALPHA\0" + "GL_SOURCE1_ALPHA_ARB\0" + "GL_SOURCE1_ALPHA_EXT\0" + "GL_SOURCE1_RGB\0" + "GL_SOURCE1_RGB_ARB\0" + "GL_SOURCE1_RGB_EXT\0" + "GL_SOURCE2_ALPHA\0" + "GL_SOURCE2_ALPHA_ARB\0" + "GL_SOURCE2_ALPHA_EXT\0" + "GL_SOURCE2_RGB\0" + "GL_SOURCE2_RGB_ARB\0" + "GL_SOURCE2_RGB_EXT\0" + "GL_SOURCE3_ALPHA_NV\0" + "GL_SOURCE3_RGB_NV\0" + "GL_SPECULAR\0" + "GL_SPHERE_MAP\0" + "GL_SPOT_CUTOFF\0" + "GL_SPOT_DIRECTION\0" + "GL_SPOT_EXPONENT\0" + "GL_SRC0_ALPHA\0" + "GL_SRC0_RGB\0" + "GL_SRC1_ALPHA\0" + "GL_SRC1_RGB\0" + "GL_SRC2_ALPHA\0" + "GL_SRC2_RGB\0" + "GL_SRC_ALPHA\0" + "GL_SRC_ALPHA_SATURATE\0" + "GL_SRC_COLOR\0" + "GL_SRGB\0" + "GL_SRGB8\0" + "GL_SRGB8_ALPHA8\0" + "GL_SRGB_ALPHA\0" + "GL_STACK_OVERFLOW\0" + "GL_STACK_UNDERFLOW\0" + "GL_STATIC_COPY\0" + "GL_STATIC_COPY_ARB\0" + "GL_STATIC_DRAW\0" + "GL_STATIC_DRAW_ARB\0" + "GL_STATIC_READ\0" + "GL_STATIC_READ_ARB\0" + "GL_STENCIL\0" + "GL_STENCIL_ATTACHMENT\0" + "GL_STENCIL_ATTACHMENT_EXT\0" + "GL_STENCIL_ATTACHMENT_OES\0" + "GL_STENCIL_BACK_FAIL\0" + "GL_STENCIL_BACK_FAIL_ATI\0" + "GL_STENCIL_BACK_FUNC\0" + "GL_STENCIL_BACK_FUNC_ATI\0" + "GL_STENCIL_BACK_PASS_DEPTH_FAIL\0" + "GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI\0" + "GL_STENCIL_BACK_PASS_DEPTH_PASS\0" + "GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI\0" + "GL_STENCIL_BACK_REF\0" + "GL_STENCIL_BACK_VALUE_MASK\0" + "GL_STENCIL_BACK_WRITEMASK\0" + "GL_STENCIL_BITS\0" + "GL_STENCIL_BUFFER\0" + "GL_STENCIL_BUFFER_BIT\0" + "GL_STENCIL_CLEAR_VALUE\0" + "GL_STENCIL_FAIL\0" + "GL_STENCIL_FUNC\0" + "GL_STENCIL_INDEX\0" + "GL_STENCIL_INDEX1\0" + "GL_STENCIL_INDEX16\0" + "GL_STENCIL_INDEX16_EXT\0" + "GL_STENCIL_INDEX1_EXT\0" + "GL_STENCIL_INDEX1_OES\0" + "GL_STENCIL_INDEX4\0" + "GL_STENCIL_INDEX4_EXT\0" + "GL_STENCIL_INDEX4_OES\0" + "GL_STENCIL_INDEX8\0" + "GL_STENCIL_INDEX8_EXT\0" + "GL_STENCIL_INDEX8_OES\0" + "GL_STENCIL_INDEX_EXT\0" + "GL_STENCIL_PASS_DEPTH_FAIL\0" + "GL_STENCIL_PASS_DEPTH_PASS\0" + "GL_STENCIL_REF\0" + "GL_STENCIL_TEST\0" + "GL_STENCIL_TEST_TWO_SIDE_EXT\0" + "GL_STENCIL_VALUE_MASK\0" + "GL_STENCIL_WRITEMASK\0" + "GL_STEREO\0" + "GL_STORAGE_CACHED_APPLE\0" + "GL_STORAGE_PRIVATE_APPLE\0" + "GL_STORAGE_SHARED_APPLE\0" + "GL_STREAM_COPY\0" + "GL_STREAM_COPY_ARB\0" + "GL_STREAM_DRAW\0" + "GL_STREAM_DRAW_ARB\0" + "GL_STREAM_READ\0" + "GL_STREAM_READ_ARB\0" + "GL_SUBPIXEL_BITS\0" + "GL_SUBTRACT\0" + "GL_SUBTRACT_ARB\0" + "GL_SYNC_CONDITION\0" + "GL_SYNC_FENCE\0" + "GL_SYNC_FLAGS\0" + "GL_SYNC_FLUSH_COMMANDS_BIT\0" + "GL_SYNC_GPU_COMMANDS_COMPLETE\0" + "GL_SYNC_STATUS\0" + "GL_T\0" + "GL_T2F_C3F_V3F\0" + "GL_T2F_C4F_N3F_V3F\0" + "GL_T2F_C4UB_V3F\0" + "GL_T2F_N3F_V3F\0" + "GL_T2F_V3F\0" + "GL_T4F_C4F_N3F_V4F\0" + "GL_T4F_V4F\0" + "GL_TABLE_TOO_LARGE_EXT\0" + "GL_TEXTURE\0" + "GL_TEXTURE0\0" + "GL_TEXTURE0_ARB\0" + "GL_TEXTURE1\0" + "GL_TEXTURE10\0" + "GL_TEXTURE10_ARB\0" + "GL_TEXTURE11\0" + "GL_TEXTURE11_ARB\0" + "GL_TEXTURE12\0" + "GL_TEXTURE12_ARB\0" + "GL_TEXTURE13\0" + "GL_TEXTURE13_ARB\0" + "GL_TEXTURE14\0" + "GL_TEXTURE14_ARB\0" + "GL_TEXTURE15\0" + "GL_TEXTURE15_ARB\0" + "GL_TEXTURE16\0" + "GL_TEXTURE16_ARB\0" + "GL_TEXTURE17\0" + "GL_TEXTURE17_ARB\0" + "GL_TEXTURE18\0" + "GL_TEXTURE18_ARB\0" + "GL_TEXTURE19\0" + "GL_TEXTURE19_ARB\0" + "GL_TEXTURE1_ARB\0" + "GL_TEXTURE2\0" + "GL_TEXTURE20\0" + "GL_TEXTURE20_ARB\0" + "GL_TEXTURE21\0" + "GL_TEXTURE21_ARB\0" + "GL_TEXTURE22\0" + "GL_TEXTURE22_ARB\0" + "GL_TEXTURE23\0" + "GL_TEXTURE23_ARB\0" + "GL_TEXTURE24\0" + "GL_TEXTURE24_ARB\0" + "GL_TEXTURE25\0" + "GL_TEXTURE25_ARB\0" + "GL_TEXTURE26\0" + "GL_TEXTURE26_ARB\0" + "GL_TEXTURE27\0" + "GL_TEXTURE27_ARB\0" + "GL_TEXTURE28\0" + "GL_TEXTURE28_ARB\0" + "GL_TEXTURE29\0" + "GL_TEXTURE29_ARB\0" + "GL_TEXTURE2_ARB\0" + "GL_TEXTURE3\0" + "GL_TEXTURE30\0" + "GL_TEXTURE30_ARB\0" + "GL_TEXTURE31\0" + "GL_TEXTURE31_ARB\0" + "GL_TEXTURE3_ARB\0" + "GL_TEXTURE4\0" + "GL_TEXTURE4_ARB\0" + "GL_TEXTURE5\0" + "GL_TEXTURE5_ARB\0" + "GL_TEXTURE6\0" + "GL_TEXTURE6_ARB\0" + "GL_TEXTURE7\0" + "GL_TEXTURE7_ARB\0" + "GL_TEXTURE8\0" + "GL_TEXTURE8_ARB\0" + "GL_TEXTURE9\0" + "GL_TEXTURE9_ARB\0" + "GL_TEXTURE_1D\0" + "GL_TEXTURE_1D_ARRAY\0" + "GL_TEXTURE_1D_ARRAY_EXT\0" + "GL_TEXTURE_2D\0" + "GL_TEXTURE_2D_ARRAY\0" + "GL_TEXTURE_2D_ARRAY_EXT\0" + "GL_TEXTURE_3D\0" + "GL_TEXTURE_3D_OES\0" + "GL_TEXTURE_ALPHA_SIZE\0" + "GL_TEXTURE_ALPHA_SIZE_EXT\0" + "GL_TEXTURE_BASE_LEVEL\0" + "GL_TEXTURE_BINDING_1D\0" + "GL_TEXTURE_BINDING_1D_ARRAY\0" + "GL_TEXTURE_BINDING_1D_ARRAY_EXT\0" + "GL_TEXTURE_BINDING_2D\0" + "GL_TEXTURE_BINDING_2D_ARRAY\0" + "GL_TEXTURE_BINDING_2D_ARRAY_EXT\0" + "GL_TEXTURE_BINDING_3D\0" + "GL_TEXTURE_BINDING_3D_OES\0" + "GL_TEXTURE_BINDING_BUFFER\0" + "GL_TEXTURE_BINDING_CUBE_MAP\0" + "GL_TEXTURE_BINDING_CUBE_MAP_ARB\0" + "GL_TEXTURE_BINDING_CUBE_MAP_OES\0" + "GL_TEXTURE_BINDING_RECTANGLE\0" + "GL_TEXTURE_BINDING_RECTANGLE_ARB\0" + "GL_TEXTURE_BINDING_RECTANGLE_NV\0" + "GL_TEXTURE_BIT\0" + "GL_TEXTURE_BLUE_SIZE\0" + "GL_TEXTURE_BLUE_SIZE_EXT\0" + "GL_TEXTURE_BORDER\0" + "GL_TEXTURE_BORDER_COLOR\0" + "GL_TEXTURE_BUFFER\0" + "GL_TEXTURE_BUFFER_DATA_STORE_BINDING\0" + "GL_TEXTURE_BUFFER_FORMAT\0" + "GL_TEXTURE_CLIPMAP_CENTER_SGIX\0" + "GL_TEXTURE_CLIPMAP_DEPTH_SGIX\0" + "GL_TEXTURE_CLIPMAP_FRAME_SGIX\0" + "GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX\0" + "GL_TEXTURE_CLIPMAP_OFFSET_SGIX\0" + "GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX\0" + "GL_TEXTURE_COLOR_TABLE_SGI\0" + "GL_TEXTURE_COLOR_WRITEMASK_SGIS\0" + "GL_TEXTURE_COMPARE_FAIL_VALUE_ARB\0" + "GL_TEXTURE_COMPARE_FUNC\0" + "GL_TEXTURE_COMPARE_FUNC_ARB\0" + "GL_TEXTURE_COMPARE_MODE\0" + "GL_TEXTURE_COMPARE_MODE_ARB\0" + "GL_TEXTURE_COMPARE_OPERATOR_SGIX\0" + "GL_TEXTURE_COMPARE_SGIX\0" + "GL_TEXTURE_COMPONENTS\0" + "GL_TEXTURE_COMPRESSED\0" + "GL_TEXTURE_COMPRESSED_ARB\0" + "GL_TEXTURE_COMPRESSED_FORMATS_ARB\0" + "GL_TEXTURE_COMPRESSED_IMAGE_SIZE\0" + "GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB\0" + "GL_TEXTURE_COMPRESSION_HINT\0" + "GL_TEXTURE_COMPRESSION_HINT_ARB\0" + "GL_TEXTURE_COORD_ARRAY\0" + "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING\0" + "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB\0" + "GL_TEXTURE_COORD_ARRAY_POINTER\0" + "GL_TEXTURE_COORD_ARRAY_SIZE\0" + "GL_TEXTURE_COORD_ARRAY_STRIDE\0" + "GL_TEXTURE_COORD_ARRAY_TYPE\0" + "GL_TEXTURE_CROP_RECT_OES\0" + "GL_TEXTURE_CUBE_MAP\0" + "GL_TEXTURE_CUBE_MAP_ARB\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_X\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB\0" + "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES\0" + "GL_TEXTURE_CUBE_MAP_OES\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_X\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_Y\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_Z\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB\0" + "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES\0" + "GL_TEXTURE_CUBE_MAP_SEAMLESS\0" + "GL_TEXTURE_DEPTH\0" + "GL_TEXTURE_DEPTH_SIZE\0" + "GL_TEXTURE_DEPTH_SIZE_ARB\0" + "GL_TEXTURE_ENV\0" + "GL_TEXTURE_ENV_COLOR\0" + "GL_TEXTURE_ENV_MODE\0" + "GL_TEXTURE_FILTER_CONTROL\0" + "GL_TEXTURE_FILTER_CONTROL_EXT\0" + "GL_TEXTURE_GEN_MODE\0" + "GL_TEXTURE_GEN_MODE_OES\0" + "GL_TEXTURE_GEN_Q\0" + "GL_TEXTURE_GEN_R\0" + "GL_TEXTURE_GEN_S\0" + "GL_TEXTURE_GEN_STR_OES\0" + "GL_TEXTURE_GEN_T\0" + "GL_TEXTURE_GEQUAL_R_SGIX\0" + "GL_TEXTURE_GREEN_SIZE\0" + "GL_TEXTURE_GREEN_SIZE_EXT\0" + "GL_TEXTURE_HEIGHT\0" + "GL_TEXTURE_INDEX_SIZE_EXT\0" + "GL_TEXTURE_INTENSITY_SIZE\0" + "GL_TEXTURE_INTENSITY_SIZE_EXT\0" + "GL_TEXTURE_INTERNAL_FORMAT\0" + "GL_TEXTURE_LEQUAL_R_SGIX\0" + "GL_TEXTURE_LOD_BIAS\0" + "GL_TEXTURE_LOD_BIAS_EXT\0" + "GL_TEXTURE_LOD_BIAS_R_SGIX\0" + "GL_TEXTURE_LOD_BIAS_S_SGIX\0" + "GL_TEXTURE_LOD_BIAS_T_SGIX\0" + "GL_TEXTURE_LUMINANCE_SIZE\0" + "GL_TEXTURE_LUMINANCE_SIZE_EXT\0" + "GL_TEXTURE_MAG_FILTER\0" + "GL_TEXTURE_MATRIX\0" + "GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES\0" + "GL_TEXTURE_MAX_ANISOTROPY_EXT\0" + "GL_TEXTURE_MAX_CLAMP_R_SGIX\0" + "GL_TEXTURE_MAX_CLAMP_S_SGIX\0" + "GL_TEXTURE_MAX_CLAMP_T_SGIX\0" + "GL_TEXTURE_MAX_LEVEL\0" + "GL_TEXTURE_MAX_LOD\0" + "GL_TEXTURE_MIN_FILTER\0" + "GL_TEXTURE_MIN_LOD\0" + "GL_TEXTURE_PRIORITY\0" + "GL_TEXTURE_RANGE_LENGTH_APPLE\0" + "GL_TEXTURE_RANGE_POINTER_APPLE\0" + "GL_TEXTURE_RECTANGLE\0" + "GL_TEXTURE_RECTANGLE_ARB\0" + "GL_TEXTURE_RECTANGLE_NV\0" + "GL_TEXTURE_RED_SIZE\0" + "GL_TEXTURE_RED_SIZE_EXT\0" + "GL_TEXTURE_RESIDENT\0" + "GL_TEXTURE_SHARED_SIZE\0" + "GL_TEXTURE_STACK_DEPTH\0" + "GL_TEXTURE_STENCIL_SIZE\0" + "GL_TEXTURE_STENCIL_SIZE_EXT\0" + "GL_TEXTURE_STORAGE_HINT_APPLE\0" + "GL_TEXTURE_TOO_LARGE_EXT\0" + "GL_TEXTURE_UNSIGNED_REMAP_MODE_NV\0" + "GL_TEXTURE_WIDTH\0" + "GL_TEXTURE_WRAP_R\0" + "GL_TEXTURE_WRAP_R_OES\0" + "GL_TEXTURE_WRAP_S\0" + "GL_TEXTURE_WRAP_T\0" + "GL_TIMEOUT_EXPIRED\0" + "GL_TIME_ELAPSED_EXT\0" + "GL_TRACK_MATRIX_NV\0" + "GL_TRACK_MATRIX_TRANSFORM_NV\0" + "GL_TRANSFORM_BIT\0" + "GL_TRANSFORM_FEEDBACK\0" + "GL_TRANSFORM_FEEDBACK_BINDING\0" + "GL_TRANSFORM_FEEDBACK_BUFFER\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_EXT\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_MODE\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_START\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT\0" + "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN\0" + "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT\0" + "GL_TRANSFORM_FEEDBACK_VARYINGS\0" + "GL_TRANSFORM_FEEDBACK_VARYINGS_EXT\0" + "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH\0" + "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT\0" + "GL_TRANSPOSE_COLOR_MATRIX\0" + "GL_TRANSPOSE_COLOR_MATRIX_ARB\0" + "GL_TRANSPOSE_CURRENT_MATRIX_ARB\0" + "GL_TRANSPOSE_MODELVIEW_MATRIX\0" + "GL_TRANSPOSE_MODELVIEW_MATRIX_ARB\0" + "GL_TRANSPOSE_NV\0" + "GL_TRANSPOSE_PROJECTION_MATRIX\0" + "GL_TRANSPOSE_PROJECTION_MATRIX_ARB\0" + "GL_TRANSPOSE_TEXTURE_MATRIX\0" + "GL_TRANSPOSE_TEXTURE_MATRIX_ARB\0" + "GL_TRIANGLES\0" + "GL_TRIANGLES_ADJACENCY\0" + "GL_TRIANGLES_ADJACENCY_ARB\0" + "GL_TRIANGLE_FAN\0" + "GL_TRIANGLE_MESH_SUN\0" + "GL_TRIANGLE_STRIP\0" + "GL_TRIANGLE_STRIP_ADJACENCY\0" + "GL_TRIANGLE_STRIP_ADJACENCY_ARB\0" + "GL_TRUE\0" + "GL_UNDEFINED_APPLE\0" + "GL_UNPACK_ALIGNMENT\0" + "GL_UNPACK_IMAGE_HEIGHT\0" + "GL_UNPACK_LSB_FIRST\0" + "GL_UNPACK_ROW_LENGTH\0" + "GL_UNPACK_SKIP_IMAGES\0" + "GL_UNPACK_SKIP_PIXELS\0" + "GL_UNPACK_SKIP_ROWS\0" + "GL_UNPACK_SWAP_BYTES\0" + "GL_UNSIGNALED\0" + "GL_UNSIGNED_BYTE\0" + "GL_UNSIGNED_BYTE_2_3_3_REV\0" + "GL_UNSIGNED_BYTE_3_3_2\0" + "GL_UNSIGNED_INT\0" + "GL_UNSIGNED_INT_10F_11F_11F_REV\0" + "GL_UNSIGNED_INT_10_10_10_2\0" + "GL_UNSIGNED_INT_10_10_10_2_OES\0" + "GL_UNSIGNED_INT_24_8\0" + "GL_UNSIGNED_INT_24_8_EXT\0" + "GL_UNSIGNED_INT_24_8_NV\0" + "GL_UNSIGNED_INT_24_8_OES\0" + "GL_UNSIGNED_INT_2_10_10_10_REV\0" + "GL_UNSIGNED_INT_2_10_10_10_REV_EXT\0" + "GL_UNSIGNED_INT_5_9_9_9_REV\0" + "GL_UNSIGNED_INT_8_8_8_8\0" + "GL_UNSIGNED_INT_8_8_8_8_REV\0" + "GL_UNSIGNED_INT_SAMPLER_1D\0" + "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY\0" + "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_1D_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_2D\0" + "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY\0" + "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_2D_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_2D_RECT\0" + "GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_3D\0" + "GL_UNSIGNED_INT_SAMPLER_3D_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_BUFFER\0" + "GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_CUBE\0" + "GL_UNSIGNED_INT_SAMPLER_CUBE_EXT\0" + "GL_UNSIGNED_INT_VEC2\0" + "GL_UNSIGNED_INT_VEC2_EXT\0" + "GL_UNSIGNED_INT_VEC3\0" + "GL_UNSIGNED_INT_VEC3_EXT\0" + "GL_UNSIGNED_INT_VEC4\0" + "GL_UNSIGNED_INT_VEC4_EXT\0" + "GL_UNSIGNED_NORMALIZED\0" + "GL_UNSIGNED_SHORT\0" + "GL_UNSIGNED_SHORT_1_5_5_5_REV\0" + "GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT\0" + "GL_UNSIGNED_SHORT_4_4_4_4\0" + "GL_UNSIGNED_SHORT_4_4_4_4_REV\0" + "GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT\0" + "GL_UNSIGNED_SHORT_5_5_5_1\0" + "GL_UNSIGNED_SHORT_5_6_5\0" + "GL_UNSIGNED_SHORT_5_6_5_REV\0" + "GL_UNSIGNED_SHORT_8_8_APPLE\0" + "GL_UNSIGNED_SHORT_8_8_MESA\0" + "GL_UNSIGNED_SHORT_8_8_REV_APPLE\0" + "GL_UNSIGNED_SHORT_8_8_REV_MESA\0" + "GL_UPPER_LEFT\0" + "GL_V2F\0" + "GL_V3F\0" + "GL_VALIDATE_STATUS\0" + "GL_VENDOR\0" + "GL_VERSION\0" + "GL_VERTEX_ARRAY\0" + "GL_VERTEX_ARRAY_BINDING\0" + "GL_VERTEX_ARRAY_BINDING_APPLE\0" + "GL_VERTEX_ARRAY_BUFFER_BINDING\0" + "GL_VERTEX_ARRAY_BUFFER_BINDING_ARB\0" + "GL_VERTEX_ARRAY_POINTER\0" + "GL_VERTEX_ARRAY_SIZE\0" + "GL_VERTEX_ARRAY_STRIDE\0" + "GL_VERTEX_ARRAY_TYPE\0" + "GL_VERTEX_ATTRIB_ARRAY0_NV\0" + "GL_VERTEX_ATTRIB_ARRAY10_NV\0" + "GL_VERTEX_ATTRIB_ARRAY11_NV\0" + "GL_VERTEX_ATTRIB_ARRAY12_NV\0" + "GL_VERTEX_ATTRIB_ARRAY13_NV\0" + "GL_VERTEX_ATTRIB_ARRAY14_NV\0" + "GL_VERTEX_ATTRIB_ARRAY15_NV\0" + "GL_VERTEX_ATTRIB_ARRAY1_NV\0" + "GL_VERTEX_ATTRIB_ARRAY2_NV\0" + "GL_VERTEX_ATTRIB_ARRAY3_NV\0" + "GL_VERTEX_ATTRIB_ARRAY4_NV\0" + "GL_VERTEX_ATTRIB_ARRAY5_NV\0" + "GL_VERTEX_ATTRIB_ARRAY6_NV\0" + "GL_VERTEX_ATTRIB_ARRAY7_NV\0" + "GL_VERTEX_ATTRIB_ARRAY8_NV\0" + "GL_VERTEX_ATTRIB_ARRAY9_NV\0" + "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\0" + "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB\0" + "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB\0" + "GL_VERTEX_ATTRIB_ARRAY_ENABLED\0" + "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB\0" + "GL_VERTEX_ATTRIB_ARRAY_INTEGER\0" + "GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT\0" + "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED\0" + "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB\0" + "GL_VERTEX_ATTRIB_ARRAY_POINTER\0" + "GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB\0" + "GL_VERTEX_ATTRIB_ARRAY_SIZE\0" + "GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB\0" + "GL_VERTEX_ATTRIB_ARRAY_STRIDE\0" + "GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB\0" + "GL_VERTEX_ATTRIB_ARRAY_TYPE\0" + "GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB\0" + "GL_VERTEX_BLEND_ARB\0" + "GL_VERTEX_PROGRAM_ARB\0" + "GL_VERTEX_PROGRAM_BINDING_NV\0" + "GL_VERTEX_PROGRAM_NV\0" + "GL_VERTEX_PROGRAM_POINT_SIZE\0" + "GL_VERTEX_PROGRAM_POINT_SIZE_ARB\0" + "GL_VERTEX_PROGRAM_POINT_SIZE_NV\0" + "GL_VERTEX_PROGRAM_TWO_SIDE\0" + "GL_VERTEX_PROGRAM_TWO_SIDE_ARB\0" + "GL_VERTEX_PROGRAM_TWO_SIDE_NV\0" + "GL_VERTEX_SHADER\0" + "GL_VERTEX_SHADER_ARB\0" + "GL_VERTEX_STATE_PROGRAM_NV\0" + "GL_VIEWPORT\0" + "GL_VIEWPORT_BIT\0" + "GL_VOLATILE_APPLE\0" + "GL_WAIT_FAILED\0" + "GL_WEIGHT_ARRAY_ARB\0" + "GL_WEIGHT_ARRAY_BUFFER_BINDING\0" + "GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB\0" + "GL_WEIGHT_ARRAY_BUFFER_BINDING_OES\0" + "GL_WEIGHT_ARRAY_OES\0" + "GL_WEIGHT_ARRAY_POINTER_ARB\0" + "GL_WEIGHT_ARRAY_POINTER_OES\0" + "GL_WEIGHT_ARRAY_SIZE_ARB\0" + "GL_WEIGHT_ARRAY_SIZE_OES\0" + "GL_WEIGHT_ARRAY_STRIDE_ARB\0" + "GL_WEIGHT_ARRAY_STRIDE_OES\0" + "GL_WEIGHT_ARRAY_TYPE_ARB\0" + "GL_WEIGHT_ARRAY_TYPE_OES\0" + "GL_WEIGHT_SUM_UNITY_ARB\0" + "GL_WRAP_BORDER_SUN\0" + "GL_WRITE_ONLY\0" + "GL_WRITE_ONLY_ARB\0" + "GL_WRITE_ONLY_OES\0" + "GL_XOR\0" + "GL_YCBCR_422_APPLE\0" + "GL_YCBCR_MESA\0" + "GL_ZERO\0" + "GL_ZOOM_X\0" + "GL_ZOOM_Y\0" + ; + +static const enum_elt all_enums[2295] = +{ + { 0, 0x00000600 }, /* GL_2D */ + { 6, 0x00001407 }, /* GL_2_BYTES */ + { 17, 0x00000601 }, /* GL_3D */ + { 23, 0x00000602 }, /* GL_3D_COLOR */ + { 35, 0x00000603 }, /* GL_3D_COLOR_TEXTURE */ + { 55, 0x00001408 }, /* GL_3_BYTES */ + { 66, 0x00000604 }, /* GL_4D_COLOR_TEXTURE */ + { 86, 0x00001409 }, /* GL_4_BYTES */ + { 97, 0x00000100 }, /* GL_ACCUM */ + { 106, 0x00000D5B }, /* GL_ACCUM_ALPHA_BITS */ + { 126, 0x00000D5A }, /* GL_ACCUM_BLUE_BITS */ + { 145, 0x00000200 }, /* GL_ACCUM_BUFFER_BIT */ + { 165, 0x00000B80 }, /* GL_ACCUM_CLEAR_VALUE */ + { 186, 0x00000D59 }, /* GL_ACCUM_GREEN_BITS */ + { 206, 0x00000D58 }, /* GL_ACCUM_RED_BITS */ + { 224, 0x00008B89 }, /* GL_ACTIVE_ATTRIBUTES */ + { 245, 0x00008B8A }, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ + { 276, 0x00008B8D }, /* GL_ACTIVE_PROGRAM_EXT */ + { 298, 0x00008911 }, /* GL_ACTIVE_STENCIL_FACE_EXT */ + { 325, 0x000084E0 }, /* GL_ACTIVE_TEXTURE */ + { 343, 0x000084E0 }, /* GL_ACTIVE_TEXTURE_ARB */ + { 365, 0x00008B86 }, /* GL_ACTIVE_UNIFORMS */ + { 384, 0x00008B87 }, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ + { 413, 0x000086A5 }, /* GL_ACTIVE_VERTEX_UNITS_ARB */ + { 440, 0x00000104 }, /* GL_ADD */ + { 447, 0x00008574 }, /* GL_ADD_SIGNED */ + { 461, 0x00008574 }, /* GL_ADD_SIGNED_ARB */ + { 479, 0x00008574 }, /* GL_ADD_SIGNED_EXT */ + { 497, 0x0000846E }, /* GL_ALIASED_LINE_WIDTH_RANGE */ + { 525, 0x0000846D }, /* GL_ALIASED_POINT_SIZE_RANGE */ + { 553, 0x000FFFFF }, /* GL_ALL_ATTRIB_BITS */ + { 572, 0xFFFFFFFF }, /* GL_ALL_CLIENT_ATTRIB_BITS */ + { 598, 0x00001906 }, /* GL_ALPHA */ + { 607, 0x0000803D }, /* GL_ALPHA12 */ + { 618, 0x0000803D }, /* GL_ALPHA12_EXT */ + { 633, 0x0000803E }, /* GL_ALPHA16 */ + { 644, 0x00008D8A }, /* GL_ALPHA16I_EXT */ + { 660, 0x00008D78 }, /* GL_ALPHA16UI_EXT */ + { 677, 0x0000803E }, /* GL_ALPHA16_EXT */ + { 692, 0x00008D84 }, /* GL_ALPHA32I_EXT */ + { 708, 0x00008D72 }, /* GL_ALPHA32UI_EXT */ + { 725, 0x0000803B }, /* GL_ALPHA4 */ + { 735, 0x0000803B }, /* GL_ALPHA4_EXT */ + { 749, 0x0000803C }, /* GL_ALPHA8 */ + { 759, 0x00008D90 }, /* GL_ALPHA8I_EXT */ + { 774, 0x00008D7E }, /* GL_ALPHA8UI_EXT */ + { 790, 0x0000803C }, /* GL_ALPHA8_EXT */ + { 804, 0x00000D1D }, /* GL_ALPHA_BIAS */ + { 818, 0x00000D55 }, /* GL_ALPHA_BITS */ + { 832, 0x00008D97 }, /* GL_ALPHA_INTEGER_EXT */ + { 853, 0x00000D1C }, /* GL_ALPHA_SCALE */ + { 868, 0x00000BC0 }, /* GL_ALPHA_TEST */ + { 882, 0x00000BC1 }, /* GL_ALPHA_TEST_FUNC */ + { 901, 0x00000BC2 }, /* GL_ALPHA_TEST_REF */ + { 919, 0x0000911A }, /* GL_ALREADY_SIGNALED */ + { 939, 0x00000207 }, /* GL_ALWAYS */ + { 949, 0x00001200 }, /* GL_AMBIENT */ + { 960, 0x00001602 }, /* GL_AMBIENT_AND_DIFFUSE */ + { 983, 0x00001501 }, /* GL_AND */ + { 990, 0x00001504 }, /* GL_AND_INVERTED */ + { 1006, 0x00001502 }, /* GL_AND_REVERSE */ + { 1021, 0x00008892 }, /* GL_ARRAY_BUFFER */ + { 1037, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */ + { 1061, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */ + { 1089, 0x00008B85 }, /* GL_ATTACHED_SHADERS */ + { 1109, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */ + { 1136, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */ + { 1160, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */ + { 1186, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */ + { 1210, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */ + { 1232, 0x00000D80 }, /* GL_AUTO_NORMAL */ + { 1247, 0x00000409 }, /* GL_AUX0 */ + { 1255, 0x0000040A }, /* GL_AUX1 */ + { 1263, 0x0000040B }, /* GL_AUX2 */ + { 1271, 0x0000040C }, /* GL_AUX3 */ + { 1279, 0x00000C00 }, /* GL_AUX_BUFFERS */ + { 1294, 0x00000405 }, /* GL_BACK */ + { 1302, 0x00000402 }, /* GL_BACK_LEFT */ + { 1315, 0x00000403 }, /* GL_BACK_RIGHT */ + { 1329, 0x000080E0 }, /* GL_BGR */ + { 1336, 0x000080E1 }, /* GL_BGRA */ + { 1344, 0x000080E1 }, /* GL_BGRA_EXT */ + { 1356, 0x00008D9B }, /* GL_BGRA_INTEGER */ + { 1372, 0x00008D9B }, /* GL_BGRA_INTEGER_EXT */ + { 1392, 0x00008D9A }, /* GL_BGR_INTEGER */ + { 1407, 0x00008D9A }, /* GL_BGR_INTEGER_EXT */ + { 1426, 0x00001A00 }, /* GL_BITMAP */ + { 1436, 0x00000704 }, /* GL_BITMAP_TOKEN */ + { 1452, 0x00000BE2 }, /* GL_BLEND */ + { 1461, 0x00008005 }, /* GL_BLEND_COLOR */ + { 1476, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ + { 1495, 0x00000BE0 }, /* GL_BLEND_DST */ + { 1508, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ + { 1527, 0x000080CA }, /* GL_BLEND_DST_ALPHA_OES */ + { 1550, 0x000080C8 }, /* GL_BLEND_DST_RGB */ + { 1567, 0x000080C8 }, /* GL_BLEND_DST_RGB_OES */ + { 1588, 0x00008009 }, /* GL_BLEND_EQUATION */ + { 1606, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */ + { 1630, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ + { 1658, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_OES */ + { 1686, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ + { 1708, 0x00008009 }, /* GL_BLEND_EQUATION_OES */ + { 1730, 0x00008009 }, /* GL_BLEND_EQUATION_RGB */ + { 1752, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ + { 1778, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_OES */ + { 1804, 0x00000BE1 }, /* GL_BLEND_SRC */ + { 1817, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ + { 1836, 0x000080CB }, /* GL_BLEND_SRC_ALPHA_OES */ + { 1859, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ + { 1876, 0x000080C9 }, /* GL_BLEND_SRC_RGB_OES */ + { 1897, 0x00001905 }, /* GL_BLUE */ + { 1905, 0x00000D1B }, /* GL_BLUE_BIAS */ + { 1918, 0x00000D54 }, /* GL_BLUE_BITS */ + { 1931, 0x00008D96 }, /* GL_BLUE_INTEGER */ + { 1947, 0x00008D96 }, /* GL_BLUE_INTEGER_EXT */ + { 1967, 0x00000D1A }, /* GL_BLUE_SCALE */ + { 1981, 0x00008B56 }, /* GL_BOOL */ + { 1989, 0x00008B56 }, /* GL_BOOL_ARB */ + { 2001, 0x00008B57 }, /* GL_BOOL_VEC2 */ + { 2014, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ + { 2031, 0x00008B58 }, /* GL_BOOL_VEC3 */ + { 2044, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ + { 2061, 0x00008B59 }, /* GL_BOOL_VEC4 */ + { 2074, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ + { 2091, 0x000088BB }, /* GL_BUFFER_ACCESS */ + { 2108, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ + { 2129, 0x0000911F }, /* GL_BUFFER_ACCESS_FLAGS */ + { 2152, 0x000088BB }, /* GL_BUFFER_ACCESS_OES */ + { 2173, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ + { 2204, 0x000088BC }, /* GL_BUFFER_MAPPED */ + { 2221, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ + { 2242, 0x000088BC }, /* GL_BUFFER_MAPPED_OES */ + { 2263, 0x00009120 }, /* GL_BUFFER_MAP_LENGTH */ + { 2284, 0x00009121 }, /* GL_BUFFER_MAP_OFFSET */ + { 2305, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ + { 2327, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ + { 2353, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_OES */ + { 2379, 0x000085B3 }, /* GL_BUFFER_OBJECT_APPLE */ + { 2402, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ + { 2436, 0x00008764 }, /* GL_BUFFER_SIZE */ + { 2451, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ + { 2470, 0x00008765 }, /* GL_BUFFER_USAGE */ + { 2486, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ + { 2506, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */ + { 2525, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */ + { 2551, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */ + { 2574, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ + { 2602, 0x0000877C }, /* GL_BUMP_TARGET_ATI */ + { 2621, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */ + { 2643, 0x00001400 }, /* GL_BYTE */ + { 2651, 0x00002A24 }, /* GL_C3F_V3F */ + { 2662, 0x00002A26 }, /* GL_C4F_N3F_V3F */ + { 2677, 0x00002A22 }, /* GL_C4UB_V2F */ + { 2689, 0x00002A23 }, /* GL_C4UB_V3F */ + { 2701, 0x00000901 }, /* GL_CCW */ + { 2708, 0x00002900 }, /* GL_CLAMP */ + { 2717, 0x0000891C }, /* GL_CLAMP_READ_COLOR */ + { 2737, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ + { 2756, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ + { 2779, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ + { 2803, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ + { 2820, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ + { 2842, 0x00001500 }, /* GL_CLEAR */ + { 2851, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ + { 2876, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ + { 2905, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ + { 2931, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + { 2960, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ + { 2986, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ + { 3013, 0x00003000 }, /* GL_CLIP_DISTANCE0 */ + { 3031, 0x00003001 }, /* GL_CLIP_DISTANCE1 */ + { 3049, 0x00003002 }, /* GL_CLIP_DISTANCE2 */ + { 3067, 0x00003003 }, /* GL_CLIP_DISTANCE3 */ + { 3085, 0x00003004 }, /* GL_CLIP_DISTANCE4 */ + { 3103, 0x00003005 }, /* GL_CLIP_DISTANCE5 */ + { 3121, 0x00003006 }, /* GL_CLIP_DISTANCE6 */ + { 3139, 0x00003007 }, /* GL_CLIP_DISTANCE7 */ + { 3157, 0x00003000 }, /* GL_CLIP_PLANE0 */ + { 3172, 0x00003001 }, /* GL_CLIP_PLANE1 */ + { 3187, 0x00003002 }, /* GL_CLIP_PLANE2 */ + { 3202, 0x00003003 }, /* GL_CLIP_PLANE3 */ + { 3217, 0x00003004 }, /* GL_CLIP_PLANE4 */ + { 3232, 0x00003005 }, /* GL_CLIP_PLANE5 */ + { 3247, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + { 3280, 0x00000A00 }, /* GL_COEFF */ + { 3289, 0x00001800 }, /* GL_COLOR */ + { 3298, 0x00008076 }, /* GL_COLOR_ARRAY */ + { 3313, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + { 3343, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 3377, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ + { 3400, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ + { 3420, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ + { 3442, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ + { 3462, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */ + { 3483, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ + { 3508, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_OES */ + { 3533, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */ + { 3554, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */ + { 3576, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ + { 3602, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */ + { 3624, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ + { 3650, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */ + { 3672, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ + { 3698, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */ + { 3720, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ + { 3746, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */ + { 3768, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ + { 3794, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */ + { 3816, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ + { 3842, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ + { 3867, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */ + { 3888, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ + { 3913, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */ + { 3934, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ + { 3959, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */ + { 3980, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ + { 4005, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */ + { 4026, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ + { 4051, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */ + { 4072, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ + { 4097, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */ + { 4118, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ + { 4143, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */ + { 4164, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ + { 4189, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */ + { 4210, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ + { 4235, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ + { 4255, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ + { 4276, 0x00001900 }, /* GL_COLOR_INDEX */ + { 4291, 0x00001603 }, /* GL_COLOR_INDEXES */ + { 4308, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ + { 4326, 0x00000B57 }, /* GL_COLOR_MATERIAL */ + { 4344, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ + { 4367, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ + { 4395, 0x000080B1 }, /* GL_COLOR_MATRIX */ + { 4411, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ + { 4431, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ + { 4459, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 4491, 0x00008458 }, /* GL_COLOR_SUM */ + { 4504, 0x00008458 }, /* GL_COLOR_SUM_ARB */ + { 4521, 0x000080D0 }, /* GL_COLOR_TABLE */ + { 4536, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ + { 4562, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ + { 4592, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ + { 4622, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ + { 4642, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ + { 4666, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ + { 4691, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ + { 4720, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ + { 4749, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ + { 4771, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ + { 4797, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ + { 4823, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ + { 4849, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ + { 4879, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ + { 4909, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + { 4939, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ + { 4973, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ + { 5007, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + { 5037, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ + { 5071, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ + { 5105, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ + { 5129, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ + { 5157, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ + { 5185, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ + { 5206, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ + { 5231, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ + { 5252, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ + { 5277, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ + { 5302, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ + { 5321, 0x00008570 }, /* GL_COMBINE */ + { 5332, 0x00008503 }, /* GL_COMBINE4 */ + { 5344, 0x00008572 }, /* GL_COMBINE_ALPHA */ + { 5361, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ + { 5382, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ + { 5403, 0x00008570 }, /* GL_COMBINE_ARB */ + { 5418, 0x00008570 }, /* GL_COMBINE_EXT */ + { 5433, 0x00008571 }, /* GL_COMBINE_RGB */ + { 5448, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ + { 5467, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ + { 5486, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */ + { 5522, 0x0000884E }, /* GL_COMPARE_REF_TO_TEXTURE */ + { 5548, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ + { 5572, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ + { 5600, 0x00001300 }, /* GL_COMPILE */ + { 5611, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ + { 5634, 0x00008B81 }, /* GL_COMPILE_STATUS */ + { 5652, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ + { 5672, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ + { 5696, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ + { 5720, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ + { 5748, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ + { 5772, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + { 5802, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ + { 5836, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ + { 5864, 0x00008225 }, /* GL_COMPRESSED_RED */ + { 5882, 0x00008226 }, /* GL_COMPRESSED_RG */ + { 5899, 0x000084ED }, /* GL_COMPRESSED_RGB */ + { 5917, 0x000084EE }, /* GL_COMPRESSED_RGBA */ + { 5936, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ + { 5959, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + { 5988, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + { 6021, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + { 6054, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + { 6087, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ + { 6109, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + { 6137, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + { 6169, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */ + { 6194, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ + { 6225, 0x00008C48 }, /* GL_COMPRESSED_SRGB */ + { 6244, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */ + { 6269, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ + { 6299, 0x0000911C }, /* GL_CONDITION_SATISFIED */ + { 6322, 0x00008576 }, /* GL_CONSTANT */ + { 6334, 0x00008003 }, /* GL_CONSTANT_ALPHA */ + { 6352, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ + { 6374, 0x00008576 }, /* GL_CONSTANT_ARB */ + { 6390, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ + { 6414, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ + { 6436, 0x00008001 }, /* GL_CONSTANT_COLOR */ + { 6454, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ + { 6476, 0x00008576 }, /* GL_CONSTANT_EXT */ + { 6492, 0x00000002 }, /* GL_CONTEXT_COMPATIBILITY_PROFILE_BIT */ + { 6529, 0x00000001 }, /* GL_CONTEXT_CORE_PROFILE_BIT */ + { 6557, 0x0000821E }, /* GL_CONTEXT_FLAGS */ + { 6574, 0x00000001 }, /* GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT */ + { 6613, 0x00009126 }, /* GL_CONTEXT_PROFILE_MASK */ + { 6637, 0x00008010 }, /* GL_CONVOLUTION_1D */ + { 6655, 0x00008011 }, /* GL_CONVOLUTION_2D */ + { 6673, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ + { 6701, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ + { 6732, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ + { 6759, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ + { 6790, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ + { 6817, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ + { 6848, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ + { 6876, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ + { 6908, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ + { 6930, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ + { 6956, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ + { 6978, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ + { 7004, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ + { 7025, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ + { 7050, 0x00008862 }, /* GL_COORD_REPLACE */ + { 7067, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ + { 7088, 0x00008862 }, /* GL_COORD_REPLACE_NV */ + { 7108, 0x00008862 }, /* GL_COORD_REPLACE_OES */ + { 7129, 0x00001503 }, /* GL_COPY */ + { 7137, 0x0000150C }, /* GL_COPY_INVERTED */ + { 7154, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ + { 7174, 0x00008F36 }, /* GL_COPY_READ_BUFFER */ + { 7194, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */ + { 7215, 0x00000B44 }, /* GL_CULL_FACE */ + { 7228, 0x00000B45 }, /* GL_CULL_FACE_MODE */ + { 7246, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ + { 7265, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + { 7297, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + { 7332, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ + { 7353, 0x00000001 }, /* GL_CURRENT_BIT */ + { 7368, 0x00000B00 }, /* GL_CURRENT_COLOR */ + { 7385, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ + { 7406, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ + { 7432, 0x00000B01 }, /* GL_CURRENT_INDEX */ + { 7449, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ + { 7471, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ + { 7499, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ + { 7520, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + { 7554, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ + { 7587, 0x00000B02 }, /* GL_CURRENT_NORMAL */ + { 7605, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + { 7635, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_OES */ + { 7665, 0x00008B8D }, /* GL_CURRENT_PROGRAM */ + { 7684, 0x00008865 }, /* GL_CURRENT_QUERY */ + { 7701, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ + { 7722, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ + { 7746, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ + { 7773, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ + { 7797, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ + { 7824, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ + { 7857, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ + { 7891, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + { 7924, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ + { 7951, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ + { 7977, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */ + { 8002, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ + { 8031, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ + { 8053, 0x00000900 }, /* GL_CW */ + { 8059, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ + { 8080, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ + { 8101, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ + { 8121, 0x00002101 }, /* GL_DECAL */ + { 8130, 0x00001E03 }, /* GL_DECR */ + { 8138, 0x00008508 }, /* GL_DECR_WRAP */ + { 8151, 0x00008508 }, /* GL_DECR_WRAP_EXT */ + { 8168, 0x00008B80 }, /* GL_DELETE_STATUS */ + { 8185, 0x00001801 }, /* GL_DEPTH */ + { 8194, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */ + { 8214, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_EXT */ + { 8238, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_OES */ + { 8262, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */ + { 8282, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ + { 8306, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_OES */ + { 8330, 0x00000D1F }, /* GL_DEPTH_BIAS */ + { 8344, 0x00000D56 }, /* GL_DEPTH_BITS */ + { 8358, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ + { 8378, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ + { 8403, 0x00008223 }, /* GL_DEPTH_BUFFER */ + { 8419, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ + { 8439, 0x0000864F }, /* GL_DEPTH_CLAMP */ + { 8454, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ + { 8472, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ + { 8493, 0x00001902 }, /* GL_DEPTH_COMPONENT */ + { 8512, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ + { 8533, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ + { 8558, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_OES */ + { 8583, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ + { 8609, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ + { 8630, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ + { 8655, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_OES */ + { 8680, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ + { 8706, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ + { 8727, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ + { 8752, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_OES */ + { 8777, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ + { 8803, 0x00000B74 }, /* GL_DEPTH_FUNC */ + { 8817, 0x00000B70 }, /* GL_DEPTH_RANGE */ + { 8832, 0x00000D1E }, /* GL_DEPTH_SCALE */ + { 8847, 0x000084F9 }, /* GL_DEPTH_STENCIL */ + { 8864, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */ + { 8892, 0x000084F9 }, /* GL_DEPTH_STENCIL_EXT */ + { 8913, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ + { 8933, 0x000084F9 }, /* GL_DEPTH_STENCIL_OES */ + { 8954, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + { 8982, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + { 9010, 0x00000B71 }, /* GL_DEPTH_TEST */ + { 9024, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ + { 9046, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ + { 9072, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ + { 9091, 0x00001201 }, /* GL_DIFFUSE */ + { 9102, 0x00000BD0 }, /* GL_DITHER */ + { 9112, 0x00000A02 }, /* GL_DOMAIN */ + { 9122, 0x00001100 }, /* GL_DONT_CARE */ + { 9135, 0x000086AE }, /* GL_DOT3_RGB */ + { 9147, 0x000086AF }, /* GL_DOT3_RGBA */ + { 9160, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ + { 9177, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ + { 9194, 0x000086AE }, /* GL_DOT3_RGB_ARB */ + { 9210, 0x00008740 }, /* GL_DOT3_RGB_EXT */ + { 9226, 0x0000140A }, /* GL_DOUBLE */ + { 9236, 0x00000C32 }, /* GL_DOUBLEBUFFER */ + { 9252, 0x00000C01 }, /* GL_DRAW_BUFFER */ + { 9267, 0x00008825 }, /* GL_DRAW_BUFFER0 */ + { 9283, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ + { 9303, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ + { 9323, 0x00008826 }, /* GL_DRAW_BUFFER1 */ + { 9339, 0x0000882F }, /* GL_DRAW_BUFFER10 */ + { 9356, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ + { 9377, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ + { 9398, 0x00008830 }, /* GL_DRAW_BUFFER11 */ + { 9415, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ + { 9436, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ + { 9457, 0x00008831 }, /* GL_DRAW_BUFFER12 */ + { 9474, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ + { 9495, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ + { 9516, 0x00008832 }, /* GL_DRAW_BUFFER13 */ + { 9533, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ + { 9554, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ + { 9575, 0x00008833 }, /* GL_DRAW_BUFFER14 */ + { 9592, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ + { 9613, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ + { 9634, 0x00008834 }, /* GL_DRAW_BUFFER15 */ + { 9651, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ + { 9672, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ + { 9693, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ + { 9713, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ + { 9733, 0x00008827 }, /* GL_DRAW_BUFFER2 */ + { 9749, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ + { 9769, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ + { 9789, 0x00008828 }, /* GL_DRAW_BUFFER3 */ + { 9805, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ + { 9825, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ + { 9845, 0x00008829 }, /* GL_DRAW_BUFFER4 */ + { 9861, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ + { 9881, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ + { 9901, 0x0000882A }, /* GL_DRAW_BUFFER5 */ + { 9917, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ + { 9937, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ + { 9957, 0x0000882B }, /* GL_DRAW_BUFFER6 */ + { 9973, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ + { 9993, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ + { 10013, 0x0000882C }, /* GL_DRAW_BUFFER7 */ + { 10029, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ + { 10049, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ + { 10069, 0x0000882D }, /* GL_DRAW_BUFFER8 */ + { 10085, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ + { 10105, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ + { 10125, 0x0000882E }, /* GL_DRAW_BUFFER9 */ + { 10141, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ + { 10161, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ + { 10181, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */ + { 10201, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING */ + { 10229, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + { 10261, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ + { 10285, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ + { 10305, 0x00000304 }, /* GL_DST_ALPHA */ + { 10318, 0x00000306 }, /* GL_DST_COLOR */ + { 10331, 0x0000877A }, /* GL_DU8DV8_ATI */ + { 10345, 0x00008779 }, /* GL_DUDV_ATI */ + { 10357, 0x000088EA }, /* GL_DYNAMIC_COPY */ + { 10373, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ + { 10393, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ + { 10409, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ + { 10429, 0x000088E9 }, /* GL_DYNAMIC_READ */ + { 10445, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ + { 10465, 0x00000B43 }, /* GL_EDGE_FLAG */ + { 10478, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ + { 10497, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + { 10531, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ + { 10569, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ + { 10596, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + { 10622, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ + { 10646, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + { 10678, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ + { 10714, 0x00001600 }, /* GL_EMISSION */ + { 10726, 0x00002000 }, /* GL_ENABLE_BIT */ + { 10740, 0x00000202 }, /* GL_EQUAL */ + { 10749, 0x00001509 }, /* GL_EQUIV */ + { 10758, 0x00010000 }, /* GL_EVAL_BIT */ + { 10770, 0x00000800 }, /* GL_EXP */ + { 10777, 0x00000801 }, /* GL_EXP2 */ + { 10785, 0x00001F03 }, /* GL_EXTENSIONS */ + { 10799, 0x00002400 }, /* GL_EYE_LINEAR */ + { 10813, 0x00002502 }, /* GL_EYE_PLANE */ + { 10826, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ + { 10851, 0x0000855B }, /* GL_EYE_RADIAL_NV */ + { 10868, 0x00000000 }, /* GL_FALSE */ + { 10877, 0x00001101 }, /* GL_FASTEST */ + { 10888, 0x00001C01 }, /* GL_FEEDBACK */ + { 10900, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ + { 10927, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ + { 10951, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ + { 10975, 0x00001B02 }, /* GL_FILL */ + { 10983, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION */ + { 11010, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */ + { 11041, 0x0000140C }, /* GL_FIXED */ + { 11050, 0x0000140C }, /* GL_FIXED_OES */ + { 11063, 0x0000891D }, /* GL_FIXED_ONLY */ + { 11077, 0x00001D00 }, /* GL_FLAT */ + { 11085, 0x00001406 }, /* GL_FLOAT */ + { 11094, 0x00008B5A }, /* GL_FLOAT_MAT2 */ + { 11108, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ + { 11126, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */ + { 11142, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */ + { 11158, 0x00008B5B }, /* GL_FLOAT_MAT3 */ + { 11172, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ + { 11190, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */ + { 11206, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */ + { 11222, 0x00008B5C }, /* GL_FLOAT_MAT4 */ + { 11236, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ + { 11254, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */ + { 11270, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */ + { 11286, 0x00008B50 }, /* GL_FLOAT_VEC2 */ + { 11300, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ + { 11318, 0x00008B51 }, /* GL_FLOAT_VEC3 */ + { 11332, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ + { 11350, 0x00008B52 }, /* GL_FLOAT_VEC4 */ + { 11364, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ + { 11382, 0x00000B60 }, /* GL_FOG */ + { 11389, 0x00000080 }, /* GL_FOG_BIT */ + { 11400, 0x00000B66 }, /* GL_FOG_COLOR */ + { 11413, 0x00008451 }, /* GL_FOG_COORD */ + { 11426, 0x00008451 }, /* GL_FOG_COORDINATE */ + { 11444, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ + { 11468, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + { 11507, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ + { 11550, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + { 11582, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + { 11613, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + { 11642, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ + { 11667, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ + { 11686, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ + { 11720, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ + { 11747, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ + { 11773, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ + { 11797, 0x00008450 }, /* GL_FOG_COORD_SRC */ + { 11814, 0x00000B62 }, /* GL_FOG_DENSITY */ + { 11829, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ + { 11853, 0x00000B64 }, /* GL_FOG_END */ + { 11864, 0x00000C54 }, /* GL_FOG_HINT */ + { 11876, 0x00000B61 }, /* GL_FOG_INDEX */ + { 11889, 0x00000B65 }, /* GL_FOG_MODE */ + { 11901, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ + { 11920, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ + { 11945, 0x00000B63 }, /* GL_FOG_START */ + { 11958, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ + { 11976, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ + { 12000, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ + { 12019, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ + { 12042, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + { 12077, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES */ + { 12116, 0x00008D40 }, /* GL_FRAMEBUFFER */ + { 12131, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ + { 12168, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ + { 12204, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ + { 12245, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ + { 12286, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ + { 12323, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ + { 12360, 0x00008DA7 }, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED */ + { 12394, 0x00008DA7 }, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */ + { 12432, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + { 12470, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + { 12512, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES */ + { 12554, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + { 12592, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + { 12634, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES */ + { 12676, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + { 12711, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + { 12750, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + { 12799, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES */ + { 12848, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + { 12896, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + { 12948, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES */ + { 13000, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + { 13040, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ + { 13084, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + { 13124, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + { 13168, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES */ + { 13212, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING */ + { 13235, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ + { 13262, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_OES */ + { 13289, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ + { 13313, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + { 13341, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_OES */ + { 13369, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ + { 13392, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ + { 13411, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + { 13448, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + { 13489, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES */ + { 13530, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS */ + { 13567, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + { 13608, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES */ + { 13649, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ + { 13687, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + { 13729, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES */ + { 13771, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + { 13822, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + { 13860, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES */ + { 13898, 0x00008DA9 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */ + { 13940, 0x00008DA8 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS */ + { 13980, 0x00008DA8 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */ + { 14024, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + { 14069, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + { 14118, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES */ + { 14167, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + { 14205, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT */ + { 14247, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ + { 14285, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + { 14327, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES */ + { 14369, 0x00008D40 }, /* GL_FRAMEBUFFER_OES */ + { 14388, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + { 14420, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ + { 14445, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ + { 14472, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + { 14503, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_OES */ + { 14534, 0x00000404 }, /* GL_FRONT */ + { 14543, 0x00000408 }, /* GL_FRONT_AND_BACK */ + { 14561, 0x00000B46 }, /* GL_FRONT_FACE */ + { 14575, 0x00000400 }, /* GL_FRONT_LEFT */ + { 14589, 0x00000401 }, /* GL_FRONT_RIGHT */ + { 14604, 0x00008006 }, /* GL_FUNC_ADD */ + { 14616, 0x00008006 }, /* GL_FUNC_ADD_EXT */ + { 14632, 0x00008006 }, /* GL_FUNC_ADD_OES */ + { 14648, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ + { 14673, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ + { 14702, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_OES */ + { 14731, 0x0000800A }, /* GL_FUNC_SUBTRACT */ + { 14748, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ + { 14769, 0x0000800A }, /* GL_FUNC_SUBTRACT_OES */ + { 14790, 0x00008191 }, /* GL_GENERATE_MIPMAP */ + { 14809, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ + { 14833, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ + { 14862, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ + { 14886, 0x00008917 }, /* GL_GEOMETRY_INPUT_TYPE */ + { 14909, 0x00008DDB }, /* GL_GEOMETRY_INPUT_TYPE_ARB */ + { 14936, 0x00008918 }, /* GL_GEOMETRY_OUTPUT_TYPE */ + { 14960, 0x00008DDC }, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */ + { 14988, 0x00008DD9 }, /* GL_GEOMETRY_SHADER */ + { 15007, 0x00008DD9 }, /* GL_GEOMETRY_SHADER_ARB */ + { 15030, 0x00008916 }, /* GL_GEOMETRY_VERTICES_OUT */ + { 15055, 0x00008DDA }, /* GL_GEOMETRY_VERTICES_OUT_ARB */ + { 15084, 0x00000206 }, /* GL_GEQUAL */ + { 15094, 0x00000204 }, /* GL_GREATER */ + { 15105, 0x00001904 }, /* GL_GREEN */ + { 15114, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 15128, 0x00000D53 }, /* GL_GREEN_BITS */ + { 15142, 0x00008D95 }, /* GL_GREEN_INTEGER */ + { 15159, 0x00008D95 }, /* GL_GREEN_INTEGER_EXT */ + { 15180, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 15195, 0x0000140B }, /* GL_HALF_FLOAT */ + { 15209, 0x00008D61 }, /* GL_HALF_FLOAT_OES */ + { 15227, 0x00008DF2 }, /* GL_HIGH_FLOAT */ + { 15241, 0x00008DF5 }, /* GL_HIGH_INT */ + { 15253, 0x00008000 }, /* GL_HINT_BIT */ + { 15265, 0x00008024 }, /* GL_HISTOGRAM */ + { 15278, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 15302, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 15330, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 15353, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 15380, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 15397, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 15417, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 15441, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 15465, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 15493, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 15521, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 15553, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 15575, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 15601, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 15619, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 15641, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 15660, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 15683, 0x0000862A }, /* GL_IDENTITY_NV */ + { 15698, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 15718, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ + { 15754, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 15794, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + { 15828, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 15866, 0x00001E02 }, /* GL_INCR */ + { 15874, 0x00008507 }, /* GL_INCR_WRAP */ + { 15887, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 15904, 0x00008222 }, /* GL_INDEX */ + { 15913, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 15928, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 15958, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 15992, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 16015, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 16037, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 16057, 0x00000D51 }, /* GL_INDEX_BITS */ + { 16071, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 16092, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 16110, 0x00000C30 }, /* GL_INDEX_MODE */ + { 16124, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 16140, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 16155, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 16174, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 16193, 0x00001404 }, /* GL_INT */ + { 16200, 0x00008049 }, /* GL_INTENSITY */ + { 16213, 0x0000804C }, /* GL_INTENSITY12 */ + { 16228, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 16247, 0x0000804D }, /* GL_INTENSITY16 */ + { 16262, 0x00008D8B }, /* GL_INTENSITY16I_EXT */ + { 16282, 0x00008D79 }, /* GL_INTENSITY16UI_EXT */ + { 16303, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 16322, 0x00008D85 }, /* GL_INTENSITY32I_EXT */ + { 16342, 0x00008D73 }, /* GL_INTENSITY32UI_EXT */ + { 16363, 0x0000804A }, /* GL_INTENSITY4 */ + { 16377, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 16395, 0x0000804B }, /* GL_INTENSITY8 */ + { 16409, 0x00008D91 }, /* GL_INTENSITY8I_EXT */ + { 16428, 0x00008D7F }, /* GL_INTENSITY8UI_EXT */ + { 16448, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 16466, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 16483, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS */ + { 16506, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ + { 16533, 0x00008575 }, /* GL_INTERPOLATE */ + { 16548, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 16567, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 16586, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ + { 16608, 0x00008DC9 }, /* GL_INT_SAMPLER_1D */ + { 16626, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY */ + { 16650, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY_EXT */ + { 16678, 0x00008DC9 }, /* GL_INT_SAMPLER_1D_EXT */ + { 16700, 0x00008DCA }, /* GL_INT_SAMPLER_2D */ + { 16718, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY */ + { 16742, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY_EXT */ + { 16770, 0x00008DCA }, /* GL_INT_SAMPLER_2D_EXT */ + { 16792, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT */ + { 16815, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT_EXT */ + { 16842, 0x00008DCB }, /* GL_INT_SAMPLER_3D */ + { 16860, 0x00008DCB }, /* GL_INT_SAMPLER_3D_EXT */ + { 16882, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER */ + { 16904, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER_EXT */ + { 16930, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE */ + { 16950, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE_EXT */ + { 16974, 0x00008B53 }, /* GL_INT_VEC2 */ + { 16986, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 17002, 0x00008B54 }, /* GL_INT_VEC3 */ + { 17014, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 17030, 0x00008B55 }, /* GL_INT_VEC4 */ + { 17042, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 17058, 0x00000500 }, /* GL_INVALID_ENUM */ + { 17074, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + { 17107, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 17144, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ + { 17181, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 17202, 0x00000501 }, /* GL_INVALID_VALUE */ + { 17219, 0x0000862B }, /* GL_INVERSE_NV */ + { 17233, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 17257, 0x0000150A }, /* GL_INVERT */ + { 17267, 0x00001E00 }, /* GL_KEEP */ + { 17275, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ + { 17301, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ + { 17331, 0x00000406 }, /* GL_LEFT */ + { 17339, 0x00000203 }, /* GL_LEQUAL */ + { 17349, 0x00000201 }, /* GL_LESS */ + { 17357, 0x00004000 }, /* GL_LIGHT0 */ + { 17367, 0x00004001 }, /* GL_LIGHT1 */ + { 17377, 0x00004002 }, /* GL_LIGHT2 */ + { 17387, 0x00004003 }, /* GL_LIGHT3 */ + { 17397, 0x00004004 }, /* GL_LIGHT4 */ + { 17407, 0x00004005 }, /* GL_LIGHT5 */ + { 17417, 0x00004006 }, /* GL_LIGHT6 */ + { 17427, 0x00004007 }, /* GL_LIGHT7 */ + { 17437, 0x00000B50 }, /* GL_LIGHTING */ + { 17449, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 17465, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 17488, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 17517, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 17550, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 17578, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 17602, 0x00001B01 }, /* GL_LINE */ + { 17610, 0x00002601 }, /* GL_LINEAR */ + { 17620, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 17642, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 17672, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 17703, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 17727, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 17752, 0x00000001 }, /* GL_LINES */ + { 17761, 0x0000000A }, /* GL_LINES_ADJACENCY */ + { 17780, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */ + { 17803, 0x00000004 }, /* GL_LINE_BIT */ + { 17815, 0x00000002 }, /* GL_LINE_LOOP */ + { 17828, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 17848, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 17863, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 17883, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 17899, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 17923, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 17946, 0x00000003 }, /* GL_LINE_STRIP */ + { 17960, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY */ + { 17984, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */ + { 18012, 0x00000702 }, /* GL_LINE_TOKEN */ + { 18026, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 18040, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 18066, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 18086, 0x00008B82 }, /* GL_LINK_STATUS */ + { 18101, 0x00000B32 }, /* GL_LIST_BASE */ + { 18114, 0x00020000 }, /* GL_LIST_BIT */ + { 18126, 0x00000B33 }, /* GL_LIST_INDEX */ + { 18140, 0x00000B30 }, /* GL_LIST_MODE */ + { 18153, 0x00000101 }, /* GL_LOAD */ + { 18161, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 18173, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 18190, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 18204, 0x00008DF0 }, /* GL_LOW_FLOAT */ + { 18217, 0x00008DF3 }, /* GL_LOW_INT */ + { 18228, 0x00001909 }, /* GL_LUMINANCE */ + { 18241, 0x00008041 }, /* GL_LUMINANCE12 */ + { 18256, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 18279, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 18306, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 18328, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 18354, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 18373, 0x00008042 }, /* GL_LUMINANCE16 */ + { 18388, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */ + { 18408, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */ + { 18429, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 18452, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 18479, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 18498, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */ + { 18518, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */ + { 18539, 0x0000803F }, /* GL_LUMINANCE4 */ + { 18553, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 18574, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 18599, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 18617, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 18638, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 18663, 0x00008040 }, /* GL_LUMINANCE8 */ + { 18677, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */ + { 18696, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */ + { 18716, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 18737, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 18762, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 18780, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 18799, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */ + { 18825, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */ + { 18852, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */ + { 18878, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */ + { 18905, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */ + { 18930, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */ + { 18956, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ + { 18987, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */ + { 19012, 0x0000821B }, /* GL_MAJOR_VERSION */ + { 19029, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 19045, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 19065, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 19087, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 19101, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 19116, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 19140, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 19164, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 19188, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 19212, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 19229, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 19246, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 19274, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 19303, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 19332, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 19361, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 19390, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 19419, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 19448, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 19476, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 19504, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 19532, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 19560, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 19588, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 19616, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 19644, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 19672, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 19700, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 19716, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 19736, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 19758, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 19772, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 19787, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 19811, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 19835, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 19859, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 19883, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 19900, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 19917, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 19945, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 19974, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 20003, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 20032, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 20061, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 20090, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 20119, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 20147, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 20175, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 20203, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 20231, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 20259, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 20287, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 20315, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 20343, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 20371, 0x00000D10 }, /* GL_MAP_COLOR */ + { 20384, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ + { 20410, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ + { 20439, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ + { 20467, 0x00000001 }, /* GL_MAP_READ_BIT */ + { 20483, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 20498, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ + { 20524, 0x00000002 }, /* GL_MAP_WRITE_BIT */ + { 20541, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 20556, 0x00008630 }, /* GL_MATRIX0_NV */ + { 20570, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 20586, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 20602, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 20618, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 20634, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 20650, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 20666, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 20682, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 20698, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 20714, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 20730, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 20745, 0x00008631 }, /* GL_MATRIX1_NV */ + { 20759, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 20775, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 20791, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 20807, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 20823, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 20839, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 20855, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 20871, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 20887, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 20903, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 20919, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 20934, 0x00008632 }, /* GL_MATRIX2_NV */ + { 20948, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 20964, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 20980, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 20995, 0x00008633 }, /* GL_MATRIX3_NV */ + { 21009, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 21024, 0x00008634 }, /* GL_MATRIX4_NV */ + { 21038, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 21053, 0x00008635 }, /* GL_MATRIX5_NV */ + { 21067, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 21082, 0x00008636 }, /* GL_MATRIX6_NV */ + { 21096, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 21111, 0x00008637 }, /* GL_MATRIX7_NV */ + { 21125, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 21140, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 21155, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 21181, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + { 21222, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ + { 21248, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 21282, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ + { 21316, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 21347, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ + { 21378, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 21411, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ + { 21444, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 21475, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ + { 21506, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 21521, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 21543, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ + { 21565, 0x00008008 }, /* GL_MAX */ + { 21572, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 21595, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ + { 21622, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ + { 21650, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 21682, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 21708, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 21741, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 21767, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 21801, 0x00000D32 }, /* GL_MAX_CLIP_DISTANCES */ + { 21823, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 21842, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ + { 21867, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 21896, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 21928, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 21964, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 22000, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 22040, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 22066, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 22096, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 22121, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 22150, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 22179, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 22212, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ + { 22245, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 22265, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 22289, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 22313, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 22337, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 22362, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 22380, 0x00008008 }, /* GL_MAX_EXT */ + { 22391, 0x00009125 }, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ + { 22424, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 22459, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 22498, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + { 22530, 0x00009123 }, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ + { 22563, 0x00009124 }, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ + { 22597, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ + { 22629, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ + { 22665, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ + { 22701, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ + { 22741, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ + { 22781, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ + { 22825, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ + { 22860, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ + { 22899, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + { 22938, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 22952, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 22972, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 23010, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 23039, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 23063, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 23091, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ + { 23119, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 23142, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 23179, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 23215, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 23242, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 23271, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 23305, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 23341, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 23368, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 23400, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 23436, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 23465, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 23494, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 23522, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 23560, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 23604, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 23647, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 23681, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 23720, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 23757, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 23795, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 23838, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 23881, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 23911, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 23942, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ + { 23970, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET_EXT */ + { 24002, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 24038, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 24074, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 24104, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ + { 24134, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 24168, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 24201, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ + { 24226, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 24255, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ + { 24284, 0x00008D57 }, /* GL_MAX_SAMPLES */ + { 24299, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ + { 24318, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + { 24345, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 24365, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 24389, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE */ + { 24416, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 24438, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 24464, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 24491, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 24522, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 24546, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ + { 24574, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 24608, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 24628, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 24655, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 24676, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 24701, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 24726, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 24761, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ + { 24810, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + { 24863, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ + { 24906, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + { 24953, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ + { 24999, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + { 25049, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */ + { 25075, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 25097, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 25123, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ + { 25146, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 25168, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 25194, 0x00009122 }, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ + { 25226, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 25260, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 25298, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 25331, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 25368, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + { 25398, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 25422, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ + { 25446, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + { 25483, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 25504, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ + { 25520, 0x00008DF4 }, /* GL_MEDIUM_INT */ + { 25534, 0x00008007 }, /* GL_MIN */ + { 25541, 0x0000802E }, /* GL_MINMAX */ + { 25551, 0x0000802E }, /* GL_MINMAX_EXT */ + { 25565, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 25582, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 25603, 0x00008030 }, /* GL_MINMAX_SINK */ + { 25618, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 25637, 0x0000821C }, /* GL_MINOR_VERSION */ + { 25654, 0x00008007 }, /* GL_MIN_EXT */ + { 25665, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ + { 25693, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET_EXT */ + { 25725, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 25744, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 25767, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 25790, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 25810, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 25830, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 25860, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 25888, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 25916, 0x00001700 }, /* GL_MODELVIEW */ + { 25929, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 25947, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 25966, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 25985, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 26004, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 26023, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 26042, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 26061, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 26080, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 26099, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 26118, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 26137, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 26155, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 26174, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 26193, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 26212, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 26231, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 26250, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 26269, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 26288, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 26307, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 26326, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 26345, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 26363, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 26382, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 26401, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 26419, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 26437, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 26455, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 26473, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 26491, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 26509, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 26527, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 26547, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 26589, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 26616, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 26641, 0x00002100 }, /* GL_MODULATE */ + { 26653, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 26673, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 26700, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 26725, 0x00000103 }, /* GL_MULT */ + { 26733, 0x0000809D }, /* GL_MULTISAMPLE */ + { 26748, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 26768, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 26787, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 26806, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 26830, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 26853, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 26883, 0x00002A25 }, /* GL_N3F_V3F */ + { 26894, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 26914, 0x0000150E }, /* GL_NAND */ + { 26922, 0x00002600 }, /* GL_NEAREST */ + { 26933, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 26964, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 26996, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 27021, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 27047, 0x00000200 }, /* GL_NEVER */ + { 27056, 0x00001102 }, /* GL_NICEST */ + { 27066, 0x00000000 }, /* GL_NONE */ + { 27074, 0x00000000 }, /* GL_NONE_OES */ + { 27086, 0x00001505 }, /* GL_NOOP */ + { 27094, 0x00001508 }, /* GL_NOR */ + { 27101, 0x00000BA1 }, /* GL_NORMALIZE */ + { 27114, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 27130, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 27161, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 27196, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 27220, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 27243, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 27264, 0x00008511 }, /* GL_NORMAL_MAP */ + { 27278, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 27296, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 27313, 0x00008511 }, /* GL_NORMAL_MAP_OES */ + { 27331, 0x00000205 }, /* GL_NOTEQUAL */ + { 27343, 0x00000000 }, /* GL_NO_ERROR */ + { 27355, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 27389, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 27427, 0x0000821D }, /* GL_NUM_EXTENSIONS */ + { 27445, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + { 27479, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ + { 27508, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 27540, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 27582, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 27612, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 27652, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 27683, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 27712, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 27740, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 27770, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 27787, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 27813, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 27829, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 27864, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 27886, 0x00009112 }, /* GL_OBJECT_TYPE */ + { 27901, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 27920, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 27950, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 27971, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 27999, 0x00000001 }, /* GL_ONE */ + { 28006, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 28034, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 28066, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 28094, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 28126, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 28149, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 28172, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 28195, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 28218, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 28236, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 28258, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 28280, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 28296, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 28316, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 28336, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 28354, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 28376, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 28398, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 28414, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 28434, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 28454, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 28472, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 28494, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 28516, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 28532, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 28552, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 28572, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 28593, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 28612, 0x00001507 }, /* GL_OR */ + { 28618, 0x00000A01 }, /* GL_ORDER */ + { 28627, 0x0000150D }, /* GL_OR_INVERTED */ + { 28642, 0x0000150B }, /* GL_OR_REVERSE */ + { 28656, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 28673, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 28691, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 28712, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 28732, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 28750, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 28769, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 28789, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 28809, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 28827, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 28846, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 28871, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 28895, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 28916, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 28938, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 28960, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 28985, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 29009, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 29030, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 29052, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 29074, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 29096, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 29127, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 29147, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 29172, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 29192, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 29217, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 29237, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 29262, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 29282, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 29307, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 29327, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 29352, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 29372, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 29397, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 29417, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 29442, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 29462, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 29487, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 29507, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 29532, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 29552, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 29577, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 29595, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ + { 29616, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ + { 29645, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 29678, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 29703, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ + { 29726, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 29757, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 29792, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 29819, 0x00001B00 }, /* GL_POINT */ + { 29828, 0x00000000 }, /* GL_POINTS */ + { 29838, 0x00000002 }, /* GL_POINT_BIT */ + { 29851, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 29881, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 29915, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 29949, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 29984, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 30013, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 30046, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 30079, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 30113, 0x00000B11 }, /* GL_POINT_SIZE */ + { 30127, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + { 30166, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ + { 30190, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + { 30222, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + { 30253, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + { 30282, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 30308, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 30326, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 30348, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 30370, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 30393, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 30411, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 30433, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 30455, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 30478, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 30498, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 30514, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 30535, 0x00008861 }, /* GL_POINT_SPRITE */ + { 30551, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 30571, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 30600, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 30619, 0x00008861 }, /* GL_POINT_SPRITE_OES */ + { 30639, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 30665, 0x00000701 }, /* GL_POINT_TOKEN */ + { 30680, 0x00000009 }, /* GL_POLYGON */ + { 30691, 0x00000008 }, /* GL_POLYGON_BIT */ + { 30706, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 30722, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 30745, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 30770, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 30793, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 30816, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 30840, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 30864, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 30882, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 30905, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 30924, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 30947, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 30964, 0x00001203 }, /* GL_POSITION */ + { 30976, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 31008, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 31044, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 31077, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 31114, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 31145, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 31180, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 31212, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 31248, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 31281, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 31313, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 31349, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 31382, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 31419, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 31449, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 31483, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 31514, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 31549, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 31580, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 31615, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 31647, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 31683, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 31713, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 31747, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 31778, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 31813, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 31845, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 31876, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 31911, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 31943, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 31979, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 32008, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 32041, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 32071, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 32105, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 32144, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 32177, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 32217, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 32251, 0x00008578 }, /* GL_PREVIOUS */ + { 32263, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 32279, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 32295, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 32312, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 32333, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 32354, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED */ + { 32378, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ + { 32406, 0x00008F9D }, /* GL_PRIMITIVE_RESTART */ + { 32427, 0x00008F9E }, /* GL_PRIMITIVE_RESTART_INDEX */ + { 32454, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */ + { 32484, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */ + { 32508, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 32541, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 32573, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 32596, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ + { 32626, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ + { 32655, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 32678, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 32708, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 32737, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 32765, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 32787, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 32815, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 32843, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 32865, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 32886, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 32926, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 32965, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 32995, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 33030, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 33063, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 33097, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 33136, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 33175, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 33197, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 33223, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 33247, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE */ + { 33269, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */ + { 33295, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 33318, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 33340, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 33361, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 33382, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 33409, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 33441, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 33473, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 33508, 0x00001701 }, /* GL_PROJECTION */ + { 33522, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 33543, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 33586, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 33612, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ + { 33632, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ + { 33656, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 33677, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 33696, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 33719, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 33758, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 33796, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 33816, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY */ + { 33842, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 33872, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 33896, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 33916, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY */ + { 33942, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 33972, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 33996, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 34016, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 34049, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 34075, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 34105, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE */ + { 34132, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 34163, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 34193, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ + { 34212, 0x00002003 }, /* GL_Q */ + { 34217, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 34242, 0x00000007 }, /* GL_QUADS */ + { 34251, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + { 34295, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + { 34343, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 34360, 0x00000008 }, /* GL_QUAD_STRIP */ + { 34374, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT */ + { 34401, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + { 34431, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT */ + { 34455, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ + { 34482, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 34504, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 34530, 0x00008E14 }, /* GL_QUERY_NO_WAIT */ + { 34547, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ + { 34567, 0x00008866 }, /* GL_QUERY_RESULT */ + { 34583, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 34603, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 34629, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 34659, 0x00008E13 }, /* GL_QUERY_WAIT */ + { 34673, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ + { 34690, 0x00002002 }, /* GL_R */ + { 34695, 0x00008C3A }, /* GL_R11F_G11F_B10F */ + { 34713, 0x00008F98 }, /* GL_R16_SNORM */ + { 34726, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 34738, 0x00008F94 }, /* GL_R8_SNORM */ + { 34750, 0x00008C89 }, /* GL_RASTERIZER_DISCARD */ + { 34772, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ + { 34798, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 34831, 0x00000C02 }, /* GL_READ_BUFFER */ + { 34846, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ + { 34866, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ + { 34894, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 34926, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 34950, 0x000088B8 }, /* GL_READ_ONLY */ + { 34963, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 34980, 0x000088BA }, /* GL_READ_WRITE */ + { 34994, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 35012, 0x00001903 }, /* GL_RED */ + { 35019, 0x00008016 }, /* GL_REDUCE */ + { 35029, 0x00008016 }, /* GL_REDUCE_EXT */ + { 35043, 0x00000D15 }, /* GL_RED_BIAS */ + { 35055, 0x00000D52 }, /* GL_RED_BITS */ + { 35067, 0x00008D94 }, /* GL_RED_INTEGER */ + { 35082, 0x00008D94 }, /* GL_RED_INTEGER_EXT */ + { 35101, 0x00000D14 }, /* GL_RED_SCALE */ + { 35114, 0x00008F90 }, /* GL_RED_SNORM */ + { 35127, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 35145, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 35167, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 35188, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ + { 35210, 0x00008A19 }, /* GL_RELEASED_APPLE */ + { 35228, 0x00001C00 }, /* GL_RENDER */ + { 35238, 0x00008D41 }, /* GL_RENDERBUFFER */ + { 35254, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ + { 35281, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ + { 35312, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ + { 35336, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 35364, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ + { 35392, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ + { 35418, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ + { 35448, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ + { 35475, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ + { 35506, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 35526, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ + { 35553, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ + { 35584, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ + { 35607, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 35634, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ + { 35661, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + { 35693, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 35729, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ + { 35765, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ + { 35785, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ + { 35810, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ + { 35839, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ + { 35863, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ + { 35891, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ + { 35920, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ + { 35953, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ + { 35975, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 36001, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ + { 36027, 0x00001F01 }, /* GL_RENDERER */ + { 36039, 0x00000C40 }, /* GL_RENDER_MODE */ + { 36054, 0x00002901 }, /* GL_REPEAT */ + { 36064, 0x00001E01 }, /* GL_REPLACE */ + { 36075, 0x00008062 }, /* GL_REPLACE_EXT */ + { 36090, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 36113, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 36131, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 36153, 0x00008A1B }, /* GL_RETAINED_APPLE */ + { 36171, 0x00000102 }, /* GL_RETURN */ + { 36181, 0x00008F99 }, /* GL_RG16_SNORM */ + { 36195, 0x00008F95 }, /* GL_RG8_SNORM */ + { 36208, 0x00001907 }, /* GL_RGB */ + { 36215, 0x00008052 }, /* GL_RGB10 */ + { 36224, 0x00008059 }, /* GL_RGB10_A2 */ + { 36236, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 36252, 0x00008052 }, /* GL_RGB10_EXT */ + { 36265, 0x00008053 }, /* GL_RGB12 */ + { 36274, 0x00008053 }, /* GL_RGB12_EXT */ + { 36287, 0x00008054 }, /* GL_RGB16 */ + { 36296, 0x0000881B }, /* GL_RGB16F */ + { 36306, 0x00008D89 }, /* GL_RGB16I */ + { 36316, 0x00008D89 }, /* GL_RGB16I_EXT */ + { 36330, 0x00008D77 }, /* GL_RGB16UI */ + { 36341, 0x00008D77 }, /* GL_RGB16UI_EXT */ + { 36356, 0x00008054 }, /* GL_RGB16_EXT */ + { 36369, 0x00008F9A }, /* GL_RGB16_SNORM */ + { 36384, 0x0000804E }, /* GL_RGB2_EXT */ + { 36396, 0x00008815 }, /* GL_RGB32F */ + { 36406, 0x00008D83 }, /* GL_RGB32I */ + { 36416, 0x00008D83 }, /* GL_RGB32I_EXT */ + { 36430, 0x00008D71 }, /* GL_RGB32UI */ + { 36441, 0x00008D71 }, /* GL_RGB32UI_EXT */ + { 36456, 0x0000804F }, /* GL_RGB4 */ + { 36464, 0x0000804F }, /* GL_RGB4_EXT */ + { 36476, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 36489, 0x00008050 }, /* GL_RGB5 */ + { 36497, 0x00008D62 }, /* GL_RGB565 */ + { 36507, 0x00008D62 }, /* GL_RGB565_OES */ + { 36521, 0x00008057 }, /* GL_RGB5_A1 */ + { 36532, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 36547, 0x00008057 }, /* GL_RGB5_A1_OES */ + { 36562, 0x00008050 }, /* GL_RGB5_EXT */ + { 36574, 0x00008051 }, /* GL_RGB8 */ + { 36582, 0x00008D8F }, /* GL_RGB8I */ + { 36591, 0x00008D8F }, /* GL_RGB8I_EXT */ + { 36604, 0x00008D7D }, /* GL_RGB8UI */ + { 36614, 0x00008D7D }, /* GL_RGB8UI_EXT */ + { 36628, 0x00008051 }, /* GL_RGB8_EXT */ + { 36640, 0x00008051 }, /* GL_RGB8_OES */ + { 36652, 0x00008F96 }, /* GL_RGB8_SNORM */ + { 36666, 0x00008C3D }, /* GL_RGB9_E5 */ + { 36677, 0x00001908 }, /* GL_RGBA */ + { 36685, 0x0000805A }, /* GL_RGBA12 */ + { 36695, 0x0000805A }, /* GL_RGBA12_EXT */ + { 36709, 0x0000805B }, /* GL_RGBA16 */ + { 36719, 0x0000881A }, /* GL_RGBA16F */ + { 36730, 0x00008D88 }, /* GL_RGBA16I */ + { 36741, 0x00008D88 }, /* GL_RGBA16I_EXT */ + { 36756, 0x00008D76 }, /* GL_RGBA16UI */ + { 36768, 0x00008D76 }, /* GL_RGBA16UI_EXT */ + { 36784, 0x0000805B }, /* GL_RGBA16_EXT */ + { 36798, 0x00008F9B }, /* GL_RGBA16_SNORM */ + { 36814, 0x00008055 }, /* GL_RGBA2 */ + { 36823, 0x00008055 }, /* GL_RGBA2_EXT */ + { 36836, 0x00008814 }, /* GL_RGBA32F */ + { 36847, 0x00008D82 }, /* GL_RGBA32I */ + { 36858, 0x00008D82 }, /* GL_RGBA32I_EXT */ + { 36873, 0x00008D70 }, /* GL_RGBA32UI */ + { 36885, 0x00008D70 }, /* GL_RGBA32UI_EXT */ + { 36901, 0x00008056 }, /* GL_RGBA4 */ + { 36910, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 36929, 0x00008056 }, /* GL_RGBA4_EXT */ + { 36942, 0x00008056 }, /* GL_RGBA4_OES */ + { 36955, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 36969, 0x00008058 }, /* GL_RGBA8 */ + { 36978, 0x00008D8E }, /* GL_RGBA8I */ + { 36988, 0x00008D8E }, /* GL_RGBA8I_EXT */ + { 37002, 0x00008D7C }, /* GL_RGBA8UI */ + { 37013, 0x00008D7C }, /* GL_RGBA8UI_EXT */ + { 37028, 0x00008058 }, /* GL_RGBA8_EXT */ + { 37041, 0x00008058 }, /* GL_RGBA8_OES */ + { 37054, 0x00008F97 }, /* GL_RGBA8_SNORM */ + { 37069, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 37087, 0x00008D99 }, /* GL_RGBA_INTEGER */ + { 37103, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */ + { 37123, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */ + { 37148, 0x00000C31 }, /* GL_RGBA_MODE */ + { 37161, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 37174, 0x00008F93 }, /* GL_RGBA_SNORM */ + { 37188, 0x00008D98 }, /* GL_RGB_INTEGER */ + { 37203, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */ + { 37222, 0x000083A0 }, /* GL_RGB_S3TC */ + { 37234, 0x00008573 }, /* GL_RGB_SCALE */ + { 37247, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 37264, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 37281, 0x00008F92 }, /* GL_RGB_SNORM */ + { 37294, 0x00008F91 }, /* GL_RG_SNORM */ + { 37306, 0x00000407 }, /* GL_RIGHT */ + { 37315, 0x00002000 }, /* GL_S */ + { 37320, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 37334, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY */ + { 37354, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY_EXT */ + { 37378, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW */ + { 37405, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW_EXT */ + { 37436, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 37457, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 37471, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY */ + { 37491, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY_EXT */ + { 37515, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW */ + { 37542, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW_EXT */ + { 37573, 0x00008B63 }, /* GL_SAMPLER_2D_RECT */ + { 37592, 0x00008B64 }, /* GL_SAMPLER_2D_RECT_SHADOW */ + { 37618, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 37639, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 37653, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ + { 37671, 0x00008DC2 }, /* GL_SAMPLER_BUFFER */ + { 37689, 0x00008DC2 }, /* GL_SAMPLER_BUFFER_EXT */ + { 37711, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 37727, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW */ + { 37750, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW_EXT */ + { 37777, 0x000080A9 }, /* GL_SAMPLES */ + { 37788, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 37804, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 37819, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 37837, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 37859, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 37887, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 37919, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 37942, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 37969, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 37987, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 38010, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 38032, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 38051, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 38074, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 38100, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 38130, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 38155, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 38184, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 38199, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 38214, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 38230, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 38255, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 38295, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 38339, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 38372, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 38402, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 38434, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 38464, 0x00001C02 }, /* GL_SELECT */ + { 38474, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 38502, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 38527, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 38543, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS */ + { 38563, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ + { 38587, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 38614, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 38645, 0x0000150F }, /* GL_SET */ + { 38652, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ + { 38677, 0x00008DFA }, /* GL_SHADER_COMPILER */ + { 38696, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 38717, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 38741, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 38756, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 38771, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 38799, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 38822, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 38852, 0x00001601 }, /* GL_SHININESS */ + { 38865, 0x00001402 }, /* GL_SHORT */ + { 38874, 0x00009119 }, /* GL_SIGNALED */ + { 38886, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ + { 38907, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 38923, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 38943, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 38962, 0x00008C46 }, /* GL_SLUMINANCE */ + { 38976, 0x00008C47 }, /* GL_SLUMINANCE8 */ + { 38991, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ + { 39013, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ + { 39033, 0x00001D01 }, /* GL_SMOOTH */ + { 39043, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 39076, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 39103, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 39136, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 39163, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 39180, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 39201, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 39222, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 39237, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 39256, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 39275, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 39292, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 39313, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 39334, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 39349, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 39368, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 39387, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 39404, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 39425, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 39446, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 39461, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 39480, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 39499, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 39519, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 39537, 0x00001202 }, /* GL_SPECULAR */ + { 39549, 0x00002402 }, /* GL_SPHERE_MAP */ + { 39563, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 39578, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 39596, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 39613, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 39627, 0x00008580 }, /* GL_SRC0_RGB */ + { 39639, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 39653, 0x00008581 }, /* GL_SRC1_RGB */ + { 39665, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 39679, 0x00008582 }, /* GL_SRC2_RGB */ + { 39691, 0x00000302 }, /* GL_SRC_ALPHA */ + { 39704, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 39726, 0x00000300 }, /* GL_SRC_COLOR */ + { 39739, 0x00008C40 }, /* GL_SRGB */ + { 39747, 0x00008C41 }, /* GL_SRGB8 */ + { 39756, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ + { 39772, 0x00008C42 }, /* GL_SRGB_ALPHA */ + { 39786, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 39804, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 39823, 0x000088E6 }, /* GL_STATIC_COPY */ + { 39838, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 39857, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 39872, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 39891, 0x000088E5 }, /* GL_STATIC_READ */ + { 39906, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 39925, 0x00001802 }, /* GL_STENCIL */ + { 39936, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ + { 39958, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 39984, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ + { 40010, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 40031, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 40056, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 40077, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 40102, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 40134, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 40170, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 40202, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 40238, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 40258, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 40285, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 40311, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 40327, 0x00008224 }, /* GL_STENCIL_BUFFER */ + { 40345, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 40367, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 40390, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 40406, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 40422, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 40439, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ + { 40457, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ + { 40476, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 40499, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 40521, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ + { 40543, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ + { 40561, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 40583, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ + { 40605, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ + { 40623, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 40645, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ + { 40667, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 40688, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 40715, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 40742, 0x00000B97 }, /* GL_STENCIL_REF */ + { 40757, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 40773, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 40802, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 40824, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 40845, 0x00000C33 }, /* GL_STEREO */ + { 40855, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ + { 40879, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ + { 40904, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ + { 40928, 0x000088E2 }, /* GL_STREAM_COPY */ + { 40943, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 40962, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 40977, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 40996, 0x000088E1 }, /* GL_STREAM_READ */ + { 41011, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 41030, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 41047, 0x000084E7 }, /* GL_SUBTRACT */ + { 41059, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 41075, 0x00009113 }, /* GL_SYNC_CONDITION */ + { 41093, 0x00009116 }, /* GL_SYNC_FENCE */ + { 41107, 0x00009115 }, /* GL_SYNC_FLAGS */ + { 41121, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ + { 41148, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + { 41178, 0x00009114 }, /* GL_SYNC_STATUS */ + { 41193, 0x00002001 }, /* GL_T */ + { 41198, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 41213, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 41232, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 41248, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 41263, 0x00002A27 }, /* GL_T2F_V3F */ + { 41274, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 41293, 0x00002A28 }, /* GL_T4F_V4F */ + { 41304, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 41327, 0x00001702 }, /* GL_TEXTURE */ + { 41338, 0x000084C0 }, /* GL_TEXTURE0 */ + { 41350, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 41366, 0x000084C1 }, /* GL_TEXTURE1 */ + { 41378, 0x000084CA }, /* GL_TEXTURE10 */ + { 41391, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 41408, 0x000084CB }, /* GL_TEXTURE11 */ + { 41421, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 41438, 0x000084CC }, /* GL_TEXTURE12 */ + { 41451, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 41468, 0x000084CD }, /* GL_TEXTURE13 */ + { 41481, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 41498, 0x000084CE }, /* GL_TEXTURE14 */ + { 41511, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 41528, 0x000084CF }, /* GL_TEXTURE15 */ + { 41541, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 41558, 0x000084D0 }, /* GL_TEXTURE16 */ + { 41571, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 41588, 0x000084D1 }, /* GL_TEXTURE17 */ + { 41601, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 41618, 0x000084D2 }, /* GL_TEXTURE18 */ + { 41631, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 41648, 0x000084D3 }, /* GL_TEXTURE19 */ + { 41661, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 41678, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 41694, 0x000084C2 }, /* GL_TEXTURE2 */ + { 41706, 0x000084D4 }, /* GL_TEXTURE20 */ + { 41719, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 41736, 0x000084D5 }, /* GL_TEXTURE21 */ + { 41749, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 41766, 0x000084D6 }, /* GL_TEXTURE22 */ + { 41779, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 41796, 0x000084D7 }, /* GL_TEXTURE23 */ + { 41809, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 41826, 0x000084D8 }, /* GL_TEXTURE24 */ + { 41839, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 41856, 0x000084D9 }, /* GL_TEXTURE25 */ + { 41869, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 41886, 0x000084DA }, /* GL_TEXTURE26 */ + { 41899, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 41916, 0x000084DB }, /* GL_TEXTURE27 */ + { 41929, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 41946, 0x000084DC }, /* GL_TEXTURE28 */ + { 41959, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 41976, 0x000084DD }, /* GL_TEXTURE29 */ + { 41989, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 42006, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 42022, 0x000084C3 }, /* GL_TEXTURE3 */ + { 42034, 0x000084DE }, /* GL_TEXTURE30 */ + { 42047, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 42064, 0x000084DF }, /* GL_TEXTURE31 */ + { 42077, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 42094, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 42110, 0x000084C4 }, /* GL_TEXTURE4 */ + { 42122, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 42138, 0x000084C5 }, /* GL_TEXTURE5 */ + { 42150, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 42166, 0x000084C6 }, /* GL_TEXTURE6 */ + { 42178, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 42194, 0x000084C7 }, /* GL_TEXTURE7 */ + { 42206, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 42222, 0x000084C8 }, /* GL_TEXTURE8 */ + { 42234, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 42250, 0x000084C9 }, /* GL_TEXTURE9 */ + { 42262, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 42278, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 42292, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY */ + { 42312, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 42336, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 42350, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY */ + { 42370, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 42394, 0x0000806F }, /* GL_TEXTURE_3D */ + { 42408, 0x0000806F }, /* GL_TEXTURE_3D_OES */ + { 42426, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 42448, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 42474, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 42496, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 42518, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY */ + { 42546, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 42578, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 42600, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY */ + { 42628, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 42660, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 42682, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ + { 42708, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER */ + { 42734, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 42762, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 42794, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ + { 42826, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE */ + { 42855, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 42888, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 42920, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 42935, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 42956, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 42981, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 42999, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 43023, 0x00008C2A }, /* GL_TEXTURE_BUFFER */ + { 43041, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ + { 43078, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT */ + { 43103, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 43134, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 43164, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 43194, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 43229, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 43260, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 43298, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 43325, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 43357, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 43391, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 43415, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 43443, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 43467, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 43495, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 43528, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 43552, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 43574, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 43596, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 43622, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 43656, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 43689, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 43726, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 43754, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 43786, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 43809, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 43847, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 43889, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 43920, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 43948, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 43978, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 44006, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ + { 44031, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 44051, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 44075, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 44106, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 44141, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ + { 44176, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 44207, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 44242, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ + { 44277, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 44308, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 44343, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ + { 44378, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ + { 44402, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 44433, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 44468, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ + { 44503, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 44534, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 44569, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ + { 44604, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 44635, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 44670, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ + { 44705, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + { 44734, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 44751, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 44773, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 44799, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 44814, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 44835, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 44855, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 44881, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ + { 44911, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 44931, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ + { 44955, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 44972, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 44989, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 45006, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ + { 45029, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 45046, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 45071, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 45093, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 45119, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 45137, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 45163, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 45189, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 45219, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 45246, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 45271, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 45291, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 45315, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 45342, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 45369, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 45396, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 45422, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 45452, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 45474, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 45492, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 45532, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 45562, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 45590, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 45618, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 45646, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 45667, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 45686, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 45708, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 45727, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 45747, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + { 45777, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + { 45808, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE */ + { 45829, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 45854, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 45878, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 45898, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 45922, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 45942, 0x00008C3F }, /* GL_TEXTURE_SHARED_SIZE */ + { 45965, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 45988, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ + { 46012, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ + { 46040, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + { 46070, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 46095, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 46129, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 46146, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 46164, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ + { 46186, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 46204, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 46222, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ + { 46241, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 46261, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 46280, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 46309, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 46326, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */ + { 46348, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */ + { 46378, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER */ + { 46407, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + { 46443, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ + { 46480, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + { 46521, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + { 46554, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ + { 46588, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + { 46626, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + { 46662, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ + { 46696, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + { 46734, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ + { 46769, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + { 46808, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ + { 46849, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + { 46894, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ + { 46925, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + { 46960, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ + { 47001, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + { 47046, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 47072, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 47102, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 47134, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 47164, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 47198, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 47214, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 47245, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 47280, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 47308, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 47340, 0x00000004 }, /* GL_TRIANGLES */ + { 47353, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY */ + { 47376, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */ + { 47403, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 47419, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 47440, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 47458, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY */ + { 47486, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ + { 47518, 0x00000001 }, /* GL_TRUE */ + { 47526, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ + { 47545, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 47565, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 47588, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 47608, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 47629, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 47651, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 47673, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 47693, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 47714, 0x00009118 }, /* GL_UNSIGNALED */ + { 47728, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 47745, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 47772, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 47795, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 47811, 0x00008C3B }, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ + { 47843, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 47870, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + { 47901, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ + { 47922, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ + { 47947, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 47971, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ + { 47996, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 48027, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ + { 48062, 0x00008C3E }, /* GL_UNSIGNED_INT_5_9_9_9_REV */ + { 48090, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 48114, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 48142, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D */ + { 48169, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ + { 48202, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT */ + { 48239, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D_EXT */ + { 48270, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D */ + { 48297, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ + { 48330, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT */ + { 48367, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D_EXT */ + { 48398, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ + { 48430, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT */ + { 48466, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D */ + { 48493, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D_EXT */ + { 48524, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ + { 48555, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT */ + { 48590, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ + { 48619, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE_EXT */ + { 48652, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2 */ + { 48673, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2_EXT */ + { 48698, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3 */ + { 48719, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3_EXT */ + { 48744, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4 */ + { 48765, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4_EXT */ + { 48790, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ + { 48813, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 48831, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 48861, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ + { 48895, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 48921, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 48951, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ + { 48985, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 49011, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 49035, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 49063, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 49091, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 49118, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 49150, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 49181, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 49195, 0x00002A20 }, /* GL_V2F */ + { 49202, 0x00002A21 }, /* GL_V3F */ + { 49209, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 49228, 0x00001F00 }, /* GL_VENDOR */ + { 49238, 0x00001F02 }, /* GL_VERSION */ + { 49249, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 49265, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ + { 49289, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 49319, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 49350, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 49385, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 49409, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 49430, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 49453, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 49474, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 49501, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 49529, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 49557, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 49585, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 49613, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 49641, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 49669, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 49696, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 49723, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 49750, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 49777, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 49804, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 49831, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 49858, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 49885, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 49912, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 49950, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 49992, 0x000088FE }, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ + { 50027, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 50058, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 50093, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + { 50124, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ + { 50159, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 50193, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 50231, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 50262, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 50297, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 50325, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 50357, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 50387, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 50421, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 50449, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 50481, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 50501, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 50523, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 50552, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 50573, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 50602, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 50635, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 50667, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 50694, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 50725, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 50755, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 50772, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 50793, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 50820, 0x00000BA2 }, /* GL_VIEWPORT */ + { 50832, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 50848, 0x00008A1A }, /* GL_VOLATILE_APPLE */ + { 50866, 0x0000911D }, /* GL_WAIT_FAILED */ + { 50881, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 50901, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 50932, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 50967, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ + { 51002, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ + { 51022, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 51050, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ + { 51078, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 51103, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ + { 51128, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 51155, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ + { 51182, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 51207, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ + { 51232, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 51256, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 51275, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 51289, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 51307, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ + { 51325, 0x00001506 }, /* GL_XOR */ + { 51332, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 51351, 0x00008757 }, /* GL_YCBCR_MESA */ + { 51365, 0x00000000 }, /* GL_ZERO */ + { 51373, 0x00000D16 }, /* GL_ZOOM_X */ + { 51383, 0x00000D17 }, /* GL_ZOOM_Y */ +}; + +static const unsigned reduced_enums[1552] = +{ + 535, /* GL_FALSE */ + 827, /* GL_LINES */ + 831, /* GL_LINE_LOOP */ + 838, /* GL_LINE_STRIP */ + 2135, /* GL_TRIANGLES */ + 2140, /* GL_TRIANGLE_STRIP */ + 2138, /* GL_TRIANGLE_FAN */ + 1507, /* GL_QUADS */ + 1511, /* GL_QUAD_STRIP */ + 1378, /* GL_POLYGON */ + 828, /* GL_LINES_ADJACENCY */ + 839, /* GL_LINE_STRIP_ADJACENCY */ + 2136, /* GL_TRIANGLES_ADJACENCY */ + 2141, /* GL_TRIANGLE_STRIP_ADJACENCY */ + 1390, /* GL_POLYGON_STIPPLE_BIT */ + 1333, /* GL_PIXEL_MODE_BIT */ + 814, /* GL_LIGHTING_BIT */ + 568, /* GL_FOG_BIT */ + 8, /* GL_ACCUM */ + 850, /* GL_LOAD */ + 1596, /* GL_RETURN */ + 1200, /* GL_MULT */ + 24, /* GL_ADD */ + 1216, /* GL_NEVER */ + 804, /* GL_LESS */ + 525, /* GL_EQUAL */ + 803, /* GL_LEQUAL */ + 691, /* GL_GREATER */ + 1233, /* GL_NOTEQUAL */ + 690, /* GL_GEQUAL */ + 55, /* GL_ALWAYS */ + 1803, /* GL_SRC_COLOR */ + 1266, /* GL_ONE_MINUS_SRC_COLOR */ + 1801, /* GL_SRC_ALPHA */ + 1265, /* GL_ONE_MINUS_SRC_ALPHA */ + 504, /* GL_DST_ALPHA */ + 1263, /* GL_ONE_MINUS_DST_ALPHA */ + 505, /* GL_DST_COLOR */ + 1264, /* GL_ONE_MINUS_DST_COLOR */ + 1802, /* GL_SRC_ALPHA_SATURATE */ + 667, /* GL_FRONT_LEFT */ + 668, /* GL_FRONT_RIGHT */ + 77, /* GL_BACK_LEFT */ + 78, /* GL_BACK_RIGHT */ + 664, /* GL_FRONT */ + 76, /* GL_BACK */ + 802, /* GL_LEFT */ + 1685, /* GL_RIGHT */ + 665, /* GL_FRONT_AND_BACK */ + 71, /* GL_AUX0 */ + 72, /* GL_AUX1 */ + 73, /* GL_AUX2 */ + 74, /* GL_AUX3 */ + 790, /* GL_INVALID_ENUM */ + 795, /* GL_INVALID_VALUE */ + 794, /* GL_INVALID_OPERATION */ + 1808, /* GL_STACK_OVERFLOW */ + 1809, /* GL_STACK_UNDERFLOW */ + 1291, /* GL_OUT_OF_MEMORY */ + 791, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + 0, /* GL_2D */ + 2, /* GL_3D */ + 3, /* GL_3D_COLOR */ + 4, /* GL_3D_COLOR_TEXTURE */ + 6, /* GL_4D_COLOR_TEXTURE */ + 1311, /* GL_PASS_THROUGH_TOKEN */ + 1377, /* GL_POINT_TOKEN */ + 841, /* GL_LINE_TOKEN */ + 1391, /* GL_POLYGON_TOKEN */ + 87, /* GL_BITMAP_TOKEN */ + 503, /* GL_DRAW_PIXEL_TOKEN */ + 349, /* GL_COPY_PIXEL_TOKEN */ + 832, /* GL_LINE_RESET_TOKEN */ + 528, /* GL_EXP */ + 529, /* GL_EXP2 */ + 386, /* GL_CW */ + 154, /* GL_CCW */ + 184, /* GL_COEFF */ + 1288, /* GL_ORDER */ + 440, /* GL_DOMAIN */ + 359, /* GL_CURRENT_COLOR */ + 362, /* GL_CURRENT_INDEX */ + 368, /* GL_CURRENT_NORMAL */ + 382, /* GL_CURRENT_TEXTURE_COORDS */ + 374, /* GL_CURRENT_RASTER_COLOR */ + 376, /* GL_CURRENT_RASTER_INDEX */ + 380, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + 377, /* GL_CURRENT_RASTER_POSITION */ + 378, /* GL_CURRENT_RASTER_POSITION_VALID */ + 375, /* GL_CURRENT_RASTER_DISTANCE */ + 1369, /* GL_POINT_SMOOTH */ + 1353, /* GL_POINT_SIZE */ + 1368, /* GL_POINT_SIZE_RANGE */ + 1359, /* GL_POINT_SIZE_GRANULARITY */ + 833, /* GL_LINE_SMOOTH */ + 842, /* GL_LINE_WIDTH */ + 844, /* GL_LINE_WIDTH_RANGE */ + 843, /* GL_LINE_WIDTH_GRANULARITY */ + 835, /* GL_LINE_STIPPLE */ + 836, /* GL_LINE_STIPPLE_PATTERN */ + 837, /* GL_LINE_STIPPLE_REPEAT */ + 849, /* GL_LIST_MODE */ + 1056, /* GL_MAX_LIST_NESTING */ + 846, /* GL_LIST_BASE */ + 848, /* GL_LIST_INDEX */ + 1380, /* GL_POLYGON_MODE */ + 1387, /* GL_POLYGON_SMOOTH */ + 1389, /* GL_POLYGON_STIPPLE */ + 514, /* GL_EDGE_FLAG */ + 352, /* GL_CULL_FACE */ + 353, /* GL_CULL_FACE_MODE */ + 666, /* GL_FRONT_FACE */ + 813, /* GL_LIGHTING */ + 818, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 819, /* GL_LIGHT_MODEL_TWO_SIDE */ + 815, /* GL_LIGHT_MODEL_AMBIENT */ + 1750, /* GL_SHADE_MODEL */ + 232, /* GL_COLOR_MATERIAL_FACE */ + 233, /* GL_COLOR_MATERIAL_PARAMETER */ + 231, /* GL_COLOR_MATERIAL */ + 567, /* GL_FOG */ + 589, /* GL_FOG_INDEX */ + 585, /* GL_FOG_DENSITY */ + 593, /* GL_FOG_START */ + 587, /* GL_FOG_END */ + 590, /* GL_FOG_MODE */ + 569, /* GL_FOG_COLOR */ + 425, /* GL_DEPTH_RANGE */ + 434, /* GL_DEPTH_TEST */ + 437, /* GL_DEPTH_WRITEMASK */ + 410, /* GL_DEPTH_CLEAR_VALUE */ + 424, /* GL_DEPTH_FUNC */ + 12, /* GL_ACCUM_CLEAR_VALUE */ + 1853, /* GL_STENCIL_TEST */ + 1834, /* GL_STENCIL_CLEAR_VALUE */ + 1836, /* GL_STENCIL_FUNC */ + 1855, /* GL_STENCIL_VALUE_MASK */ + 1835, /* GL_STENCIL_FAIL */ + 1850, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1851, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1852, /* GL_STENCIL_REF */ + 1856, /* GL_STENCIL_WRITEMASK */ + 1006, /* GL_MATRIX_MODE */ + 1222, /* GL_NORMALIZE */ + 2267, /* GL_VIEWPORT */ + 1195, /* GL_MODELVIEW_STACK_DEPTH */ + 1481, /* GL_PROJECTION_STACK_DEPTH */ + 2089, /* GL_TEXTURE_STACK_DEPTH */ + 1192, /* GL_MODELVIEW_MATRIX */ + 1479, /* GL_PROJECTION_MATRIX */ + 2069, /* GL_TEXTURE_MATRIX */ + 69, /* GL_ATTRIB_STACK_DEPTH */ + 166, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + 51, /* GL_ALPHA_TEST */ + 52, /* GL_ALPHA_TEST_FUNC */ + 53, /* GL_ALPHA_TEST_REF */ + 439, /* GL_DITHER */ + 91, /* GL_BLEND_DST */ + 105, /* GL_BLEND_SRC */ + 88, /* GL_BLEND */ + 852, /* GL_LOGIC_OP_MODE */ + 739, /* GL_INDEX_LOGIC_OP */ + 230, /* GL_COLOR_LOGIC_OP */ + 75, /* GL_AUX_BUFFERS */ + 450, /* GL_DRAW_BUFFER */ + 1534, /* GL_READ_BUFFER */ + 1727, /* GL_SCISSOR_BOX */ + 1728, /* GL_SCISSOR_TEST */ + 738, /* GL_INDEX_CLEAR_VALUE */ + 743, /* GL_INDEX_WRITEMASK */ + 227, /* GL_COLOR_CLEAR_VALUE */ + 269, /* GL_COLOR_WRITEMASK */ + 740, /* GL_INDEX_MODE */ + 1674, /* GL_RGBA_MODE */ + 449, /* GL_DOUBLEBUFFER */ + 1857, /* GL_STEREO */ + 1588, /* GL_RENDER_MODE */ + 1312, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1370, /* GL_POINT_SMOOTH_HINT */ + 834, /* GL_LINE_SMOOTH_HINT */ + 1388, /* GL_POLYGON_SMOOTH_HINT */ + 588, /* GL_FOG_HINT */ + 2049, /* GL_TEXTURE_GEN_S */ + 2051, /* GL_TEXTURE_GEN_T */ + 2048, /* GL_TEXTURE_GEN_R */ + 2047, /* GL_TEXTURE_GEN_Q */ + 1325, /* GL_PIXEL_MAP_I_TO_I */ + 1331, /* GL_PIXEL_MAP_S_TO_S */ + 1327, /* GL_PIXEL_MAP_I_TO_R */ + 1323, /* GL_PIXEL_MAP_I_TO_G */ + 1321, /* GL_PIXEL_MAP_I_TO_B */ + 1319, /* GL_PIXEL_MAP_I_TO_A */ + 1329, /* GL_PIXEL_MAP_R_TO_R */ + 1317, /* GL_PIXEL_MAP_G_TO_G */ + 1315, /* GL_PIXEL_MAP_B_TO_B */ + 1313, /* GL_PIXEL_MAP_A_TO_A */ + 1326, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1332, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1328, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1324, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1322, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1320, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1330, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1318, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1316, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1314, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 2152, /* GL_UNPACK_SWAP_BYTES */ + 2147, /* GL_UNPACK_LSB_FIRST */ + 2148, /* GL_UNPACK_ROW_LENGTH */ + 2151, /* GL_UNPACK_SKIP_ROWS */ + 2150, /* GL_UNPACK_SKIP_PIXELS */ + 2145, /* GL_UNPACK_ALIGNMENT */ + 1300, /* GL_PACK_SWAP_BYTES */ + 1295, /* GL_PACK_LSB_FIRST */ + 1296, /* GL_PACK_ROW_LENGTH */ + 1299, /* GL_PACK_SKIP_ROWS */ + 1298, /* GL_PACK_SKIP_PIXELS */ + 1292, /* GL_PACK_ALIGNMENT */ + 947, /* GL_MAP_COLOR */ + 952, /* GL_MAP_STENCIL */ + 742, /* GL_INDEX_SHIFT */ + 741, /* GL_INDEX_OFFSET */ + 1550, /* GL_RED_SCALE */ + 1546, /* GL_RED_BIAS */ + 2293, /* GL_ZOOM_X */ + 2294, /* GL_ZOOM_Y */ + 697, /* GL_GREEN_SCALE */ + 693, /* GL_GREEN_BIAS */ + 115, /* GL_BLUE_SCALE */ + 111, /* GL_BLUE_BIAS */ + 50, /* GL_ALPHA_SCALE */ + 47, /* GL_ALPHA_BIAS */ + 426, /* GL_DEPTH_SCALE */ + 402, /* GL_DEPTH_BIAS */ + 1038, /* GL_MAX_EVAL_ORDER */ + 1055, /* GL_MAX_LIGHTS */ + 1018, /* GL_MAX_CLIP_DISTANCES */ + 1110, /* GL_MAX_TEXTURE_SIZE */ + 1062, /* GL_MAX_PIXEL_MAP_TABLE */ + 1014, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 1058, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 1059, /* GL_MAX_NAME_STACK_DEPTH */ + 1090, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 1111, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 1137, /* GL_MAX_VIEWPORT_DIMS */ + 1015, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1867, /* GL_SUBPIXEL_BITS */ + 737, /* GL_INDEX_BITS */ + 1547, /* GL_RED_BITS */ + 694, /* GL_GREEN_BITS */ + 112, /* GL_BLUE_BITS */ + 48, /* GL_ALPHA_BITS */ + 403, /* GL_DEPTH_BITS */ + 1831, /* GL_STENCIL_BITS */ + 14, /* GL_ACCUM_RED_BITS */ + 13, /* GL_ACCUM_GREEN_BITS */ + 10, /* GL_ACCUM_BLUE_BITS */ + 9, /* GL_ACCUM_ALPHA_BITS */ + 1209, /* GL_NAME_STACK_DEPTH */ + 70, /* GL_AUTO_NORMAL */ + 893, /* GL_MAP1_COLOR_4 */ + 896, /* GL_MAP1_INDEX */ + 897, /* GL_MAP1_NORMAL */ + 898, /* GL_MAP1_TEXTURE_COORD_1 */ + 899, /* GL_MAP1_TEXTURE_COORD_2 */ + 900, /* GL_MAP1_TEXTURE_COORD_3 */ + 901, /* GL_MAP1_TEXTURE_COORD_4 */ + 902, /* GL_MAP1_VERTEX_3 */ + 903, /* GL_MAP1_VERTEX_4 */ + 920, /* GL_MAP2_COLOR_4 */ + 923, /* GL_MAP2_INDEX */ + 924, /* GL_MAP2_NORMAL */ + 925, /* GL_MAP2_TEXTURE_COORD_1 */ + 926, /* GL_MAP2_TEXTURE_COORD_2 */ + 927, /* GL_MAP2_TEXTURE_COORD_3 */ + 928, /* GL_MAP2_TEXTURE_COORD_4 */ + 929, /* GL_MAP2_VERTEX_3 */ + 930, /* GL_MAP2_VERTEX_4 */ + 894, /* GL_MAP1_GRID_DOMAIN */ + 895, /* GL_MAP1_GRID_SEGMENTS */ + 921, /* GL_MAP2_GRID_DOMAIN */ + 922, /* GL_MAP2_GRID_SEGMENTS */ + 1950, /* GL_TEXTURE_1D */ + 1953, /* GL_TEXTURE_2D */ + 538, /* GL_FEEDBACK_BUFFER_POINTER */ + 539, /* GL_FEEDBACK_BUFFER_SIZE */ + 540, /* GL_FEEDBACK_BUFFER_TYPE */ + 1737, /* GL_SELECTION_BUFFER_POINTER */ + 1738, /* GL_SELECTION_BUFFER_SIZE */ + 2095, /* GL_TEXTURE_WIDTH */ + 2055, /* GL_TEXTURE_HEIGHT */ + 1999, /* GL_TEXTURE_COMPONENTS */ + 1980, /* GL_TEXTURE_BORDER_COLOR */ + 1979, /* GL_TEXTURE_BORDER */ + 441, /* GL_DONT_CARE */ + 536, /* GL_FASTEST */ + 1217, /* GL_NICEST */ + 56, /* GL_AMBIENT */ + 438, /* GL_DIFFUSE */ + 1790, /* GL_SPECULAR */ + 1392, /* GL_POSITION */ + 1793, /* GL_SPOT_DIRECTION */ + 1794, /* GL_SPOT_EXPONENT */ + 1792, /* GL_SPOT_CUTOFF */ + 317, /* GL_CONSTANT_ATTENUATION */ + 822, /* GL_LINEAR_ATTENUATION */ + 1506, /* GL_QUADRATIC_ATTENUATION */ + 284, /* GL_COMPILE */ + 285, /* GL_COMPILE_AND_EXECUTE */ + 149, /* GL_BYTE */ + 2154, /* GL_UNSIGNED_BYTE */ + 1755, /* GL_SHORT */ + 2193, /* GL_UNSIGNED_SHORT */ + 745, /* GL_INT */ + 2157, /* GL_UNSIGNED_INT */ + 548, /* GL_FLOAT */ + 1, /* GL_2_BYTES */ + 5, /* GL_3_BYTES */ + 7, /* GL_4_BYTES */ + 448, /* GL_DOUBLE */ + 698, /* GL_HALF_FLOAT */ + 544, /* GL_FIXED */ + 162, /* GL_CLEAR */ + 58, /* GL_AND */ + 60, /* GL_AND_REVERSE */ + 347, /* GL_COPY */ + 59, /* GL_AND_INVERTED */ + 1220, /* GL_NOOP */ + 2289, /* GL_XOR */ + 1287, /* GL_OR */ + 1221, /* GL_NOR */ + 526, /* GL_EQUIV */ + 798, /* GL_INVERT */ + 1290, /* GL_OR_REVERSE */ + 348, /* GL_COPY_INVERTED */ + 1289, /* GL_OR_INVERTED */ + 1210, /* GL_NAND */ + 1744, /* GL_SET */ + 523, /* GL_EMISSION */ + 1754, /* GL_SHININESS */ + 57, /* GL_AMBIENT_AND_DIFFUSE */ + 229, /* GL_COLOR_INDEXES */ + 1159, /* GL_MODELVIEW */ + 1478, /* GL_PROJECTION */ + 1885, /* GL_TEXTURE */ + 185, /* GL_COLOR */ + 395, /* GL_DEPTH */ + 1816, /* GL_STENCIL */ + 228, /* GL_COLOR_INDEX */ + 1837, /* GL_STENCIL_INDEX */ + 411, /* GL_DEPTH_COMPONENT */ + 1543, /* GL_RED */ + 692, /* GL_GREEN */ + 110, /* GL_BLUE */ + 32, /* GL_ALPHA */ + 1599, /* GL_RGB */ + 1639, /* GL_RGBA */ + 856, /* GL_LUMINANCE */ + 883, /* GL_LUMINANCE_ALPHA */ + 86, /* GL_BITMAP */ + 1342, /* GL_POINT */ + 820, /* GL_LINE */ + 541, /* GL_FILL */ + 1557, /* GL_RENDER */ + 537, /* GL_FEEDBACK */ + 1736, /* GL_SELECT */ + 547, /* GL_FLAT */ + 1765, /* GL_SMOOTH */ + 799, /* GL_KEEP */ + 1590, /* GL_REPLACE */ + 727, /* GL_INCR */ + 391, /* GL_DECR */ + 2210, /* GL_VENDOR */ + 1587, /* GL_RENDERER */ + 2211, /* GL_VERSION */ + 530, /* GL_EXTENSIONS */ + 1686, /* GL_S */ + 1876, /* GL_T */ + 1526, /* GL_R */ + 1505, /* GL_Q */ + 1196, /* GL_MODULATE */ + 390, /* GL_DECAL */ + 2042, /* GL_TEXTURE_ENV_MODE */ + 2041, /* GL_TEXTURE_ENV_COLOR */ + 2040, /* GL_TEXTURE_ENV */ + 531, /* GL_EYE_LINEAR */ + 1248, /* GL_OBJECT_LINEAR */ + 1791, /* GL_SPHERE_MAP */ + 2045, /* GL_TEXTURE_GEN_MODE */ + 1250, /* GL_OBJECT_PLANE */ + 532, /* GL_EYE_PLANE */ + 1211, /* GL_NEAREST */ + 821, /* GL_LINEAR */ + 1215, /* GL_NEAREST_MIPMAP_NEAREST */ + 826, /* GL_LINEAR_MIPMAP_NEAREST */ + 1214, /* GL_NEAREST_MIPMAP_LINEAR */ + 825, /* GL_LINEAR_MIPMAP_LINEAR */ + 2068, /* GL_TEXTURE_MAG_FILTER */ + 2077, /* GL_TEXTURE_MIN_FILTER */ + 2098, /* GL_TEXTURE_WRAP_S */ + 2099, /* GL_TEXTURE_WRAP_T */ + 155, /* GL_CLAMP */ + 1589, /* GL_REPEAT */ + 1386, /* GL_POLYGON_OFFSET_UNITS */ + 1385, /* GL_POLYGON_OFFSET_POINT */ + 1384, /* GL_POLYGON_OFFSET_LINE */ + 1529, /* GL_R3_G3_B2 */ + 2207, /* GL_V2F */ + 2208, /* GL_V3F */ + 152, /* GL_C4UB_V2F */ + 153, /* GL_C4UB_V3F */ + 150, /* GL_C3F_V3F */ + 1208, /* GL_N3F_V3F */ + 151, /* GL_C4F_N3F_V3F */ + 1881, /* GL_T2F_V3F */ + 1883, /* GL_T4F_V4F */ + 1879, /* GL_T2F_C4UB_V3F */ + 1877, /* GL_T2F_C3F_V3F */ + 1880, /* GL_T2F_N3F_V3F */ + 1878, /* GL_T2F_C4F_N3F_V3F */ + 1882, /* GL_T4F_C4F_N3F_V4F */ + 169, /* GL_CLIP_DISTANCE0 */ + 170, /* GL_CLIP_DISTANCE1 */ + 171, /* GL_CLIP_DISTANCE2 */ + 172, /* GL_CLIP_DISTANCE3 */ + 173, /* GL_CLIP_DISTANCE4 */ + 174, /* GL_CLIP_DISTANCE5 */ + 175, /* GL_CLIP_DISTANCE6 */ + 176, /* GL_CLIP_DISTANCE7 */ + 805, /* GL_LIGHT0 */ + 806, /* GL_LIGHT1 */ + 807, /* GL_LIGHT2 */ + 808, /* GL_LIGHT3 */ + 809, /* GL_LIGHT4 */ + 810, /* GL_LIGHT5 */ + 811, /* GL_LIGHT6 */ + 812, /* GL_LIGHT7 */ + 702, /* GL_HINT_BIT */ + 319, /* GL_CONSTANT_COLOR */ + 1261, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 314, /* GL_CONSTANT_ALPHA */ + 1259, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 89, /* GL_BLEND_COLOR */ + 669, /* GL_FUNC_ADD */ + 1140, /* GL_MIN */ + 1009, /* GL_MAX */ + 96, /* GL_BLEND_EQUATION */ + 675, /* GL_FUNC_SUBTRACT */ + 672, /* GL_FUNC_REVERSE_SUBTRACT */ + 327, /* GL_CONVOLUTION_1D */ + 328, /* GL_CONVOLUTION_2D */ + 1739, /* GL_SEPARABLE_2D */ + 331, /* GL_CONVOLUTION_BORDER_MODE */ + 335, /* GL_CONVOLUTION_FILTER_SCALE */ + 333, /* GL_CONVOLUTION_FILTER_BIAS */ + 1544, /* GL_REDUCE */ + 337, /* GL_CONVOLUTION_FORMAT */ + 341, /* GL_CONVOLUTION_WIDTH */ + 339, /* GL_CONVOLUTION_HEIGHT */ + 1028, /* GL_MAX_CONVOLUTION_WIDTH */ + 1026, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1425, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1421, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1416, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1412, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1423, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1419, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1414, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1410, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 703, /* GL_HISTOGRAM */ + 1485, /* GL_PROXY_HISTOGRAM */ + 719, /* GL_HISTOGRAM_WIDTH */ + 709, /* GL_HISTOGRAM_FORMAT */ + 715, /* GL_HISTOGRAM_RED_SIZE */ + 711, /* GL_HISTOGRAM_GREEN_SIZE */ + 706, /* GL_HISTOGRAM_BLUE_SIZE */ + 704, /* GL_HISTOGRAM_ALPHA_SIZE */ + 713, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 717, /* GL_HISTOGRAM_SINK */ + 1141, /* GL_MINMAX */ + 1143, /* GL_MINMAX_FORMAT */ + 1145, /* GL_MINMAX_SINK */ + 1884, /* GL_TABLE_TOO_LARGE_EXT */ + 2156, /* GL_UNSIGNED_BYTE_3_3_2 */ + 2196, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 2199, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 2168, /* GL_UNSIGNED_INT_8_8_8_8 */ + 2159, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1383, /* GL_POLYGON_OFFSET_FILL */ + 1382, /* GL_POLYGON_OFFSET_FACTOR */ + 1381, /* GL_POLYGON_OFFSET_BIAS */ + 1593, /* GL_RESCALE_NORMAL */ + 41, /* GL_ALPHA4 */ + 43, /* GL_ALPHA8 */ + 33, /* GL_ALPHA12 */ + 35, /* GL_ALPHA16 */ + 871, /* GL_LUMINANCE4 */ + 877, /* GL_LUMINANCE8 */ + 857, /* GL_LUMINANCE12 */ + 863, /* GL_LUMINANCE16 */ + 872, /* GL_LUMINANCE4_ALPHA4 */ + 875, /* GL_LUMINANCE6_ALPHA2 */ + 880, /* GL_LUMINANCE8_ALPHA8 */ + 860, /* GL_LUMINANCE12_ALPHA4 */ + 858, /* GL_LUMINANCE12_ALPHA12 */ + 866, /* GL_LUMINANCE16_ALPHA16 */ + 746, /* GL_INTENSITY */ + 755, /* GL_INTENSITY4 */ + 757, /* GL_INTENSITY8 */ + 747, /* GL_INTENSITY12 */ + 749, /* GL_INTENSITY16 */ + 1614, /* GL_RGB2_EXT */ + 1620, /* GL_RGB4 */ + 1623, /* GL_RGB5 */ + 1630, /* GL_RGB8 */ + 1600, /* GL_RGB10 */ + 1604, /* GL_RGB12 */ + 1606, /* GL_RGB16 */ + 1650, /* GL_RGBA2 */ + 1657, /* GL_RGBA4 */ + 1626, /* GL_RGB5_A1 */ + 1662, /* GL_RGBA8 */ + 1601, /* GL_RGB10_A2 */ + 1640, /* GL_RGBA12 */ + 1642, /* GL_RGBA16 */ + 2085, /* GL_TEXTURE_RED_SIZE */ + 2053, /* GL_TEXTURE_GREEN_SIZE */ + 1977, /* GL_TEXTURE_BLUE_SIZE */ + 1958, /* GL_TEXTURE_ALPHA_SIZE */ + 2066, /* GL_TEXTURE_LUMINANCE_SIZE */ + 2057, /* GL_TEXTURE_INTENSITY_SIZE */ + 1591, /* GL_REPLACE_EXT */ + 1489, /* GL_PROXY_TEXTURE_1D */ + 1493, /* GL_PROXY_TEXTURE_2D */ + 2093, /* GL_TEXTURE_TOO_LARGE_EXT */ + 2079, /* GL_TEXTURE_PRIORITY */ + 2087, /* GL_TEXTURE_RESIDENT */ + 1961, /* GL_TEXTURE_BINDING_1D */ + 1964, /* GL_TEXTURE_BINDING_2D */ + 1967, /* GL_TEXTURE_BINDING_3D */ + 1297, /* GL_PACK_SKIP_IMAGES */ + 1293, /* GL_PACK_IMAGE_HEIGHT */ + 2149, /* GL_UNPACK_SKIP_IMAGES */ + 2146, /* GL_UNPACK_IMAGE_HEIGHT */ + 1956, /* GL_TEXTURE_3D */ + 1497, /* GL_PROXY_TEXTURE_3D */ + 2037, /* GL_TEXTURE_DEPTH */ + 2096, /* GL_TEXTURE_WRAP_R */ + 1010, /* GL_MAX_3D_TEXTURE_SIZE */ + 2212, /* GL_VERTEX_ARRAY */ + 1223, /* GL_NORMAL_ARRAY */ + 186, /* GL_COLOR_ARRAY */ + 731, /* GL_INDEX_ARRAY */ + 2007, /* GL_TEXTURE_COORD_ARRAY */ + 515, /* GL_EDGE_FLAG_ARRAY */ + 2218, /* GL_VERTEX_ARRAY_SIZE */ + 2220, /* GL_VERTEX_ARRAY_TYPE */ + 2219, /* GL_VERTEX_ARRAY_STRIDE */ + 1228, /* GL_NORMAL_ARRAY_TYPE */ + 1227, /* GL_NORMAL_ARRAY_STRIDE */ + 190, /* GL_COLOR_ARRAY_SIZE */ + 192, /* GL_COLOR_ARRAY_TYPE */ + 191, /* GL_COLOR_ARRAY_STRIDE */ + 736, /* GL_INDEX_ARRAY_TYPE */ + 735, /* GL_INDEX_ARRAY_STRIDE */ + 2011, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 2013, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 2012, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 519, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + 2217, /* GL_VERTEX_ARRAY_POINTER */ + 1226, /* GL_NORMAL_ARRAY_POINTER */ + 189, /* GL_COLOR_ARRAY_POINTER */ + 734, /* GL_INDEX_ARRAY_POINTER */ + 2010, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 518, /* GL_EDGE_FLAG_ARRAY_POINTER */ + 1201, /* GL_MULTISAMPLE */ + 1713, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1715, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1720, /* GL_SAMPLE_COVERAGE */ + 1717, /* GL_SAMPLE_BUFFERS */ + 1708, /* GL_SAMPLES */ + 1724, /* GL_SAMPLE_COVERAGE_VALUE */ + 1722, /* GL_SAMPLE_COVERAGE_INVERT */ + 234, /* GL_COLOR_MATRIX */ + 236, /* GL_COLOR_MATRIX_STACK_DEPTH */ + 1022, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1408, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1404, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1399, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1395, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1406, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1402, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1397, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1393, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 1990, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1498, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 1992, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 94, /* GL_BLEND_DST_RGB */ + 108, /* GL_BLEND_SRC_RGB */ + 92, /* GL_BLEND_DST_ALPHA */ + 106, /* GL_BLEND_SRC_ALPHA */ + 240, /* GL_COLOR_TABLE */ + 1418, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1401, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1484, /* GL_PROXY_COLOR_TABLE */ + 1488, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1487, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 264, /* GL_COLOR_TABLE_SCALE */ + 244, /* GL_COLOR_TABLE_BIAS */ + 249, /* GL_COLOR_TABLE_FORMAT */ + 266, /* GL_COLOR_TABLE_WIDTH */ + 261, /* GL_COLOR_TABLE_RED_SIZE */ + 252, /* GL_COLOR_TABLE_GREEN_SIZE */ + 246, /* GL_COLOR_TABLE_BLUE_SIZE */ + 241, /* GL_COLOR_TABLE_ALPHA_SIZE */ + 258, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + 255, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + 79, /* GL_BGR */ + 80, /* GL_BGRA */ + 1037, /* GL_MAX_ELEMENTS_VERTICES */ + 1036, /* GL_MAX_ELEMENTS_INDICES */ + 2056, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 183, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + 1364, /* GL_POINT_SIZE_MIN */ + 1360, /* GL_POINT_SIZE_MAX */ + 1349, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1345, /* GL_POINT_DISTANCE_ATTENUATION */ + 157, /* GL_CLAMP_TO_BORDER */ + 160, /* GL_CLAMP_TO_EDGE */ + 2078, /* GL_TEXTURE_MIN_LOD */ + 2076, /* GL_TEXTURE_MAX_LOD */ + 1960, /* GL_TEXTURE_BASE_LEVEL */ + 2075, /* GL_TEXTURE_MAX_LEVEL */ + 722, /* GL_IGNORE_BORDER_HP */ + 318, /* GL_CONSTANT_BORDER_HP */ + 1592, /* GL_REPLICATE_BORDER_HP */ + 329, /* GL_CONVOLUTION_BORDER_COLOR */ + 1256, /* GL_OCCLUSION_TEST_HP */ + 1257, /* GL_OCCLUSION_TEST_RESULT_HP */ + 823, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 1984, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 1986, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 1988, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 1989, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1987, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 1985, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 1016, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 1017, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1428, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1430, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1427, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1429, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 2064, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 2065, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 2063, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 678, /* GL_GENERATE_MIPMAP */ + 679, /* GL_GENERATE_MIPMAP_HINT */ + 591, /* GL_FOG_OFFSET_SGIX */ + 592, /* GL_FOG_OFFSET_VALUE_SGIX */ + 1998, /* GL_TEXTURE_COMPARE_SGIX */ + 1997, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 2060, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 2052, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 412, /* GL_DEPTH_COMPONENT16 */ + 416, /* GL_DEPTH_COMPONENT24 */ + 420, /* GL_DEPTH_COMPONENT32 */ + 354, /* GL_CULL_VERTEX_EXT */ + 356, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + 355, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + 2285, /* GL_WRAP_BORDER_SUN */ + 1991, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 816, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1758, /* GL_SINGLE_COLOR */ + 1742, /* GL_SEPARATE_SPECULAR_COLOR */ + 1753, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 603, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ + 604, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ + 615, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + 606, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ + 602, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ + 601, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ + 605, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ + 616, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + 633, /* GL_FRAMEBUFFER_DEFAULT */ + 660, /* GL_FRAMEBUFFER_UNDEFINED */ + 428, /* GL_DEPTH_STENCIL_ATTACHMENT */ + 892, /* GL_MAJOR_VERSION */ + 1147, /* GL_MINOR_VERSION */ + 1237, /* GL_NUM_EXTENSIONS */ + 324, /* GL_CONTEXT_FLAGS */ + 730, /* GL_INDEX */ + 406, /* GL_DEPTH_BUFFER */ + 1832, /* GL_STENCIL_BUFFER */ + 295, /* GL_COMPRESSED_RED */ + 296, /* GL_COMPRESSED_RG */ + 2155, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 2200, /* GL_UNSIGNED_SHORT_5_6_5 */ + 2201, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 2197, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 2194, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 2169, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 2165, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 2073, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 2074, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 2072, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 1151, /* GL_MIRRORED_REPEAT */ + 1679, /* GL_RGB_S3TC */ + 1622, /* GL_RGB4_S3TC */ + 1675, /* GL_RGBA_S3TC */ + 1661, /* GL_RGBA4_S3TC */ + 1670, /* GL_RGBA_DXT5_S3TC */ + 1658, /* GL_RGBA4_DXT5_S3TC */ + 306, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + 301, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + 302, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + 303, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + 1213, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 1212, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 824, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 578, /* GL_FOG_COORDINATE_SOURCE */ + 570, /* GL_FOG_COORD */ + 594, /* GL_FRAGMENT_DEPTH */ + 360, /* GL_CURRENT_FOG_COORD */ + 577, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + 576, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + 575, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + 572, /* GL_FOG_COORDINATE_ARRAY */ + 238, /* GL_COLOR_SUM */ + 381, /* GL_CURRENT_SECONDARY_COLOR */ + 1733, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1735, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1734, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1732, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1729, /* GL_SECONDARY_COLOR_ARRAY */ + 379, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ + 29, /* GL_ALIASED_POINT_SIZE_RANGE */ + 28, /* GL_ALIASED_LINE_WIDTH_RANGE */ + 1886, /* GL_TEXTURE0 */ + 1888, /* GL_TEXTURE1 */ + 1910, /* GL_TEXTURE2 */ + 1932, /* GL_TEXTURE3 */ + 1938, /* GL_TEXTURE4 */ + 1940, /* GL_TEXTURE5 */ + 1942, /* GL_TEXTURE6 */ + 1944, /* GL_TEXTURE7 */ + 1946, /* GL_TEXTURE8 */ + 1948, /* GL_TEXTURE9 */ + 1889, /* GL_TEXTURE10 */ + 1891, /* GL_TEXTURE11 */ + 1893, /* GL_TEXTURE12 */ + 1895, /* GL_TEXTURE13 */ + 1897, /* GL_TEXTURE14 */ + 1899, /* GL_TEXTURE15 */ + 1901, /* GL_TEXTURE16 */ + 1903, /* GL_TEXTURE17 */ + 1905, /* GL_TEXTURE18 */ + 1907, /* GL_TEXTURE19 */ + 1911, /* GL_TEXTURE20 */ + 1913, /* GL_TEXTURE21 */ + 1915, /* GL_TEXTURE22 */ + 1917, /* GL_TEXTURE23 */ + 1919, /* GL_TEXTURE24 */ + 1921, /* GL_TEXTURE25 */ + 1923, /* GL_TEXTURE26 */ + 1925, /* GL_TEXTURE27 */ + 1927, /* GL_TEXTURE28 */ + 1929, /* GL_TEXTURE29 */ + 1933, /* GL_TEXTURE30 */ + 1935, /* GL_TEXTURE31 */ + 19, /* GL_ACTIVE_TEXTURE */ + 163, /* GL_CLIENT_ACTIVE_TEXTURE */ + 1112, /* GL_MAX_TEXTURE_UNITS */ + 2128, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 2131, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 2133, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 2125, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1868, /* GL_SUBTRACT */ + 1094, /* GL_MAX_RENDERBUFFER_SIZE */ + 287, /* GL_COMPRESSED_ALPHA */ + 291, /* GL_COMPRESSED_LUMINANCE */ + 292, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + 289, /* GL_COMPRESSED_INTENSITY */ + 297, /* GL_COMPRESSED_RGB */ + 298, /* GL_COMPRESSED_RGBA */ + 2005, /* GL_TEXTURE_COMPRESSION_HINT */ + 2082, /* GL_TEXTURE_RECTANGLE */ + 1973, /* GL_TEXTURE_BINDING_RECTANGLE */ + 1501, /* GL_PROXY_TEXTURE_RECTANGLE */ + 1091, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ + 427, /* GL_DEPTH_STENCIL */ + 2161, /* GL_UNSIGNED_INT_24_8 */ + 1107, /* GL_MAX_TEXTURE_LOD_BIAS */ + 2071, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 1109, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 2043, /* GL_TEXTURE_FILTER_CONTROL */ + 2061, /* GL_TEXTURE_LOD_BIAS */ + 271, /* GL_COMBINE4 */ + 1100, /* GL_MAX_SHININESS_NV */ + 1101, /* GL_MAX_SPOT_EXPONENT_NV */ + 728, /* GL_INCR_WRAP */ + 392, /* GL_DECR_WRAP */ + 1171, /* GL_MODELVIEW1_ARB */ + 1229, /* GL_NORMAL_MAP */ + 1552, /* GL_REFLECTION_MAP */ + 2015, /* GL_TEXTURE_CUBE_MAP */ + 1970, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 2027, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 2017, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 2030, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 2020, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 2033, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 2023, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1499, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 1030, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 1207, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 1442, /* GL_PRIMITIVE_RESTART_NV */ + 1441, /* GL_PRIMITIVE_RESTART_INDEX_NV */ + 586, /* GL_FOG_DISTANCE_MODE_NV */ + 534, /* GL_EYE_RADIAL_NV */ + 533, /* GL_EYE_PLANE_ABSOLUTE_NV */ + 270, /* GL_COMBINE */ + 277, /* GL_COMBINE_RGB */ + 272, /* GL_COMBINE_ALPHA */ + 1680, /* GL_RGB_SCALE */ + 25, /* GL_ADD_SIGNED */ + 764, /* GL_INTERPOLATE */ + 313, /* GL_CONSTANT */ + 1434, /* GL_PRIMARY_COLOR */ + 1431, /* GL_PREVIOUS */ + 1773, /* GL_SOURCE0_RGB */ + 1779, /* GL_SOURCE1_RGB */ + 1785, /* GL_SOURCE2_RGB */ + 1789, /* GL_SOURCE3_RGB_NV */ + 1770, /* GL_SOURCE0_ALPHA */ + 1776, /* GL_SOURCE1_ALPHA */ + 1782, /* GL_SOURCE2_ALPHA */ + 1788, /* GL_SOURCE3_ALPHA_NV */ + 1270, /* GL_OPERAND0_RGB */ + 1276, /* GL_OPERAND1_RGB */ + 1282, /* GL_OPERAND2_RGB */ + 1286, /* GL_OPERAND3_RGB_NV */ + 1267, /* GL_OPERAND0_ALPHA */ + 1273, /* GL_OPERAND1_ALPHA */ + 1279, /* GL_OPERAND2_ALPHA */ + 1285, /* GL_OPERAND3_ALPHA_NV */ + 137, /* GL_BUFFER_OBJECT_APPLE */ + 2213, /* GL_VERTEX_ARRAY_BINDING */ + 2080, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + 2081, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + 2290, /* GL_YCBCR_422_APPLE */ + 2202, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 2204, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 2092, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + 1859, /* GL_STORAGE_PRIVATE_APPLE */ + 1858, /* GL_STORAGE_CACHED_APPLE */ + 1860, /* GL_STORAGE_SHARED_APPLE */ + 1760, /* GL_SLICE_ACCUM_SUN */ + 1510, /* GL_QUAD_MESH_SUN */ + 2139, /* GL_TRIANGLE_MESH_SUN */ + 2255, /* GL_VERTEX_PROGRAM_ARB */ + 2266, /* GL_VERTEX_STATE_PROGRAM_NV */ + 2240, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 2248, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 2250, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 2252, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 383, /* GL_CURRENT_VERTEX_ATTRIB */ + 1455, /* GL_PROGRAM_LENGTH_ARB */ + 1471, /* GL_PROGRAM_STRING_ARB */ + 1194, /* GL_MODELVIEW_PROJECTION_NV */ + 721, /* GL_IDENTITY_NV */ + 796, /* GL_INVERSE_NV */ + 2130, /* GL_TRANSPOSE_NV */ + 797, /* GL_INVERSE_TRANSPOSE_NV */ + 1075, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 1074, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 956, /* GL_MATRIX0_NV */ + 968, /* GL_MATRIX1_NV */ + 980, /* GL_MATRIX2_NV */ + 984, /* GL_MATRIX3_NV */ + 986, /* GL_MATRIX4_NV */ + 988, /* GL_MATRIX5_NV */ + 990, /* GL_MATRIX6_NV */ + 992, /* GL_MATRIX7_NV */ + 366, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + 363, /* GL_CURRENT_MATRIX_ARB */ + 1468, /* GL_PROGRAM_POINT_SIZE */ + 2261, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1467, /* GL_PROGRAM_PARAMETER_NV */ + 2246, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1473, /* GL_PROGRAM_TARGET_NV */ + 1470, /* GL_PROGRAM_RESIDENT_NV */ + 2102, /* GL_TRACK_MATRIX_NV */ + 2103, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 2256, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1449, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 408, /* GL_DEPTH_CLAMP */ + 2221, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 2228, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 2229, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 2230, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 2231, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 2232, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 2233, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 2234, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 2235, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 2236, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 2222, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 2223, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 2224, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 2225, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 2226, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 2227, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 904, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 911, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 912, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 913, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 914, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 915, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 916, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 917, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 918, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 919, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 905, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 906, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 907, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 908, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 909, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 910, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 931, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 938, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 939, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 940, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 941, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 942, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 943, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1448, /* GL_PROGRAM_BINDING_ARB */ + 945, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 946, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 932, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 933, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 934, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 935, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 936, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 937, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 2003, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 2000, /* GL_TEXTURE_COMPRESSED */ + 1235, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 311, /* GL_COMPRESSED_TEXTURE_FORMATS */ + 1134, /* GL_MAX_VERTEX_UNITS_ARB */ + 23, /* GL_ACTIVE_VERTEX_UNITS_ARB */ + 2284, /* GL_WEIGHT_SUM_UNITY_ARB */ + 2254, /* GL_VERTEX_BLEND_ARB */ + 385, /* GL_CURRENT_WEIGHT_ARB */ + 2282, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 2280, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 2278, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 2276, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 2271, /* GL_WEIGHT_ARRAY_ARB */ + 442, /* GL_DOT3_RGB */ + 443, /* GL_DOT3_RGBA */ + 305, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + 300, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + 1202, /* GL_MULTISAMPLE_3DFX */ + 1718, /* GL_SAMPLE_BUFFERS_3DFX */ + 1709, /* GL_SAMPLES_3DFX */ + 1182, /* GL_MODELVIEW2_ARB */ + 1185, /* GL_MODELVIEW3_ARB */ + 1186, /* GL_MODELVIEW4_ARB */ + 1187, /* GL_MODELVIEW5_ARB */ + 1188, /* GL_MODELVIEW6_ARB */ + 1189, /* GL_MODELVIEW7_ARB */ + 1190, /* GL_MODELVIEW8_ARB */ + 1191, /* GL_MODELVIEW9_ARB */ + 1161, /* GL_MODELVIEW10_ARB */ + 1162, /* GL_MODELVIEW11_ARB */ + 1163, /* GL_MODELVIEW12_ARB */ + 1164, /* GL_MODELVIEW13_ARB */ + 1165, /* GL_MODELVIEW14_ARB */ + 1166, /* GL_MODELVIEW15_ARB */ + 1167, /* GL_MODELVIEW16_ARB */ + 1168, /* GL_MODELVIEW17_ARB */ + 1169, /* GL_MODELVIEW18_ARB */ + 1170, /* GL_MODELVIEW19_ARB */ + 1172, /* GL_MODELVIEW20_ARB */ + 1173, /* GL_MODELVIEW21_ARB */ + 1174, /* GL_MODELVIEW22_ARB */ + 1175, /* GL_MODELVIEW23_ARB */ + 1176, /* GL_MODELVIEW24_ARB */ + 1177, /* GL_MODELVIEW25_ARB */ + 1178, /* GL_MODELVIEW26_ARB */ + 1179, /* GL_MODELVIEW27_ARB */ + 1180, /* GL_MODELVIEW28_ARB */ + 1181, /* GL_MODELVIEW29_ARB */ + 1183, /* GL_MODELVIEW30_ARB */ + 1184, /* GL_MODELVIEW31_ARB */ + 447, /* GL_DOT3_RGB_EXT */ + 445, /* GL_DOT3_RGBA_EXT */ + 1155, /* GL_MIRROR_CLAMP_EXT */ + 1158, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 1197, /* GL_MODULATE_ADD_ATI */ + 1198, /* GL_MODULATE_SIGNED_ADD_ATI */ + 1199, /* GL_MODULATE_SUBTRACT_ATI */ + 2291, /* GL_YCBCR_MESA */ + 1294, /* GL_PACK_INVERT_MESA */ + 388, /* GL_DEBUG_OBJECT_MESA */ + 389, /* GL_DEBUG_PRINT_MESA */ + 387, /* GL_DEBUG_ASSERT_MESA */ + 139, /* GL_BUFFER_SIZE */ + 141, /* GL_BUFFER_USAGE */ + 145, /* GL_BUMP_ROT_MATRIX_ATI */ + 146, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */ + 144, /* GL_BUMP_NUM_TEX_UNITS_ATI */ + 148, /* GL_BUMP_TEX_UNITS_ATI */ + 507, /* GL_DUDV_ATI */ + 506, /* GL_DU8DV8_ATI */ + 143, /* GL_BUMP_ENVMAP_ATI */ + 147, /* GL_BUMP_TARGET_ATI */ + 1238, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + 1446, /* GL_PROGRAM_BINARY_FORMATS_OES */ + 1822, /* GL_STENCIL_BACK_FUNC */ + 1820, /* GL_STENCIL_BACK_FAIL */ + 1824, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1826, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 595, /* GL_FRAGMENT_PROGRAM_ARB */ + 1444, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1476, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1475, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1458, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1464, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1463, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 1064, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1089, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1088, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1077, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1083, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1082, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 1652, /* GL_RGBA32F */ + 1615, /* GL_RGB32F */ + 1643, /* GL_RGBA16F */ + 1607, /* GL_RGB16F */ + 1033, /* GL_MAX_DRAW_BUFFERS */ + 451, /* GL_DRAW_BUFFER0 */ + 454, /* GL_DRAW_BUFFER1 */ + 475, /* GL_DRAW_BUFFER2 */ + 478, /* GL_DRAW_BUFFER3 */ + 481, /* GL_DRAW_BUFFER4 */ + 484, /* GL_DRAW_BUFFER5 */ + 487, /* GL_DRAW_BUFFER6 */ + 490, /* GL_DRAW_BUFFER7 */ + 493, /* GL_DRAW_BUFFER8 */ + 496, /* GL_DRAW_BUFFER9 */ + 455, /* GL_DRAW_BUFFER10 */ + 458, /* GL_DRAW_BUFFER11 */ + 461, /* GL_DRAW_BUFFER12 */ + 464, /* GL_DRAW_BUFFER13 */ + 467, /* GL_DRAW_BUFFER14 */ + 470, /* GL_DRAW_BUFFER15 */ + 97, /* GL_BLEND_EQUATION_ALPHA */ + 1007, /* GL_MATRIX_PALETTE_ARB */ + 1057, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 1060, /* GL_MAX_PALETTE_MATRICES_ARB */ + 369, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + 995, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 364, /* GL_CURRENT_MATRIX_INDEX_ARB */ + 1000, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 1004, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 1002, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 998, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 2038, /* GL_TEXTURE_DEPTH_SIZE */ + 435, /* GL_DEPTH_TEXTURE_MODE */ + 1995, /* GL_TEXTURE_COMPARE_MODE */ + 1993, /* GL_TEXTURE_COMPARE_FUNC */ + 281, /* GL_COMPARE_REF_TO_TEXTURE */ + 1371, /* GL_POINT_SPRITE */ + 343, /* GL_COORD_REPLACE */ + 1376, /* GL_POINT_SPRITE_R_MODE_NV */ + 1516, /* GL_QUERY_COUNTER_BITS */ + 372, /* GL_CURRENT_QUERY */ + 1520, /* GL_QUERY_RESULT */ + 1522, /* GL_QUERY_RESULT_AVAILABLE */ + 1126, /* GL_MAX_VERTEX_ATTRIBS */ + 2244, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 433, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + 432, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + 1103, /* GL_MAX_TEXTURE_COORDS */ + 1105, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1451, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1453, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1452, /* GL_PROGRAM_FORMAT_ARB */ + 2094, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 405, /* GL_DEPTH_BOUNDS_TEST_EXT */ + 404, /* GL_DEPTH_BOUNDS_EXT */ + 61, /* GL_ARRAY_BUFFER */ + 520, /* GL_ELEMENT_ARRAY_BUFFER */ + 62, /* GL_ARRAY_BUFFER_BINDING */ + 521, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + 2215, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 1224, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 187, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + 732, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 2008, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 516, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + 1730, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 573, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + 2272, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 2237, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1454, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 1070, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1460, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1079, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1474, /* GL_PROGRAM_TEMPORARIES_ARB */ + 1085, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1462, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1081, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1466, /* GL_PROGRAM_PARAMETERS_ARB */ + 1084, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1461, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1080, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1445, /* GL_PROGRAM_ATTRIBS_ARB */ + 1065, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1459, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1078, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1443, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1063, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1457, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 1076, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 1071, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 1067, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1477, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 2127, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1539, /* GL_READ_ONLY */ + 2286, /* GL_WRITE_ONLY */ + 1541, /* GL_READ_WRITE */ + 124, /* GL_BUFFER_ACCESS */ + 129, /* GL_BUFFER_MAPPED */ + 134, /* GL_BUFFER_MAP_POINTER */ + 2101, /* GL_TIME_ELAPSED_EXT */ + 955, /* GL_MATRIX0_ARB */ + 967, /* GL_MATRIX1_ARB */ + 979, /* GL_MATRIX2_ARB */ + 983, /* GL_MATRIX3_ARB */ + 985, /* GL_MATRIX4_ARB */ + 987, /* GL_MATRIX5_ARB */ + 989, /* GL_MATRIX6_ARB */ + 991, /* GL_MATRIX7_ARB */ + 993, /* GL_MATRIX8_ARB */ + 994, /* GL_MATRIX9_ARB */ + 957, /* GL_MATRIX10_ARB */ + 958, /* GL_MATRIX11_ARB */ + 959, /* GL_MATRIX12_ARB */ + 960, /* GL_MATRIX13_ARB */ + 961, /* GL_MATRIX14_ARB */ + 962, /* GL_MATRIX15_ARB */ + 963, /* GL_MATRIX16_ARB */ + 964, /* GL_MATRIX17_ARB */ + 965, /* GL_MATRIX18_ARB */ + 966, /* GL_MATRIX19_ARB */ + 969, /* GL_MATRIX20_ARB */ + 970, /* GL_MATRIX21_ARB */ + 971, /* GL_MATRIX22_ARB */ + 972, /* GL_MATRIX23_ARB */ + 973, /* GL_MATRIX24_ARB */ + 974, /* GL_MATRIX25_ARB */ + 975, /* GL_MATRIX26_ARB */ + 976, /* GL_MATRIX27_ARB */ + 977, /* GL_MATRIX28_ARB */ + 978, /* GL_MATRIX29_ARB */ + 981, /* GL_MATRIX30_ARB */ + 982, /* GL_MATRIX31_ARB */ + 1863, /* GL_STREAM_DRAW */ + 1865, /* GL_STREAM_READ */ + 1861, /* GL_STREAM_COPY */ + 1812, /* GL_STATIC_DRAW */ + 1814, /* GL_STATIC_READ */ + 1810, /* GL_STATIC_COPY */ + 510, /* GL_DYNAMIC_DRAW */ + 512, /* GL_DYNAMIC_READ */ + 508, /* GL_DYNAMIC_COPY */ + 1334, /* GL_PIXEL_PACK_BUFFER */ + 1338, /* GL_PIXEL_UNPACK_BUFFER */ + 1335, /* GL_PIXEL_PACK_BUFFER_BINDING */ + 1339, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + 396, /* GL_DEPTH24_STENCIL8 */ + 2090, /* GL_TEXTURE_STENCIL_SIZE */ + 2036, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + 1066, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 1069, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 1073, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 1072, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 2242, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + 2239, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ + 1012, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ + 1149, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ + 1086, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ + 1854, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 18, /* GL_ACTIVE_STENCIL_FACE_EXT */ + 1156, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1711, /* GL_SAMPLES_PASSED */ + 688, /* GL_GEOMETRY_VERTICES_OUT */ + 682, /* GL_GEOMETRY_INPUT_TYPE */ + 684, /* GL_GEOMETRY_OUTPUT_TYPE */ + 156, /* GL_CLAMP_READ_COLOR */ + 546, /* GL_FIXED_ONLY */ + 1358, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + 1357, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + 1356, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + 1193, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1480, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + 2070, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + 138, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ + 128, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ + 1556, /* GL_RELEASED_APPLE */ + 2269, /* GL_VOLATILE_APPLE */ + 1595, /* GL_RETAINED_APPLE */ + 2144, /* GL_UNDEFINED_APPLE */ + 1504, /* GL_PURGEABLE_APPLE */ + 596, /* GL_FRAGMENT_SHADER */ + 2264, /* GL_VERTEX_SHADER */ + 1465, /* GL_PROGRAM_OBJECT_ARB */ + 1747, /* GL_SHADER_OBJECT_ARB */ + 1041, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 1131, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 1122, /* GL_MAX_VARYING_COMPONENTS */ + 1129, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 1024, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 1254, /* GL_OBJECT_TYPE_ARB */ + 1749, /* GL_SHADER_TYPE */ + 561, /* GL_FLOAT_VEC2 */ + 563, /* GL_FLOAT_VEC3 */ + 565, /* GL_FLOAT_VEC4 */ + 784, /* GL_INT_VEC2 */ + 786, /* GL_INT_VEC3 */ + 788, /* GL_INT_VEC4 */ + 116, /* GL_BOOL */ + 118, /* GL_BOOL_VEC2 */ + 120, /* GL_BOOL_VEC3 */ + 122, /* GL_BOOL_VEC4 */ + 549, /* GL_FLOAT_MAT2 */ + 553, /* GL_FLOAT_MAT3 */ + 557, /* GL_FLOAT_MAT4 */ + 1687, /* GL_SAMPLER_1D */ + 1693, /* GL_SAMPLER_2D */ + 1701, /* GL_SAMPLER_3D */ + 1705, /* GL_SAMPLER_CUBE */ + 1692, /* GL_SAMPLER_1D_SHADOW */ + 1700, /* GL_SAMPLER_2D_SHADOW */ + 1698, /* GL_SAMPLER_2D_RECT */ + 1699, /* GL_SAMPLER_2D_RECT_SHADOW */ + 551, /* GL_FLOAT_MAT2x3 */ + 552, /* GL_FLOAT_MAT2x4 */ + 555, /* GL_FLOAT_MAT3x2 */ + 556, /* GL_FLOAT_MAT3x4 */ + 559, /* GL_FLOAT_MAT4x2 */ + 560, /* GL_FLOAT_MAT4x3 */ + 394, /* GL_DELETE_STATUS */ + 286, /* GL_COMPILE_STATUS */ + 845, /* GL_LINK_STATUS */ + 2209, /* GL_VALIDATE_STATUS */ + 744, /* GL_INFO_LOG_LENGTH */ + 64, /* GL_ATTACHED_SHADERS */ + 21, /* GL_ACTIVE_UNIFORMS */ + 22, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ + 1748, /* GL_SHADER_SOURCE_LENGTH */ + 15, /* GL_ACTIVE_ATTRIBUTES */ + 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ + 598, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + 1751, /* GL_SHADING_LANGUAGE_VERSION */ + 371, /* GL_CURRENT_PROGRAM */ + 1303, /* GL_PALETTE4_RGB8_OES */ + 1305, /* GL_PALETTE4_RGBA8_OES */ + 1301, /* GL_PALETTE4_R5_G6_B5_OES */ + 1304, /* GL_PALETTE4_RGBA4_OES */ + 1302, /* GL_PALETTE4_RGB5_A1_OES */ + 1308, /* GL_PALETTE8_RGB8_OES */ + 1310, /* GL_PALETTE8_RGBA8_OES */ + 1306, /* GL_PALETTE8_R5_G6_B5_OES */ + 1309, /* GL_PALETTE8_RGBA4_OES */ + 1307, /* GL_PALETTE8_RGB5_A1_OES */ + 725, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + 723, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ + 1355, /* GL_POINT_SIZE_ARRAY_OES */ + 2014, /* GL_TEXTURE_CROP_RECT_OES */ + 996, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + 1354, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + 2192, /* GL_UNSIGNED_NORMALIZED */ + 1951, /* GL_TEXTURE_1D_ARRAY */ + 1490, /* GL_PROXY_TEXTURE_1D_ARRAY */ + 1954, /* GL_TEXTURE_2D_ARRAY */ + 1494, /* GL_PROXY_TEXTURE_2D_ARRAY */ + 1962, /* GL_TEXTURE_BINDING_1D_ARRAY */ + 1965, /* GL_TEXTURE_BINDING_2D_ARRAY */ + 1048, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ + 1981, /* GL_TEXTURE_BUFFER */ + 1102, /* GL_MAX_TEXTURE_BUFFER_SIZE */ + 1969, /* GL_TEXTURE_BINDING_BUFFER */ + 1982, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ + 1983, /* GL_TEXTURE_BUFFER_FORMAT */ + 1527, /* GL_R11F_G11F_B10F */ + 2158, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ + 1638, /* GL_RGB9_E5 */ + 2167, /* GL_UNSIGNED_INT_5_9_9_9_REV */ + 2088, /* GL_TEXTURE_SHARED_SIZE */ + 1804, /* GL_SRGB */ + 1805, /* GL_SRGB8 */ + 1807, /* GL_SRGB_ALPHA */ + 1806, /* GL_SRGB8_ALPHA8 */ + 1764, /* GL_SLUMINANCE_ALPHA */ + 1763, /* GL_SLUMINANCE8_ALPHA8 */ + 1761, /* GL_SLUMINANCE */ + 1762, /* GL_SLUMINANCE8 */ + 309, /* GL_COMPRESSED_SRGB */ + 310, /* GL_COMPRESSED_SRGB_ALPHA */ + 307, /* GL_COMPRESSED_SLUMINANCE */ + 308, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ + 2123, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ + 2112, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ + 1120, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ + 2121, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ + 2117, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ + 2115, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ + 1437, /* GL_PRIMITIVES_GENERATED */ + 2119, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ + 1531, /* GL_RASTERIZER_DISCARD */ + 1116, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ + 1118, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ + 762, /* GL_INTERLEAVED_ATTRIBS */ + 1740, /* GL_SEPARATE_ATTRIBS */ + 2107, /* GL_TRANSFORM_FEEDBACK_BUFFER */ + 2109, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ + 1373, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 853, /* GL_LOWER_LEFT */ + 2206, /* GL_UPPER_LEFT */ + 1828, /* GL_STENCIL_BACK_REF */ + 1829, /* GL_STENCIL_BACK_VALUE_MASK */ + 1830, /* GL_STENCIL_BACK_WRITEMASK */ + 500, /* GL_DRAW_FRAMEBUFFER_BINDING */ + 1561, /* GL_RENDERBUFFER_BINDING */ + 1535, /* GL_READ_FRAMEBUFFER */ + 499, /* GL_DRAW_FRAMEBUFFER */ + 1536, /* GL_READ_FRAMEBUFFER_BINDING */ + 1580, /* GL_RENDERBUFFER_SAMPLES */ + 612, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + 609, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + 624, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + 619, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + 622, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + 630, /* GL_FRAMEBUFFER_COMPLETE */ + 635, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + 650, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + 644, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + 639, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + 645, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + 641, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ + 655, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ + 661, /* GL_FRAMEBUFFER_UNSUPPORTED */ + 659, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + 1020, /* GL_MAX_COLOR_ATTACHMENTS */ + 193, /* GL_COLOR_ATTACHMENT0 */ + 196, /* GL_COLOR_ATTACHMENT1 */ + 210, /* GL_COLOR_ATTACHMENT2 */ + 212, /* GL_COLOR_ATTACHMENT3 */ + 214, /* GL_COLOR_ATTACHMENT4 */ + 216, /* GL_COLOR_ATTACHMENT5 */ + 218, /* GL_COLOR_ATTACHMENT6 */ + 220, /* GL_COLOR_ATTACHMENT7 */ + 222, /* GL_COLOR_ATTACHMENT8 */ + 224, /* GL_COLOR_ATTACHMENT9 */ + 197, /* GL_COLOR_ATTACHMENT10 */ + 199, /* GL_COLOR_ATTACHMENT11 */ + 201, /* GL_COLOR_ATTACHMENT12 */ + 203, /* GL_COLOR_ATTACHMENT13 */ + 205, /* GL_COLOR_ATTACHMENT14 */ + 207, /* GL_COLOR_ATTACHMENT15 */ + 399, /* GL_DEPTH_ATTACHMENT */ + 1817, /* GL_STENCIL_ATTACHMENT */ + 600, /* GL_FRAMEBUFFER */ + 1558, /* GL_RENDERBUFFER */ + 1584, /* GL_RENDERBUFFER_WIDTH */ + 1571, /* GL_RENDERBUFFER_HEIGHT */ + 1574, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + 1849, /* GL_STENCIL_INDEX_EXT */ + 1838, /* GL_STENCIL_INDEX1 */ + 1843, /* GL_STENCIL_INDEX4 */ + 1846, /* GL_STENCIL_INDEX8 */ + 1839, /* GL_STENCIL_INDEX16 */ + 1578, /* GL_RENDERBUFFER_RED_SIZE */ + 1569, /* GL_RENDERBUFFER_GREEN_SIZE */ + 1564, /* GL_RENDERBUFFER_BLUE_SIZE */ + 1559, /* GL_RENDERBUFFER_ALPHA_SIZE */ + 1566, /* GL_RENDERBUFFER_DEPTH_SIZE */ + 1582, /* GL_RENDERBUFFER_STENCIL_SIZE */ + 653, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + 1097, /* GL_MAX_SAMPLES */ + 2050, /* GL_TEXTURE_GEN_STR_OES */ + 699, /* GL_HALF_FLOAT_OES */ + 1625, /* GL_RGB565_OES */ + 1655, /* GL_RGBA32UI */ + 1618, /* GL_RGB32UI */ + 40, /* GL_ALPHA32UI_EXT */ + 754, /* GL_INTENSITY32UI_EXT */ + 870, /* GL_LUMINANCE32UI_EXT */ + 887, /* GL_LUMINANCE_ALPHA32UI_EXT */ + 1646, /* GL_RGBA16UI */ + 1610, /* GL_RGB16UI */ + 37, /* GL_ALPHA16UI_EXT */ + 751, /* GL_INTENSITY16UI_EXT */ + 865, /* GL_LUMINANCE16UI_EXT */ + 885, /* GL_LUMINANCE_ALPHA16UI_EXT */ + 1665, /* GL_RGBA8UI */ + 1633, /* GL_RGB8UI */ + 45, /* GL_ALPHA8UI_EXT */ + 759, /* GL_INTENSITY8UI_EXT */ + 879, /* GL_LUMINANCE8UI_EXT */ + 889, /* GL_LUMINANCE_ALPHA8UI_EXT */ + 1653, /* GL_RGBA32I */ + 1616, /* GL_RGB32I */ + 39, /* GL_ALPHA32I_EXT */ + 753, /* GL_INTENSITY32I_EXT */ + 869, /* GL_LUMINANCE32I_EXT */ + 886, /* GL_LUMINANCE_ALPHA32I_EXT */ + 1644, /* GL_RGBA16I */ + 1608, /* GL_RGB16I */ + 36, /* GL_ALPHA16I_EXT */ + 750, /* GL_INTENSITY16I_EXT */ + 864, /* GL_LUMINANCE16I_EXT */ + 884, /* GL_LUMINANCE_ALPHA16I_EXT */ + 1663, /* GL_RGBA8I */ + 1631, /* GL_RGB8I */ + 44, /* GL_ALPHA8I_EXT */ + 758, /* GL_INTENSITY8I_EXT */ + 878, /* GL_LUMINANCE8I_EXT */ + 888, /* GL_LUMINANCE_ALPHA8I_EXT */ + 1548, /* GL_RED_INTEGER */ + 695, /* GL_GREEN_INTEGER */ + 113, /* GL_BLUE_INTEGER */ + 49, /* GL_ALPHA_INTEGER_EXT */ + 1677, /* GL_RGB_INTEGER */ + 1671, /* GL_RGBA_INTEGER */ + 84, /* GL_BGR_INTEGER */ + 82, /* GL_BGRA_INTEGER */ + 891, /* GL_LUMINANCE_INTEGER_EXT */ + 890, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ + 1673, /* GL_RGBA_INTEGER_MODE_EXT */ + 607, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED */ + 648, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS */ + 647, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */ + 1688, /* GL_SAMPLER_1D_ARRAY */ + 1694, /* GL_SAMPLER_2D_ARRAY */ + 1703, /* GL_SAMPLER_BUFFER */ + 1690, /* GL_SAMPLER_1D_ARRAY_SHADOW */ + 1696, /* GL_SAMPLER_2D_ARRAY_SHADOW */ + 1706, /* GL_SAMPLER_CUBE_SHADOW */ + 2186, /* GL_UNSIGNED_INT_VEC2 */ + 2188, /* GL_UNSIGNED_INT_VEC3 */ + 2190, /* GL_UNSIGNED_INT_VEC4 */ + 768, /* GL_INT_SAMPLER_1D */ + 772, /* GL_INT_SAMPLER_2D */ + 778, /* GL_INT_SAMPLER_3D */ + 782, /* GL_INT_SAMPLER_CUBE */ + 776, /* GL_INT_SAMPLER_2D_RECT */ + 769, /* GL_INT_SAMPLER_1D_ARRAY */ + 773, /* GL_INT_SAMPLER_2D_ARRAY */ + 780, /* GL_INT_SAMPLER_BUFFER */ + 2170, /* GL_UNSIGNED_INT_SAMPLER_1D */ + 2174, /* GL_UNSIGNED_INT_SAMPLER_2D */ + 2180, /* GL_UNSIGNED_INT_SAMPLER_3D */ + 2184, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ + 2178, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ + 2171, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ + 2175, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ + 2182, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ + 686, /* GL_GEOMETRY_SHADER */ + 689, /* GL_GEOMETRY_VERTICES_OUT_ARB */ + 683, /* GL_GEOMETRY_INPUT_TYPE_ARB */ + 685, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */ + 1054, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + 1136, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + 1052, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ + 1046, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ + 1050, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ + 854, /* GL_LOW_FLOAT */ + 1138, /* GL_MEDIUM_FLOAT */ + 700, /* GL_HIGH_FLOAT */ + 855, /* GL_LOW_INT */ + 1139, /* GL_MEDIUM_INT */ + 701, /* GL_HIGH_INT */ + 2160, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + 767, /* GL_INT_10_10_10_2_OES */ + 1745, /* GL_SHADER_BINARY_FORMATS */ + 1239, /* GL_NUM_SHADER_BINARY_FORMATS */ + 1746, /* GL_SHADER_COMPILER */ + 1133, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + 1125, /* GL_MAX_VARYING_VECTORS */ + 1043, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + 1524, /* GL_QUERY_WAIT */ + 1518, /* GL_QUERY_NO_WAIT */ + 1514, /* GL_QUERY_BY_REGION_WAIT */ + 1512, /* GL_QUERY_BY_REGION_NO_WAIT */ + 2105, /* GL_TRANSFORM_FEEDBACK */ + 2114, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + 2108, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + 2106, /* GL_TRANSFORM_FEEDBACK_BINDING */ + 1508, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + 542, /* GL_FIRST_VERTEX_CONVENTION */ + 800, /* GL_LAST_VERTEX_CONVENTION */ + 1482, /* GL_PROVOKING_VERTEX */ + 350, /* GL_COPY_READ_BUFFER */ + 351, /* GL_COPY_WRITE_BUFFER */ + 1551, /* GL_RED_SNORM */ + 1684, /* GL_RG_SNORM */ + 1683, /* GL_RGB_SNORM */ + 1676, /* GL_RGBA_SNORM */ + 1530, /* GL_R8_SNORM */ + 1598, /* GL_RG8_SNORM */ + 1637, /* GL_RGB8_SNORM */ + 1669, /* GL_RGBA8_SNORM */ + 1528, /* GL_R16_SNORM */ + 1597, /* GL_RG16_SNORM */ + 1613, /* GL_RGB16_SNORM */ + 1649, /* GL_RGBA16_SNORM */ + 1757, /* GL_SIGNED_NORMALIZED */ + 1439, /* GL_PRIMITIVE_RESTART */ + 1440, /* GL_PRIMITIVE_RESTART_INDEX */ + 1099, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + 1253, /* GL_OBJECT_TYPE */ + 1870, /* GL_SYNC_CONDITION */ + 1875, /* GL_SYNC_STATUS */ + 1872, /* GL_SYNC_FLAGS */ + 1871, /* GL_SYNC_FENCE */ + 1874, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + 2153, /* GL_UNSIGNALED */ + 1756, /* GL_SIGNALED */ + 54, /* GL_ALREADY_SIGNALED */ + 2100, /* GL_TIMEOUT_EXPIRED */ + 312, /* GL_CONDITION_SATISFIED */ + 2270, /* GL_WAIT_FAILED */ + 126, /* GL_BUFFER_ACCESS_FLAGS */ + 132, /* GL_BUFFER_MAP_LENGTH */ + 133, /* GL_BUFFER_MAP_OFFSET */ + 1128, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ + 1044, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ + 1045, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ + 1040, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ + 326, /* GL_CONTEXT_PROFILE_MASK */ + 527, /* GL_EVAL_BIT */ + 1533, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 847, /* GL_LIST_BIT */ + 1976, /* GL_TEXTURE_BIT */ + 1726, /* GL_SCISSOR_BIT */ + 30, /* GL_ALL_ATTRIB_BITS */ + 1204, /* GL_MULTISAMPLE_BIT */ + 31, /* GL_ALL_CLIENT_ATTRIB_BITS */ +}; + +typedef int (*cfunc)(const void *, const void *); + +/** + * Compare a key name to an element in the \c all_enums array. + * + * \c bsearch always passes the key as the first parameter and the pointer + * to the array element as the second parameter. We can elimiate some + * extra work by taking advantage of that fact. + * + * \param a Pointer to the desired enum name. + * \param b Pointer to an element of the \c all_enums array. + */ +static int compar_name( const char *a, const enum_elt *b ) +{ + return strcmp( a, & enum_string_table[ b->offset ] ); +} + +/** + * Compare a key enum value to an element in the \c all_enums array. + * + * \c bsearch always passes the key as the first parameter and the pointer + * to the array element as the second parameter. We can elimiate some + * extra work by taking advantage of that fact. + * + * \param a Pointer to the desired enum name. + * \param b Pointer to an index into the \c all_enums array. + */ +static int compar_nr( const int *a, const unsigned *b ) +{ + return a[0] - all_enums[*b].n; +} + + +static char token_tmp[20]; + +const char *_mesa_lookup_enum_by_nr( int nr ) +{ + unsigned * i; + + i = (unsigned *) _mesa_bsearch(& nr, reduced_enums, + Elements(reduced_enums), + sizeof(reduced_enums[0]), + (cfunc) compar_nr); + + if ( i != NULL ) { + return & enum_string_table[ all_enums[ *i ].offset ]; + } + else { + /* this is not re-entrant safe, no big deal here */ + _mesa_snprintf(token_tmp, sizeof(token_tmp) - 1, "0x%x", nr); + token_tmp[sizeof(token_tmp) - 1] = '\0'; + return token_tmp; + } +} + +/** + * Primitive names + */ +static const char *prim_names[PRIM_UNKNOWN + 1] = { + "GL_POINTS", + "GL_LINES", + "GL_LINE_LOOP", + "GL_LINE_STRIP", + "GL_TRIANGLES", + "GL_TRIANGLE_STRIP", + "GL_TRIANGLE_FAN", + "GL_QUADS", + "GL_QUAD_STRIP", + "GL_POLYGON", + "outside begin/end", + "inside unknown primitive", + "unknown state" +}; + + +/* Get the name of an enum given that it is a primitive type. Avoids + * GL_FALSE/GL_POINTS ambiguity and others. + */ +const char * +_mesa_lookup_prim_by_nr(unsigned nr) +{ + if (nr < Elements(prim_names)) + return prim_names[nr]; + else + return "invalid mode"; +} + + +int _mesa_lookup_enum_by_name( const char *symbol ) +{ + enum_elt * f = NULL; + + if ( symbol != NULL ) { + f = (enum_elt *) _mesa_bsearch(symbol, all_enums, + Elements(all_enums), + sizeof( enum_elt ), + (cfunc) compar_name); + } + + return (f != NULL) ? f->n : -1; +} + + diff --git a/mesalib/src/mesa/main/enums.h b/mesalib/src/mesa/main/enums.h index b3ad3f92c..7733df22f 100644 --- a/mesalib/src/mesa/main/enums.h +++ b/mesalib/src/mesa/main/enums.h @@ -1,62 +1,62 @@ -/**
- * \file enums.h
- * Enumeration name/number lookup functions.
- *
- * \if subset
- * (No-op)
- *
- * \endif
- */
-
-/*
- * Mesa 3-D graphics library
- * Version: 6.5.1
- *
- * Copyright (C) 1999-2006 Brian Paul 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, 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
- * BRIAN PAUL 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.
- */
-
-
-#ifndef _ENUMS_H_
-#define _ENUMS_H_
-
-#include "mfeatures.h"
-
-#if defined(_HAVE_FULL_GL) && _HAVE_FULL_GL
-
-extern const char *_mesa_lookup_enum_by_nr( int nr );
-
-/* Get the name of an enum given that it is a primitive type. Avoids
- * GL_FALSE/GL_POINTS ambiguity and others.
- */
-const char *_mesa_lookup_prim_by_nr( int nr );
-
-extern int _mesa_lookup_enum_by_name( const char *symbol );
-
-#else
-
-/** No-op */
-#define _mesa_lookup_enum_by_name( s ) 0
-
-/** No-op */
-#define _mesa_lookup_enum_by_nr( n ) "unknown"
-
-#endif
-
-#endif
+/** + * \file enums.h + * Enumeration name/number lookup functions. + * + * \if subset + * (No-op) + * + * \endif + */ + +/* + * Mesa 3-D graphics library + * Version: 6.5.1 + * + * Copyright (C) 1999-2006 Brian Paul 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, 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 + * BRIAN PAUL 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. + */ + + +#ifndef _ENUMS_H_ +#define _ENUMS_H_ + +#include "mfeatures.h" + +#if defined(_HAVE_FULL_GL) && _HAVE_FULL_GL + +extern const char *_mesa_lookup_enum_by_nr( int nr ); + +/* Get the name of an enum given that it is a primitive type. Avoids + * GL_FALSE/GL_POINTS ambiguity and others. + */ +const char *_mesa_lookup_prim_by_nr( unsigned nr ); + +extern int _mesa_lookup_enum_by_name( const char *symbol ); + +#else + +/** No-op */ +#define _mesa_lookup_enum_by_name( s ) 0 + +/** No-op */ +#define _mesa_lookup_enum_by_nr( n ) "unknown" + +#endif + +#endif diff --git a/mesalib/src/mesa/main/mtypes.h b/mesalib/src/mesa/main/mtypes.h index ac2957ac8..49dad4d40 100644 --- a/mesalib/src/mesa/main/mtypes.h +++ b/mesalib/src/mesa/main/mtypes.h @@ -121,6 +121,11 @@ struct st_context; /*@}*/ +/** Extra draw modes beyond GL_POINTS, GL_TRIANGLE_FAN, etc */ +#define PRIM_OUTSIDE_BEGIN_END (GL_POLYGON+1) +#define PRIM_INSIDE_UNKNOWN_PRIM (GL_POLYGON+2) +#define PRIM_UNKNOWN (GL_POLYGON+3) + /** * Shader stages. Note that these will become 5 with tessellation. @@ -296,8 +301,8 @@ typedef enum /** * Indexes for geometry program result attributes */ -/*@{*/ -typedef enum { +typedef enum +{ GEOM_RESULT_POS = 0, GEOM_RESULT_COL0 = 1, GEOM_RESULT_COL1 = 2, @@ -320,7 +325,7 @@ typedef enum { /* ### we need to -2 because var0 is 18 instead 16 like in the others */ GEOM_RESULT_MAX = (GEOM_RESULT_VAR0 + MAX_VARYING - 2) } gl_geom_result; -/*@}*/ + /** * Indexes for fragment program input attributes. @@ -1322,7 +1327,7 @@ struct gl_texture_object GLboolean _Complete; /**< Is texture object complete? */ GLboolean _RenderToTexture; /**< Any rendering to this texture? */ GLboolean Purgeable; /**< Is the buffer purgeable under memory pressure? */ - GLenum sRGBDecode; + GLenum sRGBDecode; /**< GL_DECODE_EXT or GL_SKIP_DECODE_EXT */ /** Actual texture images, indexed by [cube face] and [mipmap level] */ struct gl_texture_image *Image[MAX_FACES][MAX_TEXTURE_LEVELS]; @@ -3088,15 +3093,18 @@ struct gl_dlist_state } Current; }; + /** * Enum for the OpenGL APIs we know about and may support. */ -typedef enum { +typedef enum +{ API_OPENGL, API_OPENGLES, API_OPENGLES2 } gl_api; + /** * Mesa rendering context. * @@ -3309,10 +3317,6 @@ struct gl_context }; -/** The string names for GL_POINT, GL_LINE_LOOP, etc */ -extern const char *_mesa_prim_name[GL_POLYGON+4]; - - #ifdef DEBUG extern int MESA_VERBOSE; extern int MESA_DEBUG_FLAGS; diff --git a/mesalib/src/mesa/main/shaderapi.c b/mesalib/src/mesa/main/shaderapi.c index e83117523..a5e90d7cb 100644 --- a/mesalib/src/mesa/main/shaderapi.c +++ b/mesalib/src/mesa/main/shaderapi.c @@ -1924,6 +1924,7 @@ _mesa_init_shader_dispatch(struct _glapi_table *exec) /* GL_ARB_ES2_compatibility */ SET_ReleaseShaderCompiler(exec, _mesa_ReleaseShaderCompiler); + SET_GetShaderPrecisionFormat(exec, _mesa_GetShaderPrecisionFormat); #endif /* FEATURE_GL */ } diff --git a/mesalib/src/mesa/state_tracker/st_atom_texture.c b/mesalib/src/mesa/state_tracker/st_atom_texture.c index b98953b7b..fd03669e6 100644 --- a/mesalib/src/mesa/state_tracker/st_atom_texture.c +++ b/mesalib/src/mesa/state_tracker/st_atom_texture.c @@ -1,312 +1,324 @@ -/**************************************************************************
- *
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
- * 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 TUNGSTEN GRAPHICS 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:
- * Keith Whitwell <keith@tungstengraphics.com>
- * Brian Paul
- */
-
-
-#include "main/macros.h"
-#include "program/prog_instruction.h"
-
-#include "st_context.h"
-#include "st_atom.h"
-#include "st_texture.h"
-#include "st_format.h"
-#include "st_cb_texture.h"
-#include "pipe/p_context.h"
-#include "util/u_format.h"
-#include "util/u_inlines.h"
-#include "cso_cache/cso_context.h"
-
-/**
- * Combine depth texture mode with "swizzle" so that depth mode swizzling
- * takes place before texture swizzling, and return the resulting swizzle.
- * If the format is not a depth format, return "swizzle" unchanged.
- *
- * \param format PIPE_FORMAT_*.
- * \param swizzle Texture swizzle, a bitmask computed using MAKE_SWIZZLE4.
- * \param depthmode One of GL_LUMINANCE, GL_INTENSITY, GL_ALPHA, GL_RED.
- */
-static GLuint apply_depthmode(enum pipe_format format,
- GLuint swizzle, GLenum depthmode)
-{
- const struct util_format_description *desc =
- util_format_description(format);
- unsigned char swiz[4];
- unsigned i;
-
- if (desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS ||
- desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_NONE) {
- /* Not a depth format. */
- return swizzle;
- }
-
- for (i = 0; i < 4; i++)
- swiz[i] = GET_SWZ(swizzle, i);
-
- switch (depthmode) {
- case GL_LUMINANCE:
- /* Rewrite reads from W to ONE, and reads from XYZ to XXX. */
- for (i = 0; i < 4; i++)
- if (swiz[i] == SWIZZLE_W)
- swiz[i] = SWIZZLE_ONE;
- else if (swiz[i] < SWIZZLE_W)
- swiz[i] = SWIZZLE_X;
- break;
-
- case GL_INTENSITY:
- /* Rewrite reads from XYZW to XXXX. */
- for (i = 0; i < 4; i++)
- if (swiz[i] <= SWIZZLE_W)
- swiz[i] = SWIZZLE_X;
- break;
-
- case GL_ALPHA:
- /* Rewrite reads from W to X, and reads from XYZ to 000. */
- for (i = 0; i < 4; i++)
- if (swiz[i] == SWIZZLE_W)
- swiz[i] = SWIZZLE_X;
- else if (swiz[i] < SWIZZLE_W)
- swiz[i] = SWIZZLE_ZERO;
- break;
- case GL_RED:
- /* Rewrite reads W to 1, XYZ to X00 */
- for (i = 0; i < 4; i++)
- if (swiz[i] == SWIZZLE_W)
- swiz[i] = SWIZZLE_ONE;
- else if (swiz[i] == SWIZZLE_Y || swiz[i] == SWIZZLE_Z)
- swiz[i] = SWIZZLE_ZERO;
- break;
- }
-
- return MAKE_SWIZZLE4(swiz[0], swiz[1], swiz[2], swiz[3]);
-}
-
-/**
- * Return TRUE if the swizzling described by "swizzle" and
- * "depthmode" (for depth textures only) is different from the swizzling
- * set in the given sampler view.
- *
- * \param sv A sampler view.
- * \param swizzle Texture swizzle, a bitmask computed using MAKE_SWIZZLE4.
- * \param depthmode One of GL_LUMINANCE, GL_INTENSITY, GL_ALPHA.
- */
-static boolean check_sampler_swizzle(struct pipe_sampler_view *sv,
- GLuint swizzle, GLenum depthmode)
-{
- swizzle = apply_depthmode(sv->texture->format, swizzle, depthmode);
-
- if ((sv->swizzle_r != GET_SWZ(swizzle, 0)) ||
- (sv->swizzle_g != GET_SWZ(swizzle, 1)) ||
- (sv->swizzle_b != GET_SWZ(swizzle, 2)) ||
- (sv->swizzle_a != GET_SWZ(swizzle, 3)))
- return true;
- return false;
-}
-
-static INLINE struct pipe_sampler_view *
-st_create_texture_sampler_view_from_stobj(struct pipe_context *pipe,
- struct st_texture_object *stObj,
- enum pipe_format format)
-
-{
- struct pipe_sampler_view templ;
- GLuint swizzle = apply_depthmode(stObj->pt->format,
- stObj->base._Swizzle,
- stObj->base.DepthMode);
-
- u_sampler_view_default_template(&templ,
- stObj->pt,
- format);
-
- if (swizzle != SWIZZLE_NOOP) {
- templ.swizzle_r = GET_SWZ(swizzle, 0);
- templ.swizzle_g = GET_SWZ(swizzle, 1);
- templ.swizzle_b = GET_SWZ(swizzle, 2);
- templ.swizzle_a = GET_SWZ(swizzle, 3);
- }
-
- return pipe->create_sampler_view(pipe, stObj->pt, &templ);
-}
-
-
-static INLINE struct pipe_sampler_view *
-st_get_texture_sampler_view_from_stobj(struct st_texture_object *stObj,
- struct pipe_context *pipe,
- enum pipe_format format)
-
-{
- if (!stObj || !stObj->pt) {
- return NULL;
- }
-
- if (!stObj->sampler_view) {
- stObj->sampler_view = st_create_texture_sampler_view_from_stobj(pipe, stObj, format);
- }
-
- return stObj->sampler_view;
-}
-
-static void
-update_textures(struct st_context *st)
-{
- struct pipe_context *pipe = st->pipe;
- struct gl_vertex_program *vprog = st->ctx->VertexProgram._Current;
- struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current;
- const GLbitfield samplersUsed = (vprog->Base.SamplersUsed |
- fprog->Base.SamplersUsed);
- GLuint su;
-
- st->state.num_textures = 0;
-
- /* loop over sampler units (aka tex image units) */
- for (su = 0; su < st->ctx->Const.MaxTextureImageUnits; su++) {
- struct pipe_sampler_view *sampler_view = NULL;
- enum pipe_format st_view_format;
- if (samplersUsed & (1 << su)) {
- struct gl_texture_object *texObj;
- struct st_texture_object *stObj;
- GLboolean retval;
- GLuint texUnit;
-
- if (fprog->Base.SamplersUsed & (1 << su))
- texUnit = fprog->Base.SamplerUnits[su];
- else
- texUnit = vprog->Base.SamplerUnits[su];
-
- texObj = st->ctx->Texture.Unit[texUnit]._Current;
-
- if (!texObj) {
- texObj = st_get_default_texture(st);
- }
- stObj = st_texture_object(texObj);
-
- retval = st_finalize_texture(st->ctx, st->pipe, texObj);
- if (!retval) {
- /* out of mem */
- continue;
- }
-
- st_view_format = stObj->pt->format;
- {
- struct st_texture_image *firstImage;
- enum pipe_format firstImageFormat;
- firstImage = st_texture_image(stObj->base.Image[0][stObj->base.BaseLevel]);
-
- firstImageFormat = st_mesa_format_to_pipe_format(firstImage->base.TexFormat);
- if ((stObj->base.sRGBDecode == GL_SKIP_DECODE_EXT) && (_mesa_get_format_color_encoding(firstImage->base.TexFormat) == GL_SRGB)) {
- firstImageFormat = st_mesa_format_to_pipe_format(_mesa_get_srgb_format_linear(firstImage->base.TexFormat));
- }
-
- if (firstImageFormat != stObj->pt->format)
- st_view_format = firstImageFormat;
-
- }
- st->state.num_textures = su + 1;
-
- /* if sampler view has changed dereference it */
- if (stObj->sampler_view)
- if (check_sampler_swizzle(stObj->sampler_view,
- stObj->base._Swizzle,
- stObj->base.DepthMode) ||
- (st_view_format != stObj->sampler_view->format))
- pipe_sampler_view_reference(&stObj->sampler_view, NULL);
-
- sampler_view = st_get_texture_sampler_view_from_stobj(stObj, pipe, st_view_format);
- }
- pipe_sampler_view_reference(&st->state.sampler_views[su], sampler_view);
- }
-
- cso_set_fragment_sampler_views(st->cso_context,
- st->state.num_textures,
- st->state.sampler_views);
- if (st->ctx->Const.MaxVertexTextureImageUnits > 0) {
- cso_set_vertex_sampler_views(st->cso_context,
- MIN2(st->state.num_textures,
- st->ctx->Const.MaxVertexTextureImageUnits),
- st->state.sampler_views);
- }
-}
-
-
-const struct st_tracked_state st_update_texture = {
- "st_update_texture", /* name */
- { /* dirty */
- _NEW_TEXTURE, /* mesa */
- ST_NEW_FRAGMENT_PROGRAM, /* st */
- },
- update_textures /* update */
-};
-
-
-
-
-static void
-finalize_textures(struct st_context *st)
-{
- struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current;
- const GLboolean prev_missing_textures = st->missing_textures;
- GLuint su;
-
- st->missing_textures = GL_FALSE;
-
- for (su = 0; su < st->ctx->Const.MaxTextureCoordUnits; su++) {
- if (fprog->Base.SamplersUsed & (1 << su)) {
- const GLuint texUnit = fprog->Base.SamplerUnits[su];
- struct gl_texture_object *texObj
- = st->ctx->Texture.Unit[texUnit]._Current;
-
- if (texObj) {
- GLboolean retval;
-
- retval = st_finalize_texture(st->ctx, st->pipe, texObj);
- if (!retval) {
- /* out of mem */
- st->missing_textures = GL_TRUE;
- continue;
- }
- }
- }
- }
-
- if (prev_missing_textures != st->missing_textures)
- st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM;
-}
-
-
-
-const struct st_tracked_state st_finalize_textures = {
- "st_finalize_textures", /* name */
- { /* dirty */
- _NEW_TEXTURE, /* mesa */
- 0, /* st */
- },
- finalize_textures /* update */
-};
+/************************************************************************** + * + * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas. + * 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 TUNGSTEN GRAPHICS 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: + * Keith Whitwell <keith@tungstengraphics.com> + * Brian Paul + */ + + +#include "main/macros.h" +#include "program/prog_instruction.h" + +#include "st_context.h" +#include "st_atom.h" +#include "st_texture.h" +#include "st_format.h" +#include "st_cb_texture.h" +#include "pipe/p_context.h" +#include "util/u_format.h" +#include "util/u_inlines.h" +#include "cso_cache/cso_context.h" + + +/** + * Combine depth texture mode with "swizzle" so that depth mode swizzling + * takes place before texture swizzling, and return the resulting swizzle. + * If the format is not a depth format, return "swizzle" unchanged. + * + * \param format PIPE_FORMAT_*. + * \param swizzle Texture swizzle, a bitmask computed using MAKE_SWIZZLE4. + * \param depthmode One of GL_LUMINANCE, GL_INTENSITY, GL_ALPHA, GL_RED. + */ +static GLuint +apply_depthmode(enum pipe_format format, GLuint swizzle, GLenum depthmode) +{ + const struct util_format_description *desc = + util_format_description(format); + unsigned char swiz[4]; + unsigned i; + + if (desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS || + desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_NONE) { + /* Not a depth format. */ + return swizzle; + } + + for (i = 0; i < 4; i++) + swiz[i] = GET_SWZ(swizzle, i); + + switch (depthmode) { + case GL_LUMINANCE: + /* Rewrite reads from W to ONE, and reads from XYZ to XXX. */ + for (i = 0; i < 4; i++) + if (swiz[i] == SWIZZLE_W) + swiz[i] = SWIZZLE_ONE; + else if (swiz[i] < SWIZZLE_W) + swiz[i] = SWIZZLE_X; + break; + + case GL_INTENSITY: + /* Rewrite reads from XYZW to XXXX. */ + for (i = 0; i < 4; i++) + if (swiz[i] <= SWIZZLE_W) + swiz[i] = SWIZZLE_X; + break; + + case GL_ALPHA: + /* Rewrite reads from W to X, and reads from XYZ to 000. */ + for (i = 0; i < 4; i++) + if (swiz[i] == SWIZZLE_W) + swiz[i] = SWIZZLE_X; + else if (swiz[i] < SWIZZLE_W) + swiz[i] = SWIZZLE_ZERO; + break; + case GL_RED: + /* Rewrite reads W to 1, XYZ to X00 */ + for (i = 0; i < 4; i++) + if (swiz[i] == SWIZZLE_W) + swiz[i] = SWIZZLE_ONE; + else if (swiz[i] == SWIZZLE_Y || swiz[i] == SWIZZLE_Z) + swiz[i] = SWIZZLE_ZERO; + break; + } + + return MAKE_SWIZZLE4(swiz[0], swiz[1], swiz[2], swiz[3]); +} + + +/** + * Return TRUE if the swizzling described by "swizzle" and + * "depthmode" (for depth textures only) is different from the swizzling + * set in the given sampler view. + * + * \param sv A sampler view. + * \param swizzle Texture swizzle, a bitmask computed using MAKE_SWIZZLE4. + * \param depthmode One of GL_LUMINANCE, GL_INTENSITY, GL_ALPHA. + */ +static boolean +check_sampler_swizzle(struct pipe_sampler_view *sv, + GLuint swizzle, GLenum depthmode) +{ + swizzle = apply_depthmode(sv->texture->format, swizzle, depthmode); + + if ((sv->swizzle_r != GET_SWZ(swizzle, 0)) || + (sv->swizzle_g != GET_SWZ(swizzle, 1)) || + (sv->swizzle_b != GET_SWZ(swizzle, 2)) || + (sv->swizzle_a != GET_SWZ(swizzle, 3))) + return TRUE; + return FALSE; +} + + +static INLINE struct pipe_sampler_view * +st_create_texture_sampler_view_from_stobj(struct pipe_context *pipe, + struct st_texture_object *stObj, + enum pipe_format format) +{ + struct pipe_sampler_view templ; + GLuint swizzle = apply_depthmode(stObj->pt->format, + stObj->base._Swizzle, + stObj->base.DepthMode); + + u_sampler_view_default_template(&templ, + stObj->pt, + format); + + if (swizzle != SWIZZLE_NOOP) { + templ.swizzle_r = GET_SWZ(swizzle, 0); + templ.swizzle_g = GET_SWZ(swizzle, 1); + templ.swizzle_b = GET_SWZ(swizzle, 2); + templ.swizzle_a = GET_SWZ(swizzle, 3); + } + + return pipe->create_sampler_view(pipe, stObj->pt, &templ); +} + + +static INLINE struct pipe_sampler_view * +st_get_texture_sampler_view_from_stobj(struct st_texture_object *stObj, + struct pipe_context *pipe, + enum pipe_format format) +{ + if (!stObj || !stObj->pt) { + return NULL; + } + + if (!stObj->sampler_view) { + stObj->sampler_view = + st_create_texture_sampler_view_from_stobj(pipe, stObj, format); + } + + return stObj->sampler_view; +} + + +static void +update_textures(struct st_context *st) +{ + struct pipe_context *pipe = st->pipe; + struct gl_vertex_program *vprog = st->ctx->VertexProgram._Current; + struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current; + const GLbitfield samplersUsed = (vprog->Base.SamplersUsed | + fprog->Base.SamplersUsed); + GLuint su; + + st->state.num_textures = 0; + + /* loop over sampler units (aka tex image units) */ + for (su = 0; su < st->ctx->Const.MaxTextureImageUnits; su++) { + struct pipe_sampler_view *sampler_view = NULL; + enum pipe_format st_view_format; + if (samplersUsed & (1 << su)) { + struct gl_texture_object *texObj; + struct st_texture_object *stObj; + GLboolean retval; + GLuint texUnit; + + if (fprog->Base.SamplersUsed & (1 << su)) + texUnit = fprog->Base.SamplerUnits[su]; + else + texUnit = vprog->Base.SamplerUnits[su]; + + texObj = st->ctx->Texture.Unit[texUnit]._Current; + + if (!texObj) { + texObj = st_get_default_texture(st); + } + stObj = st_texture_object(texObj); + + retval = st_finalize_texture(st->ctx, st->pipe, texObj); + if (!retval) { + /* out of mem */ + continue; + } + + /* Determine the format of the texture sampler view */ + st_view_format = stObj->pt->format; + { + const struct st_texture_image *firstImage = + st_texture_image(stObj->base.Image[0][stObj->base.BaseLevel]); + const gl_format texFormat = firstImage->base.TexFormat; + enum pipe_format firstImageFormat = + st_mesa_format_to_pipe_format(texFormat); + + if ((stObj->base.sRGBDecode == GL_SKIP_DECODE_EXT) && + (_mesa_get_format_color_encoding(texFormat) == GL_SRGB)) { + /* don't do sRGB->RGB conversion. Interpret the texture + * texture data as linear values. + */ + const gl_format linearFormat = + _mesa_get_srgb_format_linear(texFormat); + firstImageFormat = st_mesa_format_to_pipe_format(linearFormat); + } + + if (firstImageFormat != stObj->pt->format) + st_view_format = firstImageFormat; + } + + st->state.num_textures = su + 1; + + /* if sampler view has changed dereference it */ + if (stObj->sampler_view) + if (check_sampler_swizzle(stObj->sampler_view, + stObj->base._Swizzle, + stObj->base.DepthMode) || + (st_view_format != stObj->sampler_view->format)) + pipe_sampler_view_reference(&stObj->sampler_view, NULL); + + sampler_view = st_get_texture_sampler_view_from_stobj(stObj, pipe, st_view_format); + } + pipe_sampler_view_reference(&st->state.sampler_views[su], sampler_view); + } + + cso_set_fragment_sampler_views(st->cso_context, + st->state.num_textures, + st->state.sampler_views); + if (st->ctx->Const.MaxVertexTextureImageUnits > 0) { + cso_set_vertex_sampler_views(st->cso_context, + MIN2(st->state.num_textures, + st->ctx->Const.MaxVertexTextureImageUnits), + st->state.sampler_views); + } +} + + +const struct st_tracked_state st_update_texture = { + "st_update_texture", /* name */ + { /* dirty */ + _NEW_TEXTURE, /* mesa */ + ST_NEW_FRAGMENT_PROGRAM, /* st */ + }, + update_textures /* update */ +}; + + + + +static void +finalize_textures(struct st_context *st) +{ + struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current; + const GLboolean prev_missing_textures = st->missing_textures; + GLuint su; + + st->missing_textures = GL_FALSE; + + for (su = 0; su < st->ctx->Const.MaxTextureCoordUnits; su++) { + if (fprog->Base.SamplersUsed & (1 << su)) { + const GLuint texUnit = fprog->Base.SamplerUnits[su]; + struct gl_texture_object *texObj + = st->ctx->Texture.Unit[texUnit]._Current; + + if (texObj) { + GLboolean retval; + + retval = st_finalize_texture(st->ctx, st->pipe, texObj); + if (!retval) { + /* out of mem */ + st->missing_textures = GL_TRUE; + continue; + } + } + } + } + + if (prev_missing_textures != st->missing_textures) + st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM; +} + + + +const struct st_tracked_state st_finalize_textures = { + "st_finalize_textures", /* name */ + { /* dirty */ + _NEW_TEXTURE, /* mesa */ + 0, /* st */ + }, + finalize_textures /* update */ +}; diff --git a/mesalib/src/mesa/state_tracker/st_texture.h b/mesalib/src/mesa/state_tracker/st_texture.h index 53d97101d..bca856d71 100644 --- a/mesalib/src/mesa/state_tracker/st_texture.h +++ b/mesalib/src/mesa/state_tracker/st_texture.h @@ -1,225 +1,221 @@ -/**************************************************************************
- *
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
- * 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 TUNGSTEN GRAPHICS 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.
- *
- **************************************************************************/
-
-#ifndef ST_TEXTURE_H
-#define ST_TEXTURE_H
-
-
-#include "pipe/p_context.h"
-#include "util/u_sampler.h"
-
-#include "main/mtypes.h"
-
-
-struct pipe_resource;
-
-
-/**
- * Subclass of gl_texure_image.
- */
-struct st_texture_image
-{
- struct gl_texture_image base;
-
- /* These aren't stored in gl_texture_image
- */
- GLuint level;
- GLuint face;
-
- /* If stImage->pt != NULL, image data is stored here.
- * Else if stImage->base.Data != NULL, image is stored there.
- * Else there is no image data.
- */
- struct pipe_resource *pt;
-
- struct pipe_transfer *transfer;
-};
-
-
-/**
- * Subclass of gl_texure_object.
- */
-struct st_texture_object
-{
- struct gl_texture_object base; /* The "parent" object */
-
- /* The texture must include at levels [0..lastLevel] once validated:
- */
- GLuint lastLevel;
-
- /** The size of the level=0 mipmap image */
- GLuint width0, height0, depth0;
-
- /* On validation any active images held in main memory or in other
- * textures will be copied to this texture and the old storage freed.
- */
- struct pipe_resource *pt;
-
- /* Default sampler view attached to this texture object. Created lazily
- * on first binding.
- */
- struct pipe_sampler_view *sampler_view;
-
- /* True if there is/was a surface bound to this texture object. It helps
- * track whether the texture object is surface based or not.
- */
- GLboolean surface_based;
-};
-
-
-static INLINE struct st_texture_image *
-st_texture_image(struct gl_texture_image *img)
-{
- return (struct st_texture_image *) img;
-}
-
-static INLINE struct st_texture_object *
-st_texture_object(struct gl_texture_object *obj)
-{
- return (struct st_texture_object *) obj;
-}
-
-
-static INLINE struct pipe_resource *
-st_get_texobj_resource(struct gl_texture_object *texObj)
-{
- struct st_texture_object *stObj = st_texture_object(texObj);
- return stObj ? stObj->pt : NULL;
-}
-
-
-static INLINE struct pipe_resource *
-st_get_stobj_resource(struct st_texture_object *stObj)
-{
- return stObj ? stObj->pt : NULL;
-}
-
-
-static INLINE struct pipe_sampler_view *
-st_create_texture_sampler_view(struct pipe_context *pipe,
- struct pipe_resource *texture)
-{
- struct pipe_sampler_view templ;
-
- u_sampler_view_default_template(&templ,
- texture,
- texture->format);
-
- return pipe->create_sampler_view(pipe, texture, &templ);
-}
-
-
-static INLINE struct pipe_sampler_view *
-st_create_texture_sampler_view_format(struct pipe_context *pipe,
- struct pipe_resource *texture,
- enum pipe_format format)
-{
- struct pipe_sampler_view templ;
-
- u_sampler_view_default_template(&templ,
- texture,
- format);
-
- return pipe->create_sampler_view(pipe, texture, &templ);
-}
-
-static INLINE struct pipe_sampler_view *
-st_get_texture_sampler_view(struct st_texture_object *stObj,
- struct pipe_context *pipe)
-
-{
- if (!stObj || !stObj->pt) {
- return NULL;
- }
-
- if (!stObj->sampler_view) {
- stObj->sampler_view = st_create_texture_sampler_view(pipe, stObj->pt);
- }
-
- return stObj->sampler_view;
-}
-
-
-extern struct pipe_resource *
-st_texture_create(struct st_context *st,
- enum pipe_texture_target target,
- enum pipe_format format,
- GLuint last_level,
- GLuint width0,
- GLuint height0,
- GLuint depth0,
- GLuint tex_usage );
-
-
-/* Check if an image fits into an existing texture object.
- */
-extern GLboolean
-st_texture_match_image(const struct pipe_resource *pt,
- const struct gl_texture_image *image,
- GLuint face, GLuint level);
-
-/* Return a pointer to an image within a texture. Return image stride as
- * well.
- */
-extern GLubyte *
-st_texture_image_map(struct st_context *st,
- struct st_texture_image *stImage,
- GLuint zoffset,
- enum pipe_transfer_usage usage,
- unsigned x, unsigned y,
- unsigned w, unsigned h);
-
-extern void
-st_texture_image_unmap(struct st_context *st,
- struct st_texture_image *stImage);
-
-
-/* Return pointers to each 2d slice within an image. Indexed by depth
- * value.
- */
-extern const GLuint *
-st_texture_depth_offsets(struct pipe_resource *pt, GLuint level);
-
-
-/* Upload an image into a texture
- */
-extern void
-st_texture_image_data(struct st_context *st,
- struct pipe_resource *dst,
- GLuint face, GLuint level, void *src,
- GLuint src_row_pitch, GLuint src_image_pitch);
-
-
-/* Copy an image between two textures
- */
-extern void
-st_texture_image_copy(struct pipe_context *pipe,
- struct pipe_resource *dst, GLuint dstLevel,
- struct pipe_resource *src, GLuint srcLevel,
- GLuint face);
-
-#endif
+/************************************************************************** + * + * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas. + * 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 TUNGSTEN GRAPHICS 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. + * + **************************************************************************/ + +#ifndef ST_TEXTURE_H +#define ST_TEXTURE_H + + +#include "pipe/p_context.h" +#include "util/u_sampler.h" + +#include "main/mtypes.h" + + +struct pipe_resource; + + +/** + * Subclass of gl_texure_image. + */ +struct st_texture_image +{ + struct gl_texture_image base; + + /* These aren't stored in gl_texture_image + */ + GLuint level; + GLuint face; + + /* If stImage->pt != NULL, image data is stored here. + * Else if stImage->base.Data != NULL, image is stored there. + * Else there is no image data. + */ + struct pipe_resource *pt; + + struct pipe_transfer *transfer; +}; + + +/** + * Subclass of gl_texure_object. + */ +struct st_texture_object +{ + struct gl_texture_object base; /* The "parent" object */ + + /* The texture must include at levels [0..lastLevel] once validated: + */ + GLuint lastLevel; + + /** The size of the level=0 mipmap image */ + GLuint width0, height0, depth0; + + /* On validation any active images held in main memory or in other + * textures will be copied to this texture and the old storage freed. + */ + struct pipe_resource *pt; + + /* Default sampler view attached to this texture object. Created lazily + * on first binding. + */ + struct pipe_sampler_view *sampler_view; + + /* True if there is/was a surface bound to this texture object. It helps + * track whether the texture object is surface based or not. + */ + GLboolean surface_based; +}; + + +static INLINE struct st_texture_image * +st_texture_image(struct gl_texture_image *img) +{ + return (struct st_texture_image *) img; +} + +static INLINE struct st_texture_object * +st_texture_object(struct gl_texture_object *obj) +{ + return (struct st_texture_object *) obj; +} + + +static INLINE struct pipe_resource * +st_get_texobj_resource(struct gl_texture_object *texObj) +{ + struct st_texture_object *stObj = st_texture_object(texObj); + return stObj ? stObj->pt : NULL; +} + + +static INLINE struct pipe_resource * +st_get_stobj_resource(struct st_texture_object *stObj) +{ + return stObj ? stObj->pt : NULL; +} + + +static INLINE struct pipe_sampler_view * +st_create_texture_sampler_view(struct pipe_context *pipe, + struct pipe_resource *texture) +{ + struct pipe_sampler_view templ; + + u_sampler_view_default_template(&templ, texture, texture->format); + + return pipe->create_sampler_view(pipe, texture, &templ); +} + + +static INLINE struct pipe_sampler_view * +st_create_texture_sampler_view_format(struct pipe_context *pipe, + struct pipe_resource *texture, + enum pipe_format format) +{ + struct pipe_sampler_view templ; + + u_sampler_view_default_template(&templ, texture, format); + + return pipe->create_sampler_view(pipe, texture, &templ); +} + + +static INLINE struct pipe_sampler_view * +st_get_texture_sampler_view(struct st_texture_object *stObj, + struct pipe_context *pipe) +{ + if (!stObj || !stObj->pt) { + return NULL; + } + + if (!stObj->sampler_view) { + stObj->sampler_view = st_create_texture_sampler_view(pipe, stObj->pt); + } + + return stObj->sampler_view; +} + + +extern struct pipe_resource * +st_texture_create(struct st_context *st, + enum pipe_texture_target target, + enum pipe_format format, + GLuint last_level, + GLuint width0, + GLuint height0, + GLuint depth0, + GLuint tex_usage ); + + +/* Check if an image fits into an existing texture object. + */ +extern GLboolean +st_texture_match_image(const struct pipe_resource *pt, + const struct gl_texture_image *image, + GLuint face, GLuint level); + +/* Return a pointer to an image within a texture. Return image stride as + * well. + */ +extern GLubyte * +st_texture_image_map(struct st_context *st, + struct st_texture_image *stImage, + GLuint zoffset, + enum pipe_transfer_usage usage, + unsigned x, unsigned y, + unsigned w, unsigned h); + +extern void +st_texture_image_unmap(struct st_context *st, + struct st_texture_image *stImage); + + +/* Return pointers to each 2d slice within an image. Indexed by depth + * value. + */ +extern const GLuint * +st_texture_depth_offsets(struct pipe_resource *pt, GLuint level); + + +/* Upload an image into a texture + */ +extern void +st_texture_image_data(struct st_context *st, + struct pipe_resource *dst, + GLuint face, GLuint level, void *src, + GLuint src_row_pitch, GLuint src_image_pitch); + + +/* Copy an image between two textures + */ +extern void +st_texture_image_copy(struct pipe_context *pipe, + struct pipe_resource *dst, GLuint dstLevel, + struct pipe_resource *src, GLuint srcLevel, + GLuint face); + +#endif diff --git a/mesalib/src/mesa/vbo/vbo.h b/mesalib/src/mesa/vbo/vbo.h index 20c7429da..37940efdc 100644 --- a/mesalib/src/mesa/vbo/vbo.h +++ b/mesalib/src/mesa/vbo/vbo.h @@ -1,173 +1,173 @@ -/*
- * mesa 3-D graphics library
- * Version: 6.5
- *
- * Copyright (C) 1999-2006 Brian Paul 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, 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
- * BRIAN PAUL 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.
- */
-
-/**
- * \file vbo_context.h
- * \brief VBO builder module datatypes and definitions.
- * \author Keith Whitwell
- */
-
-
-#ifndef _VBO_H
-#define _VBO_H
-
-#include "main/glheader.h"
-
-struct gl_client_array;
-struct gl_context;
-
-struct _mesa_prim {
- GLuint mode:8;
- GLuint indexed:1;
- GLuint begin:1;
- GLuint end:1;
- GLuint weak:1;
- GLuint no_current_update:1;
- GLuint pad:19;
-
- GLuint start;
- GLuint count;
- GLint basevertex;
- GLsizei num_instances;
-};
-
-/* Would like to call this a "vbo_index_buffer", but this would be
- * confusing as the indices are not neccessarily yet in a non-null
- * buffer object.
- */
-struct _mesa_index_buffer {
- GLuint count;
- GLenum type;
- struct gl_buffer_object *obj;
- const void *ptr;
-};
-
-
-
-GLboolean _vbo_CreateContext( struct gl_context *ctx );
-void _vbo_DestroyContext( struct gl_context *ctx );
-void _vbo_InvalidateState( struct gl_context *ctx, GLuint new_state );
-
-
-typedef void (*vbo_draw_func)( struct gl_context *ctx,
- const struct gl_client_array **arrays,
- const struct _mesa_prim *prims,
- GLuint nr_prims,
- const struct _mesa_index_buffer *ib,
- GLboolean index_bounds_valid,
- GLuint min_index,
- GLuint max_index );
-
-
-
-
-/* Utility function to cope with various constraints on tnl modules or
- * hardware. This can be used to split an incoming set of arrays and
- * primitives against the following constraints:
- * - Maximum number of indices in index buffer.
- * - Maximum number of vertices referenced by index buffer.
- * - Maximum hardware vertex buffer size.
- */
-struct split_limits {
- GLuint max_verts;
- GLuint max_indices;
- GLuint max_vb_size; /* bytes */
-};
-
-
-void vbo_split_prims( struct gl_context *ctx,
- const struct gl_client_array *arrays[],
- const struct _mesa_prim *prim,
- GLuint nr_prims,
- const struct _mesa_index_buffer *ib,
- GLuint min_index,
- GLuint max_index,
- vbo_draw_func draw,
- const struct split_limits *limits );
-
-
-/* Helpers for dealing translating away non-zero min_index.
- */
-GLboolean vbo_all_varyings_in_vbos( const struct gl_client_array *arrays[] );
-GLboolean vbo_any_varyings_in_vbos( const struct gl_client_array *arrays[] );
-
-void vbo_rebase_prims( struct gl_context *ctx,
- const struct gl_client_array *arrays[],
- const struct _mesa_prim *prim,
- GLuint nr_prims,
- const struct _mesa_index_buffer *ib,
- GLuint min_index,
- GLuint max_index,
- vbo_draw_func draw );
-void
-vbo_get_minmax_index(struct gl_context *ctx, const struct _mesa_prim *prim,
- const struct _mesa_index_buffer *ib,
- GLuint *min_index, GLuint *max_index);
-
-void vbo_use_buffer_objects(struct gl_context *ctx);
-
-
-void vbo_set_draw_func(struct gl_context *ctx, vbo_draw_func func);
-
-
-void GLAPIENTRY
-_es_Color4f(GLfloat r, GLfloat g, GLfloat b, GLfloat a);
-
-void GLAPIENTRY
-_es_Normal3f(GLfloat x, GLfloat y, GLfloat z);
-
-void GLAPIENTRY
-_es_MultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-
-void GLAPIENTRY
-_es_Materialfv(GLenum face, GLenum pname, const GLfloat *params);
-
-void GLAPIENTRY
-_es_Materialf(GLenum face, GLenum pname, GLfloat param);
-
-void GLAPIENTRY
-_es_VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-
-void GLAPIENTRY
-_es_VertexAttrib1f(GLuint indx, GLfloat x);
-
-void GLAPIENTRY
-_es_VertexAttrib1fv(GLuint indx, const GLfloat* values);
-
-void GLAPIENTRY
-_es_VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
-
-void GLAPIENTRY
-_es_VertexAttrib2fv(GLuint indx, const GLfloat* values);
-
-void GLAPIENTRY
-_es_VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
-
-void GLAPIENTRY
-_es_VertexAttrib3fv(GLuint indx, const GLfloat* values);
-
-void GLAPIENTRY
-_es_VertexAttrib4fv(GLuint indx, const GLfloat* values);
-
-#endif
+/* + * mesa 3-D graphics library + * Version: 6.5 + * + * Copyright (C) 1999-2006 Brian Paul 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, 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 + * BRIAN PAUL 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. + */ + +/** + * \file vbo_context.h + * \brief VBO builder module datatypes and definitions. + * \author Keith Whitwell + */ + + +#ifndef _VBO_H +#define _VBO_H + +#include "main/glheader.h" + +struct gl_client_array; +struct gl_context; + +struct _mesa_prim { + GLuint mode:8; /**< GL_POINTS, GL_LINES, GL_QUAD_STRIP, etc */ + GLuint indexed:1; + GLuint begin:1; + GLuint end:1; + GLuint weak:1; + GLuint no_current_update:1; + GLuint pad:19; + + GLuint start; + GLuint count; + GLint basevertex; + GLsizei num_instances; +}; + +/* Would like to call this a "vbo_index_buffer", but this would be + * confusing as the indices are not neccessarily yet in a non-null + * buffer object. + */ +struct _mesa_index_buffer { + GLuint count; + GLenum type; + struct gl_buffer_object *obj; + const void *ptr; +}; + + + +GLboolean _vbo_CreateContext( struct gl_context *ctx ); +void _vbo_DestroyContext( struct gl_context *ctx ); +void _vbo_InvalidateState( struct gl_context *ctx, GLuint new_state ); + + +typedef void (*vbo_draw_func)( struct gl_context *ctx, + const struct gl_client_array **arrays, + const struct _mesa_prim *prims, + GLuint nr_prims, + const struct _mesa_index_buffer *ib, + GLboolean index_bounds_valid, + GLuint min_index, + GLuint max_index ); + + + + +/* Utility function to cope with various constraints on tnl modules or + * hardware. This can be used to split an incoming set of arrays and + * primitives against the following constraints: + * - Maximum number of indices in index buffer. + * - Maximum number of vertices referenced by index buffer. + * - Maximum hardware vertex buffer size. + */ +struct split_limits { + GLuint max_verts; + GLuint max_indices; + GLuint max_vb_size; /* bytes */ +}; + + +void vbo_split_prims( struct gl_context *ctx, + const struct gl_client_array *arrays[], + const struct _mesa_prim *prim, + GLuint nr_prims, + const struct _mesa_index_buffer *ib, + GLuint min_index, + GLuint max_index, + vbo_draw_func draw, + const struct split_limits *limits ); + + +/* Helpers for dealing translating away non-zero min_index. + */ +GLboolean vbo_all_varyings_in_vbos( const struct gl_client_array *arrays[] ); +GLboolean vbo_any_varyings_in_vbos( const struct gl_client_array *arrays[] ); + +void vbo_rebase_prims( struct gl_context *ctx, + const struct gl_client_array *arrays[], + const struct _mesa_prim *prim, + GLuint nr_prims, + const struct _mesa_index_buffer *ib, + GLuint min_index, + GLuint max_index, + vbo_draw_func draw ); +void +vbo_get_minmax_index(struct gl_context *ctx, const struct _mesa_prim *prim, + const struct _mesa_index_buffer *ib, + GLuint *min_index, GLuint *max_index); + +void vbo_use_buffer_objects(struct gl_context *ctx); + + +void vbo_set_draw_func(struct gl_context *ctx, vbo_draw_func func); + + +void GLAPIENTRY +_es_Color4f(GLfloat r, GLfloat g, GLfloat b, GLfloat a); + +void GLAPIENTRY +_es_Normal3f(GLfloat x, GLfloat y, GLfloat z); + +void GLAPIENTRY +_es_MultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); + +void GLAPIENTRY +_es_Materialfv(GLenum face, GLenum pname, const GLfloat *params); + +void GLAPIENTRY +_es_Materialf(GLenum face, GLenum pname, GLfloat param); + +void GLAPIENTRY +_es_VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); + +void GLAPIENTRY +_es_VertexAttrib1f(GLuint indx, GLfloat x); + +void GLAPIENTRY +_es_VertexAttrib1fv(GLuint indx, const GLfloat* values); + +void GLAPIENTRY +_es_VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y); + +void GLAPIENTRY +_es_VertexAttrib2fv(GLuint indx, const GLfloat* values); + +void GLAPIENTRY +_es_VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z); + +void GLAPIENTRY +_es_VertexAttrib3fv(GLuint indx, const GLfloat* values); + +void GLAPIENTRY +_es_VertexAttrib4fv(GLuint indx, const GLfloat* values); + +#endif |