diff options
179 files changed, 17377 insertions, 14058 deletions
@@ -1,4 +1,4 @@ -# $OpenBSD: 3RDPARTY,v 1.23 2008/02/11 20:52:34 matthieu Exp $ +# $OpenBSD: 3RDPARTY,v 1.24 2008/02/12 21:09:25 matthieu Exp $ # Package: Freetype @@ -14,7 +14,7 @@ Maintainer: Thomas E. Dickey Archive Site: http://invisible-island.net/xterm/xterm.html Package: Mesa -Version 7.0.1 +Version 7.0.2 Current Vers: 7.0.2 Maintainer: Brian Paul Archive Site: http://www.mesa3d.org/ diff --git a/dist/Mesa/Makefile b/dist/Mesa/Makefile index 2fd8d35af..fe0c35479 100644 --- a/dist/Mesa/Makefile +++ b/dist/Mesa/Makefile @@ -7,7 +7,9 @@ SUBDIRS = src progs default: $(TOP)/configs/current @for dir in $(SUBDIRS) ; do \ - (cd $$dir ; $(MAKE)) || exit 1 ; \ + if [ -d $$dir ] ; then \ + (cd $$dir && $(MAKE)) || exit 1 ; \ + fi \ done @@ -16,7 +18,9 @@ doxygen: clean: @for dir in $(SUBDIRS) ; do \ - (cd $$dir ; $(MAKE) clean) ; \ + if [ -d $$dir ] ; then \ + (cd $$dir && $(MAKE) clean) ; \ + fi \ done @@ -34,9 +38,12 @@ realclean: install: @for dir in $(SUBDIRS) ; do \ - (cd $$dir ; $(MAKE) install) || exit 1 ; \ + if [ -d $$dir ] ; then \ + (cd $$dir && $(MAKE) install) || exit 1 ; \ + fi \ done + # DirectFBGL module installation linux-directfb-install: cd src/mesa/drivers/directfb && $(MAKE) install @@ -60,6 +67,9 @@ aix-64-static \ aix-gcc \ aix-static \ beos \ +bluegene-osmesa \ +bluegene-xlc-osmesa \ +catamount-osmesa-pgi \ darwin \ darwin-static \ darwin-static-x86ppc \ @@ -92,6 +102,7 @@ linux-alpha-static \ linux-debug \ linux-directfb \ linux-dri \ +linux-dri-debug \ linux-dri-x86 \ linux-dri-x86-64 \ linux-dri-ppc \ @@ -143,8 +154,9 @@ sunos5-v8 \ sunos5-v8-static \ sunos5-v9 \ sunos5-v9-static \ +sunos5-v9-cc-g++ \ ultrix-gcc: - @ if [ -e configs/current ] ; then \ + @ if test -f configs/current || test -L configs/current ; then \ echo "Please run 'make realclean' before changing configs" ; \ exit 1 ; \ fi @@ -154,16 +166,17 @@ ultrix-gcc: # Rules for making release tarballs -DIRECTORY = Mesa-6.5.1 -LIB_NAME = MesaLib-6.5.1 -DEMO_NAME = MesaDemos-6.5.1 -GLUT_NAME = MesaGLUT-6.5.1 +DIRECTORY = Mesa-7.0.2 +LIB_NAME = MesaLib-7.0.2 +DEMO_NAME = MesaDemos-7.0.2 +GLUT_NAME = MesaGLUT-7.0.2 MAIN_FILES = \ $(DIRECTORY)/Makefile* \ $(DIRECTORY)/descrip.mms \ $(DIRECTORY)/mms-config. \ $(DIRECTORY)/bin/mklib \ + $(DIRECTORY)/bin/minstall \ $(DIRECTORY)/configs/[a-z]* \ $(DIRECTORY)/docs/*.html \ $(DIRECTORY)/docs/COPYING \ @@ -173,7 +186,6 @@ MAIN_FILES = \ $(DIRECTORY)/include/GL/internal/glcore.h \ $(DIRECTORY)/include/GL/amesa.h \ $(DIRECTORY)/include/GL/dmesa.h \ - $(DIRECTORY)/include/GL/directfbgl.h \ $(DIRECTORY)/include/GL/fxmesa.h \ $(DIRECTORY)/include/GL/ggimesa.h \ $(DIRECTORY)/include/GL/gl.h \ @@ -201,28 +213,41 @@ MAIN_FILES = \ $(DIRECTORY)/src/mesa/Makefile* \ $(DIRECTORY)/src/mesa/sources \ $(DIRECTORY)/src/mesa/descrip.mms \ + $(DIRECTORY)/src/mesa/gl.pc.in \ $(DIRECTORY)/src/mesa/depend \ $(DIRECTORY)/src/mesa/main/*.[chS] \ $(DIRECTORY)/src/mesa/main/descrip.mms \ + $(DIRECTORY)/src/mesa/main/sources \ $(DIRECTORY)/src/mesa/glapi/*.[chS] \ $(DIRECTORY)/src/mesa/glapi/descrip.mms \ - $(DIRECTORY)/src/mesa/array_cache/*.[ch] \ - $(DIRECTORY)/src/mesa/array_cache/descrip.mms \ + $(DIRECTORY)/src/mesa/glapi/sources \ $(DIRECTORY)/src/mesa/math/*.[ch] \ $(DIRECTORY)/src/mesa/math/descrip.mms \ + $(DIRECTORY)/src/mesa/math/sources \ $(DIRECTORY)/src/mesa/shader/*.[ch] \ $(DIRECTORY)/src/mesa/shader/descrip.mms \ + $(DIRECTORY)/src/mesa/shader/sources \ $(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \ $(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \ + $(DIRECTORY)/src/mesa/shader/grammar/sources \ $(DIRECTORY)/src/mesa/shader/slang/*.[ch] \ $(DIRECTORY)/src/mesa/shader/slang/descrip.mms \ + $(DIRECTORY)/src/mesa/shader/slang/sources \ $(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \ + $(DIRECTORY)/src/mesa/shader/slang/library/*.gc \ + $(DIRECTORY)/src/mesa/shader/slang/library/*.syn \ + $(DIRECTORY)/src/mesa/shader/slang/library/Makefile \ $(DIRECTORY)/src/mesa/swrast/*.[ch] \ $(DIRECTORY)/src/mesa/swrast/descrip.mms \ + $(DIRECTORY)/src/mesa/swrast/sources \ $(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \ $(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \ + $(DIRECTORY)/src/mesa/swrast_setup/sources \ + $(DIRECTORY)/src/mesa/vbo/*.[chS] \ + $(DIRECTORY)/src/mesa/vbo/descrip.mms \ $(DIRECTORY)/src/mesa/tnl/*.[chS] \ $(DIRECTORY)/src/mesa/tnl/descrip.mms \ + $(DIRECTORY)/src/mesa/tnl/sources \ $(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \ $(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \ $(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \ @@ -230,6 +255,7 @@ MAIN_FILES = \ $(DIRECTORY)/src/mesa/drivers/beos/Makefile \ $(DIRECTORY)/src/mesa/drivers/common/*.[ch] \ $(DIRECTORY)/src/mesa/drivers/common/descrip.mms \ + $(DIRECTORY)/src/mesa/drivers/common/sources \ $(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \ $(DIRECTORY)/src/mesa/drivers/directfb/Makefile \ $(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \ @@ -250,6 +276,7 @@ MAIN_FILES = \ $(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \ $(DIRECTORY)/src/mesa/drivers/windows/*/*.def \ $(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \ + $(DIRECTORY)/src/mesa/drivers/x11/sources \ $(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \ $(DIRECTORY)/src/mesa/ppc/*.[ch] \ $(DIRECTORY)/src/mesa/sparc/*.[chS] \ @@ -266,17 +293,15 @@ MAIN_FILES = \ $(DIRECTORY)/vms/analyze_map.com \ $(DIRECTORY)/vms/xlib.opt \ $(DIRECTORY)/vms/xlib_share.opt \ - $(DIRECTORY)/windows/VC6/mesa/gdi/gdi.dsp \ - $(DIRECTORY)/windows/VC6/mesa/glu/*.txt \ - $(DIRECTORY)/windows/VC6/mesa/glu/glu.dsp \ - $(DIRECTORY)/windows/VC6/mesa/mesa.dsw \ - $(DIRECTORY)/windows/VC6/mesa/mesa/mesa.dsp \ - $(DIRECTORY)/windows/VC6/mesa/osmesa/osmesa.dsp \ - $(DIRECTORY)/windows/VC7/mesa/gdi/gdi.vcproj \ - $(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj \ - $(DIRECTORY)/windows/VC7/mesa/mesa.sln \ - $(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj \ - $(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj + $(DIRECTORY)/windows/VC8/mesa/mesa.sln \ + $(DIRECTORY)/windows/VC8/mesa/gdi/gdi.vcproj \ + $(DIRECTORY)/windows/VC8/mesa/glu/glu.vcproj \ + $(DIRECTORY)/windows/VC8/mesa/mesa/mesa.vcproj \ + $(DIRECTORY)/windows/VC8/mesa/osmesa/osmesa.vcproj \ + $(DIRECTORY)/windows/VC8/progs/progs.sln \ + $(DIRECTORY)/windows/VC8/progs/demos/gears.vcproj \ + $(DIRECTORY)/windows/VC8/progs/glut/glut.vcproj + DRI_FILES = \ $(DIRECTORY)/include/GL/internal/dri_interface.h \ @@ -296,7 +321,9 @@ DRI_FILES = \ SGI_GLU_FILES = \ $(DIRECTORY)/src/glu/Makefile \ $(DIRECTORY)/src/glu/descrip.mms \ + $(DIRECTORY)/src/glu/glu.pc.in \ $(DIRECTORY)/src/glu/sgi/Makefile \ + $(DIRECTORY)/src/glu/sgi/Makefile.mgw \ $(DIRECTORY)/src/glu/sgi/Makefile.win \ $(DIRECTORY)/src/glu/sgi/Makefile.DJ \ $(DIRECTORY)/src/glu/sgi/glu.def \ @@ -341,6 +368,8 @@ DEMO_FILES = \ $(DIRECTORY)/progs/demos/*.cxx \ $(DIRECTORY)/progs/demos/*.dat \ $(DIRECTORY)/progs/demos/README \ + $(DIRECTORY)/progs/fbdev/Makefile \ + $(DIRECTORY)/progs/fbdev/glfbdevtest.c \ $(DIRECTORY)/progs/osdemos/Makefile \ $(DIRECTORY)/progs/osdemos/*.c \ $(DIRECTORY)/progs/xdemos/Makefile* \ @@ -352,6 +381,9 @@ DEMO_FILES = \ $(DIRECTORY)/progs/samples/Makefile* \ $(DIRECTORY)/progs/samples/README \ $(DIRECTORY)/progs/samples/*.c \ + $(DIRECTORY)/progs/glsl/Makefile* \ + $(DIRECTORY)/progs/glsl/*.c \ + $(DIRECTORY)/progs/glsl/*.txt \ $(DIRECTORY)/progs/windml/Makefile.ugl \ $(DIRECTORY)/progs/windml/*.c \ $(DIRECTORY)/progs/windml/*.bmp \ @@ -366,6 +398,7 @@ GLUT_FILES = \ $(DIRECTORY)/include/GL/glutf90.h \ $(DIRECTORY)/src/glut/glx/Makefile* \ $(DIRECTORY)/src/glut/glx/depend \ + $(DIRECTORY)/src/glut/glx/glut.pc.in \ $(DIRECTORY)/src/glut/glx/*def \ $(DIRECTORY)/src/glut/glx/descrip.mms \ $(DIRECTORY)/src/glut/glx/mms_depend \ @@ -381,6 +414,9 @@ GLUT_FILES = \ $(DIRECTORY)/src/glut/fbdev/Makefile \ $(DIRECTORY)/src/glut/fbdev/*[ch] \ $(DIRECTORY)/src/glut/mini/*[ch] \ + $(DIRECTORY)/src/glut/directfb/Makefile \ + $(DIRECTORY)/src/glut/directfb/NOTES \ + $(DIRECTORY)/src/glut/directfb/*[ch] \ $(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \ $(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj @@ -388,6 +424,7 @@ DEPEND_FILES = \ $(TOP)/src/mesa/depend \ $(TOP)/src/glx/x11/depend \ $(TOP)/src/glw/depend \ + $(TOP)/src/glw/glw.pc.in \ $(TOP)/src/glut/glx/depend \ $(TOP)/src/glu/sgi/depend diff --git a/dist/Mesa/bin/mklib b/dist/Mesa/bin/mklib index 0637662ff..499e7897b 100644 --- a/dist/Mesa/bin/mklib +++ b/dist/Mesa/bin/mklib @@ -34,6 +34,7 @@ MINOR=0 PATCH="" DEPS="" LINK="" +LDFLAGS="" CPLUSPLUS=0 STATIC=0 DLOPEN=0 @@ -63,6 +64,7 @@ do echo ' -LDIR search in DIR for library dependencies' echo ' -linker L explicity specify the linker program to use (eg: gcc, g++)' echo ' Not observed on all systems at this time.' + echo ' -ldflags OPT specify any additional linker flags in OPT' echo ' -cplusplus link with C++ runtime' echo ' -static make a static library (default is dynamic/shared)' echo ' -dlopen make a shared library suitable for dynamic loading' @@ -94,12 +96,24 @@ do shift 1; LINK=$1 ;; + '-ldflags') + shift 1; + LDFLAGS=$1 + ;; -l*) DEPS="$DEPS $1" ;; -L*) DEPS="$DEPS $1" ;; + -pthread) + # this is a special case (see bugzilla 10876) + DEPS="$DEPS $1" + ;; + '-pthread') + # for FreeBSD + DEPS="$DEPS -pthread" + ;; '-cplusplus') CPLUSPLUS=1 ;; @@ -208,19 +222,20 @@ case $ARCH in rm -f ${LIBNAME} # make lib - ${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS} + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} # finish up FINAL_LIBS="${LIBNAME}" elif [ $STATIC = 1 ] ; then - LIBNAME="lib${LIBNAME}" # prefix with "lib" - echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a + LIBNAME="lib${LIBNAME}.a" # prefix with "lib", suffix with ".a" + echo "mklib: Making" $ARCH "static library: " ${LIBNAME} LINK="ar" OPTS="-ru" + rm -f ${LIBNAME} # make lib - ${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS} - ranlib ${LIBNAME}.a + ${LINK} ${OPTS} ${LIBNAME} ${OBJECTS} + ranlib ${LIBNAME} # finish up - FINAL_LIBS=${LIBNAME}.a + FINAL_LIBS=${LIBNAME} else LIBNAME="lib${LIBNAME}" # prefix with "lib" case $ARCH in 'Linux' | 'GNU' | GNU/*) @@ -265,7 +280,7 @@ case $ARCH in rm -f ${LIBNAME}.so # make lib - ${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS} + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS} # make usual symlinks ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so @@ -283,7 +298,9 @@ case $ARCH in ar -ruv ${LIBNAME} ${OBJECTS} FINAL_LIBS=${LIBNAME} else - LIBNAME="lib${LIBNAME}.so" + if [ $NOPREFIX = 0 ] ; then + LIBNAME="lib${LIBNAME}.so" + fi echo "mklib: Making SunOS shared library: " ${LIBNAME} if [ "x$LINK" = "x" ] ; then @@ -333,9 +350,14 @@ case $ARCH in # for debug: #echo "mklib: linker is" ${LINK} ${OPTS} - rm -f ${LIBNAME}.${MAJOR} ${LIBNAME} - ${LINK} ${OPTS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS} - ln -s ${LIBNAME}.${MAJOR} ${LIBNAME} + if [ $NOPREFIX = 1 ] ; then + rm -f ${LIBNAME} + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} + else + rm -f ${LIBNAME}.${MAJOR} ${LIBNAME} + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.${MAJOR} ${OBJECTS} ${DEPS} + ln -s ${LIBNAME}.${MAJOR} ${LIBNAME} + fi FINAL_LIBS="${LIBNAME}.${MAJOR} ${LIBNAME}" fi ;; @@ -357,7 +379,7 @@ case $ARCH in echo "mklib: Making FreeBSD shared library: " ${LIBNAME} OPTS="-shared" rm -f ${LIBNAME} - ${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS} + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} FINAL_LIBS=${LIBNAME} elif [ $STATIC = 1 ] ; then STLIB="lib${LIBNAME}.a" @@ -371,7 +393,7 @@ case $ARCH in OPTS="-shared -Wl,-soname,${SHLIB}" echo "mklib: Making FreeBSD shared library: " ${SHLIB} rm -f ${SHLIB} - ${LINK} ${OPTS} -o ${SHLIB} ${OBJECTS} ${DEPS} + ${LINK} ${OPTS} ${LDFLAGS} -o ${SHLIB} ${OBJECTS} ${DEPS} ln -sf ${SHLIB} "lib${LIBNAME}.so" FINAL_LIBS="${SHLIB} lib${LIBNAME}.so" fi @@ -429,7 +451,7 @@ case $ARCH in fi echo "mklib: Making IRIX " ${ABI} " shared library: " ${LIBNAME} - ${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS} + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} FINAL_LIBS=${LIBNAME} fi ;; @@ -505,9 +527,9 @@ case $ARCH in # On AIX a shared library is linked differently when # you want to dlopen the file if [ $DLOPEN = "1" ] ; then - cc -G ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS} + cc -G ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} else - cc ${OPTS} -o ${OFILE} ${OBJECTS} ${DEPS} + cc ${OPTS} ${LDFLAGS} -o ${OFILE} ${OBJECTS} ${DEPS} ar ${X64} -r ${LIBNAME} ${OFILE} fi @@ -589,7 +611,7 @@ case $ARCH in fi echo "mklib: Making Darwin shared library: " ${LIBNAME} - ${LINK} ${OPTS} -o ${LIBNAME} ${OBJECTS} ${DEPS} + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME} ${OBJECTS} ${DEPS} ln -s ${LIBNAME} ${LINKNAME} FINAL_LIBS="${LIBNAME} ${LINKNAME}" fi @@ -666,7 +688,7 @@ case $ARCH in rm -f ${LIBNAME}.so.${MAJOR} rm -f ${LIBNAME}.so # make lib - ${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS} + ${LINK} ${OPTS} ${LDFLAGS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS} # make usual symlinks ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so @@ -738,7 +760,7 @@ case $ARCH in rm -f ${LIBNAME}.a # make lib - ${LINK} ${OPTS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS} + ${LINK} ${OPTS} ${LDFLAGS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS} # make usual symlinks ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a # finish up diff --git a/dist/Mesa/configs/aix-gcc b/dist/Mesa/configs/aix-gcc index 81467082a..3b964f351 100644 --- a/dist/Mesa/configs/aix-gcc +++ b/dist/Mesa/configs/aix-gcc @@ -11,6 +11,10 @@ CXX = g++ CFLAGS = -O2 -DAIXV3 CXXFLAGS = -O2 -DAIXV3 +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + MKLIB_OPTIONS = -arch aix-gcc GL_LIB_DEPS = -lX11 -lXext -lm GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm diff --git a/dist/Mesa/configs/beos b/dist/Mesa/configs/beos index f07973d0c..9974b7b22 100644 --- a/dist/Mesa/configs/beos +++ b/dist/Mesa/configs/beos @@ -39,6 +39,10 @@ ifeq ($(CPU), x86) CXXFLAGS = $(CFLAGS) + # Work around aliasing bugs - developers should comment this out + CFLAGS += -fno-strict-aliasing + CXXFLAGS += -fno-strict-aliasing + LDFLAGS += -Xlinker ifdef DEBUG diff --git a/dist/Mesa/configs/bluegene-osmesa b/dist/Mesa/configs/bluegene-osmesa index 02c69e6c6..d22454fa2 100644 --- a/dist/Mesa/configs/bluegene-osmesa +++ b/dist/Mesa/configs/bluegene-osmesa @@ -13,6 +13,10 @@ CXX = /bgl/BlueLight/ppcfloor/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURC +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + MKLIB_OPTIONS = -static OSMESA_LIB_NAME = libOSMesa.a diff --git a/dist/Mesa/configs/darwin b/dist/Mesa/configs/darwin index 7826ecc60..76f3f74d4 100644 --- a/dist/Mesa/configs/darwin +++ b/dist/Mesa/configs/darwin @@ -10,6 +10,10 @@ CXX = cc CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + # Library names (actual file names) GL_LIB_NAME = libGL.dylib GLU_LIB_NAME = libGLU.dylib diff --git a/dist/Mesa/configs/darwin-static b/dist/Mesa/configs/darwin-static index 3eb6581fb..9893d159b 100644 --- a/dist/Mesa/configs/darwin-static +++ b/dist/Mesa/configs/darwin-static @@ -9,6 +9,10 @@ CFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpen CXXFLAGS = -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin MKLIB_OPTIONS = -static +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + # Library names (actual file names) GL_LIB_NAME = libGL.a GLU_LIB_NAME = libGLU.a diff --git a/dist/Mesa/configs/darwin-static-x86ppc b/dist/Mesa/configs/darwin-static-x86ppc index 844a1d2ea..7e97474df 100644 --- a/dist/Mesa/configs/darwin-static-x86ppc +++ b/dist/Mesa/configs/darwin-static-x86ppc @@ -11,6 +11,10 @@ CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ -I/usr/X11R6/include -O3 -fno-common -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp -dynamic -Ddarwin MKLIB_OPTIONS = -static -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk" +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + # Library names (actual file names) GL_LIB_NAME = libGL.a GLU_LIB_NAME = libGLU.a diff --git a/dist/Mesa/configs/darwin-x86ppc b/dist/Mesa/configs/darwin-x86ppc index 13172327a..c87b206f9 100644 --- a/dist/Mesa/configs/darwin-x86ppc +++ b/dist/Mesa/configs/darwin-x86ppc @@ -14,6 +14,10 @@ CXXFLAGS = -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ MKLIB_OPTIONS = -archopt "-isysroot /Developer/SDKs/MacOSX10.4u.sdk" +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + # Library names (actual file names) GL_LIB_NAME = libGL.dylib GLU_LIB_NAME = libGLU.dylib diff --git a/dist/Mesa/configs/default b/dist/Mesa/configs/default index 23d7aedfb..549a18204 100644 --- a/dist/Mesa/configs/default +++ b/dist/Mesa/configs/default @@ -8,9 +8,9 @@ CONFIG_NAME = default # Version info -MESA_MAJOR=6 -MESA_MINOR=5 -MESA_TINY=1 +MESA_MAJOR=7 +MESA_MINOR=0 +MESA_TINY=2 # external projects. This should be useless now that we use libdrm. DRM_SOURCE_PATH=$(TOP)/../drm @@ -20,6 +20,7 @@ CC = cc CXX = CC CFLAGS = -O CXXFLAGS = -O +LDFLAGS = GLU_CFLAGS = # Misc tools and flags @@ -27,8 +28,7 @@ MKLIB_OPTIONS = MKDEP = makedepend MKDEP_OPTIONS = -fdepend MAKE = make -INSTALL = install -COPY_LIBS = cp -f -d +INSTALL = $(TOP)/bin/minstall # Python and flags (generally only needed by the developers) PYTHON2 = python @@ -64,17 +64,19 @@ SRC_DIRS = mesa glu glut/glx glw GLU_DIRS = sgi DRIVER_DIRS = x11 osmesa # Which subdirs under $(TOP)/progs/ to enter: -PROGRAM_DIRS = demos redbook samples xdemos +PROGRAM_DIRS = demos redbook samples glsl xdemos -# Library/program dependencies +# Library dependencies #EXTRA_LIB_PATH ?= GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11 -APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm + +# Program dependencies - specific GL/glut libraries added in Makefiles +APP_LIB_DEPS = -lm diff --git a/dist/Mesa/configs/freebsd b/dist/Mesa/configs/freebsd index 38806ab94..3d35d91ed 100644 --- a/dist/Mesa/configs/freebsd +++ b/dist/Mesa/configs/freebsd @@ -9,14 +9,11 @@ CC = cc CXX = c++ MAKE = gmake -# cp -d not supported on FreeBSD (see bug 4435) -COPY_LIBS = cp -f - OPT_FLAGS = -O2 PIC_FLAGS = -fPIC DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -DUSE_XSHM \ - -DHZ=100 -DHAVE_POSIX_MEMALIGN + -DHZ=100 X11_INCLUDES = -I/usr/X11R6/include @@ -26,5 +23,9 @@ CXXFLAGS += $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) $(X11_INCLUDES) GLUT_CFLAGS = -fexceptions +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + EXTRA_LIB_PATH = -L/usr/X11R6/lib APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lXext -lXmu -lXi -lX11 -lm diff --git a/dist/Mesa/configs/freebsd-dri b/dist/Mesa/configs/freebsd-dri index 104e24228..6dd31909c 100644 --- a/dist/Mesa/configs/freebsd-dri +++ b/dist/Mesa/configs/freebsd-dri @@ -14,22 +14,29 @@ OPT_FLAGS = -O EXPAT_INCLUDES = -I/usr/local/include X11_INCLUDES = -I/usr/X11R6/include DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \ - -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN + -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \ + -DHAVE_ALIAS -CFLAGS = -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math \ +CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \ $(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES) -CXXFLAGS = $(DEFINES) -Wall -g -ansi -pedantic -fPIC +CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) -Wall -ansi -pedantic $(ASM_FLAGS) $(X11_INCLUDES) + +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing ASM_SOURCES = # Library/program dependencies +LIBDRM_CFLAGS = `pkg-config --cflags libdrm` LIBDRM_LIB = `pkg-config --libs libdrm` -DRI_LIB_DEPS = -L/usr/local/lib -lm -lpthread -lexpat $(LIBDRM_LIB) -GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lm -lpthread $(LIBDRM_LIB) +DRI_LIB_DEPS = -L/usr/local/lib -lm -pthread -lexpat $(LIBDRM_LIB) +GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \ + -lm -pthread $(LIBDRM_LIB) GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm -GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lXm -lX11 +GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lX11 # Directories diff --git a/dist/Mesa/configs/hpux10-gcc b/dist/Mesa/configs/hpux10-gcc index 10a9ad5cd..be396f854 100644 --- a/dist/Mesa/configs/hpux10-gcc +++ b/dist/Mesa/configs/hpux10-gcc @@ -12,5 +12,9 @@ CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/incl CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE GLUT_CFLAGS = -fexceptions +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm diff --git a/dist/Mesa/configs/linux b/dist/Mesa/configs/linux index 0d455ff46..15700a1a3 100644 --- a/dist/Mesa/configs/linux +++ b/dist/Mesa/configs/linux @@ -28,6 +28,10 @@ CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \ CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \ $(X11_INCLUDES) +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + GLUT_CFLAGS = -fexceptions EXTRA_LIB_PATH = -L/usr/X11R6/lib diff --git a/dist/Mesa/configs/linux-alpha b/dist/Mesa/configs/linux-alpha index d69aabb73..65bf0c2ab 100644 --- a/dist/Mesa/configs/linux-alpha +++ b/dist/Mesa/configs/linux-alpha @@ -11,6 +11,10 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE GLUT_CFLAGS = -fexceptions +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -L/usr/X11R6/lib -lXt -lX11 diff --git a/dist/Mesa/configs/linux-alpha-static b/dist/Mesa/configs/linux-alpha-static index 2a30af9b6..53808d77c 100644 --- a/dist/Mesa/configs/linux-alpha-static +++ b/dist/Mesa/configs/linux-alpha-static @@ -11,7 +11,11 @@ CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE -DUSE_XSHM CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE GLUT_CFLAGS = -fexceptions MKLIB_OPTIONS = -static +PIC_FLAGS = +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing # Library names (actual file names) GL_LIB_NAME = libGL.a diff --git a/dist/Mesa/configs/linux-directfb b/dist/Mesa/configs/linux-directfb index 09332f480..2a9843e93 100644 --- a/dist/Mesa/configs/linux-directfb +++ b/dist/Mesa/configs/linux-directfb @@ -13,6 +13,10 @@ CFLAGS = -Wall -O3 -ffast-math -fPIC -std=c99 -D_GNU_SOURCE -D_POSIX_SOURCE -D CXXFLAGS = -Wall -O3 -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + HAVE_X86 = $(shell uname -m | grep 'i[3-6]86' >/dev/null && echo yes) ifeq ($(HAVE_X86), yes) CFLAGS += -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM diff --git a/dist/Mesa/configs/linux-dri b/dist/Mesa/configs/linux-dri index 1c3b404cf..7ef07b559 100644 --- a/dist/Mesa/configs/linux-dri +++ b/dist/Mesa/configs/linux-dri @@ -22,7 +22,8 @@ ARCH_FLAGS ?= DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \ -D_BSD_SOURCE -D_GNU_SOURCE \ -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \ - -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN + -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \ + -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN X11_INCLUDES = -I/usr/X11R6/include @@ -31,6 +32,11 @@ CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \ CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) +GLUT_CFLAGS = -fexceptions + +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing ASM_SOURCES = @@ -40,7 +46,8 @@ EXTRA_LIB_PATH=-L/usr/X11R6/lib LIBDRM_CFLAGS = `pkg-config --cflags libdrm` LIBDRM_LIB = `pkg-config --libs libdrm` DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) -GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \ +GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \ + -lm -lpthread -ldl \ $(LIBDRM_LIB) @@ -53,10 +60,10 @@ USING_EGL=0 # Directories ifeq ($(USING_EGL), 1) SRC_DIRS = egl glx/x11 mesa glu glut/glx glw -PROGRAM_DIRS = egl +PROGRAM_DIRS = egl xdemos else SRC_DIRS = glx/x11 mesa glu glut/glx glw -PROGRAM_DIRS = +PROGRAM_DIRS = xdemos endif DRIVER_DIRS = dri @@ -64,5 +71,5 @@ WINDOW_SYSTEM=dri # gamma are missing because they have not been converted to use the new # interface. -DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \ +DRI_DIRS = i810 i915tex i915 i965 mach64 mga r128 r200 r300 radeon s3v \ savage sis tdfx trident unichrome ffb diff --git a/dist/Mesa/configs/linux-dri-x86 b/dist/Mesa/configs/linux-dri-x86 index b196004e5..f9b164d27 100644 --- a/dist/Mesa/configs/linux-dri-x86 +++ b/dist/Mesa/configs/linux-dri-x86 @@ -5,9 +5,6 @@ include $(TOP)/configs/linux-dri CONFIG_NAME = linux-dri-x86 -# Unnecessary on x86, generally. -PIC_FLAGS = - # Add -m32 to CFLAGS: ARCH_FLAGS = -m32 diff --git a/dist/Mesa/configs/linux-dri-xcb b/dist/Mesa/configs/linux-dri-xcb index 68acb2f2b..69643718a 100644 --- a/dist/Mesa/configs/linux-dri-xcb +++ b/dist/Mesa/configs/linux-dri-xcb @@ -22,25 +22,31 @@ ARCH_FLAGS ?= DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \ -D_BSD_SOURCE -D_GNU_SOURCE \ -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \ - -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DUSE_XCB -DHAVE_POSIX_MEMALIGN + -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \ + -DHAVE_ALIAS -DUSE_XCB -DHAVE_POSIX_MEMALIGN -X11_INCLUDES = `pkg-config --cflags-only-I x11` `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I xcb-glx` +X11_INCLUDES = `pkg-config --cflags-only-I x11` `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx` CFLAGS = -Wall -Wmissing-prototypes $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) \ $(DEFINES) $(ASM_FLAGS) -std=c99 -ffast-math CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing ASM_SOURCES = # Library/program dependencies EXTRA_LIB_PATH=`pkg-config --libs-only-L x11` +LIBDRM_CFLAGS = `pkg-config --cflags libdrm` LIBDRM_LIB = `pkg-config --libs libdrm` DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) -GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \ - $(LIBDRM_LIB) `pkg-config --libs xcb` `pkg-config --libs xcb-glx` +GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \ + -lm -lpthread -ldl $(LIBDRM_LIB) `pkg-config --libs xcb` \ + `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx` # This is now 0 by default since it seems to confuse the hell out of people @@ -52,10 +58,10 @@ USING_EGL=0 # Directories ifeq ($(USING_EGL), 1) SRC_DIRS = egl glx/x11 mesa glu glut/glx glw -PROGRAM_DIRS = egl +PROGRAM_DIRS = egl xdemos else SRC_DIRS = glx/x11 mesa glu glut/glx glw -PROGRAM_DIRS = +PROGRAM_DIRS = xdemos endif DRIVER_DIRS = dri @@ -64,4 +70,4 @@ WINDOW_SYSTEM=dri # gamma are missing because they have not been converted to use the new # interface. DRI_DIRS = i810 i915 mach64 mga r128 r200 r300 radeon s3v \ - savage sis tdfx trident unichrome ffb + savage sis tdfx trident unichrome ffb nouveau diff --git a/dist/Mesa/configs/linux-fbdev b/dist/Mesa/configs/linux-fbdev index 7a5d1b600..69d10127c 100644 --- a/dist/Mesa/configs/linux-fbdev +++ b/dist/Mesa/configs/linux-fbdev @@ -4,17 +4,16 @@ include $(TOP)/configs/linux CONFIG_NAME = linux-fbdev -DRIVER_DIRS = fbdev - -SRC_DIRS = mesa glu glut/fbdev - -CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER +CFLAGS = -O3 -ffast-math -ansi -pedantic -fPIC -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS -DUSE_GLFBDEV_DRIVER +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing SRC_DIRS = mesa glu glut/fbdev -DRIVER_DIRS = fbdev +DRIVER_DIRS = fbdev osmesa PROGRAM_DIRS = fbdev demos redbook samples GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread +OSMESA_LIB_DEPS = -lm -lpthread GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lgpm -lm diff --git a/dist/Mesa/configs/linux-glide b/dist/Mesa/configs/linux-glide index 0a40521e1..31475c81d 100644 --- a/dist/Mesa/configs/linux-glide +++ b/dist/Mesa/configs/linux-glide @@ -12,6 +12,9 @@ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE GLUT_CFLAGS = -fexceptions +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing # Library/program dependencies GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -L/usr/local/glide/lib -lglide3x -lm -lpthread diff --git a/dist/Mesa/configs/linux-indirect b/dist/Mesa/configs/linux-indirect index b76451578..17c7126e1 100644 --- a/dist/Mesa/configs/linux-indirect +++ b/dist/Mesa/configs/linux-indirect @@ -23,6 +23,7 @@ ARCH_FLAGS ?= DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \ -D_BSD_SOURCE -D_GNU_SOURCE \ + -DGLX_INDIRECT_RENDERING \ -DPTHREADS -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN X11_INCLUDES = -I/usr/X11R6/include @@ -32,6 +33,9 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \ CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing ASM_SOURCES = diff --git a/dist/Mesa/configs/linux-osmesa b/dist/Mesa/configs/linux-osmesa index cc1fbbd10..163b14529 100644 --- a/dist/Mesa/configs/linux-osmesa +++ b/dist/Mesa/configs/linux-osmesa @@ -12,6 +12,9 @@ CXX = g++ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing # Directories SRC_DIRS = mesa glu diff --git a/dist/Mesa/configs/linux-osmesa16 b/dist/Mesa/configs/linux-osmesa16 index 1fb0186d3..796fba178 100644 --- a/dist/Mesa/configs/linux-osmesa16 +++ b/dist/Mesa/configs/linux-osmesa16 @@ -10,6 +10,9 @@ CXX = g++ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31 CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing # Library names OSMESA_LIB = OSMesa16 diff --git a/dist/Mesa/configs/linux-osmesa16-static b/dist/Mesa/configs/linux-osmesa16-static index 664550447..0e0d1519f 100644 --- a/dist/Mesa/configs/linux-osmesa16-static +++ b/dist/Mesa/configs/linux-osmesa16-static @@ -10,7 +10,11 @@ CXX = g++ CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31 CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE MKLIB_OPTIONS = -static +PIC_FLAGS = +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing # Library names OSMESA_LIB = OSMesa16 diff --git a/dist/Mesa/configs/linux-osmesa32 b/dist/Mesa/configs/linux-osmesa32 index a1e5a358d..12d0cb053 100644 --- a/dist/Mesa/configs/linux-osmesa32 +++ b/dist/Mesa/configs/linux-osmesa32 @@ -10,6 +10,9 @@ CXX = g++ CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31 CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing # Library names OSMESA_LIB = OSMesa32 diff --git a/dist/Mesa/configs/linux-ppc-static b/dist/Mesa/configs/linux-ppc-static index d0e168811..3f3dc5564 100644 --- a/dist/Mesa/configs/linux-ppc-static +++ b/dist/Mesa/configs/linux-ppc-static @@ -5,6 +5,7 @@ include $(TOP)/configs/linux-ppc CONFIG_NAME = linux-ppc-static MKLIB_OPTIONS = -static +PIC_FLAGS = # Library names (actual file names) GL_LIB_NAME = libGL.a diff --git a/dist/Mesa/configs/linux-solo b/dist/Mesa/configs/linux-solo index 730c245d9..4278ac7fa 100644 --- a/dist/Mesa/configs/linux-solo +++ b/dist/Mesa/configs/linux-solo @@ -15,6 +15,13 @@ PIC_FLAGS = -fPIC # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. ARCH_FLAGS ?= +# DRM and pciaccess +LIBDRM_CFLAGS = `pkg-config --cflags libdrm` +LIBDRM_LIB = `pkg-config --libs libdrm` +PCIACCESS_CFLAGS = `pkg-config --cflags pciaccess` +PCIACCESS_LIB = `pkg-config --libs pciaccess` + + DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \ -D_BSD_SOURCE -D_GNU_SOURCE -DHAVE_POSIX_MEMALIGN \ -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DDRM_USE_MALLOC -DIN_DRI_DRIVER @@ -24,11 +31,14 @@ CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \ CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing ASM_SOURCES = # Library/program dependencies -DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR) +DRI_LIB_DEPS = -lm -lpthread -lexpat -ldl -L$(TOP)/$(LIB_DIR) $(PCIACCESS_LIB) GL_LIB_DEPS = -lm -lpthread -ldl GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm @@ -39,5 +49,5 @@ SRC_DIRS = glx/mini mesa glu glut/mini DRIVER_DIRS = dri PROGRAM_DIRS = miniglx -#DRI_DIRS = ffb gamma sis savage -DRI_DIRS = i810 i915 mach64 mga r128 r200 radeon tdfx unichrome fb +#DRI_DIRS = ffb gamma sis savage tdfx unichrome fb +DRI_DIRS = i810 i915tex i915 mach64 mga r128 r200 radeon diff --git a/dist/Mesa/configs/linux-solo-x86 b/dist/Mesa/configs/linux-solo-x86 index 13cab3765..e37b9fb42 100644 --- a/dist/Mesa/configs/linux-solo-x86 +++ b/dist/Mesa/configs/linux-solo-x86 @@ -5,9 +5,6 @@ include $(TOP)/configs/linux-solo CONFIG_NAME = linux-solo-x86 -# Unnecessary on x86, generally. -PIC_FLAGS = - ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM ASM_SOURCES = $(X86_SOURCES) ASM_API = $(X86_API) diff --git a/dist/Mesa/configs/linux-static b/dist/Mesa/configs/linux-static index 0104d3402..2a77d4c4b 100644 --- a/dist/Mesa/configs/linux-static +++ b/dist/Mesa/configs/linux-static @@ -5,6 +5,7 @@ include $(TOP)/configs/linux CONFIG_NAME = linux-static MKLIB_OPTIONS = -static +PIC_FLAGS = # Library names (actual file names) GL_LIB_NAME = libGL.a @@ -19,3 +20,6 @@ OSMESA_LIB_DEPS = GLU_LIB_DEPS = GLUT_LIB_DEPS = GLW_LIB_DEPS = + +# Need to specify all libraries we may need +APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm diff --git a/dist/Mesa/configs/linux-x86-64-static b/dist/Mesa/configs/linux-x86-64-static index 02574303a..06e6fc365 100644 --- a/dist/Mesa/configs/linux-x86-64-static +++ b/dist/Mesa/configs/linux-x86-64-static @@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86-64 CONFIG_NAME = linux-x86-64-static MKLIB_OPTIONS = -static +PIC_FLAGS = # Library names (actual file names) GL_LIB_NAME = libGL.a @@ -19,5 +20,4 @@ OSMESA_LIB_DEPS = GLU_LIB_DEPS = GLUT_LIB_DEPS = GLW_LIB_DEPS = -APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \ - $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm +APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm diff --git a/dist/Mesa/configs/linux-x86-glide b/dist/Mesa/configs/linux-x86-glide index f2f8aeea6..941efc1e5 100644 --- a/dist/Mesa/configs/linux-x86-glide +++ b/dist/Mesa/configs/linux-x86-glide @@ -14,6 +14,9 @@ CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199 GLUT_CFLAGS = -fexceptions +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing ASM_SOURCES = $(X86_SOURCES) ASM_API = $(X86_API) diff --git a/dist/Mesa/configs/linux-x86-static b/dist/Mesa/configs/linux-x86-static index 9915987da..2b6478b58 100644 --- a/dist/Mesa/configs/linux-x86-static +++ b/dist/Mesa/configs/linux-x86-static @@ -5,6 +5,7 @@ include $(TOP)/configs/linux-x86 CONFIG_NAME = linux-x86-static MKLIB_OPTIONS = -static +PIC_FLAGS = # Library names (actual file names) GL_LIB_NAME = libGL.a @@ -19,5 +20,4 @@ OSMESA_LIB_DEPS = GLU_LIB_DEPS = GLUT_LIB_DEPS = GLW_LIB_DEPS = -APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \ - $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm +APP_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm diff --git a/dist/Mesa/configs/netbsd b/dist/Mesa/configs/netbsd index f5a61a895..aec456950 100644 --- a/dist/Mesa/configs/netbsd +++ b/dist/Mesa/configs/netbsd @@ -12,3 +12,6 @@ CXXFLAGS = -O2 -fPIC GLUT_CFLAGS = -fexceptions APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing diff --git a/dist/Mesa/configs/openbsd b/dist/Mesa/configs/openbsd index 6ad6e2bd3..bd19fa84d 100644 --- a/dist/Mesa/configs/openbsd +++ b/dist/Mesa/configs/openbsd @@ -10,6 +10,10 @@ CXX = g++ CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100 CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DHZ=100 +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm OSMESA_LIB_DEPS = -lm GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) diff --git a/dist/Mesa/configs/solaris-x86-gcc b/dist/Mesa/configs/solaris-x86-gcc index 5ec7237f9..616bfdfd7 100644 --- a/dist/Mesa/configs/solaris-x86-gcc +++ b/dist/Mesa/configs/solaris-x86-gcc @@ -11,6 +11,10 @@ CFLAGS = -O3 -march=i486 -fPIC -I/usr/openwin/include -DUSE_XSHM CXXFLAGS = -O3 -march=i486 -fPIC GLUT_CFLAGS = -fexceptions +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm diff --git a/dist/Mesa/configs/solaris-x86-gcc-static b/dist/Mesa/configs/solaris-x86-gcc-static index be02735f0..4850284a5 100644 --- a/dist/Mesa/configs/solaris-x86-gcc-static +++ b/dist/Mesa/configs/solaris-x86-gcc-static @@ -12,6 +12,10 @@ CXXFLAGS = -O3 -march=i486 -fPIC GLUT_CFLAGS = -fexceptions MKLIB_OPTIONS = -static +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm diff --git a/dist/Mesa/configs/sunos4-gcc b/dist/Mesa/configs/sunos4-gcc index 2022dd7e8..094229158 100644 --- a/dist/Mesa/configs/sunos4-gcc +++ b/dist/Mesa/configs/sunos4-gcc @@ -11,5 +11,9 @@ CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X1 CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4 GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm diff --git a/dist/Mesa/configs/sunos5-gcc b/dist/Mesa/configs/sunos5-gcc index 77b293c54..c5e443fc7 100644 --- a/dist/Mesa/configs/sunos5-gcc +++ b/dist/Mesa/configs/sunos5-gcc @@ -28,6 +28,10 @@ CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \ GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + # Library/program dependencies EXTRA_LIB_PATH=-L/usr/openwin/lib diff --git a/dist/Mesa/configs/sunos5-v9-cc-g++ b/dist/Mesa/configs/sunos5-v9-cc-g++ index 37b775cc0..8656251e3 100644 --- a/dist/Mesa/configs/sunos5-v9-cc-g++ +++ b/dist/Mesa/configs/sunos5-v9-cc-g++ @@ -21,6 +21,9 @@ CXX_ARCH_FLAGS = -m64 CXXFLAGS = $(CXX_WARN_FLAGS) $(CXX_OPT_FLAGS) $(CXX_PIC_FLAGS) $(CXX_ARCH_FLAGS) $(DEFINES) \ -I/usr/openwin/include +# Work around aliasing bugs - developers should comment this out +CXXFLAGS += -fno-strict-aliasing + CFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DPTHREADS #CXXFLAGS = -xarch=v9 -KPIC -O -I/usr/openwin/include -I/usr/dt/include -DPTHREADS GLUT_CFLAGS = -DSOLARIS_2_4_BUG diff --git a/dist/Mesa/configs/ultrix-gcc b/dist/Mesa/configs/ultrix-gcc index 5c0f22d7a..455b6932d 100644 --- a/dist/Mesa/configs/ultrix-gcc +++ b/dist/Mesa/configs/ultrix-gcc @@ -12,6 +12,10 @@ CXXFLAGS = -pedantic -O2 GLUT_CFLAGS = -fexceptions MKLIB_OPTIONS = -static +# Work around aliasing bugs - developers should comment this out +CFLAGS += -fno-strict-aliasing +CXXFLAGS += -fno-strict-aliasing + GL_LIB_NAME = libGL.a GLU_LIB_NAME = libGLU.a GLUT_LIB_NAME = libglut.a diff --git a/dist/Mesa/docs/download.html b/dist/Mesa/docs/download.html index d80d06a3d..84451b85f 100644 --- a/dist/Mesa/docs/download.html +++ b/dist/Mesa/docs/download.html @@ -9,11 +9,7 @@ <H1>Downloading</H1> <p> -Last development release: <b>6.5.1</b> -</p> - -<p> -Last stable release: <b>6.4.2</b> +Last stable release: <b>7.0.2</b> </p> <p> diff --git a/dist/Mesa/docs/fbdev-dri.html b/dist/Mesa/docs/fbdev-dri.html index 4af503932..0d9e52cee 100644 --- a/dist/Mesa/docs/fbdev-dri.html +++ b/dist/Mesa/docs/fbdev-dri.html @@ -12,161 +12,83 @@ <H1>1. Introduction</H1> <p> -The fbdev/DRI sub-project within Mesa brings hardware accelerated OpenGL -rendering to the Linux fbdev environment. -The X Window System / XFree86 is not needed. +The fbdev/DRI environment supports hardware-accelerated 3D rendering without +the X window system. This is typically used for embedded applications. </p> <p> -Basically, the <a href="http://dri.sf.net/">DRI</a> drivers for hardware -accelerated OpenGL for XFree86 have been ported to fbdev so that X is -not needed. -This means fbdev/DRI works in full-screen mode only. +Contributors to this project include Jon Smirl, Keith Whitwell and Dave Airlie. </p> <p> -DRI driver writers may find this simplified environment easier to work in, -compared to the full XFree86/DRI environment. +Applications in the fbdev/DRI environment use +the <a href="MiniGXL.html"> MiniGLX</a> interface to choose pixel +formats, create rendering contexts, etc. It's a subset of the GLX and +Xlib interfaces allowing some degree of application portability between +the X and X-less environments. </p> <p> -Much of the work for this project has been done by Jon Smirl and -Keith Whitwell. +Some of the files needed for building this configuration are not included +in the normal Mesa releases so you'll need to get the latest sources +sources from the <a href="repository.html">git repository</a>. </p> -<p> -To use fbdev/DRI, you'll need a Linux 2.4 or 2.6 kernel. -</p> - -<h3>Background Info</h3> - -<p> -The Mesa-based DRI drivers used to be hosted in the DRI tree (which is -basically a copy of the XFree86 tree). -Since the Mesa-based DRI drivers are moreso "Mesa drivers" than "XFree86 -drivers" and the fact that with some work, the drivers could be used -without X, the driver code was moved into the Mesa tree. -</p> - -<p> -So now the DRI drivers can be compiled for two different environments: -fbdev and XFree86. -To build the drivers for XFree86, one has to download/build the DRI -source tree. -Eventually, we'd like to be able to build the drivers for XFree86 outside -of the XFree86/DRI trees. -</p> - - - <h1>2. Compilation</h1> -<h2>2.1 Compiling the DRM modules</h2> - -<p> -First, you'll need the DRM (Direct Rendering Manager) kernel module sources. -They're found in a module of the DRI CVS tree. -To obtain the code do the following: -</p> -<pre> - cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri login -</pre> <p> -Press Enter/Return when prompted for a password. Then, +You'll need the DRM and pciaccess libraries. Check with: </p> <pre> - cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri co drm + pkg-config --modversion libdrm + pkg-config --modversion pciaccess </pre> <p> -Compile the DRM kernel modules: +You can get them from the git repository with: </p> <pre> - cd drm/linux - make + git clone git://anongit.freedesktop.org/git/mesa/drm + git clone git://anongit.freedesktop.org/git/xorg/lib/libpciaccess </pre> <p> -Note: you may need to be root in order to make a few symlinks. -</p> -<p> -When compilation is done, you should have at least the following -kernel modules: -</p> -<pre> - gamma.o - i810.o - i830.o - mach64.o - mga.o - r128.o - radeon.o - savage.o - sis.o - tdfx.o - via.o -</pre> -<p> -You'll probably want to copy/move them into your kernel module directory -(for example: <code>/lib/modules/2.4.18-14/kernel/drivers/char/drm/</code>). +See the README files in those projects for build/install instructions. </p> - -<h2>2.2 Compiling the Mesa drivers</h2> - <p> -Begin by editing the <code>Mesa/configs/default</code> file to set -the <code>DRM_SOURCE_PATH</code> variable. -Set it to the location where the DRM module sources are located. -For example, if your current directory in step 2.1 was <code>/home/fred/</code> -set DRM_SOURCE_PATH to <code>/home/fred/drm</code> +You'll need fbdev header files. Check with: </p> +<pre> + ls -l /usr/include/linux/fb.h +</pre> <p> -Next, assuming you're starting with a fresh Mesa CVS checkout, -do the following: +Compile Mesa with the 'linux-solo' configuration: </p> <pre> make linux-solo </pre> <p> -If you previously built the source tree, run <code>make realclean</code> -first to remove the old object files. -</p> - -<p> -When this is finished, check the <code>Mesa/lib/</code> directory -to verify that the following files were made: +When complete you should have the following: </p> - <ul> -<li><code>libGL.so.1.2</code> - the client-side OpenGL library - (and a few symlinks to it). -<li><code>libGLU.so.1.1</code> - the GLU library (and a few symlinks to it). -<li><code>libglut.so.3.7</code> - the GLUT library (and a few symlinks to it). -<li><code>mga_dri.so</code> - DRI driver for Matrox G200/G400 cards. -<li><code>r128_dri.so</code> - DRI driver for ATI Rage 128 cards. -<li><code>r200_dri.so</code> - DRI driver for ATI R200 Radeon cards. -<li><code>radeon_dri.so</code> - DRI driver for original ATI Radeon cards. -<li><code>i810_dri.so</code> - DRI driver for Intel i810/i815 chips. -<li><code>i830_dri.so</code> - DRI driver for Intel i830/i845 chips. -<li><code>mga_dri.so</code> - DRI driver for Matrox G200/G400 cards. -<li><code>sis_dri.so</code> - DRI driver for SIS cards. -<li><code>tdfx_dri.so</code> - DRI driver for 3dfx Voodoo 3/4/5 cards. -<li><code>gamma_dri.so</code> - DRI driver for 3Dlabs gamma cards. -<li><code>fb_dri.so</code> - software-only fbdev driver. -<li><code>miniglx.conf</code> - configuration file for the MiniGLX interface +<li>lib/libGL.so - the GL library which applications link with +<li>lib/*_dri_so - DRI drivers +<li>lib/miniglx.conf - sample MiniGLX config file +<li>progs/miniglx/* - several MiniGLX sample programs </ul> + <h1>3. Using fbdev/DRI</h1> <p> -If XFree86 is currently running, exit/stop the X server so you're -working from the console. +If an X server currently running, exit/stop it so you're working from +the console. </p> @@ -175,12 +97,23 @@ working from the console. <p> You'll need to load the kernel modules specific to your graphics hardware. Typically, this consists of the agpgart module, an fbdev driver module -and the DRM kernel module (from step 2.1). +and the DRM kernel module. +</p> +<p> +As root, the kernel modules can be loaded as follows: </p> +<p> +If you have Intel i915/i945 hardware: +</p> +<pre> + modprobe agpgart # the AGP GART module + modprobe intelfb # the Intel fbdev driver + modprobe i915 # the i915/945 DRI kernel module +</pre> <p> -If you have ATI Radeon/R200 hardware, run as root: +If you have ATI Radeon/R200 hardware: </p> <pre> modprobe agpgart # the AGP GART module @@ -189,7 +122,7 @@ If you have ATI Radeon/R200 hardware, run as root: </pre> <p> -If you have ATI Rage 128 hardware, run as root: +If you have ATI Rage 128 hardware: </p> <pre> modprobe agpgart # the AGP GART module @@ -198,7 +131,7 @@ If you have ATI Rage 128 hardware, run as root: </pre> <p> -If you have Matrox G200/G400 hardware, run as root: +If you have Matrox G200/G400 hardware: </p> <pre> modprobe agpgart # the AGP GART module @@ -207,37 +140,46 @@ If you have Matrox G200/G400 hardware, run as root: </pre> <p> -Then run <code>lsmod</code> to be sure the modules are loaded. -For a Radeon card, you should see something like this: +To verify that the agpgart, fbdev and drm modules are loaded: </p> <pre> -Module Size Used by Not tainted -radeon 110308 0 (unused) -radeonfb 21900 0 (unused) -agpgart 43072 1 + ls -l /dev/agpgart /dev/fb* /dev/dri </pre> - +<p> +Alternately, use lsmod to inspect the currently installed modules. +If you have problems, look at the output of dmesg. +</p> <h2>3.2 Configuration File</h2> <p> -The <code>Mesa/lib/miniglx.conf</code> file should be installed -in <code>/etc/</code>. +Copy the sample miniglx.conf to /etc/miniglx.conf and review/edit its contents. +Alternately, the MINIGLX_CONF environment variable can be used to +indicate the location of miniglx.conf </p> +To determine the pciBusID value, run lspci and examine the output. +For example: +</p> +<pre> + /sbin/lspci: + 00:02.0 VGA compatible controller: Intel Corporation 82915G/GV/910GL Express Chipset Family Graphics Controller (rev 04) +</pre> <p> -Edit <code>/etc/miniglx.conf</code> to be sure it's set up correctly -for your hardware. -Comments in the file explain the options. +00:02.0 indicates that pciBusID should be PCI:0:2:0 </p> + + <h2>3.3 Running fbdev/DRI Programs</h2> <p> Make sure your LD_LIBRARY_PATH environment variable is set to the -<code>Mesa/lib/</code> directory. +location of the libGL.so library. You may need to append other paths +to LD_LIBRARY_PATH if libpciaccess.so is in a non-standard location, +for example. </p> <p> @@ -245,7 +187,7 @@ Change to the <code>Mesa/progs/miniglx/</code> directory and start the sample_server program in the background: </p> <pre> - ./sample_server & + ./sample_server & </pre> <p> @@ -268,28 +210,25 @@ them from a remote shell so that you can stop them with ctrl-C. <h1>4.0 Troubleshooting</h1> -<p> +<ol> +<li> If you try to run miniglxtest and get the following: -</p> +<br> <pre> [miniglx] failed to probe chipset connect: Connection refused server connection lost </pre> -<p> It means that the sample_server process is not running. -</p> - - +<br> +<br> +</li> +</ol> <h1>5.0 Programming Information</h1> <p> -The full OpenGL API is available with fbdev/DRI. -</p> - -<p> OpenGL/Mesa is interfaced to fbdev via the <a href="MiniGLX.html">MiniGLX</a> interface. MiniGLX is a subset of Xlib and GLX API functions which provides just diff --git a/dist/Mesa/docs/helpwanted.html b/dist/Mesa/docs/helpwanted.html index 346f093d6..4cd92b97a 100644 --- a/dist/Mesa/docs/helpwanted.html +++ b/dist/Mesa/docs/helpwanted.html @@ -6,7 +6,7 @@ <BODY> -<H1>Help Wanted</H1> +<H1>Help Wanted / To-Do List</H1> <p> We can always use more help with the Mesa project. @@ -14,36 +14,13 @@ Here are some specific ideas and areas where help would be appreciated: </p> <ol> -<li><p> - Generate the src/mesa/main/enums.c file with a Python script which - uses the gl_API.xml file. - </p> -<li><p> - Try to auto-generate the display list "save" functions seen in dlist.c - using a Python script and the gl_API.xml file. - The gl_API.xml file will probably need a new tag to indicate whether or - not each function gets compiled into display lists. - </p> -<li><p> - Maintenance of assembly language files on Linux, Windows and SPARC systems. - </p> -<li><p> - Help to incorporate the 3Dlabs' shading language compiler for OpenGL 2.0. - </p> -<li><p> - Implement assembly language (SSE/MMX) code generation for - vertex/fragment programs. - </p> -<li><p> - Windows 98/NT driver building, maintenance and testing - (Karl Schultz has been doing a great job of this lately). - </p> -<li><p> - Maintenance and testing of various drivers, such as DOS/DJGPP, GGI, etc. - </p> -<li><p> - Write new tests for Glean. - </p> +<li> +Enable -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing +issues in the code. +<li> +Windows 98/NT driver building, maintenance and testing +<li> +Maintenance and testing of lesser-used drivers, such as DOS/DJGPP, GGI, etc. </ol> diff --git a/dist/Mesa/docs/install.html b/dist/Mesa/docs/install.html index 804dee59b..4cd0d4c9d 100644 --- a/dist/Mesa/docs/install.html +++ b/dist/Mesa/docs/install.html @@ -57,50 +57,31 @@ the DRI hardware drivers. <li> <p> -DRM kernel modules and header files from the -<a href="http://dri.sf.net/" target="_parent">DRI</a> project. +For Mesa 7.0.2 <a href="http://dri.freedesktop.org/libdrm/"> +DRM version 2.3</a> is required. </p> - <p> -If you don't already have the DRM file, you can get the sources from -CVS by doing: -<pre> -cvs -z3 -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/dri co drm -</pre> -<p> -See the <a href="http://dri.freedesktop.org/wiki/Building" target="_parent"> -DRI Building Instructions</a> for the steps to build the DRM modules. Mesa -6.5 requires at least libdrm 2.0.1 or greater. -</p> -<p> -You can verify that the DRM files have been properly installed by -running <code>pkg-config --modversion libdrm</code> - -</li> - -<li> -Recent /usr/include/GL/glxproto.h file. -<p>You'll need this if you get any errors about _GLXvop_BindTexImageEXT -being undefined. +To check if you already have it, run: +<br> +<code>pkg-config --modversion libdrm</code> </p> <p> -Download/install the -<a href="http://gitweb.freedesktop.org/?p=xorg/proto/glproto.git">glproto</a> -module from X.org git, or grab the -<A href="http://webcvs.freedesktop.org/*checkout*/xorg/proto/GL/glxproto.h?rev=1.9&content-type=text%2Fplain">glxproto.h file</a> and put it in the -Mesa/include/GL/ directory. +You can download and install a <a href="http://dri.freedesktop.org/libdrm/"> +tarball release</a> or get the code from git with: +<br> +<code>git clone git://anongit.freedesktop.org/git/mesa/drm</code> +<br> +Then revert to the drm-2.3.0 tag with: +<br> +<code>git-reset --hard drm-2.3.0</code> </p> - </li> -<li>DRI-enabled X server. -<p>Visit -<a href="http://www.xfree86.org" target="_parent">XFree86</a> -or +<li> +Relatively recent <a href="http://freedesktop.org/wiki/Software_2fXserver" target="_parent"> -X.org</a> -for more information. -</p> +X.org</a> release. +Mesa depends on a number of X header and library files. </li> </ol> @@ -287,7 +268,15 @@ already installed, you'll have to choose different directories, like To install Mesa's headers and libraries, run <code>make install</code>. But first, check the Mesa/configs/default file and examine the values of the <b>INSTALL_DIR</b> and <b>DRI_DRIVER_INSTALL_DIR</b> variables. -Change them if needed, then run <code>make install</code> +Change them if needed, then run <code>make install</code>. +</p> + +<p> +The variable +<b>DESTDIR</b> may also be used to install the contents to a temporary +staging directory. +This can be useful for package management. +For example: <code>make install DESTDIR=/somepath/</code> </p> <p> @@ -298,6 +287,26 @@ This is a handy way to compare multiple OpenGL implementations. </p> +<H3>1.5 pkg-config support</H3> + +<p> +Running <code>make install</code> will install package configuration files +for the pkg-config utility. +</p> + +<p> +When compiling your OpenGL application you can use pkg-config to determine +the proper compiler and linker flags. +</p> + +<p> +For example, compiling and linking a GLUT application can be done with: +</p> +<pre> + gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo +</pre> + +<br> <a name="windows"> <H2>2. Windows Compilation and Installation</H1> diff --git a/dist/Mesa/docs/license.html b/dist/Mesa/docs/license.html index dd878619b..44b980d93 100644 --- a/dist/Mesa/docs/license.html +++ b/dist/Mesa/docs/license.html @@ -6,6 +6,34 @@ <BODY> +<H1>Disclaimer</H1> + +<p> +Mesa is a 3-D graphics library with an API which is very similar to +that of <a href="http://www.opengl.org/" target="_parent">OpenGL</a>.* +To the extent that Mesa utilizes the OpenGL command syntax or state +machine, it is being used with authorization from <a +href="http://www.sgi.com/" target="_parent">Silicon Graphics, +Inc.</a>(SGI). However, the author does not possess an OpenGL license +from SGI, and makes no claim that Mesa is in any way a compatible +replacement for OpenGL or associated with SGI. Those who want a +licensed implementation of OpenGL should contact a licensed +vendor. +</p> + +<p> +Please do not refer to the library as <em>MesaGL</em> (for legal +reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics +library</em>. <br> +</p> + +<p> +* OpenGL is a trademark of <a href="http://www.sgi.com/" +target="_parent">Silicon Graphics Incorporated</a>. +</p> + + + <H1>License / Copyright Information</H1> <p> @@ -24,7 +52,7 @@ The default Mesa license is as follows: </p> <pre> -Copyright (C) 1999-2005 Brian Paul All Rights Reserved. +Copyright (C) 1999-2007 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"), @@ -58,29 +86,32 @@ and their respective licenses. <H1>Mesa Component Licenses</H1> <pre> -Component Location Primary Author License ----------------------------------------------------------------------------- -Main Mesa code src/mesa/ Brian Paul Mesa (MIT) +Component Location License +------------------------------------------------------------------ +Main Mesa code src/mesa/ Mesa (MIT) -Device drivers src/mesa/drivers/* See drivers See drivers +Device drivers src/mesa/drivers/* MIT, generally -Ext headers include/GL/glext.h SGI SGI Free B +Ext headers include/GL/glext.h Khronos include/GL/glxext.h -GLUT src/glut/ Mark Kilgard Mark's copyright - -Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL +GLUT src/glut/ Mark Kilgard's copyright -SGI GLU library src/glu/sgi/ SGI SGI Free B +SGI GLU library src/glu/sgi/ SGI Free B -demo programs progs/demos/ various see source files +demo programs progs/demos/ see source files -X demos progs/xdemos/ Brian Paul see source files +X demos progs/xdemos/ see source files -SGI demos progs/samples/ SGI SGI copyright +SGI demos progs/samples/ SGI license -RedBook demos progs/redbook/ SGI SGI copyright +RedBook demos progs/redbook/ SGI license </pre> +<p> +In general, consult the source files for license terms. +</p> + + </body> </html> diff --git a/dist/Mesa/docs/modelers.html b/dist/Mesa/docs/modelers.html index b93f4d8b7..aae968695 100644 --- a/dist/Mesa/docs/modelers.html +++ b/dist/Mesa/docs/modelers.html @@ -28,7 +28,7 @@ </li><li><a href="http://innovation3d.sourceforge.net/" target="_parent">Innovation3D</a> - 3D modeling program </li><li><a href="http://mesa3d.sourceforge.net/notfound.html" target="_parent">KWRL</a> - VRML browser - </li><li><a href="http://www.vermontel.com/%7Ecmorley/vrml.html" target="_parent">LibVRML97/Lookat</a> + </li><li><a href="http://www.openvrml.org/" target="_parent">LibVRML97/Lookat</a> - VRML viewer </li><li><a href="http://aig.cs.man.ac.uk/systems/Maverik/" target="_parent">Maverik</a> - VR graphics and interaction system diff --git a/dist/Mesa/docs/news.html b/dist/Mesa/docs/news.html index 7105180cc..b28bd90e4 100644 --- a/dist/Mesa/docs/news.html +++ b/dist/Mesa/docs/news.html @@ -11,102 +11,100 @@ <H1>News</H1> -<h2>September 15, 2006</h2> +<h2>November 10, 2007</h2> <p> -Mesa 6.5.1 has been released. This is a new development release. +<a href="relnotes-7.0.2.html">Mesa 7.0.2</a> is released. +This is a bug-fix release. </p> -<a href="versions.html#6.5.1">Changes in version 6.5.1</a> + + +<h2>August 3, 2007</h2> <p> -The MD5 checksums are: +<a href="relnotes-7.0.1.html">Mesa 7.0.1</a> is released. +This is a bug-fix release. </p> -<pre> -TBD -</pre> -<h2>March 31, 2006</h2> + +<h2>June 22, 2007</h2> <p> -Mesa 6.5 has been released. This is a new development release. +<a href="relnotes-7.0.html">Mesa 7.0</a> is released. +This is a stable release featuring OpenGL 2.1 support. </p> -<a href="versions.html#6.5">Changes in version 6.5</a> + + +<h2>April 27, 2007</h2> <p> -The MD5 checksums are: +<a href="relnotes-6.5.3.html">Mesa 6.5.3</a> is released. +This is a development release which will lead up to the Mesa 7.0 release +(which will advertise OpenGL 2.1 API support). </p> -<pre> -657be3b92f6dabc78a67ed9cb8d67813 MesaLib-6.5.tar.gz -61beda590bfc5b4a12e979d5f2d70d7a MesaLib-6.5.tar.bz2 -19d48b872d579d4f91466060804a59ac MesaLib-6.5.zip -694ad3a7007010c7418a9c72d1cba5b7 MesaDemos-6.5.tar.gz -ab95b590dcd640726a2d89e62068c66e MesaDemos-6.5.tar.bz2 -b792c303fefd87294488e2b7eab976e5 MesaDemos-6.5.zip -ac1d585483617db0c91e5c15cb5ec3a3 MesaGLUT-6.5.tar.gz -59f0bf2b2ffb67fe23ee479f9b044f31 MesaGLUT-6.5.tar.bz2 -005decb2136718e22222ac1c4805cd15 MesaGLUT-6.5.zip -</pre> -<h2>February 2, 2006</h2> +<h2>March 26, 2007</h2> <p> -Mesa 6.4.2 has been released. This is primarily a bug-fix release. +The new Shading Language compiler branch has been merged into the git +master branch. This is a step toward hardware support for the OpenGL +2.0 Shading Language and will be included in the next Mesa release. +In conjunction, <a href="http://glean.sf.net" target="_parent">Glean +</a> has been updated with a new test that does over 130 tests of the +shading language and built-in functions. </p> -<a href="versions.html#6.4.2">Changes in version 6.4.2</a> + +<h2>April 2007</h2> <p> -The MD5 checksums are: +Thomas Hellström of +<a href="http://www.tungstengraphics.com" target="_parent"> +Tungsten Graphics</a> has written a whitepaper describing the new +<a href="http://www.tungstengraphics.com/mm.pdf">DRI memory management +system</a>. </p> -<pre> -cb0d745d520fa7c2bb9178058b763544 MesaLib-6.4.2.tar.gz -7674d2c603b5834259e4e5a820cefd5b MesaLib-6.4.2.tar.bz2 -d224e1325b33ff71a0f3893fc6b4d594 MesaLib-6.4.2.zip -d4b345d4588fc750cd3d34f3ac26673e MesaDemos-6.4.2.tar.gz -9cae1ab874af533ce356bd7dfe2e0bb0 MesaDemos-6.4.2.tar.bz2 -2da6e1d1245e441d27813595c6ba50de MesaDemos-6.4.2.zip -84427d18c3453f0ea52388eeba7169b5 MesaGLUT-6.4.2.tar.gz -b157ba8ad1ea63260cf5339132e7aac6 MesaGLUT-6.4.2.tar.bz2 -fe1523744fc05edc3811dfc6a1bf4181 MesaGLUT-6.4.2.zip -</pre> +<h2>December 5, 2006</h2> +<p> +Mesa is now using git as its source code management system. +The previous CVS repository should no longer be used. +See the <a href="repository.html">repository page</a> for more information. +</p> -<h2>November 29, 2005</h2> +<h2>December 2, 2006</h2> <p> -Mesa 6.4.1 has been released. This is a stable, bug-fix release. +<a href="relnotes-6.5.2.html">Mesa 6.5.2</a> has been released. +This is a new development release. </p> -<a href="versions.html#6.4.1">Changes in version 6.4.1</a> + +<h2>September 15, 2006</h2> <p> -The MD5 checksums are: +<a href="relnotes-6.5.1.html">Mesa 6.5.1</a> has been released. +This is a new development release. </p> -<pre> -698ceb574cf882b0226761f5913c0da9 MesaLib-6.4.1.tar.gz -ea148c828ec6f645526451db1b8556f1 MesaLib-6.4.1.tar.bz2 -42e93279468975ed2bf3111b8721e5d9 MesaLib-6.4.1.zip -e3b0d50807fd2bdcd1a95aaddd786f13 MesaDemos-6.4.1.tar.gz -99df1fdcb98d391666b476ca6f1dda8a MesaDemos-6.4.1.tar.bz2 -b999d2c6d92fb4b7740a3dbd889348e3 MesaDemos-6.4.1.zip -eadfe01fe5ddfb1eb8227dd567b31635 MesaGLUT-6.4.1.tar.gz -bd003bb4f981a4f91dee4c38644d4f3f MesaGLUT-6.4.1.tar.bz2 -71c401c037088bf688a88afdaeb3420f MesaGLUT-6.4.1.zip -</pre> +<h2>March 31, 2006</h2> +<p> +<a href="relnotes-6.5.html">Mesa 6.5</a> has been released. +This is a new development release. +</p> +<h2>February 2, 2006</h2> +<p> +<a href="relnotes-6.4.2.html">Mesa 6.4.2</a> has been released. +This is stable, bug-fix release. +</p> -<h2>October 24, 2005</h2> + +<h2>November 29, 2005</h2> <p> -Mesa 6.4 has been released. This is a stable, bug-fix release. +<a href="relnotes-6.4.1.html">Mesa 6.4.1</a> has been released. +This is stable, bug-fix release. </p> -<a href="versions.html#6.4">Changes in version 6.4</a> + + + +<h2>October 24, 2005</h2> <p> -The MD5 checksums are: +<a href="relnotes-6.4.html">Mesa 6.4</a> has been released. +This is stable, bug-fix release. </p> -<pre> -1cce0c1eb4fd15e9dfe837a1ce0c9812 MesaLib-6.4.tar.gz -85a84e47a3f718f752f306b9e0954ef6 MesaLib-6.4.tar.bz2 -b976fea4f3ee06354c53f91b6e3f2ffc MesaLib-6.4.zip -d8734f2c69bcf7ef9f5ae454a85743ba MesaDemos-6.4.tar.gz -1a8c4d4fc699233f5fdb902b8753099e MesaDemos-6.4.tar.bz2 -607ab7c7a7de0cc5febbdde2bfa03098 MesaDemos-6.4.zip -3260156f66174322a092be0767962d34 MesaGLUT-6.4.tar.gz -0465d053f83775f44a12dec4050dfd78 MesaGLUT-6.4.tar.bz2 -02abfcdcdf72ba938ae00f6e3b70fbe0 MesaGLUT-6.4.zip -</pre> <h2>August 19, 2005</h2> @@ -1133,6 +1131,6 @@ source code</a>.</p> <hr> -$Id: news.html,v 1.1 2006/11/25 18:49:21 matthieu Exp $ +$Id: news.html,v 1.2 2008/02/12 21:09:26 matthieu Exp $ </body> </html> diff --git a/dist/Mesa/docs/relnotes-7.0.1.html b/dist/Mesa/docs/relnotes-7.0.1.html index 47ee162ec..02713ad5e 100644 --- a/dist/Mesa/docs/relnotes-7.0.1.html +++ b/dist/Mesa/docs/relnotes-7.0.1.html @@ -17,6 +17,15 @@ Mesa 7.0.1 is a stable release with bug fixes since version 7.0. <h2>MD5 checksums</h2> <pre> +db55141a44b902fcc61d9265b7862c06 MesaLib-7.0.1.tar.gz +c056abd763e899114bf745c9eedbf9ad MesaLib-7.0.1.tar.bz2 +ecc2637547fae2b38271ae362d013afa MesaLib-7.0.1.zip +b85a4a5be4e829f4a1165e4514b13183 MesaDemos-7.0.1.tar.gz +3b66b3268df12ca8a6c4e0c4c457912c MesaDemos-7.0.1.tar.bz2 +b1c18006f16e44e80fea66774c59b391 MesaDemos-7.0.1.zip +b87a69986839ae43ce12fc8e3dc1ebb4 MesaGLUT-7.0.1.tar.gz +25f30d0c1651997b4412366ba0572f7f MesaGLUT-7.0.1.tar.bz2 +676ee6682a6ce78a5540554fd975c03e MesaGLUT-7.0.1.zip </pre> diff --git a/dist/Mesa/docs/relnotes.html b/dist/Mesa/docs/relnotes.html index 7383f0209..7464f5c38 100644 --- a/dist/Mesa/docs/relnotes.html +++ b/dist/Mesa/docs/relnotes.html @@ -9,15 +9,35 @@ <H1>Release Notes</H1> <p> +Mesa uses an even/odd version number scheme like the Linux kernel. +Odd numbered versions (such as 6.5) designate new developmental releases. +Even numbered versions (such as 6.4) designate stable releases. +</p> + + +<p> The release notes summarize what's new or changed in each Mesa release. </p> <UL> +<LI><A HREF="relnotes-7.0.2.html">7.0.2 release notes</A> +<LI><A HREF="relnotes-7.0.1.html">7.0.1 release notes</A> +<LI><A HREF="relnotes-7.0.html">7.0 release notes</A> +<LI><A HREF="relnotes-6.5.3.html">6.5.3 release notes</A> +<LI><A HREF="relnotes-6.5.2.html">6.5.2 release notes</A> <LI><A HREF="relnotes-6.5.1.html">6.5.1 release notes</A> -<LI><A HREF="RELNOTES-6.5">RELNOTES-6.5</A> -<LI><A HREF="RELNOTES-6.4.2">RELNOTES-6.4.2</A> -<LI><A HREF="RELNOTES-6.4.1">RELNOTES-6.4.1</A> -<LI><A HREF="RELNOTES-6.4">RELNOTES-6.4</A> +<LI><A HREF="relnotes-6.5.html">6.5 release notes</A> +<LI><A HREF="relnotes-6.4.2.html">6.4.2 release notes</A> +<LI><A HREF="relnotes-6.4.1.html">6.4.1 release notes</A> +<LI><A HREF="relnotes-6.4.html">6.4 release notes</A> +</UL + +<p> +Versions of Mesa prior to 6.4 are summarized in the +<a href="versions.html">versions file</a> and the following release notes. +</p> + +<UL> <LI><A HREF="RELNOTES-6.3.2">RELNOTES-6.3.2</A> <LI><A HREF="RELNOTES-6.3">RELNOTES-6.3</A> <LI><A HREF="RELNOTES-6.2.1">RELNOTES-6.2.1</A> diff --git a/dist/Mesa/include/GL/glu.h b/dist/Mesa/include/GL/glu.h index c0bac75a8..7db4b707b 100644 --- a/dist/Mesa/include/GL/glu.h +++ b/dist/Mesa/include/GL/glu.h @@ -44,9 +44,17 @@ #define GLAPIENTRYP GLAPIENTRY * #endif -#ifndef GLAPI -#define GLAPI -#endif +#if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32) +# undef GLAPI +# define GLAPI __declspec(dllexport) +#elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) +/* tag specifying we're building for DLL runtime support */ +# undef GLAPI +# define GLAPI __declspec(dllimport) +#elif !defined(GLAPI) +/* for use with static link lib build of Win32 edition only */ +# define GLAPI extern +#endif /* _STATIC_MESA support */ #ifdef __cplusplus extern "C" { diff --git a/dist/Mesa/progs/beos/Makefile b/dist/Mesa/progs/beos/Makefile index 45782fb3c..491e8e442 100644 --- a/dist/Mesa/progs/beos/Makefile +++ b/dist/Mesa/progs/beos/Makefile @@ -10,7 +10,9 @@ include $(TOP)/configs/current # # Modified by Philippe Houdoin -LDFLAGS += -soname=_APP_ $(APP_LIB_DEPS) +LDFLAGS += -soname=_APP_ + +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) INCLUDES = -I. -I- -I../../include @@ -21,13 +23,13 @@ clean: rm -f *.o demo: demo.o - $(LD) demo.o $(LDFLAGS) -o $@ + $(LD) demo.o $(LDFLAGS) $(LIBS) -o $@ sample: sample.o - $(LD) sample.o $(LDFLAGS) -o $@ + $(LD) sample.o $(LDFLAGS) $(LIBS) -o $@ GTLInfo: GLInfo.o - $(LD) GLInfo.o $(INCLUDES) $(LDFLAGS) -o $@ + $(LD) GLInfo.o $(INCLUDES) $(LDFLAGS) $(LIBS) -o $@ .cpp.o: $(CC) -c $< $(INCLUDES) $(CFLAGS) -o $@ diff --git a/dist/Mesa/progs/demos/Makefile b/dist/Mesa/progs/demos/Makefile index 43d0f17c8..1014ccce8 100644 --- a/dist/Mesa/progs/demos/Makefile +++ b/dist/Mesa/progs/demos/Makefile @@ -13,6 +13,8 @@ OSMESA32_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa32 -lGLU -lGL $(APP_LIB_DEPS) LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME) +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) + PROGS = \ arbfplight \ arbfslight \ @@ -25,6 +27,7 @@ PROGS = \ fire \ fogcoord \ fplight \ + fslight \ gamma \ gearbox \ gears \ @@ -47,6 +50,7 @@ PROGS = \ renormal \ shadowtex \ singlebuffer \ + streaming_rect \ spectex \ spriteblast \ stex3d \ @@ -72,7 +76,7 @@ PROGS = \ # make executable from .c file: .c: $(LIB_DEP) readtex.o - $(CC) -I$(INCDIR) $(CFLAGS) $< readtex.o $(APP_LIB_DEPS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< readtex.o $(LIBS) -o $@ ##### TARGETS ##### @@ -111,34 +115,46 @@ trackball.o: trackball.c trackball.h $(CC) -c -I$(INCDIR) $(CFLAGS) trackball.c +extfuncs.h: $(TOP)/progs/util/extfuncs.h + cp $< . + + reflect: reflect.o showbuffer.o readtex.o - $(CC) -I$(INCDIR) $(CFLAGS) reflect.o showbuffer.o readtex.o $(APP_LIB_DEPS) -o $@ + $(CC) $(LDFLAGS) reflect.o showbuffer.o readtex.o $(LIBS) -o $@ reflect.o: reflect.c showbuffer.h $(CC) -c -I$(INCDIR) $(CFLAGS) reflect.c shadowtex: shadowtex.o showbuffer.o - $(CC) -I$(INCDIR) $(CFLAGS) shadowtex.o showbuffer.o $(APP_LIB_DEPS) -o $@ + $(CC) $(LDFLAGS) shadowtex.o showbuffer.o $(LIBS) -o $@ shadowtex.o: shadowtex.c showbuffer.h $(CC) -c -I$(INCDIR) $(CFLAGS) shadowtex.c gloss: gloss.o trackball.o readtex.o - $(CC) -I$(INCDIR) $(CFLAGS) gloss.o trackball.o readtex.o $(APP_LIB_DEPS) -o $@ + $(CC) $(LDFLAGS) gloss.o trackball.o readtex.o $(LIBS) -o $@ gloss.o: gloss.c trackball.h $(CC) -c -I$(INCDIR) $(CFLAGS) gloss.c engine: engine.o trackball.o readtex.o - $(CC) -I$(INCDIR) $(CFLAGS) engine.o trackball.o readtex.o $(APP_LIB_DEPS) -o $@ + $(CC) $(LDFLAGS) engine.o trackball.o readtex.o $(LIBS) -o $@ engine.o: engine.c trackball.h $(CC) -c -I$(INCDIR) $(CFLAGS) engine.c +fslight: fslight.o + $(CC) $(LDFLAGS) fslight.o $(LIBS) -o $@ + +fslight.o: fslight.c extfuncs.h + $(CC) -c -I$(INCDIR) $(CFLAGS) fslight.c + + + clean: -rm -f $(PROGS) -rm -f *.o *~ diff --git a/dist/Mesa/progs/fbdev/Makefile b/dist/Mesa/progs/fbdev/Makefile index 0a0c77906..56daf56f8 100644 --- a/dist/Mesa/progs/fbdev/Makefile +++ b/dist/Mesa/progs/fbdev/Makefile @@ -15,6 +15,7 @@ INCLUDES = \ -I. \ -I$(TOP)/include +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) ##### RULES ##### @@ -22,7 +23,7 @@ INCLUDES = \ .SUFFIXES: .c .c: - $(CC) $(INCLUDES) $(CFLAGS) $< $(APP_LIB_DEPS) -o $@ + $(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@ .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $< -o $@ diff --git a/dist/Mesa/progs/glsl/Makefile b/dist/Mesa/progs/glsl/Makefile index 37fa312c3..546cd233e 100644 --- a/dist/Mesa/progs/glsl/Makefile +++ b/dist/Mesa/progs/glsl/Makefile @@ -7,6 +7,8 @@ INCDIR = $(TOP)/include LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME) +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) + PROGS = \ brick \ bump \ @@ -25,7 +27,7 @@ PROGS = \ # make executable from .c file: .c: $(LIB_DEP) - $(CC) -I$(INCDIR) $(CFLAGS) $< $(APP_LIB_DEPS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@ ##### TARGETS ##### @@ -57,7 +59,7 @@ mandelbrot.c: extfuncs.h toyball.c: extfuncs.h texdemo1: texdemo1.o readtex.o - $(CC) -I$(INCDIR) $(CFLAGS) texdemo1.o readtex.o $(APP_LIB_DEPS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) texdemo1.o readtex.o $(LIBS) -o $@ texdemo1.o: texdemo1.c readtex.h extfuncs.h $(CC) -c -I$(INCDIR) $(CFLAGS) texdemo1.c diff --git a/dist/Mesa/progs/glsl/bump.c b/dist/Mesa/progs/glsl/bump.c index a6846acf7..11f87ab12 100644 --- a/dist/Mesa/progs/glsl/bump.c +++ b/dist/Mesa/progs/glsl/bump.c @@ -247,7 +247,7 @@ LoadAndCompileShader(GLuint shader, const char *text) GLchar log[1000]; GLsizei len; glGetShaderInfoLog_func(shader, 1000, &len, log); - fprintf(stderr, "brick: problem compiling shader: %s\n", log); + fprintf(stderr, "bump: problem compiling shader: %s\n", log); exit(1); } else { @@ -267,12 +267,12 @@ ReadShader(GLuint shader, const char *filename) char *buffer = (char*) malloc(max); FILE *f = fopen(filename, "r"); if (!f) { - fprintf(stderr, "brick: Unable to open shader file %s\n", filename); + fprintf(stderr, "bump: Unable to open shader file %s\n", filename); exit(1); } n = fread(buffer, 1, max, f); - printf("brick: read %d bytes from shader file %s\n", n, filename); + printf("bump: read %d bytes from shader file %s\n", n, filename); if (n > 0) { buffer[n] = 0; LoadAndCompileShader(shader, buffer); diff --git a/dist/Mesa/progs/glsl/mandelbrot.c b/dist/Mesa/progs/glsl/mandelbrot.c index 7a2bad6dd..e7b2b04b0 100644 --- a/dist/Mesa/progs/glsl/mandelbrot.c +++ b/dist/Mesa/progs/glsl/mandelbrot.c @@ -172,7 +172,7 @@ LoadAndCompileShader(GLuint shader, const char *text) GLchar log[1000]; GLsizei len; glGetShaderInfoLog_func(shader, 1000, &len, log); - fprintf(stderr, "brick: problem compiling shader: %s\n", log); + fprintf(stderr, "mandelbrot: problem compiling shader: %s\n", log); exit(1); } else { @@ -192,12 +192,12 @@ ReadShader(GLuint shader, const char *filename) char *buffer = (char*) malloc(max); FILE *f = fopen(filename, "r"); if (!f) { - fprintf(stderr, "brick: Unable to open shader file %s\n", filename); + fprintf(stderr, "mandelbrot: Unable to open shader file %s\n", filename); exit(1); } n = fread(buffer, 1, max, f); - printf("brick: read %d bytes from shader file %s\n", n, filename); + printf("mandelbrot: read %d bytes from shader file %s\n", n, filename); if (n > 0) { buffer[n] = 0; LoadAndCompileShader(shader, buffer); diff --git a/dist/Mesa/progs/glsl/noise.c b/dist/Mesa/progs/glsl/noise.c index a26a80594..adccd1a7c 100644 --- a/dist/Mesa/progs/glsl/noise.c +++ b/dist/Mesa/progs/glsl/noise.c @@ -188,7 +188,7 @@ LoadAndCompileShader(GLuint shader, const char *text) GLchar log[1000]; GLsizei len; glGetShaderInfoLog_func(shader, 1000, &len, log); - fprintf(stderr, "brick: problem compiling shader: %s\n", log); + fprintf(stderr, "noise: problem compiling shader: %s\n", log); exit(1); } else { diff --git a/dist/Mesa/progs/glsl/toyball.c b/dist/Mesa/progs/glsl/toyball.c index cef52c04a..3aa096161 100644 --- a/dist/Mesa/progs/glsl/toyball.c +++ b/dist/Mesa/progs/glsl/toyball.c @@ -185,7 +185,7 @@ LoadAndCompileShader(GLuint shader, const char *text) GLchar log[1000]; GLsizei len; glGetShaderInfoLog_func(shader, 1000, &len, log); - fprintf(stderr, "brick: problem compiling shader: %s\n", log); + fprintf(stderr, "toyball: problem compiling shader: %s\n", log); exit(1); } else { @@ -205,12 +205,12 @@ ReadShader(GLuint shader, const char *filename) char *buffer = (char*) malloc(max); FILE *f = fopen(filename, "r"); if (!f) { - fprintf(stderr, "brick: Unable to open shader file %s\n", filename); + fprintf(stderr, "toyball: Unable to open shader file %s\n", filename); exit(1); } n = fread(buffer, 1, max, f); - printf("brick: read %d bytes from shader file %s\n", n, filename); + printf("toyball: read %d bytes from shader file %s\n", n, filename); if (n > 0) { buffer[n] = 0; LoadAndCompileShader(shader, buffer); diff --git a/dist/Mesa/progs/osdemos/Makefile b/dist/Mesa/progs/osdemos/Makefile index f8cba9ee9..148d603b3 100644 --- a/dist/Mesa/progs/osdemos/Makefile +++ b/dist/Mesa/progs/osdemos/Makefile @@ -13,6 +13,8 @@ OSMESA32_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa32 -lGLU -lGL $(APP_LIB_DEPS) LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME) +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) + PROGS = \ osdemo \ ostest1 @@ -26,7 +28,7 @@ PROGS = \ # make executable from .c file: .c: $(LIB_DEP) readtex.o - $(CC) -I$(INCDIR) $(CFLAGS) $< readtex.o $(APP_LIB_DEPS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< readtex.o $(LIBS) -o $@ ##### TARGETS ##### @@ -56,19 +58,19 @@ showbuffer.o: showbuffer.c showbuffer.h # special case: need the -lOSMesa library: osdemo: osdemo.c - $(CC) -I$(INCDIR) $(CFLAGS) osdemo.c $(OSMESA_LIBS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) osdemo.c $(OSMESA_LIBS) -o $@ # special case: need the -lOSMesa library: ostest1: ostest1.c - $(CC) -I$(INCDIR) $(CFLAGS) ostest1.c $(OSMESA_LIBS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) ostest1.c $(OSMESA_LIBS) -o $@ # another special case: need the -lOSMesa16 library: osdemo16: osdemo16.c - $(CC) -I$(INCDIR) $(CFLAGS) osdemo16.c $(OSMESA16_LIBS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) osdemo16.c $(OSMESA16_LIBS) -o $@ # another special case: need the -lOSMesa32 library: osdemo32: osdemo32.c - $(CC) -I$(INCDIR) $(CFLAGS) osdemo32.c $(OSMESA32_LIBS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) osdemo32.c $(OSMESA32_LIBS) -o $@ diff --git a/dist/Mesa/progs/redbook/Makefile b/dist/Mesa/progs/redbook/Makefile index febc74441..7ba676c26 100644 --- a/dist/Mesa/progs/redbook/Makefile +++ b/dist/Mesa/progs/redbook/Makefile @@ -7,6 +7,8 @@ INCDIR = $(TOP)/include LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME) +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) + PROGS = aaindex aapoly aargb accanti accpersp alpha alpha3D anti \ bezcurve bezmesh checker clip colormat cube depthcue dof \ double drawf feedback fog fogindex font hello image light \ @@ -24,7 +26,7 @@ PROGS = aaindex aapoly aargb accanti accpersp alpha alpha3D anti \ .SUFFIXES: .c .c: $(LIB_DEP) - $(CC) -I$(INCDIR) $(CFLAGS) $< $(APP_LIB_DEPS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@ diff --git a/dist/Mesa/progs/samples/Makefile b/dist/Mesa/progs/samples/Makefile index 063008dcc..6509a559a 100644 --- a/dist/Mesa/progs/samples/Makefile +++ b/dist/Mesa/progs/samples/Makefile @@ -7,6 +7,8 @@ INCDIR = $(TOP)/include LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME) +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) + PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \ font line logo nurb olympic overlay point prim quad select \ shape sphere star stencil stretch texture tri wave @@ -18,7 +20,7 @@ PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \ .SUFFIXES: .c .c: $(LIB_DEP) - $(CC) -I$(INCDIR) $(CFLAGS) $< $(APP_LIB_DEPS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@ ##### TARGETS ##### @@ -27,7 +29,7 @@ default: $(PROGS) sphere: sphere.o readtex.o - $(CC) -I$(INCDIR) $(CFLAGS) sphere.o readtex.o $(APP_LIB_DEPS) -o $@ + $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) sphere.o readtex.o $(LIBS) -o $@ sphere.o: sphere.c readtex.h $(CC) -c -I$(INCDIR) $(CFLAGS) sphere.c diff --git a/dist/Mesa/progs/xdemos/Makefile b/dist/Mesa/progs/xdemos/Makefile index 4ca8b107a..5511b8c5f 100644 --- a/dist/Mesa/progs/xdemos/Makefile +++ b/dist/Mesa/progs/xdemos/Makefile @@ -8,6 +8,8 @@ INCDIR = $(TOP)/include LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) +LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS) + PROGS = glthreads \ glxdemo \ glxgears \ @@ -24,11 +26,11 @@ PROGS = glthreads \ pbinfo \ pbdemo \ wincopy \ - xdemo \ xfont \ xrotfontdemo \ yuvrect_client +# omit this XMesa API demo: xdemo ##### RULES ##### @@ -37,7 +39,7 @@ PROGS = glthreads \ .SUFFIXES: .c .c: $(LIB_DEP) - $(CC) -I$(INCDIR) $(CFLAGS) $< $(APP_LIB_DEPS) -o $@ + $(CC) -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) $(LDFLAGS) $< $(LIBS) -o $@ ##### TARGETS ##### @@ -52,32 +54,32 @@ clean: # special cases pbinfo: pbinfo.o pbutil.o - $(CC) -I$(INCDIR) $(CFLAGS) pbinfo.o pbutil.o $(APP_LIB_DEPS) -o $@ + $(CC) $(LDFLAGS) pbinfo.o pbutil.o $(LIBS) -o $@ pbdemo: pbdemo.o pbutil.o - $(CC) -I$(INCDIR) $(CFLAGS) pbdemo.o pbutil.o $(APP_LIB_DEPS) -o $@ + $(CC) $(LDFLAGS) pbdemo.o pbutil.o $(LIBS) -o $@ pbinfo.o: pbinfo.c pbutil.h - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) pbinfo.c + $(CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) pbinfo.c pbdemo.o: pbdemo.c pbutil.h - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) pbdemo.c + $(CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) pbdemo.c pbutil.o: pbutil.c pbutil.h - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) pbutil.c + $(CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) pbutil.c glxgears_fbconfig: glxgears_fbconfig.o pbutil.o - $(CC) -I$(INCDIR) $(CFLAGS) glxgears_fbconfig.o pbutil.o $(APP_LIB_DEPS) -o $@ + $(CC) $(LDFLAGS) glxgears_fbconfig.o pbutil.o $(LIBS) -o $@ glxgears_fbconfig.o: glxgears_fbconfig.c pbutil.h - $(CC) -I$(INCDIR) $(CFLAGS) -c -I. $(CFLAGS) glxgears_fbconfig.c + $(CC) -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) -c -I. $(CFLAGS) glxgears_fbconfig.c xrotfontdemo: xrotfontdemo.o xuserotfont.o - $(CC) -I$(INCDIR) $(CFLAGS) xrotfontdemo.o xuserotfont.o $(APP_LIB_DEPS) -o $@ + $(CC) $(LDFLAGS) xrotfontdemo.o xuserotfont.o $(LIBS) -o $@ xuserotfont.o: xuserotfont.c xuserotfont.h - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) xuserotfont.c + $(CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) xuserotfont.c xrotfontdemo.o: xrotfontdemo.c xuserotfont.h - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) xrotfontdemo.c + $(CC) -c -I. -I$(INCDIR) $(X11_INCLUDES) $(CFLAGS) xrotfontdemo.c diff --git a/dist/Mesa/src/glu/Makefile b/dist/Mesa/src/glu/Makefile index ca9ad3944..836baa684 100644 --- a/dist/Mesa/src/glu/Makefile +++ b/dist/Mesa/src/glu/Makefile @@ -13,9 +13,19 @@ default: $(TOP)/configs/current (cd $$dir ; $(MAKE)) ; \ done -install: - $(INSTALL) -d $(INSTALL_DIR)/$(LIB_DIR) - $(COPY_LIBS) $(TOP)/$(LIB_DIR)/libGLU.* $(INSTALL_DIR)/$(LIB_DIR) +# GLU pkg-config file +pcedit = sed \ + -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \ + -e 's,@LIB_DIR@,$(LIB_DIR),' \ + -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' +glu.pc: glu.pc.in + $(pcedit) $< > $@ + +install: glu.pc + $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR) + $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig + $(INSTALL) $(TOP)/$(LIB_DIR)/libGLU.* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR) + $(INSTALL) -m 644 glu.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig clean: @for dir in $(SUBDIRS) ; do \ diff --git a/dist/Mesa/src/glu/sgi/Makefile b/dist/Mesa/src/glu/sgi/Makefile index 2ce6ac043..bb1c0a8ab 100644 --- a/dist/Mesa/src/glu/sgi/Makefile +++ b/dist/Mesa/src/glu/sgi/Makefile @@ -136,7 +136,7 @@ $(TOP)/$(LIB_DIR): # Make the library: $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME): $(OBJECTS) - $(TOP)/bin/mklib -o $(GLU_LIB) -linker '$(CXX)' \ + $(TOP)/bin/mklib -o $(GLU_LIB) -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ -major $(GLU_MAJOR) -minor $(GLU_MINOR) -patch $(GLU_TINY) \ -cplusplus $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \ $(GLU_LIB_DEPS) $(OBJECTS) diff --git a/dist/Mesa/src/glu/sgi/libutil/project.c b/dist/Mesa/src/glu/sgi/libutil/project.c index a046f6c59..f3cf273e2 100644 --- a/dist/Mesa/src/glu/sgi/libutil/project.c +++ b/dist/Mesa/src/glu/sgi/libutil/project.c @@ -31,8 +31,8 @@ ** published by SGI, but has not been independently verified as being ** compliant with the OpenGL(R) version 1.2.1 Specification. ** -** $Date: 2006/11/25 18:55:11 $ $Revision: 1.1 $ -** $Header: /cvs/OpenBSD/xenocara/dist/Mesa/src/glu/sgi/libutil/project.c,v 1.1 2006/11/25 18:55:11 matthieu Exp $ +** $Date: 2008/02/12 21:09:26 $ $Revision: 1.2 $ +** $Header: /cvs/OpenBSD/xenocara/dist/Mesa/src/glu/sgi/libutil/project.c,v 1.2 2008/02/12 21:09:26 matthieu Exp $ */ #include "gluos.h" @@ -168,74 +168,57 @@ static void __gluMultMatrixVecd(const GLdouble matrix[16], const GLdouble in[4], } /* -** inverse = invert(src) -** New, faster implementation by Shan Hao Bo, April 2006. +** Invert 4x4 matrix. +** Contributed by David Moore (See Mesa bug #6748) */ -static int __gluInvertMatrixd(const GLdouble src[16], GLdouble inverse[16]) +static int __gluInvertMatrixd(const GLdouble m[16], GLdouble invOut[16]) { - int i, j, k; - double t; - GLdouble temp[4][4]; - - for (i=0; i<4; i++) { - for (j=0; j<4; j++) { - temp[i][j] = src[i*4+j]; - } - } - __gluMakeIdentityd(inverse); - - for (i = 0; i < 4; i++) { - if (temp[i][i] == 0.0f) { - /* - ** Look for non-zero element in column - */ - for (j = i + 1; j < 4; j++) { - if (temp[j][i] != 0.0f) { - break; - } - } - - if (j != 4) { - /* - ** Swap rows. - */ - for (k = 0; k < 4; k++) { - t = temp[i][k]; - temp[i][k] = temp[j][k]; - temp[j][k] = t; - - t = inverse[i*4+k]; - inverse[i*4+k] = inverse[j*4+k]; - inverse[j*4+k] = t; - } - } - else { - /* - ** No non-zero pivot. The matrix is singular, -which shouldn't - ** happen. This means the user gave us a bad -matrix. - */ - return GL_FALSE; - } - } - - t = 1.0f / temp[i][i]; - for (k = 0; k < 4; k++) { - temp[i][k] *= t; - inverse[i*4+k] *= t; - } - for (j = 0; j < 4; j++) { - if (j != i) { - t = temp[j][i]; - for (k = 0; k < 4; k++) { - temp[j][k] -= temp[i][k]*t; - inverse[j*4+k] -= inverse[i*4+k]*t; - } - } - } - } - return GL_TRUE; + double inv[16], det; + int i; + + inv[0] = m[5]*m[10]*m[15] - m[5]*m[11]*m[14] - m[9]*m[6]*m[15] + + m[9]*m[7]*m[14] + m[13]*m[6]*m[11] - m[13]*m[7]*m[10]; + inv[4] = -m[4]*m[10]*m[15] + m[4]*m[11]*m[14] + m[8]*m[6]*m[15] + - m[8]*m[7]*m[14] - m[12]*m[6]*m[11] + m[12]*m[7]*m[10]; + inv[8] = m[4]*m[9]*m[15] - m[4]*m[11]*m[13] - m[8]*m[5]*m[15] + + m[8]*m[7]*m[13] + m[12]*m[5]*m[11] - m[12]*m[7]*m[9]; + inv[12] = -m[4]*m[9]*m[14] + m[4]*m[10]*m[13] + m[8]*m[5]*m[14] + - m[8]*m[6]*m[13] - m[12]*m[5]*m[10] + m[12]*m[6]*m[9]; + inv[1] = -m[1]*m[10]*m[15] + m[1]*m[11]*m[14] + m[9]*m[2]*m[15] + - m[9]*m[3]*m[14] - m[13]*m[2]*m[11] + m[13]*m[3]*m[10]; + inv[5] = m[0]*m[10]*m[15] - m[0]*m[11]*m[14] - m[8]*m[2]*m[15] + + m[8]*m[3]*m[14] + m[12]*m[2]*m[11] - m[12]*m[3]*m[10]; + inv[9] = -m[0]*m[9]*m[15] + m[0]*m[11]*m[13] + m[8]*m[1]*m[15] + - m[8]*m[3]*m[13] - m[12]*m[1]*m[11] + m[12]*m[3]*m[9]; + inv[13] = m[0]*m[9]*m[14] - m[0]*m[10]*m[13] - m[8]*m[1]*m[14] + + m[8]*m[2]*m[13] + m[12]*m[1]*m[10] - m[12]*m[2]*m[9]; + inv[2] = m[1]*m[6]*m[15] - m[1]*m[7]*m[14] - m[5]*m[2]*m[15] + + m[5]*m[3]*m[14] + m[13]*m[2]*m[7] - m[13]*m[3]*m[6]; + inv[6] = -m[0]*m[6]*m[15] + m[0]*m[7]*m[14] + m[4]*m[2]*m[15] + - m[4]*m[3]*m[14] - m[12]*m[2]*m[7] + m[12]*m[3]*m[6]; + inv[10] = m[0]*m[5]*m[15] - m[0]*m[7]*m[13] - m[4]*m[1]*m[15] + + m[4]*m[3]*m[13] + m[12]*m[1]*m[7] - m[12]*m[3]*m[5]; + inv[14] = -m[0]*m[5]*m[14] + m[0]*m[6]*m[13] + m[4]*m[1]*m[14] + - m[4]*m[2]*m[13] - m[12]*m[1]*m[6] + m[12]*m[2]*m[5]; + inv[3] = -m[1]*m[6]*m[11] + m[1]*m[7]*m[10] + m[5]*m[2]*m[11] + - m[5]*m[3]*m[10] - m[9]*m[2]*m[7] + m[9]*m[3]*m[6]; + inv[7] = m[0]*m[6]*m[11] - m[0]*m[7]*m[10] - m[4]*m[2]*m[11] + + m[4]*m[3]*m[10] + m[8]*m[2]*m[7] - m[8]*m[3]*m[6]; + inv[11] = -m[0]*m[5]*m[11] + m[0]*m[7]*m[9] + m[4]*m[1]*m[11] + - m[4]*m[3]*m[9] - m[8]*m[1]*m[7] + m[8]*m[3]*m[5]; + inv[15] = m[0]*m[5]*m[10] - m[0]*m[6]*m[9] - m[4]*m[1]*m[10] + + m[4]*m[2]*m[9] + m[8]*m[1]*m[6] - m[8]*m[2]*m[5]; + + det = m[0]*inv[0] + m[1]*inv[4] + m[2]*inv[8] + m[3]*inv[12]; + if (det == 0) + return GL_FALSE; + + det = 1.0 / det; + + for (i = 0; i < 16; i++) + invOut[i] = inv[i] * det; + + return GL_TRUE; } static void __gluMultMatricesd(const GLdouble a[16], const GLdouble b[16], diff --git a/dist/Mesa/src/glw/Makefile b/dist/Mesa/src/glw/Makefile index 356351a1c..727c5838b 100644 --- a/dist/Mesa/src/glw/Makefile +++ b/dist/Mesa/src/glw/Makefile @@ -25,11 +25,21 @@ OBJECTS = $(GLW_SOURCES:.c=.o) default: $(TOP)/$(LIB_DIR)/$(GLW_LIB_NAME) -install: - $(INSTALL) -d $(INSTALL_DIR)/include/GL - $(INSTALL) -d $(INSTALL_DIR)/$(LIB_DIR) - $(INSTALL) -m 644 *.h $(INSTALL_DIR)/include/GL - $(COPY_LIBS) $(TOP)/$(LIB_DIR)/libGLw.* $(INSTALL_DIR)/$(LIB_DIR) +# GLU pkg-config file +pcedit = sed \ + -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \ + -e 's,@LIB_DIR@,$(LIB_DIR),' \ + -e 's,@VERSION@,$(MAJOR).$(MINOR).$(TINY),' +glw.pc: glw.pc.in + $(pcedit) $< > $@ + +install: glw.pc + $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL + $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR) + $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig + $(INSTALL) -m 644 *.h $(DESTDIR)$(INSTALL_DIR)/include/GL + $(INSTALL) $(TOP)/$(LIB_DIR)/libGLw.* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR) + $(INSTALL) -m 644 glw.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig clean: -rm depend depend.bak @@ -38,7 +48,7 @@ clean: # Make the library $(TOP)/$(LIB_DIR)/$(GLW_LIB_NAME): $(OBJECTS) - $(TOP)/bin/mklib -o $(GLW_LIB) -linker '$(CC)' \ + $(TOP)/bin/mklib -o $(GLW_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ -major $(MAJOR) -minor $(MINOR) -patch $(TINY) \ $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \ $(GLW_LIB_DEPS) $(OBJECTS) diff --git a/dist/Mesa/src/glx/x11/Makefile b/dist/Mesa/src/glx/x11/Makefile index c509d4e08..9f0943a14 100644 --- a/dist/Mesa/src/glx/x11/Makefile +++ b/dist/Mesa/src/glx/x11/Makefile @@ -46,7 +46,6 @@ INCLUDES = -I. \ -I$(TOP)/include/GL/internal \ -I$(TOP)/src/mesa/main \ -I$(TOP)/src/mesa/glapi \ - -I$(TOP)/src/mesa/drivers/dri/common \ $(LIBDRM_CFLAGS) \ $(X11_INCLUDES) @@ -63,12 +62,9 @@ INCLUDES = -I. \ default: depend $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) -glcontextmodes.c: - ln -s $(TOP)/src/mesa/drivers/dri/common/glcontextmodes.c . - # Make libGL $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(OBJECTS) Makefile - $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' \ + $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ -major 1 -minor 2 $(MKLIB_OPTIONS) \ -install $(TOP)/$(LIB_DIR) $(GL_LIB_DEPS) $(OBJECTS) @@ -81,7 +77,7 @@ depend: $(SOURCES) $(MESA_GLAPI_SOURCES) $(MESA_ASM_API) Makefile # Emacs tags tags: - etags `find . -name \*.[ch]` `find ../include` + etags `find . -name \*.[ch]` `find $(TOP)/include` # Dummy install target install: diff --git a/dist/Mesa/src/glx/x11/glxext.c b/dist/Mesa/src/glx/x11/glxext.c index 82c5833c8..52a4c0b74 100644 --- a/dist/Mesa/src/glx/x11/glxext.c +++ b/dist/Mesa/src/glx/x11/glxext.c @@ -672,8 +672,11 @@ filter_modes( __GLcontextModes ** server_modes, if ( do_delete && (m->visualID != 0) ) { do_delete = GL_FALSE; - fprintf(stderr, "libGL warning: 3D driver claims to not support " - "visual 0x%02x\n", m->visualID); + /* don't warn for this visual (Novell #247471 / X.Org #6689) */ + if (m->visualRating != GLX_NON_CONFORMANT_CONFIG) { + fprintf(stderr, "libGL warning: 3D driver claims to not " + "support visual 0x%02x\n", m->visualID); + } } if ( do_delete ) { diff --git a/dist/Mesa/src/glx/x11/indirect_vertex_array.c b/dist/Mesa/src/glx/x11/indirect_vertex_array.c index 5a5cd6697..120fd826c 100644 --- a/dist/Mesa/src/glx/x11/indirect_vertex_array.c +++ b/dist/Mesa/src/glx/x11/indirect_vertex_array.c @@ -123,10 +123,8 @@ __glXInitVertexArrayState( __GLXcontext * gc ) struct array_state_vector * arrays; unsigned array_count; - unsigned texture_units = 1; - unsigned i; - unsigned j; - unsigned vertex_program_attribs = 0; + int texture_units = 1, vertex_program_attribs = 0; + unsigned i, j; GLboolean got_fog = GL_FALSE; GLboolean got_secondary_color = GL_FALSE; @@ -775,6 +773,7 @@ emit_DrawElements_old( GLenum mode, GLsizei count, GLenum type, unsigned total_requests = 0; unsigned i; unsigned req; + unsigned req_element=0; pc = emit_DrawArrays_header_old( gc, arrays, & elements_per_request, @@ -792,7 +791,7 @@ emit_DrawElements_old( GLenum mode, GLsizei count, GLenum type, switch( type ) { case GL_UNSIGNED_INT: { - const GLuint * ui_ptr = (const GLuint *) indices; + const GLuint * ui_ptr = (const GLuint *) indices + req_element; for ( i = 0 ; i < elements_per_request ; i++ ) { const GLint index = (GLint) *(ui_ptr++); @@ -801,7 +800,7 @@ emit_DrawElements_old( GLenum mode, GLsizei count, GLenum type, break; } case GL_UNSIGNED_SHORT: { - const GLushort * us_ptr = (const GLushort *) indices; + const GLushort * us_ptr = (const GLushort *) indices + req_element; for ( i = 0 ; i < elements_per_request ; i++ ) { const GLint index = (GLint) *(us_ptr++); @@ -810,7 +809,7 @@ emit_DrawElements_old( GLenum mode, GLsizei count, GLenum type, break; } case GL_UNSIGNED_BYTE: { - const GLubyte * ub_ptr = (const GLubyte *) indices; + const GLubyte * ub_ptr = (const GLubyte *) indices + req_element; for ( i = 0 ; i < elements_per_request ; i++ ) { const GLint index = (GLint) *(ub_ptr++); @@ -828,6 +827,7 @@ emit_DrawElements_old( GLenum mode, GLsizei count, GLenum type, } count -= elements_per_request; + req_element += elements_per_request; } @@ -1669,7 +1669,7 @@ __glXGetArrayType( const __GLXattribute * const state, key, index ); if ( a != NULL ) { - *dest = (GLintptr) a->enabled; + *dest = (GLintptr) a->data_type; } return (a != NULL); diff --git a/dist/Mesa/src/mesa/Makefile b/dist/Mesa/src/mesa/Makefile index d4645606f..eea8eb9bd 100644 --- a/dist/Mesa/src/mesa/Makefile +++ b/dist/Mesa/src/mesa/Makefile @@ -33,8 +33,8 @@ default: $(MAKE) beos ; \ elif [ "$(DRIVER_DIRS)" = "directfb" ]; then \ $(MAKE) directfb ; \ - elif [ "$(DRIVER_DIRS)" = "fbdev" ]; then \ - $(MAKE) fbdev ; \ + elif [ "$(DRIVER_DIRS)" = "fbdev osmesa" ]; then \ + $(MAKE) fbdev ; $(MAKE) osmesa-only ; \ else \ $(MAKE) stand-alone ; \ fi @@ -65,7 +65,7 @@ linux-solo: depend subdirs libmesa.a # Stand-alone Mesa libGL, no built-in drivers (DirectFB) libgl-core: $(CORE_OBJECTS) - @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' \ + @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS) \ -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \ -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) $(CORE_OBJECTS) \ $(GL_LIB_DEPS) @@ -78,7 +78,7 @@ directfb: depend subdirs libgl-core # fbdev Mesa driver (libGL.so) fbdev: $(CORE_OBJECTS) $(FBDEV_DRIVER_OBJECTS) $(COMMON_DRIVER_OBJECTS) - @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' \ + @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \ -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \ $(CORE_OBJECTS) $(FBDEV_DRIVER_OBJECTS) \ @@ -89,9 +89,7 @@ fbdev: $(CORE_OBJECTS) $(FBDEV_DRIVER_OBJECTS) $(COMMON_DRIVER_OBJECTS) # Stand-alone Mesa libGL and libOSMesa STAND_ALONE_DRIVER_SOURCES = \ $(COMMON_DRIVER_SOURCES) \ - $(X11_DRIVER_SOURCES) \ - $(GLIDE_DRIVER_SOURCES) \ - $(SVGA_DRIVER_SOURCES) + $(X11_DRIVER_SOURCES) STAND_ALONE_DRIVER_OBJECTS = $(STAND_ALONE_DRIVER_SOURCES:.c=.o) @@ -113,55 +111,77 @@ osmesa-only: depend subdirs $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME) # Make the GL library $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS) - @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' \ + @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ -major $(GL_MAJOR) -minor $(GL_MINOR) -patch $(GL_TINY) \ -install $(TOP)/$(LIB_DIR) \ $(MKLIB_OPTIONS) $(GL_LIB_DEPS) $(STAND_ALONE_OBJECTS) # Make the OSMesa library +# Note: version is kept at 6.5.3 to simplify app/linking issues $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OSMESA_DRIVER_OBJECTS) $(OSMESA16_OBJECTS) @ if [ "${DRIVER_DIRS}" = "osmesa" ] ; then \ $(TOP)/bin/mklib -o $(OSMESA_LIB) -linker '$(CC)' \ - -major $(MESA_MAJOR) \ - -minor $(MESA_MINOR) -patch $(MESA_TINY) \ + -ldflags '$(LDFLAGS)' \ + -major 6 -minor 5 -patch 3 \ -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \ $(OSMESA_LIB_DEPS) $(OSMESA16_OBJECTS) ; \ else \ $(TOP)/bin/mklib -o $(OSMESA_LIB) -linker '$(CC)' \ - -major $(MESA_MAJOR) \ - -minor $(MESA_MINOR) -patch $(GL_TINY) \ + -ldflags '$(LDFLAGS)' \ + -major 6 -minor 5 -patch 3 \ -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \ $(OSMESA_LIB_DEPS) $(OSMESA_DRIVER_OBJECTS) ; \ fi ###################################################################### +# libGL pkg-config file +pcedit = sed \ + -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \ + -e 's,@LIB_DIR@,$(LIB_DIR),' \ + -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' +gl.pc: gl.pc.in + $(pcedit) $< > $@ + +###################################################################### # Generic stuff depend: $(ALL_SOURCES) @ echo "running $(MKDEP)" @ touch depend - $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(ALL_SOURCES) \ - > /dev/null + @$(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) $(ALL_SOURCES) \ + > /dev/null 2>/dev/null subdirs: - @ (cd x86 ; $(MAKE)) - @ (cd x86-64 ; $(MAKE)) + @ if echo "$(ASM_FLAGS)" | grep -q USE_X86_ASM ; then \ + (cd x86 ; $(MAKE)) ; \ + fi + @ if echo "$(ASM_FLAGS)" | grep -q USE_X86_64_ASM ; then \ + (cd x86 ; $(MAKE)) ; \ + (cd x86-64 ; $(MAKE)) ; \ + fi -install: default - $(INSTALL) -d $(INSTALL_DIR)/include/GL - $(INSTALL) -d $(INSTALL_DIR)/$(LIB_DIR) - $(INSTALL) -m 644 $(TOP)/include/GL/*.h $(INSTALL_DIR)/include/GL - $(COPY_LIBS) $(TOP)/$(LIB_DIR)/libGL.* $(INSTALL_DIR)/$(LIB_DIR) +install: default gl.pc + $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL + $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR) + $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig + $(INSTALL) -m 644 $(TOP)/include/GL/*.h $(DESTDIR)$(INSTALL_DIR)/include/GL + @if [ -e $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) ]; then \ + $(INSTALL) $(TOP)/$(LIB_DIR)/libGL* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \ + fi + $(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig + @if [ -e $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME) ]; then \ + $(INSTALL) $(TOP)/$(LIB_DIR)/libOSMesa* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \ + fi @if [ "${DRIVER_DIRS}" = "dri" ] ; then \ cd drivers/dri ; $(MAKE) install ; \ fi - ## NOT YET: - ## $(INSTALL) -d $(INSTALL_DIR)/include/GLES - ## $(INSTALL) -m 644 include/GLES/*.h $(INSTALL_DIR)/include/GLES +## NOT INSTALLED YET: +## $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES +## $(INSTALL) -m 644 include/GLES/*.h $(DESTDIR)$(INSTALL_DIR)/include/GLES # Emacs tags diff --git a/dist/Mesa/src/mesa/drivers/beos/Makefile b/dist/Mesa/src/mesa/drivers/beos/Makefile index 1897d6aa3..9c7d6affc 100644 --- a/dist/Mesa/src/mesa/drivers/beos/Makefile +++ b/dist/Mesa/src/mesa/drivers/beos/Makefile @@ -179,7 +179,8 @@ $(TOP)/$(LIB_DIR): mkdir $(TOP)/$(LIB_DIR) $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(OBJECTS) $(MESA_MODULES) $(GLU_MODULES) - @$(TOP)/bin/mklib -o $(GL_LIB) -install $(TOP)/$(LIB_DIR) -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \ + @$(TOP)/bin/mklib -o $(GL_LIB) -ldflags '$(LDFLAGS)' -install $(TOP)/$(LIB_DIR) \ + -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \ $(MKLIB_OPTIONS) $(GL_LIB_DEPS) $(OBJECTS) $(MESA_MODULES) $(GLU_MODULES) # $(GLU_OBJECTS): diff --git a/dist/Mesa/src/mesa/drivers/dri/Makefile.template b/dist/Mesa/src/mesa/drivers/dri/Makefile.template index 58912730f..9e84dbca4 100644 --- a/dist/Mesa/src/mesa/drivers/dri/Makefile.template +++ b/dist/Mesa/src/mesa/drivers/dri/Makefile.template @@ -9,7 +9,12 @@ COMMON_SOURCES = \ ../common/vblank.c \ ../common/dri_util.c \ ../common/xmlconfig.c \ - ../common/drirenderbuffer.c + ../common/drirenderbuffer.c + +COMMON_BM_SOURCES = \ + ../common/dri_bufmgr.c \ + ../common/dri_drmpool.c + ifeq ($(WINDOW_SYSTEM),dri) WINOBJ= @@ -20,11 +25,13 @@ OBJECTS = $(C_SOURCES:.c=.o) \ $(ASM_SOURCES:.S=.o) else +# miniglx WINOBJ= WINLIB=-L$(MESA)/src/glx/mini MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini INCLUDES = $(MINIGLX_INCLUDES) \ - $(SHARED_INCLUDES) + $(SHARED_INCLUDES) \ + $(PCIACCESS_CFLAGS) OBJECTS = $(C_SOURCES:.c=.o) \ $(MINIGLX_SOURCES:.c=.o) \ @@ -49,7 +56,8 @@ SHARED_INCLUDES = \ -I$(TOP)/src/mesa/swrast_setup \ -I$(TOP)/src/egl/main \ -I$(TOP)/src/egl/drivers/dri \ - `pkg-config --cflags libdrm` + $(LIBDRM_CFLAGS) + ##### RULES ##### @@ -65,13 +73,8 @@ SHARED_INCLUDES = \ default: depend symlinks $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME) -#$(TOP)/$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile -# @echo BUILDING FOR: $(WINDOW_SYSTEM) -# $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(TOP)/$(LIB_DIR) \ -# $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS) - $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template - $(TOP)/bin/mklib -noprefix -o $@ \ + $(TOP)/bin/mklib -ldflags '$(LDFLAGS)' -noprefix -o $@ \ $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS) @@ -79,13 +82,10 @@ $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME) $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR) - -# Run 'make depend' to update the dependencies if you change -# what's included by any source file. depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS) touch depend $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \ - $(ASM_SOURCES) > /dev/null + $(ASM_SOURCES) 2>&1 /dev/null # Emacs tags @@ -98,8 +98,10 @@ clean: -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS) -rm -f depend depend.bak + install: $(LIBNAME) - $(INSTALL) -d $(DRI_DRIVER_INSTALL_DIR) - $(INSTALL) -m 755 $(LIBNAME) $(DRI_DRIVER_INSTALL_DIR) + $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + $(INSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + include depend diff --git a/dist/Mesa/src/mesa/drivers/dri/common/dri_bufmgr.c b/dist/Mesa/src/mesa/drivers/dri/common/dri_bufmgr.c index 370b56c3a..ebeed9a20 100644 --- a/dist/Mesa/src/mesa/drivers/dri/common/dri_bufmgr.c +++ b/dist/Mesa/src/mesa/drivers/dri/common/dri_bufmgr.c @@ -115,7 +115,7 @@ driFenceType(DriFenceObject * fence) unsigned ret; _glthread_LOCK_MUTEX(bmMutex); - ret = fence->fence.flags; + ret = fence->fence.type; _glthread_UNLOCK_MUTEX(bmMutex); return ret; @@ -190,11 +190,16 @@ driBOKernel(struct _DriBufferObject *buf) void driBOWaitIdle(struct _DriBufferObject *buf, int lazy) { - assert(buf->private != NULL); + struct _DriBufferPool *pool; + void *priv; _glthread_LOCK_MUTEX(buf->mutex); - BM_CKFATAL(buf->pool->waitIdle(buf->pool, buf->private, lazy)); + pool = buf->pool; + priv = buf->private; _glthread_UNLOCK_MUTEX(buf->mutex); + + assert(priv != NULL); + BM_CKFATAL(buf->pool->waitIdle(pool, priv, lazy)); } void * @@ -296,7 +301,8 @@ driBOData(struct _DriBufferObject *buf, pool->destroy(pool, buf->private); if (!flags) flags = buf->flags; - buf->private = pool->create(pool, size, flags, 0, buf->alignment); + buf->private = pool->create(pool, size, flags, DRM_BO_HINT_DONT_FENCE, + buf->alignment); if (!buf->private) BM_CKFATAL(-ENOMEM); BM_CKFATAL(pool->map(pool, buf->private, @@ -431,7 +437,7 @@ void driBOCreateList(int target, drmBOList * list) { _glthread_LOCK_MUTEX(bmMutex); - BM_CKFATAL(drmBOCreateList(20, list)); + BM_CKFATAL(drmBOCreateList(target, list)); _glthread_UNLOCK_MUTEX(bmMutex); } diff --git a/dist/Mesa/src/mesa/drivers/dri/common/extension_helper.h b/dist/Mesa/src/mesa/drivers/dri/common/extension_helper.h index 0f762837a..f930eee52 100644 --- a/dist/Mesa/src/mesa/drivers/dri/common/extension_helper.h +++ b/dist/Mesa/src/mesa/drivers/dri/common/extension_helper.h @@ -32,9 +32,10 @@ # define NULL 0 #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char UniformMatrix3fvARB_names[] = "iiip\0" /* Parameter signature */ + "glUniformMatrix3fv\0" "glUniformMatrix3fvARB\0" ""; #endif @@ -78,6 +79,13 @@ static const char PointParameteriNV_names[] = ""; #endif +#if defined(need_GL_VERSION_2_0) +static const char GetProgramiv_names[] = + "iip\0" /* Parameter signature */ + "glGetProgramiv\0" + ""; +#endif + #if defined(need_GL_VERSION_1_3) static const char MultiTexCoord3sARB_names[] = "iiii\0" /* Parameter signature */ @@ -132,14 +140,6 @@ static const char VertexAttrib4ubvNV_names[] = ""; #endif -#if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) -static const char GetColorTableParameterfvSGI_names[] = - "iip\0" /* Parameter signature */ - "glGetColorTableParameterfvSGI\0" - "glGetColorTableParameterfvEXT\0" - ""; -#endif - #if defined(need_GL_NV_fragment_program) static const char GetProgramNamedParameterdvNV_names[] = "iipp\0" /* Parameter signature */ @@ -239,16 +239,17 @@ static const char TexCoord2fColor4ubVertex3fvSUN_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) -static const char ProgramEnvParameter4dvARB_names[] = - "iip\0" /* Parameter signature */ - "glProgramEnvParameter4dvARB\0" +#if defined(need_GL_VERSION_2_0) +static const char AttachShader_names[] = + "ii\0" /* Parameter signature */ + "glAttachShader\0" ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib2fARB_names[] = "iff\0" /* Parameter signature */ + "glVertexAttrib2f\0" "glVertexAttrib2fARB\0" ""; #endif @@ -260,16 +261,10 @@ static const char GetDebugLogLengthMESA_names[] = ""; #endif -#if defined(need_GL_EXT_histogram) -static const char GetHistogramParameterivEXT_names[] = - "iip\0" /* Parameter signature */ - "glGetHistogramParameterivEXT\0" - ""; -#endif - -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib3fARB_names[] = "ifff\0" /* Parameter signature */ + "glVertexAttrib3f\0" "glVertexAttrib3fARB\0" ""; #endif @@ -320,16 +315,25 @@ static const char CompressedTexSubImage2DARB_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_NV_register_combiners) +static const char CombinerOutputNV_names[] = + "iiiiiiiiii\0" /* Parameter signature */ + "glCombinerOutputNV\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform2fARB_names[] = "iff\0" /* Parameter signature */ + "glUniform2f\0" "glUniform2fARB\0" ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib1svARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib1sv\0" "glVertexAttrib1svARB\0" ""; #endif @@ -341,9 +345,10 @@ static const char VertexAttribs1dvNV_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform2ivARB_names[] = "iip\0" /* Parameter signature */ + "glUniform2iv\0" "glUniform2ivARB\0" ""; #endif @@ -362,6 +367,13 @@ static const char WeightubvARB_names[] = ""; #endif +#if defined(need_GL_NV_vertex_program) +static const char VertexAttrib1fvNV_names[] = + "ip\0" /* Parameter signature */ + "glVertexAttrib1fvNV\0" + ""; +#endif + #if defined(need_GL_EXT_convolution) static const char CopyConvolutionFilter1D_names[] = "iiiii\0" /* Parameter signature */ @@ -392,9 +404,10 @@ static const char BlendColor_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char UniformMatrix4fvARB_names[] = "iiip\0" /* Parameter signature */ + "glUniformMatrix4fv\0" "glUniformMatrix4fvARB\0" ""; #endif @@ -413,6 +426,13 @@ static const char ReadInstrumentsSGIX_names[] = ""; #endif +#if defined(need_GL_VERSION_2_1) +static const char UniformMatrix2x4fv_names[] = + "iiip\0" /* Parameter signature */ + "glUniformMatrix2x4fv\0" + ""; +#endif + #if defined(need_GL_SUN_vertex) static const char Color4ubVertex3fvSUN_names[] = "pp\0" /* Parameter signature */ @@ -427,9 +447,10 @@ static const char GetListParameterivSGIX_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4NusvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4Nusv\0" "glVertexAttrib4NusvARB\0" ""; #endif @@ -455,10 +476,10 @@ static const char FragmentLightModelivSGIX_names[] = ""; #endif -#if defined(need_GL_ATI_fragment_shader) -static const char ColorFragmentOp3ATI_names[] = - "iiiiiiiiiiiii\0" /* Parameter signature */ - "glColorFragmentOp3ATI\0" +#if defined(need_GL_VERSION_2_1) +static const char UniformMatrix4x3fv_names[] = + "iiip\0" /* Parameter signature */ + "glUniformMatrix4x3fv\0" ""; #endif @@ -551,9 +572,10 @@ static const char ProgramParameter4dvNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char DisableVertexAttribArrayARB_names[] = "i\0" /* Parameter signature */ + "glDisableVertexAttribArray\0" "glDisableVertexAttribArrayARB\0" ""; #endif @@ -580,9 +602,18 @@ static const char CompressedTexImage3DARB_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_EXT_convolution) +static const char GetConvolutionParameteriv_names[] = + "iip\0" /* Parameter signature */ + "glGetConvolutionParameteriv\0" + "glGetConvolutionParameterivEXT\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib1fARB_names[] = "if\0" /* Parameter signature */ + "glVertexAttrib1f\0" "glVertexAttrib1fARB\0" ""; #endif @@ -695,16 +726,25 @@ static const char VertexAttrib2dNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) +static const char GetProgramInfoLog_names[] = + "iipp\0" /* Parameter signature */ + "glGetProgramInfoLog\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4NbvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4Nbv\0" "glVertexAttrib4NbvARB\0" ""; #endif -#if defined(need_GL_ARB_vertex_shader) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_shader) static const char GetActiveAttribARB_names[] = "iiipppp\0" /* Parameter signature */ + "glGetActiveAttrib\0" "glGetActiveAttribARB\0" ""; #endif @@ -723,13 +763,6 @@ static const char TexCoord2fColor4fNormal3fVertex3fSUN_names[] = ""; #endif -#if defined(need_GL_EXT_histogram) -static const char GetMinmaxEXT_names[] = - "iiiip\0" /* Parameter signature */ - "glGetMinmaxEXT\0" - ""; -#endif - #if defined(need_GL_NV_register_combiners) static const char CombinerParameterfvNV_names[] = "ip\0" /* Parameter signature */ @@ -877,9 +910,10 @@ static const char ReplacementCodeubvSUN_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform3iARB_names[] = "iiii\0" /* Parameter signature */ + "glUniform3i\0" "glUniform3iARB\0" ""; #endif @@ -891,10 +925,10 @@ static const char GetFragmentMaterialfvSGIX_names[] = ""; #endif -#if defined(need_GL_EXT_coordinate_frame) -static const char Binormal3fEXT_names[] = - "fff\0" /* Parameter signature */ - "glBinormal3fEXT\0" +#if defined(need_GL_VERSION_2_0) +static const char GetShaderInfoLog_names[] = + "iipp\0" /* Parameter signature */ + "glGetShaderInfoLog\0" ""; #endif @@ -1012,9 +1046,10 @@ static const char TexSubImage1D_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib1sARB_names[] = "ii\0" /* Parameter signature */ + "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" ""; #endif @@ -1026,13 +1061,6 @@ static const char FinalCombinerInputNV_names[] = ""; #endif -#if defined(need_GL_EXT_histogram) -static const char GetHistogramParameterfvEXT_names[] = - "iip\0" /* Parameter signature */ - "glGetHistogramParameterfvEXT\0" - ""; -#endif - #if defined(need_GL_SGIX_flush_raster) static const char FlushRasterSGIX_names[] = "\0" /* Parameter signature */ @@ -1047,13 +1075,22 @@ static const char ReplacementCodeuiTexCoord2fVertex3fSUN_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform1fARB_names[] = "if\0" /* Parameter signature */ + "glUniform1f\0" "glUniform1fARB\0" ""; #endif +#if defined(need_GL_EXT_texture_object) +static const char AreTexturesResident_names[] = + "ipp\0" /* Parameter signature */ + "glAreTexturesResident\0" + "glAreTexturesResidentEXT\0" + ""; +#endif + #if defined(need_GL_EXT_framebuffer_object) static const char IsRenderbufferEXT_names[] = "i\0" /* Parameter signature */ @@ -1061,10 +1098,11 @@ static const char IsRenderbufferEXT_names[] = ""; #endif -#if defined(need_GL_VERSION_2_0) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ATI_separate_stencil) static const char StencilOpSeparate_names[] = "iiii\0" /* Parameter signature */ "glStencilOpSeparate\0" + "glStencilOpSeparateATI\0" ""; #endif @@ -1119,13 +1157,6 @@ static const char SecondaryColor3bvEXT_names[] = ""; #endif -#if defined(need_GL_EXT_histogram) -static const char GetHistogramEXT_names[] = - "iiiip\0" /* Parameter signature */ - "glGetHistogramEXT\0" - ""; -#endif - #if defined(need_GL_IBM_vertex_array_lists) static const char VertexPointerListIBM_names[] = "iiipi\0" /* Parameter signature */ @@ -1182,9 +1213,10 @@ static const char GetFragmentLightivSGIX_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char UniformMatrix2fvARB_names[] = "iiip\0" /* Parameter signature */ + "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" ""; #endif @@ -1228,9 +1260,10 @@ static const char MapParameterfvNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib3dvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" ""; #endif @@ -1321,9 +1354,10 @@ static const char GetAttachedObjectsARB_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform3fvARB_names[] = "iip\0" /* Parameter signature */ + "glUniform3fv\0" "glUniform3fvARB\0" ""; #endif @@ -1364,9 +1398,10 @@ static const char GetHandleARB_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char GetVertexAttribivARB_names[] = "iip\0" /* Parameter signature */ + "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" ""; #endif @@ -1378,10 +1413,10 @@ static const char GetCombinerInputParameterfvNV_names[] = ""; #endif -#if defined(need_GL_SUN_vertex) -static const char ReplacementCodeuiNormal3fVertex3fvSUN_names[] = - "ppp\0" /* Parameter signature */ - "glReplacementCodeuiNormal3fVertex3fvSUN\0" +#if defined(need_GL_VERSION_2_0) +static const char CreateProgram_names[] = + "\0" /* Parameter signature */ + "glCreateProgram\0" ""; #endif @@ -1393,6 +1428,14 @@ static const char LoadTransposeMatrixdARB_names[] = ""; #endif +#if defined(need_GL_EXT_histogram) +static const char GetMinmax_names[] = + "iiiip\0" /* Parameter signature */ + "glGetMinmax\0" + "glGetMinmaxEXT\0" + ""; +#endif + #if defined(need_GL_VERSION_2_0) static const char StencilFuncSeparate_names[] = "iiii\0" /* Parameter signature */ @@ -1429,9 +1472,10 @@ static const char ImageTransformParameterfvHP_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4ivARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" ""; #endif @@ -1537,9 +1581,10 @@ static const char PixelTransformParameterfvEXT_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4bvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" ""; #endif @@ -1551,13 +1596,6 @@ static const char AlphaFragmentOp2ATI_names[] = ""; #endif -#if defined(need_GL_EXT_convolution) -static const char GetSeparableFilterEXT_names[] = - "iiippp\0" /* Parameter signature */ - "glGetSeparableFilterEXT\0" - ""; -#endif - #if defined(need_GL_VERSION_1_3) static const char MultiTexCoord4sARB_names[] = "iiiii\0" /* Parameter signature */ @@ -1618,9 +1656,10 @@ static const char VertexAttrib3dNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib3dARB_names[] = "iddd\0" /* Parameter signature */ + "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" ""; #endif @@ -1632,9 +1671,10 @@ static const char ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_names[] ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4fARB_names[] = "iffff\0" /* Parameter signature */ + "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" ""; #endif @@ -1683,9 +1723,10 @@ static const char SecondaryColorPointerEXT_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4fvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" ""; #endif @@ -1697,9 +1738,10 @@ static const char ColorPointerListIBM_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char GetActiveUniformARB_names[] = "iiipppp\0" /* Parameter signature */ + "glGetActiveUniform\0" "glGetActiveUniformARB\0" ""; #endif @@ -1741,6 +1783,13 @@ static const char DeformationMap3dSGIX_names[] = ""; #endif +#if defined(need_GL_VERSION_2_0) +static const char IsShader_names[] = + "i\0" /* Parameter signature */ + "glIsShader\0" + ""; +#endif + #if defined(need_GL_HP_image_transform) static const char GetImageTransformParameterivHP_names[] = "iip\0" /* Parameter signature */ @@ -1785,9 +1834,10 @@ static const char ResizeBuffersMESA_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char GetUniformivARB_names[] = "iip\0" /* Parameter signature */ + "glGetUniformiv\0" "glGetUniformivARB\0" ""; #endif @@ -1879,10 +1929,10 @@ static const char MultiTexCoord3iARB_names[] = ""; #endif -#if defined(need_GL_EXT_convolution) -static const char GetConvolutionFilterEXT_names[] = - "iiip\0" /* Parameter signature */ - "glGetConvolutionFilterEXT\0" +#if defined(need_GL_VERSION_2_0) +static const char IsProgram_names[] = + "i\0" /* Parameter signature */ + "glIsProgram\0" ""; #endif @@ -1921,6 +1971,14 @@ static const char VertexAttrib1dvNV_names[] = ""; #endif +#if defined(need_GL_EXT_texture_object) +static const char GenTextures_names[] = + "ip\0" /* Parameter signature */ + "glGenTextures\0" + "glGenTexturesEXT\0" + ""; +#endif + #if defined(need_GL_NV_fence) static const char SetFenceNV_names[] = "ii\0" /* Parameter signature */ @@ -2016,9 +2074,10 @@ static const char PointParameterivNV_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform2fvARB_names[] = "iip\0" /* Parameter signature */ + "glUniform2fv\0" "glUniform2fvARB\0" ""; #endif @@ -2045,10 +2104,10 @@ static const char DeleteObjectARB_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) -static const char UseProgramObjectARB_names[] = - "i\0" /* Parameter signature */ - "glUseProgramObjectARB\0" +#if defined(need_GL_ARB_matrix_palette) +static const char MatrixIndexPointerARB_names[] = + "iiip\0" /* Parameter signature */ + "glMatrixIndexPointerARB\0" ""; #endif @@ -2073,10 +2132,18 @@ static const char BindFramebufferEXT_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) -static const char VertexAttrib4usvARB_names[] = - "ip\0" /* Parameter signature */ - "glVertexAttrib4usvARB\0" +#if defined(need_GL_SGIX_reference_plane) +static const char ReferencePlaneSGIX_names[] = + "p\0" /* Parameter signature */ + "glReferencePlaneSGIX\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) +static const char ValidateProgramARB_names[] = + "i\0" /* Parameter signature */ + "glValidateProgram\0" + "glValidateProgramARB\0" ""; #endif @@ -2118,9 +2185,10 @@ static const char CopyTexSubImage3D_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib2dARB_names[] = "idd\0" /* Parameter signature */ + "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" ""; #endif @@ -2132,6 +2200,15 @@ static const char TextureColorMaskSGIS_names[] = ""; #endif +#if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) +static const char GetColorTable_names[] = + "iiip\0" /* Parameter signature */ + "glGetColorTable\0" + "glGetColorTableSGI\0" + "glGetColorTableEXT\0" + ""; +#endif + #if defined(need_GL_SGI_color_table) static const char CopyColorTable_names[] = "iiiii\0" /* Parameter signature */ @@ -2140,6 +2217,14 @@ static const char CopyColorTable_names[] = ""; #endif +#if defined(need_GL_EXT_histogram) +static const char GetHistogramParameterfv_names[] = + "iip\0" /* Parameter signature */ + "glGetHistogramParameterfv\0" + "glGetHistogramParameterfvEXT\0" + ""; +#endif + #if defined(need_GL_INTEL_parallel_arrays) static const char ColorPointervINTEL_names[] = "iip\0" /* Parameter signature */ @@ -2170,9 +2255,10 @@ static const char MultiTexCoord2sARB_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib1dvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" ""; #endif @@ -2227,9 +2313,10 @@ static const char DeformSGIX_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char GetVertexAttribfvARB_names[] = "iip\0" /* Parameter signature */ + "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" ""; #endif @@ -2242,6 +2329,13 @@ static const char SecondaryColor3ivEXT_names[] = ""; #endif +#if defined(need_GL_VERSION_2_1) +static const char UniformMatrix4x2fv_names[] = + "iiip\0" /* Parameter signature */ + "glUniformMatrix4x2fv\0" + ""; +#endif + #if defined(need_GL_SGIS_detail_texture) static const char GetDetailTexFuncSGIS_names[] = "ip\0" /* Parameter signature */ @@ -2256,6 +2350,13 @@ static const char GetCombinerStageParameterfvNV_names[] = ""; #endif +#if defined(need_GL_EXT_coordinate_frame) +static const char Binormal3fEXT_names[] = + "fff\0" /* Parameter signature */ + "glBinormal3fEXT\0" + ""; +#endif + #if defined(need_GL_SUN_vertex) static const char Color4ubVertex2fvSUN_names[] = "pp\0" /* Parameter signature */ @@ -2278,16 +2379,18 @@ static const char SampleMaskSGIS_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_shader) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_shader) static const char GetAttribLocationARB_names[] = "ip\0" /* Parameter signature */ + "glGetAttribLocation\0" "glGetAttribLocationARB\0" ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4ubvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" ""; #endif @@ -2329,9 +2432,10 @@ static const char ProgramEnvParameter4fARB_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform3ivARB_names[] = "iip\0" /* Parameter signature */ + "glUniform3iv\0" "glUniform3ivARB\0" ""; #endif @@ -2380,9 +2484,10 @@ static const char GetMapAttribParameterfvNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4sARB_names[] = "iiiii\0" /* Parameter signature */ + "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" ""; #endif @@ -2409,23 +2514,10 @@ static const char GenRenderbuffersEXT_names[] = ""; #endif -#if defined(need_GL_EXT_convolution) -static const char GetConvolutionParameterfvEXT_names[] = - "iip\0" /* Parameter signature */ - "glGetConvolutionParameterfvEXT\0" - ""; -#endif - -#if defined(need_GL_EXT_histogram) -static const char GetMinmaxParameterfvEXT_names[] = - "iip\0" /* Parameter signature */ - "glGetMinmaxParameterfvEXT\0" - ""; -#endif - -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib2dvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" ""; #endif @@ -2451,9 +2543,10 @@ static const char WeightbvARB_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib2fvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" ""; #endif @@ -2487,17 +2580,18 @@ static const char InstrumentsBufferSGIX_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4NivARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" ""; #endif -#if defined(need_GL_SUN_triangle_list) -static const char ReplacementCodeuivSUN_names[] = - "p\0" /* Parameter signature */ - "glReplacementCodeuivSUN\0" +#if defined(need_GL_VERSION_2_0) +static const char GetAttachedShaders_names[] = + "iipp\0" /* Parameter signature */ + "glGetAttachedShaders\0" ""; #endif @@ -2515,6 +2609,13 @@ static const char ProgramEnvParameters4fvEXT_names[] = ""; #endif +#if defined(need_GL_SUN_vertex) +static const char TexCoord2fColor4fNormal3fVertex3fvSUN_names[] = + "pppp\0" /* Parameter signature */ + "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" + ""; +#endif + #if defined(need_GL_VERSION_1_4) || defined(need_GL_ARB_window_pos) || defined(need_GL_MESA_window_pos) static const char WindowPos2iMESA_names[] = "ii\0" /* Parameter signature */ @@ -2554,17 +2655,26 @@ static const char GetProgramStringARB_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char CompileShaderARB_names[] = "i\0" /* Parameter signature */ + "glCompileShader\0" "glCompileShaderARB\0" ""; #endif -#if defined(need_GL_NV_register_combiners) -static const char CombinerOutputNV_names[] = - "iiiiiiiiii\0" /* Parameter signature */ - "glCombinerOutputNV\0" +#if defined(need_GL_VERSION_2_0) +static const char DeleteShader_names[] = + "i\0" /* Parameter signature */ + "glDeleteShader\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) +static const char Uniform3fARB_names[] = + "ifff\0" /* Parameter signature */ + "glUniform3f\0" + "glUniform3fARB\0" ""; #endif @@ -2626,9 +2736,10 @@ static const char WindowPos4sMESA_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4NuivARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" ""; #endif @@ -2655,9 +2766,10 @@ static const char ReplacementCodeusvSUN_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform4fARB_names[] = "iffff\0" /* Parameter signature */ + "glUniform4f\0" "glUniform4fARB\0" ""; #endif @@ -2713,6 +2825,14 @@ static const char Binormal3bvEXT_names[] = ""; #endif +#if defined(need_GL_EXT_texture_object) +static const char IsTexture_names[] = + "i\0" /* Parameter signature */ + "glIsTexture\0" + "glIsTextureEXT\0" + ""; +#endif + #if defined(need_GL_EXT_vertex_weighting) static const char VertexWeightfvEXT_names[] = "p\0" /* Parameter signature */ @@ -2720,9 +2840,10 @@ static const char VertexWeightfvEXT_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib1dARB_names[] = "id\0" /* Parameter signature */ + "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" ""; #endif @@ -2763,13 +2884,6 @@ static const char CurrentPaletteMatrixARB_names[] = ""; #endif -#if defined(need_GL_NV_vertex_program) -static const char VertexAttrib4sNV_names[] = - "iiiii\0" /* Parameter signature */ - "glVertexAttrib4sNV\0" - ""; -#endif - #if defined(need_GL_SGIS_multisample) || defined(need_GL_EXT_multisample) static const char SamplePatternSGIS_names[] = "i\0" /* Parameter signature */ @@ -2793,9 +2907,18 @@ static const char ReplacementCodeuiColor4ubVertex3fSUN_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) +static const char VertexAttrib4usvARB_names[] = + "ip\0" /* Parameter signature */ + "glVertexAttrib4usv\0" + "glVertexAttrib4usvARB\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char LinkProgramARB_names[] = "i\0" /* Parameter signature */ + "glLinkProgram\0" "glLinkProgramARB\0" ""; #endif @@ -2807,9 +2930,10 @@ static const char VertexAttrib2fNV_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char ShaderSourceARB_names[] = "iipp\0" /* Parameter signature */ + "glShaderSource\0" "glShaderSourceARB\0" ""; #endif @@ -2821,9 +2945,10 @@ static const char FragmentMaterialiSGIX_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib3svARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" ""; #endif @@ -2852,20 +2977,30 @@ static const char IsFramebufferEXT_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform4ivARB_names[] = "iip\0" /* Parameter signature */ + "glUniform4iv\0" "glUniform4ivARB\0" ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char GetVertexAttribdvARB_names[] = "iip\0" /* Parameter signature */ + "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" ""; #endif +#if defined(need_GL_EXT_convolution) +static const char GetSeparableFilter_names[] = + "iiippp\0" /* Parameter signature */ + "glGetSeparableFilter\0" + "glGetSeparableFilterEXT\0" + ""; +#endif + #if defined(need_GL_EXT_coordinate_frame) static const char Binormal3dEXT_names[] = "ddd\0" /* Parameter signature */ @@ -2916,9 +3051,10 @@ static const char MultiDrawElementsEXT_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform1ivARB_names[] = "iip\0" /* Parameter signature */ + "glUniform1iv\0" "glUniform1ivARB\0" ""; #endif @@ -2962,16 +3098,18 @@ static const char SecondaryColor3ubvEXT_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4dvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" ""; #endif -#if defined(need_GL_ARB_vertex_shader) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_shader) static const char BindAttribLocationARB_names[] = "iip\0" /* Parameter signature */ + "glBindAttribLocation\0" "glBindAttribLocationARB\0" ""; #endif @@ -2998,14 +3136,6 @@ static const char LightEnviSGIX_names[] = ""; #endif -#if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) -static const char GetColorTableParameterivSGI_names[] = - "iip\0" /* Parameter signature */ - "glGetColorTableParameterivSGI\0" - "glGetColorTableParameterivEXT\0" - ""; -#endif - #if defined(need_GL_SUN_triangle_list) static const char ReplacementCodeuiSUN_names[] = "i\0" /* Parameter signature */ @@ -3049,13 +3179,6 @@ static const char PixelTransformParameteriEXT_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) -static const char ValidateProgramARB_names[] = - "i\0" /* Parameter signature */ - "glValidateProgramARB\0" - ""; -#endif - #if defined(need_GL_SUN_vertex) static const char TexCoord2fColor4ubVertex3fSUN_names[] = "ffiiiifff\0" /* Parameter signature */ @@ -3063,16 +3186,18 @@ static const char TexCoord2fColor4ubVertex3fSUN_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform1iARB_names[] = "ii\0" /* Parameter signature */ + "glUniform1i\0" "glUniform1iARB\0" ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttribPointerARB_names[] = "iiiiip\0" /* Parameter signature */ + "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" ""; #endif @@ -3092,6 +3217,13 @@ static const char MultiTexCoord4fvARB_names[] = ""; #endif +#if defined(need_GL_VERSION_2_1) +static const char UniformMatrix2x3fv_names[] = + "iiip\0" /* Parameter signature */ + "glUniformMatrix2x3fv\0" + ""; +#endif + #if defined(need_GL_NV_vertex_program) static const char TrackMatrixNV_names[] = "iiii\0" /* Parameter signature */ @@ -3134,16 +3266,18 @@ static const char Normal3fVertex3fvSUN_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4NsvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib3fvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" ""; #endif @@ -3206,10 +3340,19 @@ static const char PixelTexGenParameterfSGIS_names[] = ""; #endif -#if defined(need_GL_SUN_vertex) -static const char TexCoord2fColor4fNormal3fVertex3fvSUN_names[] = - "pppp\0" /* Parameter signature */ - "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" +#if defined(need_GL_VERSION_2_0) +static const char CreateShader_names[] = + "i\0" /* Parameter signature */ + "glCreateShader\0" + ""; +#endif + +#if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) +static const char GetColorTableParameterfv_names[] = + "iip\0" /* Parameter signature */ + "glGetColorTableParameterfv\0" + "glGetColorTableParameterfvSGI\0" + "glGetColorTableParameterfvEXT\0" ""; #endif @@ -3263,16 +3406,17 @@ static const char FragmentLightfvSGIX_names[] = ""; #endif -#if defined(need_GL_NV_vertex_program) -static const char VertexAttrib3sNV_names[] = - "iiii\0" /* Parameter signature */ - "glVertexAttrib3sNV\0" +#if defined(need_GL_VERSION_2_0) +static const char DetachShader_names[] = + "ii\0" /* Parameter signature */ + "glDetachShader\0" ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4NubARB_names[] = "iiiii\0" /* Parameter signature */ + "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" ""; #endif @@ -3298,9 +3442,10 @@ static const char VertexAttrib3svNV_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform4fvARB_names[] = "iip\0" /* Parameter signature */ + "glUniform4fv\0" "glUniform4fvARB\0" ""; #endif @@ -3320,9 +3465,10 @@ static const char ColorFragmentOp1ATI_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char GetUniformfvARB_names[] = "iip\0" /* Parameter signature */ + "glGetUniformfv\0" "glGetUniformfvARB\0" ""; #endif @@ -3416,6 +3562,14 @@ static const char GetProgramivNV_names[] = ""; #endif +#if defined(need_GL_EXT_histogram) +static const char GetMinmaxParameteriv_names[] = + "iip\0" /* Parameter signature */ + "glGetMinmaxParameteriv\0" + "glGetMinmaxParameterivEXT\0" + ""; +#endif + #if defined(need_GL_EXT_copy_texture) static const char CopyTexImage1D_names[] = "iiiiiii\0" /* Parameter signature */ @@ -3459,9 +3613,10 @@ static const char GetMapParameterivNV_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform4iARB_names[] = "iiiii\0" /* Parameter signature */ + "glUniform4i\0" "glUniform4iARB\0" ""; #endif @@ -3489,6 +3644,22 @@ static const char ConvolutionParameterf_names[] = ""; #endif +#if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) +static const char GetColorTableParameteriv_names[] = + "iip\0" /* Parameter signature */ + "glGetColorTableParameteriv\0" + "glGetColorTableParameterivSGI\0" + "glGetColorTableParameterivEXT\0" + ""; +#endif + +#if defined(need_GL_ARB_vertex_program) +static const char ProgramEnvParameter4dvARB_names[] = + "iip\0" /* Parameter signature */ + "glProgramEnvParameter4dvARB\0" + ""; +#endif + #if defined(need_GL_NV_vertex_program) static const char VertexAttribs2fvNV_names[] = "iip\0" /* Parameter signature */ @@ -3496,10 +3667,11 @@ static const char VertexAttribs2fvNV_names[] = ""; #endif -#if defined(need_GL_ARB_matrix_palette) -static const char MatrixIndexPointerARB_names[] = - "iiip\0" /* Parameter signature */ - "glMatrixIndexPointerARB\0" +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) +static const char UseProgramObjectARB_names[] = + "i\0" /* Parameter signature */ + "glUseProgram\0" + "glUseProgramObjectARB\0" ""; #endif @@ -3517,10 +3689,10 @@ static const char PassTexCoordATI_names[] = ""; #endif -#if defined(need_GL_NV_vertex_program) -static const char VertexAttrib1fvNV_names[] = - "ip\0" /* Parameter signature */ - "glVertexAttrib1fvNV\0" +#if defined(need_GL_VERSION_2_0) +static const char DeleteProgram_names[] = + "i\0" /* Parameter signature */ + "glDeleteProgram\0" ""; #endif @@ -3569,14 +3741,6 @@ static const char MultiTexCoord4dARB_names[] = ""; #endif -#if defined(need_GL_SGI_color_table) || defined(need_GL_EXT_paletted_texture) -static const char GetColorTableSGI_names[] = - "iiip\0" /* Parameter signature */ - "glGetColorTableSGI\0" - "glGetColorTableEXT\0" - ""; -#endif - #if defined(need_GL_VERSION_1_4) || defined(need_GL_EXT_secondary_color) static const char SecondaryColor3usEXT_names[] = "iii\0" /* Parameter signature */ @@ -3615,9 +3779,10 @@ static const char ReplacementCodeuiColor3fVertex3fSUN_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) || defined(need_GL_NV_vertex_program) static const char GetVertexAttribPointervNV_names[] = "iip\0" /* Parameter signature */ + "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glGetVertexAttribPointervNV\0" ""; @@ -3631,20 +3796,14 @@ static const char MultiTexCoord1dvARB_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform2iARB_names[] = "iii\0" /* Parameter signature */ + "glUniform2i\0" "glUniform2iARB\0" ""; #endif -#if defined(need_GL_EXT_convolution) -static const char GetConvolutionParameterivEXT_names[] = - "iip\0" /* Parameter signature */ - "glGetConvolutionParameterivEXT\0" - ""; -#endif - #if defined(need_GL_NV_vertex_program) static const char GetProgramStringNV_names[] = "iip\0" /* Parameter signature */ @@ -3703,13 +3862,6 @@ static const char ResetMinmax_names[] = ""; #endif -#if defined(need_GL_EXT_texture_object) -static const char GenTexturesEXT_names[] = - "ip\0" /* Parameter signature */ - "glGenTexturesEXT\0" - ""; -#endif - #if defined(need_GL_SGIX_sprite) static const char SpriteParameterfSGIX_names[] = "if\0" /* Parameter signature */ @@ -3717,10 +3869,18 @@ static const char SpriteParameterfSGIX_names[] = ""; #endif -#if defined(need_GL_EXT_histogram) -static const char GetMinmaxParameterivEXT_names[] = +#if defined(need_GL_NV_vertex_program) +static const char VertexAttrib4sNV_names[] = + "iiiii\0" /* Parameter signature */ + "glVertexAttrib4sNV\0" + ""; +#endif + +#if defined(need_GL_EXT_convolution) +static const char GetConvolutionParameterfv_names[] = "iip\0" /* Parameter signature */ - "glGetMinmaxParameterivEXT\0" + "glGetConvolutionParameterfv\0" + "glGetConvolutionParameterfvEXT\0" ""; #endif @@ -3731,9 +3891,10 @@ static const char VertexAttribs4dvNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4dARB_names[] = "idddd\0" /* Parameter signature */ + "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" ""; #endif @@ -3827,6 +3988,14 @@ static const char GetProgramLocalParameterdvARB_names[] = ""; #endif +#if defined(need_GL_EXT_histogram) +static const char GetHistogramParameteriv_names[] = + "iip\0" /* Parameter signature */ + "glGetHistogramParameteriv\0" + "glGetHistogramParameterivEXT\0" + ""; +#endif + #if defined(need_GL_VERSION_1_3) static const char MultiTexCoord1iARB_names[] = "ii\0" /* Parameter signature */ @@ -3835,6 +4004,14 @@ static const char MultiTexCoord1iARB_names[] = ""; #endif +#if defined(need_GL_EXT_convolution) +static const char GetConvolutionFilter_names[] = + "iiip\0" /* Parameter signature */ + "glGetConvolutionFilter\0" + "glGetConvolutionFilterEXT\0" + ""; +#endif + #if defined(need_GL_ARB_vertex_program) static const char GetProgramivARB_names[] = "iip\0" /* Parameter signature */ @@ -3879,10 +4056,10 @@ static const char Binormal3dvEXT_names[] = ""; #endif -#if defined(need_GL_EXT_texture_object) -static const char AreTexturesResidentEXT_names[] = - "ipp\0" /* Parameter signature */ - "glAreTexturesResidentEXT\0" +#if defined(need_GL_NV_fence) +static const char FinishFenceNV_names[] = + "i\0" /* Parameter signature */ + "glFinishFenceNV\0" ""; #endif @@ -3893,9 +4070,10 @@ static const char GetFogFuncSGIS_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char GetUniformLocationARB_names[] = "ip\0" /* Parameter signature */ + "glGetUniformLocation\0" "glGetUniformLocationARB\0" ""; #endif @@ -3915,13 +4093,21 @@ static const char CombinerInputNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib3sARB_names[] = "iiii\0" /* Parameter signature */ + "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" ""; #endif +#if defined(need_GL_SUN_vertex) +static const char ReplacementCodeuiNormal3fVertex3fvSUN_names[] = + "ppp\0" /* Parameter signature */ + "glReplacementCodeuiNormal3fVertex3fvSUN\0" + ""; +#endif + #if defined(need_GL_ARB_vertex_program) static const char ProgramStringARB_names[] = "iiip\0" /* Parameter signature */ @@ -3937,6 +4123,13 @@ static const char TexCoord4fVertex4fvSUN_names[] = #endif #if defined(need_GL_NV_vertex_program) +static const char VertexAttrib3sNV_names[] = + "iiii\0" /* Parameter signature */ + "glVertexAttrib3sNV\0" + ""; +#endif + +#if defined(need_GL_NV_vertex_program) static const char VertexAttrib1fNV_names[] = "if\0" /* Parameter signature */ "glVertexAttrib1fNV\0" @@ -3965,6 +4158,14 @@ static const char VertexWeightPointerEXT_names[] = ""; #endif +#if defined(need_GL_EXT_histogram) +static const char GetHistogram_names[] = + "iiiip\0" /* Parameter signature */ + "glGetHistogram\0" + "glGetHistogramEXT\0" + ""; +#endif + #if defined(need_GL_EXT_stencil_two_side) static const char ActiveStencilFaceEXT_names[] = "i\0" /* Parameter signature */ @@ -3972,9 +4173,17 @@ static const char ActiveStencilFaceEXT_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_ATI_separate_stencil) +static const char StencilFuncSeparateATI_names[] = + "iiii\0" /* Parameter signature */ + "glStencilFuncSeparateATI\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char GetShaderSourceARB_names[] = "iipp\0" /* Parameter signature */ + "glGetShaderSource\0" "glGetShaderSourceARB\0" ""; #endif @@ -4089,9 +4298,10 @@ static const char WeightsvARB_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_shader_objects) static const char Uniform1fvARB_names[] = "iip\0" /* Parameter signature */ + "glUniform1fv\0" "glUniform1fvARB\0" ""; #endif @@ -4134,9 +4344,17 @@ static const char VertexAttribs3svNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_SUN_triangle_list) +static const char ReplacementCodeuivSUN_names[] = + "p\0" /* Parameter signature */ + "glReplacementCodeuivSUN\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char EnableVertexAttribArrayARB_names[] = "i\0" /* Parameter signature */ + "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" ""; #endif @@ -4165,13 +4383,6 @@ static const char WindowPos3ivMESA_names[] = ""; #endif -#if defined(need_GL_NV_fence) -static const char FinishFenceNV_names[] = - "i\0" /* Parameter signature */ - "glFinishFenceNV\0" - ""; -#endif - #if defined(need_GL_VERSION_1_5) || defined(need_GL_ARB_vertex_buffer_object) static const char IsBufferARB_names[] = "i\0" /* Parameter signature */ @@ -4187,9 +4398,10 @@ static const char WindowPos4iMESA_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4uivARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" ""; #endif @@ -4201,10 +4413,10 @@ static const char Tangent3bvEXT_names[] = ""; #endif -#if defined(need_GL_SGIX_reference_plane) -static const char ReferencePlaneSGIX_names[] = - "p\0" /* Parameter signature */ - "glReferencePlaneSGIX\0" +#if defined(need_GL_VERSION_2_1) +static const char UniformMatrix3x4fv_names[] = + "iiip\0" /* Parameter signature */ + "glUniformMatrix3x4fv\0" ""; #endif @@ -4215,13 +4427,6 @@ static const char Binormal3fvEXT_names[] = ""; #endif -#if defined(need_GL_EXT_texture_object) -static const char IsTextureEXT_names[] = - "i\0" /* Parameter signature */ - "glIsTextureEXT\0" - ""; -#endif - #if defined(need_GL_INTEL_parallel_arrays) static const char TexCoordPointervINTEL_names[] = "iip\0" /* Parameter signature */ @@ -4297,9 +4502,10 @@ static const char BindProgramNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4svARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" ""; #endif @@ -4311,10 +4517,10 @@ static const char CreateDebugObjectMESA_names[] = ""; #endif -#if defined(need_GL_ARB_shader_objects) -static const char Uniform3fARB_names[] = - "ifff\0" /* Parameter signature */ - "glUniform3fARB\0" +#if defined(need_GL_VERSION_2_0) +static const char GetShaderiv_names[] = + "iip\0" /* Parameter signature */ + "glGetShaderiv\0" ""; #endif @@ -4370,9 +4576,17 @@ static const char GetFinalCombinerInputParameterfvNV_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_ATI_fragment_shader) +static const char ColorFragmentOp3ATI_names[] = + "iiiiiiiiiiiii\0" /* Parameter signature */ + "glColorFragmentOp3ATI\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib2svARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" ""; #endif @@ -4415,9 +4629,10 @@ static const char PollInstrumentsSGIX_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib4NubvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" ""; #endif @@ -4522,9 +4737,10 @@ static const char WeightuivARB_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib2sARB_names[] = "iii\0" /* Parameter signature */ + "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" ""; #endif @@ -4572,9 +4788,25 @@ static const char EdgeFlagPointerListIBM_names[] = ""; #endif -#if defined(need_GL_ARB_vertex_program) +#if defined(need_GL_VERSION_2_1) +static const char UniformMatrix3x2fv_names[] = + "iiip\0" /* Parameter signature */ + "glUniformMatrix3x2fv\0" + ""; +#endif + +#if defined(need_GL_EXT_histogram) +static const char GetMinmaxParameterfv_names[] = + "iip\0" /* Parameter signature */ + "glGetMinmaxParameterfv\0" + "glGetMinmaxParameterfvEXT\0" + ""; +#endif + +#if defined(need_GL_VERSION_2_0) || defined(need_GL_ARB_vertex_program) static const char VertexAttrib1fvARB_names[] = "ip\0" /* Parameter signature */ + "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" ""; #endif @@ -4681,9 +4913,9 @@ static const struct dri_extension_function GL_ARB_draw_buffers_functions[] = { static const struct dri_extension_function GL_ARB_matrix_palette_functions[] = { { MatrixIndexusvARB_names, MatrixIndexusvARB_remap_index, -1 }, { MatrixIndexuivARB_names, MatrixIndexuivARB_remap_index, -1 }, + { MatrixIndexPointerARB_names, MatrixIndexPointerARB_remap_index, -1 }, { CurrentPaletteMatrixARB_names, CurrentPaletteMatrixARB_remap_index, -1 }, { MatrixIndexubvARB_names, MatrixIndexubvARB_remap_index, -1 }, - { MatrixIndexPointerARB_names, MatrixIndexPointerARB_remap_index, -1 }, { NULL, 0, 0 } }; #endif @@ -4736,26 +4968,26 @@ static const struct dri_extension_function GL_ARB_shader_objects_functions[] = { { GetUniformivARB_names, GetUniformivARB_remap_index, -1 }, { Uniform2fvARB_names, Uniform2fvARB_remap_index, -1 }, { DeleteObjectARB_names, DeleteObjectARB_remap_index, -1 }, - { UseProgramObjectARB_names, UseProgramObjectARB_remap_index, -1 }, + { ValidateProgramARB_names, ValidateProgramARB_remap_index, -1 }, { Uniform3ivARB_names, Uniform3ivARB_remap_index, -1 }, { CompileShaderARB_names, CompileShaderARB_remap_index, -1 }, + { Uniform3fARB_names, Uniform3fARB_remap_index, -1 }, { Uniform4fARB_names, Uniform4fARB_remap_index, -1 }, { LinkProgramARB_names, LinkProgramARB_remap_index, -1 }, { ShaderSourceARB_names, ShaderSourceARB_remap_index, -1 }, { Uniform4ivARB_names, Uniform4ivARB_remap_index, -1 }, { Uniform1ivARB_names, Uniform1ivARB_remap_index, -1 }, - { ValidateProgramARB_names, ValidateProgramARB_remap_index, -1 }, { Uniform1iARB_names, Uniform1iARB_remap_index, -1 }, { Uniform4fvARB_names, Uniform4fvARB_remap_index, -1 }, { GetUniformfvARB_names, GetUniformfvARB_remap_index, -1 }, { DetachObjectARB_names, DetachObjectARB_remap_index, -1 }, { Uniform4iARB_names, Uniform4iARB_remap_index, -1 }, + { UseProgramObjectARB_names, UseProgramObjectARB_remap_index, -1 }, { Uniform2iARB_names, Uniform2iARB_remap_index, -1 }, { GetObjectParameterivARB_names, GetObjectParameterivARB_remap_index, -1 }, { GetUniformLocationARB_names, GetUniformLocationARB_remap_index, -1 }, { GetShaderSourceARB_names, GetShaderSourceARB_remap_index, -1 }, { Uniform1fvARB_names, Uniform1fvARB_remap_index, -1 }, - { Uniform3fARB_names, Uniform3fARB_remap_index, -1 }, { GetObjectParameterfvARB_names, GetObjectParameterfvARB_remap_index, -1 }, { GetInfoLogARB_names, GetInfoLogARB_remap_index, -1 }, { NULL, 0, 0 } @@ -4820,7 +5052,6 @@ static const struct dri_extension_function GL_ARB_vertex_buffer_object_functions #if defined(need_GL_ARB_vertex_program) static const struct dri_extension_function GL_ARB_vertex_program_functions[] = { - { ProgramEnvParameter4dvARB_names, ProgramEnvParameter4dvARB_remap_index, -1 }, { VertexAttrib2fARB_names, VertexAttrib2fARB_remap_index, -1 }, { VertexAttrib3fARB_names, VertexAttrib3fARB_remap_index, -1 }, { VertexAttrib1svARB_names, VertexAttrib1svARB_remap_index, -1 }, @@ -4840,7 +5071,6 @@ static const struct dri_extension_function GL_ARB_vertex_program_functions[] = { { VertexAttrib4fARB_names, VertexAttrib4fARB_remap_index, -1 }, { VertexAttrib4fvARB_names, VertexAttrib4fvARB_remap_index, -1 }, { ProgramLocalParameter4dvARB_names, ProgramLocalParameter4dvARB_remap_index, -1 }, - { VertexAttrib4usvARB_names, VertexAttrib4usvARB_remap_index, -1 }, { VertexAttrib2dARB_names, VertexAttrib2dARB_remap_index, -1 }, { VertexAttrib1dvARB_names, VertexAttrib1dvARB_remap_index, -1 }, { GetVertexAttribfvARB_names, GetVertexAttribfvARB_remap_index, -1 }, @@ -4855,6 +5085,7 @@ static const struct dri_extension_function GL_ARB_vertex_program_functions[] = { { IsProgramNV_names, IsProgramNV_remap_index, -1 }, { ProgramEnvParameter4dARB_names, ProgramEnvParameter4dARB_remap_index, -1 }, { VertexAttrib1dARB_names, VertexAttrib1dARB_remap_index, -1 }, + { VertexAttrib4usvARB_names, VertexAttrib4usvARB_remap_index, -1 }, { VertexAttrib3svARB_names, VertexAttrib3svARB_remap_index, -1 }, { GetVertexAttribdvARB_names, GetVertexAttribdvARB_remap_index, -1 }, { VertexAttrib4dvARB_names, VertexAttrib4dvARB_remap_index, -1 }, @@ -4863,6 +5094,7 @@ static const struct dri_extension_function GL_ARB_vertex_program_functions[] = { { VertexAttrib3fvARB_names, VertexAttrib3fvARB_remap_index, -1 }, { VertexAttrib4NubARB_names, VertexAttrib4NubARB_remap_index, -1 }, { GetProgramEnvParameterfvARB_names, GetProgramEnvParameterfvARB_remap_index, -1 }, + { ProgramEnvParameter4dvARB_names, ProgramEnvParameter4dvARB_remap_index, -1 }, { ProgramLocalParameter4fvARB_names, ProgramLocalParameter4fvARB_remap_index, -1 }, { DeleteProgramsNV_names, DeleteProgramsNV_remap_index, -1 }, { GetVertexAttribPointervNV_names, GetVertexAttribPointervNV_remap_index, -1 }, @@ -4933,7 +5165,6 @@ static const struct dri_extension_function GL_ATI_draw_buffers_functions[] = { #if defined(need_GL_ATI_fragment_shader) static const struct dri_extension_function GL_ATI_fragment_shader_functions[] = { - { ColorFragmentOp3ATI_names, ColorFragmentOp3ATI_remap_index, -1 }, { ColorFragmentOp2ATI_names, ColorFragmentOp2ATI_remap_index, -1 }, { DeleteFragmentShaderATI_names, DeleteFragmentShaderATI_remap_index, -1 }, { SetFragmentShaderConstantATI_names, SetFragmentShaderConstantATI_remap_index, -1 }, @@ -4945,12 +5176,21 @@ static const struct dri_extension_function GL_ATI_fragment_shader_functions[] = { PassTexCoordATI_names, PassTexCoordATI_remap_index, -1 }, { BeginFragmentShaderATI_names, BeginFragmentShaderATI_remap_index, -1 }, { BindFragmentShaderATI_names, BindFragmentShaderATI_remap_index, -1 }, + { ColorFragmentOp3ATI_names, ColorFragmentOp3ATI_remap_index, -1 }, { GenFragmentShadersATI_names, GenFragmentShadersATI_remap_index, -1 }, { EndFragmentShaderATI_names, EndFragmentShaderATI_remap_index, -1 }, { NULL, 0, 0 } }; #endif +#if defined(need_GL_ATI_separate_stencil) +static const struct dri_extension_function GL_ATI_separate_stencil_functions[] = { + { StencilOpSeparate_names, StencilOpSeparate_remap_index, -1 }, + { StencilFuncSeparateATI_names, StencilFuncSeparateATI_remap_index, -1 }, + { NULL, 0, 0 } +}; +#endif + #if defined(need_GL_EXT_blend_color) static const struct dri_extension_function GL_EXT_blend_color_functions[] = { { BlendColor_names, -1, 336 }, @@ -4999,16 +5239,16 @@ static const struct dri_extension_function GL_EXT_compiled_vertex_array_function static const struct dri_extension_function GL_EXT_convolution_functions[] = { { ConvolutionFilter1D_names, -1, 348 }, { CopyConvolutionFilter1D_names, -1, 354 }, + { GetConvolutionParameteriv_names, -1, 358 }, { ConvolutionFilter2D_names, -1, 349 }, { ConvolutionParameteriv_names, -1, 353 }, { ConvolutionParameterfv_names, -1, 351 }, - { GetSeparableFilterEXT_names, GetSeparableFilterEXT_remap_index, -1 }, - { GetConvolutionFilterEXT_names, GetConvolutionFilterEXT_remap_index, -1 }, - { GetConvolutionParameterfvEXT_names, GetConvolutionParameterfvEXT_remap_index, -1 }, + { GetSeparableFilter_names, -1, 359 }, { SeparableFilter2D_names, -1, 360 }, { ConvolutionParameteri_names, -1, 352 }, { ConvolutionParameterf_names, -1, 350 }, - { GetConvolutionParameterivEXT_names, GetConvolutionParameterivEXT_remap_index, -1 }, + { GetConvolutionParameterfv_names, -1, 357 }, + { GetConvolutionFilter_names, -1, 356 }, { CopyConvolutionFilter2D_names, -1, 355 }, { NULL, 0, 0 } }; @@ -5016,11 +5256,11 @@ static const struct dri_extension_function GL_EXT_convolution_functions[] = { #if defined(need_GL_EXT_coordinate_frame) static const struct dri_extension_function GL_EXT_coordinate_frame_functions[] = { - { Binormal3fEXT_names, Binormal3fEXT_remap_index, -1 }, { TangentPointerEXT_names, TangentPointerEXT_remap_index, -1 }, { Binormal3ivEXT_names, Binormal3ivEXT_remap_index, -1 }, { Tangent3sEXT_names, Tangent3sEXT_remap_index, -1 }, { Tangent3fvEXT_names, Tangent3fvEXT_remap_index, -1 }, + { Binormal3fEXT_names, Binormal3fEXT_remap_index, -1 }, { Tangent3dvEXT_names, Tangent3dvEXT_remap_index, -1 }, { Binormal3bvEXT_names, Binormal3bvEXT_remap_index, -1 }, { Binormal3dEXT_names, Binormal3dEXT_remap_index, -1 }, @@ -5127,15 +5367,15 @@ static const struct dri_extension_function GL_EXT_gpu_program_parameters_functio #if defined(need_GL_EXT_histogram) static const struct dri_extension_function GL_EXT_histogram_functions[] = { { Histogram_names, -1, 367 }, - { GetHistogramParameterivEXT_names, GetHistogramParameterivEXT_remap_index, -1 }, { ResetHistogram_names, -1, 369 }, - { GetMinmaxEXT_names, GetMinmaxEXT_remap_index, -1 }, - { GetHistogramParameterfvEXT_names, GetHistogramParameterfvEXT_remap_index, -1 }, - { GetHistogramEXT_names, GetHistogramEXT_remap_index, -1 }, - { GetMinmaxParameterfvEXT_names, GetMinmaxParameterfvEXT_remap_index, -1 }, + { GetMinmax_names, -1, 364 }, + { GetHistogramParameterfv_names, -1, 362 }, + { GetMinmaxParameteriv_names, -1, 366 }, { ResetMinmax_names, -1, 370 }, - { GetMinmaxParameterivEXT_names, GetMinmaxParameterivEXT_remap_index, -1 }, + { GetHistogramParameteriv_names, -1, 363 }, + { GetHistogram_names, -1, 361 }, { Minmax_names, -1, 368 }, + { GetMinmaxParameterfv_names, -1, 365 }, { NULL, 0, 0 } }; #endif @@ -5181,10 +5421,10 @@ static const struct dri_extension_function GL_EXT_multisample_functions[] = { #if defined(need_GL_EXT_paletted_texture) static const struct dri_extension_function GL_EXT_paletted_texture_functions[] = { - { GetColorTableParameterfvSGI_names, GetColorTableParameterfvSGI_remap_index, -1 }, { ColorTable_names, -1, 339 }, - { GetColorTableParameterivSGI_names, GetColorTableParameterivSGI_remap_index, -1 }, - { GetColorTableSGI_names, GetColorTableSGI_remap_index, -1 }, + { GetColorTable_names, -1, 343 }, + { GetColorTableParameterfv_names, -1, 344 }, + { GetColorTableParameteriv_names, -1, 345 }, { NULL, 0, 0 } }; #endif @@ -5263,11 +5503,11 @@ static const struct dri_extension_function GL_EXT_texture3D_functions[] = { #if defined(need_GL_EXT_texture_object) static const struct dri_extension_function GL_EXT_texture_object_functions[] = { { PrioritizeTextures_names, -1, 331 }, + { AreTexturesResident_names, -1, 322 }, + { GenTextures_names, -1, 328 }, { DeleteTextures_names, -1, 327 }, - { GenTexturesEXT_names, GenTexturesEXT_remap_index, -1 }, - { AreTexturesResidentEXT_names, AreTexturesResidentEXT_remap_index, -1 }, + { IsTexture_names, -1, 330 }, { BindTexture_names, -1, 307 }, - { IsTextureEXT_names, IsTextureEXT_remap_index, -1 }, { NULL, 0, 0 } }; #endif @@ -5459,12 +5699,12 @@ static const struct dri_extension_function GL_NV_point_sprite_functions[] = { #if defined(need_GL_NV_register_combiners) static const struct dri_extension_function GL_NV_register_combiners_functions[] = { + { CombinerOutputNV_names, CombinerOutputNV_remap_index, -1 }, { CombinerParameterfvNV_names, CombinerParameterfvNV_remap_index, -1 }, { GetCombinerOutputParameterfvNV_names, GetCombinerOutputParameterfvNV_remap_index, -1 }, { FinalCombinerInputNV_names, FinalCombinerInputNV_remap_index, -1 }, { GetCombinerInputParameterfvNV_names, GetCombinerInputParameterfvNV_remap_index, -1 }, { GetCombinerOutputParameterivNV_names, GetCombinerOutputParameterivNV_remap_index, -1 }, - { CombinerOutputNV_names, CombinerOutputNV_remap_index, -1 }, { CombinerParameteriNV_names, CombinerParameteriNV_remap_index, -1 }, { GetFinalCombinerInputParameterivNV_names, GetFinalCombinerInputParameterivNV_remap_index, -1 }, { CombinerInputNV_names, CombinerInputNV_remap_index, -1 }, @@ -5498,6 +5738,7 @@ static const struct dri_extension_function GL_NV_vertex_program_functions[] = { { VertexAttrib4ubvNV_names, VertexAttrib4ubvNV_remap_index, -1 }, { VertexAttrib4svNV_names, VertexAttrib4svNV_remap_index, -1 }, { VertexAttribs1dvNV_names, VertexAttribs1dvNV_remap_index, -1 }, + { VertexAttrib1fvNV_names, VertexAttrib1fvNV_remap_index, -1 }, { ProgramParameter4dvNV_names, ProgramParameter4dvNV_remap_index, -1 }, { VertexAttrib4fNV_names, VertexAttrib4fNV_remap_index, -1 }, { VertexAttrib2dNV_names, VertexAttrib2dNV_remap_index, -1 }, @@ -5524,14 +5765,12 @@ static const struct dri_extension_function GL_NV_vertex_program_functions[] = { { VertexAttrib2svNV_names, VertexAttrib2svNV_remap_index, -1 }, { VertexAttribs1fvNV_names, VertexAttribs1fvNV_remap_index, -1 }, { IsProgramNV_names, IsProgramNV_remap_index, -1 }, - { VertexAttrib4sNV_names, VertexAttrib4sNV_remap_index, -1 }, { VertexAttrib2fNV_names, VertexAttrib2fNV_remap_index, -1 }, { RequestResidentProgramsNV_names, RequestResidentProgramsNV_remap_index, -1 }, { ExecuteProgramNV_names, ExecuteProgramNV_remap_index, -1 }, { VertexAttribPointerNV_names, VertexAttribPointerNV_remap_index, -1 }, { TrackMatrixNV_names, TrackMatrixNV_remap_index, -1 }, { GetProgramParameterdvNV_names, GetProgramParameterdvNV_remap_index, -1 }, - { VertexAttrib3sNV_names, VertexAttrib3sNV_remap_index, -1 }, { GetTrackMatrixivNV_names, GetTrackMatrixivNV_remap_index, -1 }, { VertexAttrib3svNV_names, VertexAttrib3svNV_remap_index, -1 }, { ProgramParameters4fvNV_names, ProgramParameters4fvNV_remap_index, -1 }, @@ -5539,12 +5778,13 @@ static const struct dri_extension_function GL_NV_vertex_program_functions[] = { { GetVertexAttribdvNV_names, GetVertexAttribdvNV_remap_index, -1 }, { VertexAttrib3fvNV_names, VertexAttrib3fvNV_remap_index, -1 }, { VertexAttribs2fvNV_names, VertexAttribs2fvNV_remap_index, -1 }, - { VertexAttrib1fvNV_names, VertexAttrib1fvNV_remap_index, -1 }, { DeleteProgramsNV_names, DeleteProgramsNV_remap_index, -1 }, { GetVertexAttribPointervNV_names, GetVertexAttribPointervNV_remap_index, -1 }, { GetProgramStringNV_names, GetProgramStringNV_remap_index, -1 }, + { VertexAttrib4sNV_names, VertexAttrib4sNV_remap_index, -1 }, { VertexAttribs4dvNV_names, VertexAttribs4dvNV_remap_index, -1 }, { ProgramParameters4dvNV_names, ProgramParameters4dvNV_remap_index, -1 }, + { VertexAttrib3sNV_names, VertexAttrib3sNV_remap_index, -1 }, { VertexAttrib1fNV_names, VertexAttrib1fNV_remap_index, -1 }, { VertexAttrib4dNV_names, VertexAttrib4dNV_remap_index, -1 }, { VertexAttribs4ubvNV_names, VertexAttribs4ubvNV_remap_index, -1 }, @@ -5768,13 +6008,13 @@ static const struct dri_extension_function GL_SGIX_tag_sample_buffer_functions[] #if defined(need_GL_SGI_color_table) static const struct dri_extension_function GL_SGI_color_table_functions[] = { - { GetColorTableParameterfvSGI_names, GetColorTableParameterfvSGI_remap_index, -1 }, { ColorTableParameteriv_names, -1, 341 }, { ColorTable_names, -1, 339 }, + { GetColorTable_names, -1, 343 }, { CopyColorTable_names, -1, 342 }, { ColorTableParameterfv_names, -1, 340 }, - { GetColorTableParameterivSGI_names, GetColorTableParameterivSGI_remap_index, -1 }, - { GetColorTableSGI_names, GetColorTableSGI_remap_index, -1 }, + { GetColorTableParameterfv_names, -1, 344 }, + { GetColorTableParameteriv_names, -1, 345 }, { NULL, 0, 0 } }; #endif @@ -5811,11 +6051,11 @@ static const struct dri_extension_function GL_SUN_mesh_array_functions[] = { static const struct dri_extension_function GL_SUN_triangle_list_functions[] = { { ReplacementCodeubSUN_names, ReplacementCodeubSUN_remap_index, -1 }, { ReplacementCodeubvSUN_names, ReplacementCodeubvSUN_remap_index, -1 }, - { ReplacementCodeuivSUN_names, ReplacementCodeuivSUN_remap_index, -1 }, { ReplacementCodeusvSUN_names, ReplacementCodeusvSUN_remap_index, -1 }, { ReplacementCodePointerSUN_names, ReplacementCodePointerSUN_remap_index, -1 }, { ReplacementCodeusSUN_names, ReplacementCodeusSUN_remap_index, -1 }, { ReplacementCodeuiSUN_names, ReplacementCodeuiSUN_remap_index, -1 }, + { ReplacementCodeuivSUN_names, ReplacementCodeuivSUN_remap_index, -1 }, { NULL, 0, 0 } }; #endif @@ -5837,7 +6077,6 @@ static const struct dri_extension_function GL_SUN_vertex_functions[] = { { ReplacementCodeuiTexCoord2fVertex3fSUN_names, ReplacementCodeuiTexCoord2fVertex3fSUN_remap_index, -1 }, { TexCoord2fNormal3fVertex3fSUN_names, TexCoord2fNormal3fVertex3fSUN_remap_index, -1 }, { Color3fVertex3fSUN_names, Color3fVertex3fSUN_remap_index, -1 }, - { ReplacementCodeuiNormal3fVertex3fvSUN_names, ReplacementCodeuiNormal3fVertex3fvSUN_remap_index, -1 }, { Color3fVertex3fvSUN_names, Color3fVertex3fvSUN_remap_index, -1 }, { Color4fNormal3fVertex3fvSUN_names, Color4fNormal3fVertex3fvSUN_remap_index, -1 }, { ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_names, ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN_remap_index, -1 }, @@ -5848,18 +6087,19 @@ static const struct dri_extension_function GL_SUN_vertex_functions[] = { { Color4ubVertex2fvSUN_names, Color4ubVertex2fvSUN_remap_index, -1 }, { Normal3fVertex3fSUN_names, Normal3fVertex3fSUN_remap_index, -1 }, { ReplacementCodeuiColor4fNormal3fVertex3fSUN_names, ReplacementCodeuiColor4fNormal3fVertex3fSUN_remap_index, -1 }, + { TexCoord2fColor4fNormal3fVertex3fvSUN_names, TexCoord2fColor4fNormal3fVertex3fvSUN_remap_index, -1 }, { TexCoord2fVertex3fvSUN_names, TexCoord2fVertex3fvSUN_remap_index, -1 }, { Color4ubVertex2fSUN_names, Color4ubVertex2fSUN_remap_index, -1 }, { ReplacementCodeuiColor4ubVertex3fSUN_names, ReplacementCodeuiColor4ubVertex3fSUN_remap_index, -1 }, { TexCoord2fColor4ubVertex3fSUN_names, TexCoord2fColor4ubVertex3fSUN_remap_index, -1 }, { Normal3fVertex3fvSUN_names, Normal3fVertex3fvSUN_remap_index, -1 }, { Color4fNormal3fVertex3fSUN_names, Color4fNormal3fVertex3fSUN_remap_index, -1 }, - { TexCoord2fColor4fNormal3fVertex3fvSUN_names, TexCoord2fColor4fNormal3fVertex3fvSUN_remap_index, -1 }, { ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN_names, ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN_remap_index, -1 }, { ReplacementCodeuiColor4ubVertex3fvSUN_names, ReplacementCodeuiColor4ubVertex3fvSUN_remap_index, -1 }, { ReplacementCodeuiColor3fVertex3fSUN_names, ReplacementCodeuiColor3fVertex3fSUN_remap_index, -1 }, { TexCoord4fVertex4fSUN_names, TexCoord4fVertex4fSUN_remap_index, -1 }, { TexCoord2fColor3fVertex3fvSUN_names, TexCoord2fColor3fVertex3fvSUN_remap_index, -1 }, + { ReplacementCodeuiNormal3fVertex3fvSUN_names, ReplacementCodeuiNormal3fVertex3fvSUN_remap_index, -1 }, { TexCoord4fVertex4fvSUN_names, TexCoord4fVertex4fvSUN_remap_index, -1 }, { ReplacementCodeuiVertex3fSUN_names, ReplacementCodeuiVertex3fSUN_remap_index, -1 }, { NULL, 0, 0 } @@ -5996,11 +6236,111 @@ static const struct dri_extension_function GL_VERSION_1_5_functions[] = { #if defined(need_GL_VERSION_2_0) static const struct dri_extension_function GL_VERSION_2_0_functions[] = { + { UniformMatrix3fvARB_names, UniformMatrix3fvARB_remap_index, -1 }, + { GetProgramiv_names, GetProgramiv_remap_index, -1 }, { BlendEquationSeparateEXT_names, BlendEquationSeparateEXT_remap_index, -1 }, + { AttachShader_names, AttachShader_remap_index, -1 }, + { VertexAttrib2fARB_names, VertexAttrib2fARB_remap_index, -1 }, + { VertexAttrib3fARB_names, VertexAttrib3fARB_remap_index, -1 }, + { Uniform2fARB_names, Uniform2fARB_remap_index, -1 }, + { VertexAttrib1svARB_names, VertexAttrib1svARB_remap_index, -1 }, + { Uniform2ivARB_names, Uniform2ivARB_remap_index, -1 }, + { UniformMatrix4fvARB_names, UniformMatrix4fvARB_remap_index, -1 }, + { VertexAttrib4NusvARB_names, VertexAttrib4NusvARB_remap_index, -1 }, + { DisableVertexAttribArrayARB_names, DisableVertexAttribArrayARB_remap_index, -1 }, { StencilMaskSeparate_names, StencilMaskSeparate_remap_index, -1 }, + { VertexAttrib1fARB_names, VertexAttrib1fARB_remap_index, -1 }, + { GetProgramInfoLog_names, GetProgramInfoLog_remap_index, -1 }, + { VertexAttrib4NbvARB_names, VertexAttrib4NbvARB_remap_index, -1 }, + { GetActiveAttribARB_names, GetActiveAttribARB_remap_index, -1 }, + { Uniform3iARB_names, Uniform3iARB_remap_index, -1 }, + { GetShaderInfoLog_names, GetShaderInfoLog_remap_index, -1 }, + { VertexAttrib1sARB_names, VertexAttrib1sARB_remap_index, -1 }, + { Uniform1fARB_names, Uniform1fARB_remap_index, -1 }, { StencilOpSeparate_names, StencilOpSeparate_remap_index, -1 }, + { UniformMatrix2fvARB_names, UniformMatrix2fvARB_remap_index, -1 }, + { VertexAttrib3dvARB_names, VertexAttrib3dvARB_remap_index, -1 }, + { Uniform3fvARB_names, Uniform3fvARB_remap_index, -1 }, + { GetVertexAttribivARB_names, GetVertexAttribivARB_remap_index, -1 }, + { CreateProgram_names, CreateProgram_remap_index, -1 }, { StencilFuncSeparate_names, StencilFuncSeparate_remap_index, -1 }, + { VertexAttrib4ivARB_names, VertexAttrib4ivARB_remap_index, -1 }, + { VertexAttrib4bvARB_names, VertexAttrib4bvARB_remap_index, -1 }, + { VertexAttrib3dARB_names, VertexAttrib3dARB_remap_index, -1 }, + { VertexAttrib4fARB_names, VertexAttrib4fARB_remap_index, -1 }, + { VertexAttrib4fvARB_names, VertexAttrib4fvARB_remap_index, -1 }, + { GetActiveUniformARB_names, GetActiveUniformARB_remap_index, -1 }, + { IsShader_names, IsShader_remap_index, -1 }, + { GetUniformivARB_names, GetUniformivARB_remap_index, -1 }, + { IsProgram_names, IsProgram_remap_index, -1 }, + { Uniform2fvARB_names, Uniform2fvARB_remap_index, -1 }, + { ValidateProgramARB_names, ValidateProgramARB_remap_index, -1 }, + { VertexAttrib2dARB_names, VertexAttrib2dARB_remap_index, -1 }, + { VertexAttrib1dvARB_names, VertexAttrib1dvARB_remap_index, -1 }, + { GetVertexAttribfvARB_names, GetVertexAttribfvARB_remap_index, -1 }, + { GetAttribLocationARB_names, GetAttribLocationARB_remap_index, -1 }, + { VertexAttrib4ubvARB_names, VertexAttrib4ubvARB_remap_index, -1 }, + { Uniform3ivARB_names, Uniform3ivARB_remap_index, -1 }, + { VertexAttrib4sARB_names, VertexAttrib4sARB_remap_index, -1 }, + { VertexAttrib2dvARB_names, VertexAttrib2dvARB_remap_index, -1 }, + { VertexAttrib2fvARB_names, VertexAttrib2fvARB_remap_index, -1 }, + { VertexAttrib4NivARB_names, VertexAttrib4NivARB_remap_index, -1 }, + { GetAttachedShaders_names, GetAttachedShaders_remap_index, -1 }, + { CompileShaderARB_names, CompileShaderARB_remap_index, -1 }, + { DeleteShader_names, DeleteShader_remap_index, -1 }, + { Uniform3fARB_names, Uniform3fARB_remap_index, -1 }, + { VertexAttrib4NuivARB_names, VertexAttrib4NuivARB_remap_index, -1 }, + { Uniform4fARB_names, Uniform4fARB_remap_index, -1 }, + { VertexAttrib1dARB_names, VertexAttrib1dARB_remap_index, -1 }, + { VertexAttrib4usvARB_names, VertexAttrib4usvARB_remap_index, -1 }, + { LinkProgramARB_names, LinkProgramARB_remap_index, -1 }, + { ShaderSourceARB_names, ShaderSourceARB_remap_index, -1 }, + { VertexAttrib3svARB_names, VertexAttrib3svARB_remap_index, -1 }, + { Uniform4ivARB_names, Uniform4ivARB_remap_index, -1 }, + { GetVertexAttribdvARB_names, GetVertexAttribdvARB_remap_index, -1 }, + { Uniform1ivARB_names, Uniform1ivARB_remap_index, -1 }, + { VertexAttrib4dvARB_names, VertexAttrib4dvARB_remap_index, -1 }, + { BindAttribLocationARB_names, BindAttribLocationARB_remap_index, -1 }, + { Uniform1iARB_names, Uniform1iARB_remap_index, -1 }, + { VertexAttribPointerARB_names, VertexAttribPointerARB_remap_index, -1 }, + { VertexAttrib4NsvARB_names, VertexAttrib4NsvARB_remap_index, -1 }, + { VertexAttrib3fvARB_names, VertexAttrib3fvARB_remap_index, -1 }, + { CreateShader_names, CreateShader_remap_index, -1 }, + { DetachShader_names, DetachShader_remap_index, -1 }, + { VertexAttrib4NubARB_names, VertexAttrib4NubARB_remap_index, -1 }, + { Uniform4fvARB_names, Uniform4fvARB_remap_index, -1 }, + { GetUniformfvARB_names, GetUniformfvARB_remap_index, -1 }, + { Uniform4iARB_names, Uniform4iARB_remap_index, -1 }, + { UseProgramObjectARB_names, UseProgramObjectARB_remap_index, -1 }, + { DeleteProgram_names, DeleteProgram_remap_index, -1 }, + { GetVertexAttribPointervNV_names, GetVertexAttribPointervNV_remap_index, -1 }, + { Uniform2iARB_names, Uniform2iARB_remap_index, -1 }, + { VertexAttrib4dARB_names, VertexAttrib4dARB_remap_index, -1 }, + { GetUniformLocationARB_names, GetUniformLocationARB_remap_index, -1 }, + { VertexAttrib3sARB_names, VertexAttrib3sARB_remap_index, -1 }, + { GetShaderSourceARB_names, GetShaderSourceARB_remap_index, -1 }, { DrawBuffersARB_names, DrawBuffersARB_remap_index, -1 }, + { Uniform1fvARB_names, Uniform1fvARB_remap_index, -1 }, + { EnableVertexAttribArrayARB_names, EnableVertexAttribArrayARB_remap_index, -1 }, + { VertexAttrib4uivARB_names, VertexAttrib4uivARB_remap_index, -1 }, + { VertexAttrib4svARB_names, VertexAttrib4svARB_remap_index, -1 }, + { GetShaderiv_names, GetShaderiv_remap_index, -1 }, + { VertexAttrib2svARB_names, VertexAttrib2svARB_remap_index, -1 }, + { VertexAttrib4NubvARB_names, VertexAttrib4NubvARB_remap_index, -1 }, + { VertexAttrib2sARB_names, VertexAttrib2sARB_remap_index, -1 }, + { VertexAttrib1fvARB_names, VertexAttrib1fvARB_remap_index, -1 }, + { NULL, 0, 0 } +}; +#endif + +#if defined(need_GL_VERSION_2_1) +static const struct dri_extension_function GL_VERSION_2_1_functions[] = { + { UniformMatrix2x4fv_names, UniformMatrix2x4fv_remap_index, -1 }, + { UniformMatrix4x3fv_names, UniformMatrix4x3fv_remap_index, -1 }, + { UniformMatrix4x2fv_names, UniformMatrix4x2fv_remap_index, -1 }, + { UniformMatrix2x3fv_names, UniformMatrix2x3fv_remap_index, -1 }, + { UniformMatrix3x4fv_names, UniformMatrix3x4fv_remap_index, -1 }, + { UniformMatrix3x2fv_names, UniformMatrix3x2fv_remap_index, -1 }, { NULL, 0, 0 } }; #endif diff --git a/dist/Mesa/src/mesa/drivers/dri/common/spantmp2.h b/dist/Mesa/src/mesa/drivers/dri/common/spantmp2.h index 50f3cf558..53f5f846a 100644 --- a/dist/Mesa/src/mesa/drivers/dri/common/spantmp2.h +++ b/dist/Mesa/src/mesa/drivers/dri/common/spantmp2.h @@ -114,7 +114,7 @@ do { \ GLuint p = *(volatile GLuint *) GET_PTR(_x, _y); \ __asm__ __volatile__( "bswap %0; rorl $8, %0" \ - : "=r" (p) : "r" (p) ); \ + : "=r" (p) : "0" (p) ); \ ((GLuint *)rgba)[0] = p; \ } while (0) # elif defined( MESA_BIG_ENDIAN ) diff --git a/dist/Mesa/src/mesa/drivers/dri/glcore/Makefile b/dist/Mesa/src/mesa/drivers/dri/glcore/Makefile index a9e96970f..968190acf 100644 --- a/dist/Mesa/src/mesa/drivers/dri/glcore/Makefile +++ b/dist/Mesa/src/mesa/drivers/dri/glcore/Makefile @@ -61,7 +61,8 @@ default: depend $(TOP)/$(LIB_DIR)/$(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile - CC="$(CC)" CXX="$(CXX)" $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(TOP)/$(LIB_DIR) \ + CC="$(CC)" CXX="$(CXX)" $(TOP)/bin/mklib -o $(LIBNAME) -noprefix \ + -ldflags '$(LDFLAGS)' -install $(TOP)/$(LIB_DIR) \ $(OBJECTS) $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) diff --git a/dist/Mesa/src/mesa/drivers/dri/i810/i810screen.c b/dist/Mesa/src/mesa/drivers/dri/i810/i810screen.c index d0e58f667..f8cf050d7 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i810/i810screen.c +++ b/dist/Mesa/src/mesa/drivers/dri/i810/i810screen.c @@ -288,8 +288,8 @@ i810InitDriver(__DRIscreenPrivate *sPriv) i810Screen->depth.handle, i810Screen->depth.size, (drmAddress *)&i810Screen->depth.map) != 0) { - FREE(i810Screen); drmUnmap(i810Screen->back.map, i810Screen->back.size); + FREE(i810Screen); sPriv->private = NULL; __driUtilMessage("i810InitDriver: drmMap (2) failed"); return GL_FALSE; @@ -398,7 +398,7 @@ i810CreateBuffer( __DRIscreenPrivate *driScrnPriv, static void i810DestroyBuffer(__DRIdrawablePrivate *driDrawPriv) { - _mesa_destroy_framebuffer((GLframebuffer *) (driDrawPriv->driverPrivate)); + _mesa_unreference_framebuffer((GLframebuffer **)(&(driDrawPriv->driverPrivate))); } diff --git a/dist/Mesa/src/mesa/drivers/dri/i915/i915_texstate.c b/dist/Mesa/src/mesa/drivers/dri/i915/i915_texstate.c index 3b639e714..a19d4b658 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915/i915_texstate.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915/i915_texstate.c @@ -172,12 +172,8 @@ static void i915LayoutTextureImages( i915ContextPtr i915, t->intel.image[0][i].offset = total_height * pitch; t->intel.image[0][i].internalFormat = baseImage->_BaseFormat; - if (t->intel.image[0][i].image->IsCompressed) - { - if (t->intel.image[0][i].image->Height > 4) - total_height += t->intel.image[0][i].image->Height/4; - else - total_height += 1; + if (t->intel.image[0][i].image->IsCompressed) { + total_height += (t->intel.image[0][i].image->Height + 3) / 4; } else total_height += MAX2(2, t->intel.image[0][i].image->Height); @@ -495,12 +491,19 @@ static void i915SetTexImages( i915ContextPtr i915, abort(); } - - if (i915->intel.intelScreen->deviceID == PCI_CHIP_I945_G || - i915->intel.intelScreen->deviceID == PCI_CHIP_I945_GM) - i945LayoutTextureImages( i915, tObj ); - else - i915LayoutTextureImages( i915, tObj ); + switch (i915->intel.intelScreen->deviceID) { + case PCI_CHIP_I945_G: + case PCI_CHIP_I945_GM: + case PCI_CHIP_I945_GME: + case PCI_CHIP_G33_G: + case PCI_CHIP_Q33_G: + case PCI_CHIP_Q35_G: + i945LayoutTextureImages( i915, tObj ); + break; + default: + i915LayoutTextureImages( i915, tObj ); + break; + } t->Setup[I915_TEXREG_MS3] = (((tObj->Image[0][t->intel.base.firstLevel]->Height - 1) << MS3_HEIGHT_SHIFT) | diff --git a/dist/Mesa/src/mesa/drivers/dri/i915/intel_context.c b/dist/Mesa/src/mesa/drivers/dri/i915/intel_context.c index 770b330d0..bb5ce6473 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915/intel_context.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915/intel_context.c @@ -33,11 +33,12 @@ #include "extensions.h" #include "framebuffer.h" #include "imports.h" +#include "points.h" #include "swrast/swrast.h" #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" -#include "array_cache/acache.h" +#include "vbo/vbo.h" #include "tnl/t_pipeline.h" #include "tnl/t_vertex.h" @@ -92,7 +93,7 @@ int prevLockLine; * Mesa's Driver Functions ***************************************/ -#define DRIVER_DATE "20050225" +#define DRIVER_DATE "20061017" const GLubyte *intelGetString( GLcontext *ctx, GLenum name ) { @@ -122,6 +123,14 @@ const GLubyte *intelGetString( GLcontext *ctx, GLenum name ) chipset = "Intel(R) 945G"; break; case PCI_CHIP_I945_GM: chipset = "Intel(R) 945GM"; break; + case PCI_CHIP_I945_GME: + chipset = "Intel(R) 945GME"; break; + case PCI_CHIP_G33_G: + chipset = "Intel(R) G33"; break; + case PCI_CHIP_Q35_G: + chipset = "Intel(R) Q35"; break; + case PCI_CHIP_Q33_G: + chipset = "Intel(R) Q33"; break; default: chipset = "Unknown Intel Chipset"; break; } @@ -134,27 +143,6 @@ const GLubyte *intelGetString( GLcontext *ctx, GLenum name ) } } -static void intelBufferSize(GLframebuffer *buffer, - GLuint *width, GLuint *height) -{ - GET_CURRENT_CONTEXT(ctx); - intelContextPtr intel = INTEL_CONTEXT(ctx); - /* Need to lock to make sure the driDrawable is uptodate. This - * information is used to resize Mesa's software buffers, so it has - * to be correct. - */ - LOCK_HARDWARE(intel); - if (intel->driDrawable) { - *width = intel->driDrawable->w; - *height = intel->driDrawable->h; - } - else { - *width = 0; - *height = 0; - } - UNLOCK_HARDWARE(intel); -} - /** * Extension strings exported by the intel driver. @@ -216,7 +204,6 @@ static const struct tnl_pipeline_stage *intel_pipeline[] = { &_tnl_texgen_stage, &_tnl_texture_transform_stage, &_tnl_point_attenuation_stage, - &_tnl_arb_vertex_program_stage, &_tnl_vertex_program_stage, #if 1 &_intel_render_stage, /* ADD: unclipped rastersetup-to-dma */ @@ -249,7 +236,7 @@ static void intelInvalidateState( GLcontext *ctx, GLuint new_state ) { _swrast_InvalidateState( ctx, new_state ); _swsetup_InvalidateState( ctx, new_state ); - _ac_InvalidateState( ctx, new_state ); + _vbo_InvalidateState( ctx, new_state ); _tnl_InvalidateState( ctx, new_state ); _tnl_invalidate_vertex_state( ctx, new_state ); INTEL_CONTEXT(ctx)->NewGLState |= new_state; @@ -263,14 +250,8 @@ void intelInitDriverFunctions( struct dd_function_table *functions ) functions->Clear = intelClear; functions->Flush = intelglFlush; functions->Finish = intelFinish; - functions->GetBufferSize = intelBufferSize; - functions->ResizeBuffers = _mesa_resize_framebuffer; functions->GetString = intelGetString; functions->UpdateState = intelInvalidateState; - functions->CopyColorTable = _swrast_CopyColorTable; - functions->CopyColorSubTable = _swrast_CopyColorSubTable; - functions->CopyConvolutionFilter1D = _swrast_CopyConvolutionFilter1D; - functions->CopyConvolutionFilter2D = _swrast_CopyConvolutionFilter2D; intelInitTextureFuncs( functions ); intelInitPixelFuncs( functions ); @@ -329,9 +310,14 @@ GLboolean intelInitContext( intelContextPtr intel, ctx->Const.MaxPointSizeAA = 3.0; ctx->Const.PointSizeGranularity = 1.0; + /* reinitialize the context point state. + * It depend on constants in __GLcontextRec::Const + */ + _mesa_init_point(ctx); + /* Initialize the software rasterizer and helper modules. */ _swrast_CreateContext( ctx ); - _ac_CreateContext( ctx ); + _vbo_CreateContext( ctx ); _tnl_CreateContext( ctx ); _swsetup_CreateContext( ctx ); @@ -450,7 +436,7 @@ void intelDestroyContext(__DRIcontextPrivate *driContextPriv) release_texture_heaps = (intel->ctx.Shared->RefCount == 1); _swsetup_DestroyContext (&intel->ctx); _tnl_DestroyContext (&intel->ctx); - _ac_DestroyContext (&intel->ctx); + _vbo_DestroyContext (&intel->ctx); _swrast_DestroyContext (&intel->ctx); intel->Fallback = 0; /* don't call _swrast_Flush later */ @@ -543,14 +529,14 @@ void intelSetBackClipRects( intelContextPtr intel ) void intelWindowMoved( intelContextPtr intel ) { __DRIdrawablePrivate *dPriv = intel->driDrawable; + GLframebuffer *drawFb = (GLframebuffer *) dPriv->driverPrivate; if (!intel->ctx.DrawBuffer) { intelSetFrontClipRects( intel ); } else { - driUpdateFramebufferSize(&intel->ctx, intel->driDrawable); - - switch (intel->ctx.DrawBuffer->_ColorDrawBufferMask[0]) { + driUpdateFramebufferSize(&intel->ctx, dPriv); + switch (drawFb->_ColorDrawBufferMask[0]) { case BUFFER_BIT_FRONT_LEFT: intelSetFrontClipRects( intel ); break; @@ -563,15 +549,47 @@ void intelWindowMoved( intelContextPtr intel ) } } - _mesa_resize_framebuffer(&intel->ctx, - (GLframebuffer*)dPriv->driverPrivate, - dPriv->w, dPriv->h); - + if (drawFb->Width != dPriv->w || drawFb->Height != dPriv->h) { + /* update Mesa's notion of framebuffer/window size */ + _mesa_resize_framebuffer(&intel->ctx, drawFb, dPriv->w, dPriv->h); + drawFb->Initialized = GL_TRUE; /* XXX remove someday */ + } + /* Set state we know depends on drawable parameters: */ { GLcontext *ctx = &intel->ctx; + if (intel->intelScreen->driScrnPriv->ddxMinor >= 7) { + drmI830Sarea *sarea = intel->sarea; + drm_clip_rect_t drw_rect = { .x1 = dPriv->x, .x2 = dPriv->x + dPriv->w, + .y1 = dPriv->y, .y2 = dPriv->y + dPriv->h }; + drm_clip_rect_t pipeA_rect = { .x1 = sarea->pipeA_x, + .x2 = sarea->pipeA_x + sarea->pipeA_w, + .y1 = sarea->pipeA_y, + .y2 = sarea->pipeA_y + sarea->pipeA_h }; + drm_clip_rect_t pipeB_rect = { .x1 = sarea->pipeB_x, + .x2 = sarea->pipeB_x + sarea->pipeB_w, + .y1 = sarea->pipeB_y, + .y2 = sarea->pipeB_y + sarea->pipeB_h }; + GLint areaA = driIntersectArea( drw_rect, pipeA_rect ); + GLint areaB = driIntersectArea( drw_rect, pipeB_rect ); + GLuint flags = intel->vblank_flags; + + if (areaB > areaA || (areaA == areaB && areaB > 0)) { + flags = intel->vblank_flags | VBLANK_FLAG_SECONDARY; + } else { + flags = intel->vblank_flags & ~VBLANK_FLAG_SECONDARY; + } + + if (flags != intel->vblank_flags) { + intel->vblank_flags = flags; + driGetCurrentVBlank(dPriv, intel->vblank_flags, &intel->vbl_seq); + } + } else { + intel->vblank_flags &= ~VBLANK_FLAG_SECONDARY; + } + ctx->Driver.Scissor( ctx, ctx->Scissor.X, ctx->Scissor.Y, ctx->Scissor.Width, ctx->Scissor.Height ); @@ -596,7 +614,8 @@ GLboolean intelMakeCurrent(__DRIcontextPrivate *driContextPriv, if ( intel->driDrawable != driDrawPriv ) { /* Shouldn't the readbuffer be stored also? */ - driDrawableInitVBlank( driDrawPriv, intel->vblank_flags ); + driDrawableInitVBlank( driDrawPriv, intel->vblank_flags, + &intel->vbl_seq ); intel->driDrawable = driDrawPriv; intelWindowMoved( intel ); diff --git a/dist/Mesa/src/mesa/drivers/dri/i915/intel_context.h b/dist/Mesa/src/mesa/drivers/dri/i915/intel_context.h index 0ca8ff268..50e617890 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915/intel_context.h +++ b/dist/Mesa/src/mesa/drivers/dri/i915/intel_context.h @@ -34,6 +34,7 @@ #include "drm.h" #include "mm.h" #include "texmem.h" +#include "vblank.h" #include "intel_screen.h" #include "i915_drm.h" @@ -261,6 +262,8 @@ struct intel_context GLuint swap_count; GLuint swap_missed_count; + + GLuint swap_scheduled; }; @@ -321,6 +324,17 @@ do { \ char __ret=0; \ DEBUG_CHECK_LOCK(); \ assert(!(intel)->locked); \ + if ((intel)->swap_scheduled) { \ + drmVBlank vbl; \ + vbl.request.type = DRM_VBLANK_ABSOLUTE; \ + if ((intel)->vblank_flags & \ + VBLANK_FLAG_SECONDARY) { \ + vbl.request.type |= DRM_VBLANK_SECONDARY; \ + } \ + vbl.request.sequence = (intel)->vbl_seq; \ + drmWaitVBlank((intel)->driFd, &vbl); \ + (intel)->swap_scheduled = 0; \ + } \ DRM_CAS((intel)->driHwLock, (intel)->hHWContext, \ (DRM_LOCK_HELD|(intel)->hHWContext), __ret); \ if (__ret) \ @@ -440,6 +454,10 @@ extern int INTEL_DEBUG; #define PCI_CHIP_I915_GM 0x2592 #define PCI_CHIP_I945_G 0x2772 #define PCI_CHIP_I945_GM 0x27A2 +#define PCI_CHIP_I945_GME 0x27AE +#define PCI_CHIP_G33_G 0x29C2 +#define PCI_CHIP_Q35_G 0x29B2 +#define PCI_CHIP_Q33_G 0x29D2 /* ================================================================ diff --git a/dist/Mesa/src/mesa/drivers/dri/i915/intel_screen.c b/dist/Mesa/src/mesa/drivers/dri/i915/intel_screen.c index 107cf137f..ca8610b49 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915/intel_screen.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915/intel_screen.c @@ -449,7 +449,7 @@ static GLboolean intelCreateBuffer( __DRIscreenPrivate *driScrnPriv, static void intelDestroyBuffer(__DRIdrawablePrivate *driDrawPriv) { - _mesa_destroy_framebuffer((GLframebuffer *) (driDrawPriv->driverPrivate)); + _mesa_unreference_framebuffer((GLframebuffer **)(&(driDrawPriv->driverPrivate))); } @@ -514,6 +514,10 @@ static GLboolean intelCreateContext( const __GLcontextModes *mesaVis, case PCI_CHIP_I915_GM: case PCI_CHIP_I945_G: case PCI_CHIP_I945_GM: + case PCI_CHIP_I945_GME: + case PCI_CHIP_G33_G: + case PCI_CHIP_Q35_G: + case PCI_CHIP_Q33_G: return i915CreateContext( mesaVis, driContextPriv, sharedContextPrivate ); diff --git a/dist/Mesa/src/mesa/drivers/dri/i915/intel_tex.c b/dist/Mesa/src/mesa/drivers/dri/i915/intel_tex.c index 6012d3e79..5bd280652 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915/intel_tex.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915/intel_tex.c @@ -634,18 +634,12 @@ static void intelUploadTexImage( intelContextPtr intel, image->Height); } else if (image->IsCompressed) { - GLuint row_len = image->Width * 2; + GLuint row_len = 0; GLubyte *dst = (GLubyte *)(t->BufAddr + offset); GLubyte *src = (GLubyte *)image->Data; GLuint j; - if (INTEL_DEBUG & DEBUG_TEXTURE) - fprintf(stderr, - "Upload image %dx%dx%d offset %xm row_len %x " - "pitch %x depth_pitch %x\n", - image->Width, image->Height, image->Depth, offset, - row_len, t->Pitch, t->depth_pitch); - + /* must always copy whole blocks (8/16 bytes) */ switch (image->InternalFormat) { case GL_COMPRESSED_RGB_FXT1_3DFX: case GL_COMPRESSED_RGBA_FXT1_3DFX: @@ -653,29 +647,41 @@ static void intelUploadTexImage( intelContextPtr intel, case GL_RGB4_S3TC: case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: - for (j = 0 ; j < image->Height/4 ; j++, dst += (t->Pitch)) { - __memcpy(dst, src, row_len ); - src += row_len; - } + row_len = (image->Width * 2 + 7) & ~7; break; case GL_RGBA_S3TC: case GL_RGBA4_S3TC: case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: - for (j = 0 ; j < image->Height/4 ; j++, dst += (t->Pitch)) { - __memcpy(dst, src, (image->Width*4) ); - src += image->Width*4; - } + row_len = (image->Width * 4 + 15) & ~15; break; default: fprintf(stderr,"Internal Compressed format not supported %d\n", image->InternalFormat); break; } + + if (INTEL_DEBUG & DEBUG_TEXTURE) + fprintf(stderr, + "Upload image %dx%dx%d offset %xm row_len %x " + "pitch %x depth_pitch %x\n", + image->Width, image->Height, image->Depth, offset, + row_len, t->Pitch, t->depth_pitch); + + if (row_len) { + for (j = 0 ; j < (image->Height + 3)/4 ; j++, dst += (t->Pitch)) { + __memcpy(dst, src, row_len ); + src += row_len; + } + } } /* Time for another vtbl entry: */ else if (intel->intelScreen->deviceID == PCI_CHIP_I945_G || - intel->intelScreen->deviceID == PCI_CHIP_I945_GM) { + intel->intelScreen->deviceID == PCI_CHIP_I945_GM || + intel->intelScreen->deviceID == PCI_CHIP_I945_GME || + intel->intelScreen->deviceID == PCI_CHIP_G33_G || + intel->intelScreen->deviceID == PCI_CHIP_Q33_G || + intel->intelScreen->deviceID == PCI_CHIP_Q35_G) { GLuint row_len = image->Width * image->TexFormat->TexelBytes; GLubyte *dst = (GLubyte *)(t->BufAddr + offset); GLubyte *src = (GLubyte *)image->Data; diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/i830_vtbl.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/i830_vtbl.c index dd0670dec..5555b7466 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/i830_vtbl.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/i830_vtbl.c @@ -490,11 +490,13 @@ i830_emit_state(struct intel_context *intel) DRM_BO_MASK_MEM | DRM_BO_FLAG_READ, state->tex_offset[i] | TM0S0_USE_FENCE); } - else { - assert(i == 0); - assert(state == &i830->meta); - OUT_BATCH(0); - } + else if (state == &i830->meta) { + assert(i == 0); + OUT_BATCH(0); + } + else { + OUT_BATCH(state->tex_offset[i]); + } OUT_BATCH(state->Tex[i][I830_TEXREG_TM0S1]); OUT_BATCH(state->Tex[i][I830_TEXREG_TM0S2]); @@ -517,6 +519,16 @@ i830_emit_state(struct intel_context *intel) static void i830_destroy_context(struct intel_context *intel) { + GLuint i; + struct i830_context *i830 = i830_context(&intel->ctx); + + for (i = 0; i < I830_TEX_UNITS; i++) { + if (i830->state.tex_buffer[i] != NULL) { + driBOUnReference(i830->state.tex_buffer[i]); + i830->state.tex_buffer[i] = NULL; + } + } + _tnl_free_vertices(&intel->ctx); } diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_metaops.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_metaops.c index 3ab62bc80..397ff75b6 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_metaops.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_metaops.c @@ -95,7 +95,7 @@ meta_depth_replace(struct intel_context *intel) i915->meta.Ctx[I915_CTXREG_LIS6] |= (S6_DEPTH_TEST_ENABLE | S6_DEPTH_WRITE_ENABLE); - /* ctx->Driver.DepthFunc( ctx, GL_REPLACE ) + /* ctx->Driver.DepthFunc( ctx, GL_ALWAYS ) */ i915->meta.Ctx[I915_CTXREG_LIS6] &= ~S6_DEPTH_TEST_FUNC_MASK; i915->meta.Ctx[I915_CTXREG_LIS6] |= diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_tex_layout.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_tex_layout.c index e9360ecea..7b761a7b2 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_tex_layout.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_tex_layout.c @@ -30,6 +30,7 @@ */ #include "intel_mipmap_tree.h" +#include "intel_tex_layout.h" #include "macros.h" #include "intel_context.h" @@ -52,12 +53,6 @@ static GLint step_offsets[6][2] = { {0, 2}, {-1, 1} }; -static GLuint -minify(GLuint d) -{ - return MAX2(1, d >> 1); -} - GLboolean i915_miptree_layout(struct intel_mipmap_tree * mt) { @@ -67,15 +62,23 @@ i915_miptree_layout(struct intel_mipmap_tree * mt) case GL_TEXTURE_CUBE_MAP:{ const GLuint dim = mt->width0; GLuint face; + GLuint lvlWidth = mt->width0, lvlHeight = mt->height0; + + assert(lvlWidth == lvlHeight); /* cubemap images are square */ /* double pitch for cube layouts */ mt->pitch = ((dim * mt->cpp * 2 + 3) & ~3) / mt->cpp; mt->total_height = dim * 4; - for (level = mt->first_level; level <= mt->last_level; level++) + for (level = mt->first_level; level <= mt->last_level; level++) { intel_miptree_set_level_info(mt, level, 6, 0, 0, - mt->pitch, mt->total_height, 1); + /*OLD: mt->pitch, mt->total_height,*/ + lvlWidth, lvlHeight, + 1); + lvlWidth /= 2; + lvlHeight /= 2; + } for (face = 0; face < 6; face++) { GLuint x = initial_offsets[face][0] * dim; @@ -110,7 +113,7 @@ i915_miptree_layout(struct intel_mipmap_tree * mt) */ for (level = mt->first_level; level <= MAX2(8, mt->last_level); level++) { - intel_miptree_set_level_info(mt, level, 1, 0, mt->total_height, + intel_miptree_set_level_info(mt, level, depth, 0, mt->total_height, width, height, depth); @@ -158,11 +161,9 @@ i915_miptree_layout(struct intel_mipmap_tree * mt) if (mt->compressed) img_height = MAX2(1, height / 4); else - img_height = MAX2(2, height); + img_height = (MAX2(2, height) + 1) & ~1; mt->total_height += img_height; - mt->total_height += 1; - mt->total_height &= ~1; width = minify(width); height = minify(height); @@ -187,6 +188,9 @@ i945_miptree_layout(struct intel_mipmap_tree * mt) case GL_TEXTURE_CUBE_MAP:{ const GLuint dim = mt->width0; GLuint face; + GLuint lvlWidth = mt->width0, lvlHeight = mt->height0; + + assert(lvlWidth == lvlHeight); /* cubemap images are square */ /* Depending on the size of the largest images, pitch can be * determined either by the old-style packing of cubemap faces, @@ -201,11 +205,13 @@ i945_miptree_layout(struct intel_mipmap_tree * mt) /* Set all the levels to effectively occupy the whole rectangular region. */ - for (level = mt->first_level; level <= mt->last_level; level++) + for (level = mt->first_level; level <= mt->last_level; level++) { intel_miptree_set_level_info(mt, level, 6, 0, 0, - mt->pitch, mt->total_height, 1); - + lvlWidth, lvlHeight, 1); + lvlWidth /= 2; + lvlHeight /= 2; + } for (face = 0; face < 6; face++) { @@ -217,7 +223,7 @@ i945_miptree_layout(struct intel_mipmap_tree * mt) y = mt->total_height - 4; x = (face - 4) * 8; } - else if (dim < 4) { + else if (dim < 4 && (face > 0 || mt->first_level > 0)) { y = mt->total_height - 4; x = face * 8; } @@ -322,52 +328,9 @@ i945_miptree_layout(struct intel_mipmap_tree * mt) case GL_TEXTURE_1D: case GL_TEXTURE_2D: - case GL_TEXTURE_RECTANGLE_ARB:{ - GLuint x = 0; - GLuint y = 0; - GLuint width = mt->width0; - GLuint height = mt->height0; - GLint align_h = 2; - - mt->pitch = ((mt->width0 * mt->cpp + 3) & ~3) / mt->cpp; - mt->total_height = 0; - - for (level = mt->first_level; level <= mt->last_level; level++) { - GLuint img_height; - - intel_miptree_set_level_info(mt, level, 1, - x, y, - width, - mt->compressed ? height/4 : height, 1); - - - if (mt->compressed) - img_height = MAX2(1, height / 4); - else - img_height = MAX2(align_h, height); - - /* LPT change: step right after second mipmap. - */ - if (level == mt->first_level + 1) { - x += mt->pitch / 2; - x = (x + 3) & ~3; - } - else { - y += img_height; - y += align_h - 1; - y &= ~(align_h - 1); - } - - /* Because the images are packed better, the final offset - * might not be the maximal one: - */ - mt->total_height = MAX2(mt->total_height, y); - - width = minify(width); - height = minify(height); - } + case GL_TEXTURE_RECTANGLE_ARB: + i945_miptree_layout_2d(mt); break; - } default: _mesa_problem(NULL, "Unexpected tex target in i945_miptree_layout()"); } diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_vtbl.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_vtbl.c index 52db9a95e..e911fc400 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_vtbl.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/i915_vtbl.c @@ -61,6 +61,7 @@ i915_reduced_primitive_state(struct intel_context *intel, GLenum rprim) st1 &= ~ST1_ENABLE; switch (rprim) { + case GL_QUADS: /* from RASTERIZE(GL_QUADS) in t_dd_tritemp.h */ case GL_TRIANGLES: if (intel->ctx.Polygon.StippleFlag && intel->hw_stipple) st1 |= ST1_ENABLE; @@ -381,11 +382,13 @@ i915_emit_state(struct intel_context *intel) DRM_BO_MASK_MEM | DRM_BO_FLAG_READ, state->tex_offset[i]); } - else { + else if (state == &i915->meta) { assert(i == 0); - assert(state == &i915->meta); OUT_BATCH(0); } + else { + OUT_BATCH(state->tex_offset[i]); + } OUT_BATCH(state->Tex[i][I915_TEXREG_MS3]); OUT_BATCH(state->Tex[i][I915_TEXREG_MS4]); @@ -427,6 +430,16 @@ i915_emit_state(struct intel_context *intel) static void i915_destroy_context(struct intel_context *intel) { + GLuint i; + struct i915_context *i915 = i915_context(&intel->ctx); + + for (i = 0; i < I915_TEX_UNITS; i++) { + if (i915->state.tex_buffer[i] != NULL) { + driBOUnReference(i915->state.tex_buffer[i]); + i915->state.tex_buffer[i] = NULL; + } + } + _tnl_free_vertices(&intel->ctx); } diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_blit.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_blit.c index 550669ab0..a0601515c 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_blit.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_blit.c @@ -55,8 +55,6 @@ intelCopyBuffer(const __DRIdrawablePrivate * dPriv, struct intel_context *intel; const intelScreenPrivate *intelScreen; - GLboolean missed_target; - int64_t ust; DBG("%s\n", __FUNCTION__); @@ -68,41 +66,6 @@ intelCopyBuffer(const __DRIdrawablePrivate * dPriv, intelScreen = intel->intelScreen; - if (!rect && !intel->swap_scheduled && intelScreen->drmMinor >= 6 && - !(intel->vblank_flags & VBLANK_FLAG_NO_IRQ) && - intelScreen->current_rotation == 0) { - unsigned int interval = driGetVBlankInterval(dPriv, intel->vblank_flags); - unsigned int target; - drm_i915_vblank_swap_t swap; - - swap.drawable = dPriv->hHWDrawable; - swap.seqtype = DRM_VBLANK_ABSOLUTE; - target = swap.sequence = intel->vbl_seq + interval; - - if (intel->vblank_flags & VBLANK_FLAG_SYNC) { - swap.seqtype |= DRM_VBLANK_NEXTONMISS; - } else if (interval == 0) { - goto noschedule; - } - - if ( intel->vblank_flags & VBLANK_FLAG_SECONDARY ) { - swap.seqtype |= DRM_VBLANK_SECONDARY; - } - - intel_batchbuffer_flush(intel->batch); - - if (!drmCommandWriteRead(intel->driFd, DRM_I915_VBLANK_SWAP, &swap, - sizeof(swap))) { - intel->swap_scheduled = 1; - intel->vbl_seq = swap.sequence; - swap.sequence -= target; - missed_target = swap.sequence > 0 && swap.sequence <= (1 << 23); - } - } else { - intel->swap_scheduled = 0; - } -noschedule: - if (intel->last_swap_fence) { driFenceFinish(intel->last_swap_fence, DRM_FENCE_TYPE_EXE, GL_TRUE); driFenceUnReference(intel->last_swap_fence); @@ -111,122 +74,88 @@ noschedule: intel->last_swap_fence = intel->first_swap_fence; intel->first_swap_fence = NULL; - if (!intel->swap_scheduled) { - if (!rect) { - driWaitForVBlank(dPriv, &intel->vbl_seq, intel->vblank_flags, - &missed_target); + /* The LOCK_HARDWARE is required for the cliprects. Buffer offsets + * should work regardless. + */ + LOCK_HARDWARE(intel); + + if (dPriv && dPriv->numClipRects) { + struct intel_framebuffer *intel_fb = dPriv->driverPrivate; + const struct intel_region *frontRegion + = intel_get_rb_region(&intel_fb->Base, BUFFER_FRONT_LEFT); + const struct intel_region *backRegion + = intel_get_rb_region(&intel_fb->Base, BUFFER_BACK_LEFT); + const int nbox = dPriv->numClipRects; + const drm_clip_rect_t *pbox = dPriv->pClipRects; + const int pitch = frontRegion->pitch; + const int cpp = frontRegion->cpp; + int BR13, CMD; + int i; + + ASSERT(intel_fb); + ASSERT(intel_fb->Base.Name == 0); /* Not a user-created FBO */ + ASSERT(frontRegion); + ASSERT(backRegion); + ASSERT(frontRegion->pitch == backRegion->pitch); + ASSERT(frontRegion->cpp == backRegion->cpp); + + if (cpp == 2) { + BR13 = (pitch * cpp) | (0xCC << 16) | (1 << 24); + CMD = XY_SRC_COPY_BLT_CMD; + } + else { + BR13 = (pitch * cpp) | (0xCC << 16) | (1 << 24) | (1 << 25); + CMD = (XY_SRC_COPY_BLT_CMD | XY_SRC_COPY_BLT_WRITE_ALPHA | + XY_SRC_COPY_BLT_WRITE_RGB); } + for (i = 0; i < nbox; i++, pbox++) { + drm_clip_rect_t box; - /* The LOCK_HARDWARE is required for the cliprects. Buffer offsets - * should work regardless. - */ - LOCK_HARDWARE(intel); - - if (intel->driDrawable && intel->driDrawable->numClipRects) { - const intelScreenPrivate *intelScreen = intel->intelScreen; - struct gl_framebuffer *fb - = (struct gl_framebuffer *) dPriv->driverPrivate; - const struct intel_region *frontRegion - = intel_get_rb_region(fb, BUFFER_FRONT_LEFT); - const struct intel_region *backRegion - = intel_get_rb_region(fb, BUFFER_BACK_LEFT); - const int nbox = dPriv->numClipRects; - const drm_clip_rect_t *pbox = dPriv->pClipRects; - const int pitch = frontRegion->pitch; - const int cpp = frontRegion->cpp; - int BR13, CMD; - int i; - - ASSERT(fb); - ASSERT(fb->Name == 0); /* Not a user-created FBO */ - ASSERT(frontRegion); - ASSERT(backRegion); - ASSERT(frontRegion->pitch == backRegion->pitch); - ASSERT(frontRegion->cpp == backRegion->cpp); - - if (cpp == 2) { - BR13 = (pitch * cpp) | (0xCC << 16) | (1 << 24); - CMD = XY_SRC_COPY_BLT_CMD; - } - else { - BR13 = (pitch * cpp) | (0xCC << 16) | (1 << 24) | (1 << 25); - CMD = (XY_SRC_COPY_BLT_CMD | XY_SRC_COPY_BLT_WRITE_ALPHA | - XY_SRC_COPY_BLT_WRITE_RGB); - } + if (pbox->x1 > pbox->x2 || + pbox->y1 > pbox->y2 || + pbox->x2 > intelScreen->width || pbox->y2 > intelScreen->height) + continue; - for (i = 0; i < nbox; i++, pbox++) { - drm_clip_rect_t box; + box = *pbox; - if (pbox->x1 > pbox->x2 || - pbox->y1 > pbox->y2 || - pbox->x2 > intelScreen->width || pbox->y2 > intelScreen->height) - continue; + if (rect) { + if (rect->x1 > box.x1) + box.x1 = rect->x1; + if (rect->y1 > box.y1) + box.y1 = rect->y1; + if (rect->x2 < box.x2) + box.x2 = rect->x2; + if (rect->y2 < box.y2) + box.y2 = rect->y2; - box = *pbox; - - if (rect) { - if (rect->x1 > box.x1) - box.x1 = rect->x1; - if (rect->y1 > box.y1) - box.y1 = rect->y1; - if (rect->x2 < box.x2) - box.x2 = rect->x2; - if (rect->y2 < box.y2) - box.y2 = rect->y2; - - if (box.x1 > box.x2 || box.y1 > box.y2) - continue; - } - - BEGIN_BATCH(8, INTEL_BATCH_NO_CLIPRECTS); - OUT_BATCH(CMD); - OUT_BATCH(BR13); - OUT_BATCH((pbox->y1 << 16) | pbox->x1); - OUT_BATCH((pbox->y2 << 16) | pbox->x2); - - if (intel->sarea->pf_current_page == 0) - OUT_RELOC(frontRegion->buffer, - DRM_BO_FLAG_MEM_TT | DRM_BO_FLAG_WRITE, - DRM_BO_MASK_MEM | DRM_BO_FLAG_WRITE, 0); - else - OUT_RELOC(backRegion->buffer, - DRM_BO_FLAG_MEM_TT | DRM_BO_FLAG_WRITE, - DRM_BO_MASK_MEM | DRM_BO_FLAG_WRITE, 0); - OUT_BATCH((pbox->y1 << 16) | pbox->x1); - OUT_BATCH(BR13 & 0xffff); - - if (intel->sarea->pf_current_page == 0) - OUT_RELOC(backRegion->buffer, - DRM_BO_FLAG_MEM_TT | DRM_BO_FLAG_READ, - DRM_BO_MASK_MEM | DRM_BO_FLAG_READ, 0); - else - OUT_RELOC(frontRegion->buffer, - DRM_BO_FLAG_MEM_TT | DRM_BO_FLAG_READ, - DRM_BO_MASK_MEM | DRM_BO_FLAG_READ, 0); - - ADVANCE_BATCH(); + if (box.x1 > box.x2 || box.y1 > box.y2) + continue; } - if (intel->first_swap_fence) - driFenceUnReference(intel->first_swap_fence); - intel->first_swap_fence = intel_batchbuffer_flush(intel->batch); - driFenceReference(intel->first_swap_fence); - } + BEGIN_BATCH(8, INTEL_BATCH_NO_CLIPRECTS); + OUT_BATCH(CMD); + OUT_BATCH(BR13); + OUT_BATCH((pbox->y1 << 16) | pbox->x1); + OUT_BATCH((pbox->y2 << 16) | pbox->x2); - UNLOCK_HARDWARE(intel); - } + OUT_RELOC(frontRegion->buffer, DRM_BO_FLAG_MEM_TT | DRM_BO_FLAG_WRITE, + DRM_BO_MASK_MEM | DRM_BO_FLAG_WRITE, 0); + OUT_BATCH((pbox->y1 << 16) | pbox->x1); + OUT_BATCH(BR13 & 0xffff); + OUT_RELOC(backRegion->buffer, DRM_BO_FLAG_MEM_TT | DRM_BO_FLAG_READ, + DRM_BO_MASK_MEM | DRM_BO_FLAG_READ, 0); - if (!rect) { - intel->swap_count++; - (*dri_interface->getUST) (&ust); - if (missed_target) { - intel->swap_missed_count++; - intel->swap_missed_ust = ust - intel->swap_ust; + ADVANCE_BATCH(); } - intel->swap_ust = ust; + if (intel->first_swap_fence) + driFenceUnReference(intel->first_swap_fence); + intel->first_swap_fence = intel_batchbuffer_flush(intel->batch); + driFenceReference(intel->first_swap_fence); } + + UNLOCK_HARDWARE(intel); } @@ -406,6 +335,7 @@ void intelClearWithBlit(GLcontext * ctx, GLbitfield mask) { struct intel_context *intel = intel_context(ctx); + struct gl_framebuffer *fb = ctx->DrawBuffer; GLuint clear_depth; GLbitfield skipBuffers = 0; BATCH_LOCALS; @@ -417,7 +347,7 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) */ clear_depth = 0; if (mask & BUFFER_BIT_DEPTH) { - clear_depth = (GLuint) (ctx->DrawBuffer->_DepthMax * ctx->Depth.Clear); + clear_depth = (GLuint) (fb->_DepthMax * ctx->Depth.Clear); } if (mask & BUFFER_BIT_STENCIL) { clear_depth |= (ctx->Stencil.Clear & 0xff) << 24; @@ -440,12 +370,12 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) int i; /* Get clear bounds after locking */ - cx = ctx->DrawBuffer->_Xmin; - cy = ctx->DrawBuffer->_Ymin; - cw = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin; - ch = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin; + cx = fb->_Xmin; + cy = fb->_Ymin; + cw = fb->_Xmax - cx; + ch = fb->_Ymax - cy; - if (intel->ctx.DrawBuffer->Name == 0) { + if (fb->Name == 0) { /* clearing a window */ /* flip top to bottom */ @@ -453,16 +383,6 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) clear.y1 = intel->driDrawable->y + intel->driDrawable->h - cy - ch; clear.x2 = clear.x1 + cw; clear.y2 = clear.y1 + ch; - - /* adjust for page flipping */ - if (intel->sarea->pf_current_page == 1) { - const GLuint tmp = mask; - mask &= ~(BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT); - if (tmp & BUFFER_BIT_FRONT_LEFT) - mask |= BUFFER_BIT_BACK_LEFT; - if (tmp & BUFFER_BIT_BACK_LEFT) - mask |= BUFFER_BIT_FRONT_LEFT; - } } else { /* clearing FBO */ @@ -480,8 +400,7 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) drm_clip_rect_t b; GLuint buf; GLuint clearMask = mask; /* use copy, since we modify it below */ - GLboolean all = (cw == ctx->DrawBuffer->Width && - ch == ctx->DrawBuffer->Height); + GLboolean all = (cw == fb->Width && ch == fb->Height); if (!all) { intel_intersect_cliprects(&b, &clear, box); @@ -490,6 +409,9 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) b = *box; } + if (b.x1 >= b.x2 || b.y1 >= b.y2) + continue; + if (0) _mesa_printf("clear %d,%d..%d,%d, mask %x\n", b.x1, b.y1, b.x2, b.y2, mask); @@ -499,11 +421,10 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) const GLbitfield bufBit = 1 << buf; if ((clearMask & bufBit) && !(bufBit & skipBuffers)) { /* OK, clear this renderbuffer */ - const struct intel_renderbuffer *irb - = intel_renderbuffer(ctx->DrawBuffer-> - Attachment[buf].Renderbuffer); + struct intel_region *irb_region = + intel_get_rb_region(fb, buf); struct _DriBufferObject *write_buffer = - intel_region_buffer(intel->intelScreen, irb->region, + intel_region_buffer(intel->intelScreen, irb_region, all ? INTEL_WRITE_FULL : INTEL_WRITE_PART); @@ -511,16 +432,15 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) GLint pitch, cpp; GLuint BR13, CMD; - ASSERT(irb); - ASSERT(irb->region); + ASSERT(irb_region); - pitch = irb->region->pitch; - cpp = irb->region->cpp; + pitch = irb_region->pitch; + cpp = irb_region->cpp; DBG("%s dst:buf(%p)/%d+%d %d,%d sz:%dx%d\n", __FUNCTION__, - irb->region->buffer, (pitch * cpp), - irb->region->draw_offset, + irb_region->buffer, (pitch * cpp), + irb_region->draw_offset, b.x1, b.y1, b.x2 - b.x1, b.y2 - b.y1); @@ -558,6 +478,8 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) _mesa_debug(ctx, "hardware blit clear buf %d rb id %d\n", buf, irb->Base.Name); */ + intel_wait_flips(intel, INTEL_BATCH_NO_CLIPRECTS); + BEGIN_BATCH(6, INTEL_BATCH_NO_CLIPRECTS); OUT_BATCH(CMD); OUT_BATCH(BR13); @@ -565,7 +487,7 @@ intelClearWithBlit(GLcontext * ctx, GLbitfield mask) OUT_BATCH((b.y2 << 16) | b.x2); OUT_RELOC(write_buffer, DRM_BO_FLAG_MEM_TT | DRM_BO_FLAG_WRITE, DRM_BO_MASK_MEM | DRM_BO_FLAG_WRITE, - irb->region->draw_offset); + irb_region->draw_offset); OUT_BATCH(clearVal); ADVANCE_BATCH(); clearMask &= ~bufBit; /* turn off bit, for faster loop exit */ diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_buffers.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_buffers.c index a6b329862..78fb720b6 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_buffers.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_buffers.c @@ -34,13 +34,32 @@ #include "intel_tris.h" #include "intel_regions.h" #include "intel_batchbuffer.h" +#include "intel_reg.h" #include "context.h" #include "utils.h" +#include "drirenderbuffer.h" #include "framebuffer.h" #include "swrast/swrast.h" #include "vblank.h" +/* This block can be removed when libdrm >= 2.3.1 is required */ + +#ifndef DRM_VBLANK_FLIP + +#define DRM_VBLANK_FLIP 0x8000000 + +typedef struct drm_i915_flip { + int pipes; +} drm_i915_flip_t; + +#undef DRM_IOCTL_I915_FLIP +#define DRM_IOCTL_I915_FLIP DRM_IOW(DRM_COMMAND_BASE + DRM_I915_FLIP, \ + drm_i915_flip_t) + +#endif + + /** * XXX move this into a new dri/common/cliprects.c file. */ @@ -154,11 +173,14 @@ static void intelSetBackClipRects(struct intel_context *intel) { __DRIdrawablePrivate *dPriv = intel->driDrawable; + struct intel_framebuffer *intel_fb; if (!dPriv) return; - if (intel->sarea->pf_enabled == 0 && dPriv->numBackClipRects == 0) { + intel_fb = dPriv->driverPrivate; + + if (intel_fb->pf_active || dPriv->numBackClipRects == 0) { /* use the front clip rects */ intel->numClipRects = dPriv->numClipRects; intel->pClipRects = dPriv->pClipRects; @@ -183,6 +205,8 @@ void intelWindowMoved(struct intel_context *intel) { GLcontext *ctx = &intel->ctx; + __DRIdrawablePrivate *dPriv = intel->driDrawable; + struct intel_framebuffer *intel_fb = dPriv->driverPrivate; if (!intel->ctx.DrawBuffer) { /* when would this happen? -BP */ @@ -194,7 +218,7 @@ intelWindowMoved(struct intel_context *intel) } else { /* drawing to a window */ - switch (intel->ctx.DrawBuffer->_ColorDrawBufferMask[0]) { + switch (intel_fb->Base._ColorDrawBufferMask[0]) { case BUFFER_BIT_FRONT_LEFT: intelSetFrontClipRects(intel); break; @@ -207,14 +231,7 @@ intelWindowMoved(struct intel_context *intel) } } - /* this update Mesa's notion of window size */ - if (ctx->WinSysDrawBuffer) { - _mesa_resize_framebuffer(ctx, ctx->WinSysDrawBuffer, - intel->driDrawable->w, intel->driDrawable->h); - } - - if (intel->intelScreen->driScrnPriv->ddxMinor >= 7 && intel->driDrawable) { - __DRIdrawablePrivate *dPriv = intel->driDrawable; + if (intel->intelScreen->driScrnPriv->ddxMinor >= 7) { drmI830Sarea *sarea = intel->sarea; drm_clip_rect_t drw_rect = { .x1 = dPriv->x, .x2 = dPriv->x + dPriv->w, .y1 = dPriv->y, .y2 = dPriv->y + dPriv->h }; @@ -226,25 +243,123 @@ intelWindowMoved(struct intel_context *intel) .y2 = sarea->pipeB_y + sarea->pipeB_h }; GLint areaA = driIntersectArea( drw_rect, pipeA_rect ); GLint areaB = driIntersectArea( drw_rect, pipeB_rect ); - GLuint flags = intel->vblank_flags; + GLuint flags = intel_fb->vblank_flags; + GLboolean pf_active; + GLint pf_pipes; + /* Update page flipping info + */ + pf_pipes = 0; + + if (areaA > 0) + pf_pipes |= 1; + + if (areaB > 0) + pf_pipes |= 2; + + intel_fb->pf_current_page = (intel->sarea->pf_current_page >> + (intel_fb->pf_pipes & 0x2)) & 0x3; + + intel_fb->pf_num_pages = intel->intelScreen->third.handle ? 3 : 2; + + pf_active = pf_pipes && (pf_pipes & intel->sarea->pf_active) == pf_pipes; + + if (INTEL_DEBUG & DEBUG_LOCK) + if (pf_active != intel_fb->pf_active) + _mesa_printf("%s - Page flipping %sactive\n", __progname, + pf_active ? "" : "in"); + + if (pf_active) { + /* Sync pages between pipes if we're flipping on both at the same time */ + if (pf_pipes == 0x3 && pf_pipes != intel_fb->pf_pipes && + (intel->sarea->pf_current_page & 0x3) != + (((intel->sarea->pf_current_page) >> 2) & 0x3)) { + drm_i915_flip_t flip; + + if (intel_fb->pf_current_page == + (intel->sarea->pf_current_page & 0x3)) { + /* XXX: This is ugly, but emitting two flips 'in a row' can cause + * lockups for unknown reasons. + */ + intel->sarea->pf_current_page = + intel->sarea->pf_current_page & 0x3; + intel->sarea->pf_current_page |= + ((intel_fb->pf_current_page + intel_fb->pf_num_pages - 1) % + intel_fb->pf_num_pages) << 2; + + flip.pipes = 0x2; + } else { + intel->sarea->pf_current_page = + intel->sarea->pf_current_page & (0x3 << 2); + intel->sarea->pf_current_page |= + (intel_fb->pf_current_page + intel_fb->pf_num_pages - 1) % + intel_fb->pf_num_pages; + + flip.pipes = 0x1; + } + + drmCommandWrite(intel->driFd, DRM_I915_FLIP, &flip, sizeof(flip)); + } + + intel_fb->pf_pipes = pf_pipes; + } + + intel_fb->pf_active = pf_active; + intel_flip_renderbuffers(intel_fb); + intel_draw_buffer(&intel->ctx, intel->ctx.DrawBuffer); + + /* Update vblank info + */ if (areaB > areaA || (areaA == areaB && areaB > 0)) { - flags = intel->vblank_flags | VBLANK_FLAG_SECONDARY; + flags = intel_fb->vblank_flags | VBLANK_FLAG_SECONDARY; } else { - flags = intel->vblank_flags & ~VBLANK_FLAG_SECONDARY; + flags = intel_fb->vblank_flags & ~VBLANK_FLAG_SECONDARY; } - if (flags != intel->vblank_flags) { - intel->vblank_flags = flags; - driGetCurrentVBlank(dPriv, intel->vblank_flags, &intel->vbl_seq); + if (flags != intel_fb->vblank_flags && intel_fb->vblank_flags && + !(intel_fb->vblank_flags & VBLANK_FLAG_NO_IRQ)) { + drmVBlank vbl; + int i; + + vbl.request.type = DRM_VBLANK_ABSOLUTE; + + if ( intel_fb->vblank_flags & VBLANK_FLAG_SECONDARY ) { + vbl.request.type |= DRM_VBLANK_SECONDARY; + } + + for (i = 0; i < intel_fb->pf_num_pages; i++) { + if (!intel_fb->color_rb[i] || + (intel_fb->vbl_waited - intel_fb->color_rb[i]->vbl_pending) <= + (1<<23)) + continue; + + vbl.request.sequence = intel_fb->color_rb[i]->vbl_pending; + drmWaitVBlank(intel->driFd, &vbl); + } + + intel_fb->vblank_flags = flags; + driGetCurrentVBlank(dPriv, intel_fb->vblank_flags, &intel_fb->vbl_seq); + intel_fb->vbl_waited = intel_fb->vbl_seq; + + for (i = 0; i < intel_fb->pf_num_pages; i++) { + if (intel_fb->color_rb[i]) + intel_fb->color_rb[i]->vbl_pending = intel_fb->vbl_waited; + } } } else { - intel->vblank_flags &= ~VBLANK_FLAG_SECONDARY; + intel_fb->vblank_flags &= ~VBLANK_FLAG_SECONDARY; } + /* Update Mesa's notion of window size */ + driUpdateFramebufferSize(ctx, dPriv); + intel_fb->Base.Initialized = GL_TRUE; /* XXX remove someday */ + /* Update hardware scissor */ ctx->Driver.Scissor(ctx, ctx->Scissor.X, ctx->Scissor.Y, ctx->Scissor.Width, ctx->Scissor.Height); + + /* Re-calculate viewport related state */ + ctx->Driver.DepthRange( ctx, ctx->Viewport.Near, ctx->Viewport.Far ); } @@ -256,6 +371,7 @@ static void intelClearWithTris(struct intel_context *intel, GLbitfield mask) { GLcontext *ctx = &intel->ctx; + struct gl_framebuffer *fb = ctx->DrawBuffer; drm_clip_rect_t clear; if (INTEL_DEBUG & DEBUG_BLIT) @@ -271,10 +387,10 @@ intelClearWithTris(struct intel_context *intel, GLbitfield mask) intel->vtbl.install_meta_state(intel); /* Get clear bounds after locking */ - cx = ctx->DrawBuffer->_Xmin; - cy = ctx->DrawBuffer->_Ymin; - ch = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin; - cw = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin; + cx = fb->_Xmin; + cy = fb->_Ymin; + ch = fb->_Ymax - cx; + cw = fb->_Xmax - cy; /* note: regardless of 'all', cx, cy, cw, ch are now correct */ clear.x1 = cx; @@ -288,9 +404,9 @@ intelClearWithTris(struct intel_context *intel, GLbitfield mask) if (mask & (BUFFER_BIT_BACK_LEFT | BUFFER_BIT_STENCIL | BUFFER_BIT_DEPTH)) { struct intel_region *backRegion = - intel_get_rb_region(ctx->DrawBuffer, BUFFER_BACK_LEFT); + intel_get_rb_region(fb, BUFFER_BACK_LEFT); struct intel_region *depthRegion = - intel_get_rb_region(ctx->DrawBuffer, BUFFER_DEPTH); + intel_get_rb_region(fb, BUFFER_DEPTH); const GLuint clearColor = (backRegion && backRegion->cpp == 4) ? intel->ClearColor8888 : intel->ClearColor565; @@ -327,8 +443,7 @@ intelClearWithTris(struct intel_context *intel, GLbitfield mask) const GLuint bufBit = 1 << buf; if (mask & bufBit) { struct intel_renderbuffer *irbColor = - intel_renderbuffer(ctx->DrawBuffer-> - Attachment[buf].Renderbuffer); + intel_renderbuffer(fb->Attachment[buf].Renderbuffer); GLuint color = (irbColor->region->cpp == 4) ? intel->ClearColor8888 : intel->ClearColor565; @@ -369,6 +484,7 @@ intelRotateWindow(struct intel_context *intel, { intelScreenPrivate *screen = intel->intelScreen; drm_clip_rect_t fullRect; + struct intel_framebuffer *intel_fb; struct intel_region *src; const drm_clip_rect_t *clipRects; int numClipRects; @@ -418,16 +534,18 @@ intelRotateWindow(struct intel_context *intel, intel->vtbl.meta_draw_region(intel, screen->rotated_region, NULL); /* ? */ - if (srcBuf == BUFFER_BIT_FRONT_LEFT) { - src = intel->intelScreen->front_region; - clipRects = dPriv->pClipRects; - numClipRects = dPriv->numClipRects; - } - else { - src = intel->intelScreen->back_region; + intel_fb = dPriv->driverPrivate; + + if ((srcBuf == BUFFER_BIT_BACK_LEFT && !intel_fb->pf_active)) { + src = intel_get_rb_region(&intel_fb->Base, BUFFER_BACK_LEFT); clipRects = dPriv->pBackClipRects; numClipRects = dPriv->numBackClipRects; } + else { + src = intel_get_rb_region(&intel_fb->Base, BUFFER_FRONT_LEFT); + clipRects = dPriv->pClipRects; + numClipRects = dPriv->numClipRects; + } if (src->cpp == 4) { format = GL_BGRA; @@ -513,6 +631,7 @@ intelClear(GLcontext *ctx, GLbitfield mask) GLbitfield tri_mask = 0; GLbitfield blit_mask = 0; GLbitfield swrast_mask = 0; + struct gl_framebuffer *fb = ctx->DrawBuffer; GLuint i; if (0) @@ -532,7 +651,7 @@ intelClear(GLcontext *ctx, GLbitfield mask) /* HW stencil */ if (mask & BUFFER_BIT_STENCIL) { const struct intel_region *stencilRegion - = intel_get_rb_region(ctx->DrawBuffer, BUFFER_STENCIL); + = intel_get_rb_region(fb, BUFFER_STENCIL); if (stencilRegion) { /* have hw stencil */ if ((ctx->Stencil.WriteMask[0] & 0xff) != 0xff) { @@ -561,7 +680,7 @@ intelClear(GLcontext *ctx, GLbitfield mask) for (i = 0; i < BUFFER_COUNT; i++) { GLuint bufBit = 1 << i; if ((blit_mask | tri_mask) & bufBit) { - if (!ctx->DrawBuffer->Attachment[i].Renderbuffer->ClassID) { + if (!fb->Attachment[i].Renderbuffer->ClassID) { blit_mask &= ~bufBit; tri_mask &= ~bufBit; swrast_mask |= bufBit; @@ -583,15 +702,43 @@ intelClear(GLcontext *ctx, GLbitfield mask) } +/* Emit wait for pending flips */ +void +intel_wait_flips(struct intel_context *intel, GLuint batch_flags) +{ + struct intel_framebuffer *intel_fb = + (struct intel_framebuffer *) intel->ctx.DrawBuffer; + struct intel_renderbuffer *intel_rb = + intel_get_renderbuffer(&intel_fb->Base, + intel_fb->Base._ColorDrawBufferMask[0] == + BUFFER_BIT_FRONT_LEFT ? BUFFER_FRONT_LEFT : + BUFFER_BACK_LEFT); + + if (intel_fb->Base.Name == 0 && intel_rb->pf_pending == intel_fb->pf_seq) { + GLint pf_pipes = intel_fb->pf_pipes; + BATCH_LOCALS; + + /* Wait for pending flips to take effect */ + BEGIN_BATCH(2, batch_flags); + OUT_BATCH(pf_pipes & 0x1 ? (MI_WAIT_FOR_EVENT | MI_WAIT_FOR_PLANE_A_FLIP) + : 0); + OUT_BATCH(pf_pipes & 0x2 ? (MI_WAIT_FOR_EVENT | MI_WAIT_FOR_PLANE_B_FLIP) + : 0); + ADVANCE_BATCH(); + + intel_rb->pf_pending--; + } +} + /* Flip the front & back buffers */ -static void +static GLboolean intelPageFlip(const __DRIdrawablePrivate * dPriv) { -#if 0 struct intel_context *intel; - int tmp, ret; + int ret; + struct intel_framebuffer *intel_fb = dPriv->driverPrivate; if (INTEL_DEBUG & DEBUG_IOCTL) fprintf(stderr, "%s\n", __FUNCTION__); @@ -602,28 +749,45 @@ intelPageFlip(const __DRIdrawablePrivate * dPriv) intel = (struct intel_context *) dPriv->driContextPriv->driverPrivate; + if (intel->intelScreen->drmMinor < 9) + return GL_FALSE; + intelFlush(&intel->ctx); + + ret = 0; + LOCK_HARDWARE(intel); - if (dPriv->pClipRects) { - *(drm_clip_rect_t *) intel->sarea->boxes = dPriv->pClipRects[0]; - intel->sarea->nbox = 1; - } + if (dPriv->numClipRects && intel_fb->pf_active) { + drm_i915_flip_t flip; - ret = drmCommandNone(intel->driFd, DRM_I830_FLIP); - if (ret) { - fprintf(stderr, "%s: %d\n", __FUNCTION__, ret); - UNLOCK_HARDWARE(intel); - exit(1); + flip.pipes = intel_fb->pf_pipes; + + ret = drmCommandWrite(intel->driFd, DRM_I915_FLIP, &flip, sizeof(flip)); } - tmp = intel->sarea->last_enqueue; - intelRefillBatchLocked(intel); UNLOCK_HARDWARE(intel); + if (ret || !intel_fb->pf_active) + return GL_FALSE; - intelSetDrawBuffer(&intel->ctx, intel->ctx.Color.DriverDrawBuffer); -#endif + if (!dPriv->numClipRects) { + usleep(10000); /* throttle invisible client 10ms */ + } + + intel_fb->pf_current_page = (intel->sarea->pf_current_page >> + (intel_fb->pf_pipes & 0x2)) & 0x3; + + if (dPriv->numClipRects != 0) { + intel_get_renderbuffer(&intel_fb->Base, BUFFER_FRONT_LEFT)->pf_pending = + intel_get_renderbuffer(&intel_fb->Base, BUFFER_BACK_LEFT)->pf_pending = + ++intel_fb->pf_seq; + } + + intel_flip_renderbuffers(intel_fb); + intel_draw_buffer(&intel->ctx, &intel_fb->Base); + + return GL_TRUE; } #if 0 @@ -638,7 +802,7 @@ intelSwapBuffers(__DRIdrawablePrivate * dPriv) if (ctx && ctx->DrawBuffer == fb) { _mesa_notifySwapBuffers(ctx); /* flush pending rendering */ } - if (0 /*intel->doPageFlip */ ) { /* doPageFlip is never set !!! */ + if (intel->doPageFlip) { intelPageFlip(dPriv); } else { @@ -654,6 +818,84 @@ intelSwapBuffers(__DRIdrawablePrivate * dPriv) #else /* Trunk version: */ + +static GLboolean +intelScheduleSwap(const __DRIdrawablePrivate * dPriv, GLboolean *missed_target) +{ + struct intel_framebuffer *intel_fb = dPriv->driverPrivate; + unsigned int interval = driGetVBlankInterval(dPriv, intel_fb->vblank_flags); + struct intel_context *intel = + intelScreenContext(dPriv->driScreenPriv->private); + const intelScreenPrivate *intelScreen = intel->intelScreen; + unsigned int target; + drm_i915_vblank_swap_t swap; + GLboolean ret; + + if (!intel_fb->vblank_flags || + (intel_fb->vblank_flags & VBLANK_FLAG_NO_IRQ) || + intelScreen->current_rotation != 0 || + intelScreen->drmMinor < (intel_fb->pf_active ? 9 : 6)) + return GL_FALSE; + + swap.seqtype = DRM_VBLANK_ABSOLUTE; + + if (intel_fb->vblank_flags & VBLANK_FLAG_SYNC) { + swap.seqtype |= DRM_VBLANK_NEXTONMISS; + } else if (interval == 0) { + return GL_FALSE; + } + + swap.drawable = dPriv->hHWDrawable; + target = swap.sequence = intel_fb->vbl_seq + interval; + + if ( intel_fb->vblank_flags & VBLANK_FLAG_SECONDARY ) { + swap.seqtype |= DRM_VBLANK_SECONDARY; + } + + LOCK_HARDWARE(intel); + + intel_batchbuffer_flush(intel->batch); + + if ( intel_fb->pf_active ) { + swap.seqtype |= DRM_VBLANK_FLIP; + + intel_fb->pf_current_page = (((intel->sarea->pf_current_page >> + (intel_fb->pf_pipes & 0x2)) & 0x3) + 1) % + intel_fb->pf_num_pages; + } + + if (!drmCommandWriteRead(intel->driFd, DRM_I915_VBLANK_SWAP, &swap, + sizeof(swap))) { + intel_fb->vbl_seq = swap.sequence; + swap.sequence -= target; + *missed_target = swap.sequence > 0 && swap.sequence <= (1 << 23); + + intel_get_renderbuffer(&intel_fb->Base, BUFFER_BACK_LEFT)->vbl_pending = + intel_get_renderbuffer(&intel_fb->Base, + BUFFER_FRONT_LEFT)->vbl_pending = + intel_fb->vbl_seq; + + if (swap.seqtype & DRM_VBLANK_FLIP) { + intel_flip_renderbuffers(intel_fb); + intel_draw_buffer(&intel->ctx, intel->ctx.DrawBuffer); + } + + ret = GL_TRUE; + } else { + if (swap.seqtype & DRM_VBLANK_FLIP) { + intel_fb->pf_current_page = ((intel->sarea->pf_current_page >> + (intel_fb->pf_pipes & 0x2)) & 0x3) % + intel_fb->pf_num_pages; + } + + ret = GL_FALSE; + } + + UNLOCK_HARDWARE(intel); + + return ret; +} + void intelSwapBuffers(__DRIdrawablePrivate * dPriv) { @@ -668,16 +910,34 @@ intelSwapBuffers(__DRIdrawablePrivate * dPriv) if (ctx->Visual.doubleBufferMode) { intelScreenPrivate *screen = intel->intelScreen; - _mesa_notifySwapBuffers(ctx); /* flush pending rendering comands */ - if (0 /*intel->doPageFlip */ ) { /* doPageFlip is never set !!! */ - intelPageFlip(dPriv); - } - else { - intelCopyBuffer(dPriv, NULL); - } - if (screen->current_rotation != 0) { - intelRotateWindow(intel, dPriv, BUFFER_BIT_FRONT_LEFT); - } + GLboolean missed_target; + struct intel_framebuffer *intel_fb = dPriv->driverPrivate; + int64_t ust; + + _mesa_notifySwapBuffers(ctx); /* flush pending rendering comands */ + + if (screen->current_rotation != 0 || + !intelScheduleSwap(dPriv, &missed_target)) { + driWaitForVBlank(dPriv, &intel_fb->vbl_seq, intel_fb->vblank_flags, + &missed_target); + + if (screen->current_rotation != 0 || !intelPageFlip(dPriv)) { + intelCopyBuffer(dPriv, NULL); + } + + if (screen->current_rotation != 0) { + intelRotateWindow(intel, dPriv, BUFFER_BIT_FRONT_LEFT); + } + } + + intel_fb->swap_count++; + (*dri_interface->getUST) (&ust); + if (missed_target) { + intel_fb->swap_missed_count++; + intel_fb->swap_missed_ust = ust - intel_fb->swap_ust; + } + + intel_fb->swap_ust = ust; } } else { @@ -785,10 +1045,6 @@ intel_draw_buffer(GLcontext * ctx, struct gl_framebuffer *fb) */ if (fb->Name == 0) { /* drawing to window system buffer */ - if (intel->sarea->pf_current_page == 1) { - /* page flipped back/front */ - front ^= 1; - } if (front) { intelSetFrontClipRects(intel); colorRegion = intel_get_rb_region(fb, BUFFER_FRONT_LEFT); @@ -868,6 +1124,15 @@ intel_draw_buffer(GLcontext * ctx, struct gl_framebuffer *fb) ctx->Driver.Enable(ctx, GL_STENCIL_TEST, ctx->Stencil.Enabled); } + /* + * Update depth test state + */ + if (ctx->Depth.Test && fb->Visual.depthBits > 0) { + ctx->Driver.Enable(ctx, GL_DEPTH_TEST, GL_TRUE); + } + else { + ctx->Driver.Enable(ctx, GL_DEPTH_TEST, GL_FALSE); + } /** ** Release old regions, reference new regions diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_context.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_context.c index c77d36536..40ea75641 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_context.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_context.c @@ -33,11 +33,11 @@ #include "extensions.h" #include "framebuffer.h" #include "imports.h" +#include "points.h" #include "swrast/swrast.h" #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" -#include "array_cache/acache.h" #include "tnl/t_pipeline.h" #include "tnl/t_vertex.h" @@ -60,6 +60,7 @@ #include "intel_buffer_objects.h" #include "intel_fbo.h" +#include "drirenderbuffer.h" #include "vblank.h" #include "utils.h" #include "xmlpool.h" /* for symbolic values of enum-type options */ @@ -129,6 +130,18 @@ intelGetString(GLcontext * ctx, GLenum name) case PCI_CHIP_I945_GM: chipset = "Intel(R) 945GM"; break; + case PCI_CHIP_I945_GME: + chipset = "Intel(R) 945GME"; + break; + case PCI_CHIP_G33_G: + chipset = "Intel(R) G33"; + break; + case PCI_CHIP_Q35_G: + chipset = "Intel(R) Q35"; + break; + case PCI_CHIP_Q33_G: + chipset = "Intel(R) Q33"; + break; default: chipset = "Unknown Intel Chipset"; break; @@ -208,7 +221,6 @@ static const struct tnl_pipeline_stage *intel_pipeline[] = { &_tnl_texgen_stage, &_tnl_texture_transform_stage, &_tnl_point_attenuation_stage, - &_tnl_arb_vertex_program_stage, &_tnl_vertex_program_stage, #if 1 &_intel_render_stage, /* ADD: unclipped rastersetup-to-dma */ @@ -241,7 +253,7 @@ intelInvalidateState(GLcontext * ctx, GLuint new_state) { _swrast_InvalidateState(ctx, new_state); _swsetup_InvalidateState(ctx, new_state); - _ac_InvalidateState(ctx, new_state); + _vbo_InvalidateState(ctx, new_state); _tnl_InvalidateState(ctx, new_state); _tnl_invalidate_vertex_state(ctx, new_state); intel_context(ctx)->NewGLState |= new_state; @@ -346,7 +358,15 @@ intelInitContext(struct intel_context *intel, drmI830Sarea *saPriv = (drmI830Sarea *) (((GLubyte *) sPriv->pSAREA) + intelScreen->sarea_priv_offset); int fthrottle_mode; + GLboolean havePools; + + DRM_LIGHT_LOCK(sPriv->fd, &sPriv->pSAREA->lock, driContextPriv->hHWContext); + havePools = intelCreatePools(intelScreen); + DRM_UNLOCK(sPriv->fd, &sPriv->pSAREA->lock, driContextPriv->hHWContext); + if (!havePools) + return GL_FALSE; + if (!_mesa_initialize_context(&intel->ctx, mesaVis, shareCtx, functions, (void *) intel)) @@ -357,6 +377,10 @@ intelInitContext(struct intel_context *intel, intel->driScreen = sPriv; intel->sarea = saPriv; + intel->width = intelScreen->width; + intel->height = intelScreen->height; + intel->current_rotation = intelScreen->current_rotation; + if (!lockMutexInit) { lockMutexInit = GL_TRUE; _glthread_INIT_MUTEX(lockMutex); @@ -386,11 +410,16 @@ intelInitContext(struct intel_context *intel, ctx->Const.MaxPointSizeAA = 3.0; ctx->Const.PointSizeGranularity = 1.0; + /* reinitialize the context point state. + * It depend on constants in __GLcontextRec::Const + */ + _mesa_init_point(ctx); + ctx->Const.MaxColorAttachments = 4; /* XXX FBO: review this */ /* Initialize the software rasterizer and helper modules. */ _swrast_CreateContext(ctx); - _ac_CreateContext(ctx); + _vbo_CreateContext(ctx); _tnl_CreateContext(ctx); _swsetup_CreateContext(ctx); @@ -439,10 +468,6 @@ intelInitContext(struct intel_context *intel, intel->do_usleeps = (fthrottle_mode == DRI_CONF_FTHROTTLE_USLEEPS); - intel->vblank_flags = (intel->intelScreen->irq_active != 0) - ? driGetDefaultVBlankFlags(&intel->optionCache) : VBLANK_FLAG_NO_IRQ; - - (*dri_interface->getUST) (&intel->swap_ust); _math_matrix_ctr(&intel->ViewportMatrix); /* Disable imaging extension until convolution is working in @@ -500,7 +525,7 @@ intelDestroyContext(__DRIcontextPrivate * driContextPriv) release_texture_heaps = (intel->ctx.Shared->RefCount == 1); _swsetup_DestroyContext(&intel->ctx); _tnl_DestroyContext(&intel->ctx); - _ac_DestroyContext(&intel->ctx); + _vbo_DestroyContext(&intel->ctx); _swrast_DestroyContext(&intel->ctx); intel->Fallback = 0; /* don't call _swrast_Flush later */ @@ -547,27 +572,30 @@ intelMakeCurrent(__DRIcontextPrivate * driContextPriv, if (driContextPriv) { struct intel_context *intel = (struct intel_context *) driContextPriv->driverPrivate; - GLframebuffer *drawFb = (GLframebuffer *) driDrawPriv->driverPrivate; + struct intel_framebuffer *intel_fb = + (struct intel_framebuffer *) driDrawPriv->driverPrivate; GLframebuffer *readFb = (GLframebuffer *) driReadPriv->driverPrivate; /* XXX FBO temporary fix-ups! */ /* if the renderbuffers don't have regions, init them from the context */ { - struct intel_renderbuffer *irbFront - = intel_get_renderbuffer(drawFb, BUFFER_FRONT_LEFT); - struct intel_renderbuffer *irbBack - = intel_get_renderbuffer(drawFb, BUFFER_BACK_LEFT); struct intel_renderbuffer *irbDepth - = intel_get_renderbuffer(drawFb, BUFFER_DEPTH); + = intel_get_renderbuffer(&intel_fb->Base, BUFFER_DEPTH); struct intel_renderbuffer *irbStencil - = intel_get_renderbuffer(drawFb, BUFFER_STENCIL); + = intel_get_renderbuffer(&intel_fb->Base, BUFFER_STENCIL); - if (irbFront && !irbFront->region) { - intel_region_reference(&irbFront->region, intel->intelScreen->front_region); + if (intel_fb->color_rb[0] && !intel_fb->color_rb[0]->region) { + intel_region_reference(&intel_fb->color_rb[0]->region, + intel->intelScreen->front_region); } - if (irbBack && !irbBack->region) { - intel_region_reference(&irbBack->region, intel->intelScreen->back_region); + if (intel_fb->color_rb[1] && !intel_fb->color_rb[1]->region) { + intel_region_reference(&intel_fb->color_rb[1]->region, + intel->intelScreen->back_region); + } + if (intel_fb->color_rb[2] && !intel_fb->color_rb[2]->region) { + intel_region_reference(&intel_fb->color_rb[2]->region, + intel->intelScreen->third_region); } if (irbDepth && !irbDepth->region) { intel_region_reference(&irbDepth->region, intel->intelScreen->depth_region); @@ -577,29 +605,42 @@ intelMakeCurrent(__DRIcontextPrivate * driContextPriv, } } - /* set initial GLframebuffer size to match window, if needed */ - if (drawFb->Width == 0 && driDrawPriv->w) { - _mesa_resize_framebuffer(&intel->ctx, drawFb, - driDrawPriv->w, driDrawPriv->h); - } - if (readFb->Width == 0 && driReadPriv->w) { - _mesa_resize_framebuffer(&intel->ctx, readFb, - driReadPriv->w, driReadPriv->h); - } + /* set GLframebuffer size to match window, if needed */ + driUpdateFramebufferSize(&intel->ctx, driDrawPriv); + + if (driReadPriv != driDrawPriv) { + driUpdateFramebufferSize(&intel->ctx, driReadPriv); + } - _mesa_make_current(&intel->ctx, drawFb, readFb); + _mesa_make_current(&intel->ctx, &intel_fb->Base, readFb); /* The drawbuffer won't always be updated by _mesa_make_current: */ - if (intel->ctx.DrawBuffer == drawFb) { + if (intel->ctx.DrawBuffer == &intel_fb->Base) { if (intel->driDrawable != driDrawPriv) { - driDrawableInitVBlank(driDrawPriv, intel->vblank_flags, &intel->vbl_seq); + if (driDrawPriv->pdraw->swap_interval == (unsigned)-1) { + int i; + + intel_fb->vblank_flags = (intel->intelScreen->irq_active != 0) + ? driGetDefaultVBlankFlags(&intel->optionCache) + : VBLANK_FLAG_NO_IRQ; + + (*dri_interface->getUST) (&intel_fb->swap_ust); + driDrawableInitVBlank(driDrawPriv, intel_fb->vblank_flags, + &intel_fb->vbl_seq); + intel_fb->vbl_waited = intel_fb->vbl_seq; + + for (i = 0; i < (intel->intelScreen->third.handle ? 3 : 2); i++) { + if (intel_fb->color_rb[i]) + intel_fb->color_rb[i]->vbl_pending = intel_fb->vbl_seq; + } + } intel->driDrawable = driDrawPriv; intelWindowMoved(intel); } - intel_draw_buffer(&intel->ctx, drawFb); + intel_draw_buffer(&intel->ctx, &intel_fb->Base); } } else { @@ -635,26 +676,40 @@ intelContendedLock(struct intel_context *intel, GLuint flags) sarea->rotation != intelScreen->current_rotation) { intelUpdateScreenRotation(sPriv, sarea); + } + + if (sarea->width != intel->width || + sarea->height != intel->height || + sarea->rotation != intel->current_rotation) { + int numClipRects = intel->numClipRects; + + /* + * FIXME: Really only need to do this when drawing to a + * common back- or front buffer. + */ - /* - * This will drop the outstanding batchbuffer on the floor - * FIXME: This should be done for all contexts? + /* + * This will essentially drop the outstanding batchbuffer on the floor. */ + intel->numClipRects = 0; + + if (intel->Fallback) + _swrast_flush(&intel->ctx); - intel_batchbuffer_reset(intel->batch); + INTEL_FIREVERTICES(intel); - /* lose all primitives */ - intel->prim.primitive = ~0; - intel->prim.start_ptr = 0; - intel->prim.flush = 0; + if (intel->batch->map != intel->batch->ptr) + intel_batchbuffer_flush(intel->batch); - /* re-emit all state */ - intel->vtbl.lost_hardware(intel); + intel->numClipRects = numClipRects; /* force window update */ intel->lastStamp = 0; - } + intel->width = sarea->width; + intel->height = sarea->height; + intel->current_rotation = sarea->rotation; + } /* Drawable changed? */ @@ -665,24 +720,42 @@ intelContendedLock(struct intel_context *intel, GLuint flags) } + /* Lock the hardware and validate our state. */ void LOCK_HARDWARE( struct intel_context *intel ) { char __ret=0; - + struct intel_framebuffer *intel_fb = NULL; + struct intel_renderbuffer *intel_rb = NULL; _glthread_LOCK_MUTEX(lockMutex); assert(!intel->locked); - if (intel->swap_scheduled) { + if (intel->driDrawable) { + intel_fb = intel->driDrawable->driverPrivate; + + if (intel_fb) + intel_rb = + intel_get_renderbuffer(&intel_fb->Base, + intel_fb->Base._ColorDrawBufferMask[0] == + BUFFER_BIT_FRONT_LEFT ? BUFFER_FRONT_LEFT : + BUFFER_BACK_LEFT); + } + + if (intel_rb && intel_fb->vblank_flags && + !(intel_fb->vblank_flags & VBLANK_FLAG_NO_IRQ) && + (intel_fb->vbl_waited - intel_rb->vbl_pending) > (1<<23)) { drmVBlank vbl; + vbl.request.type = DRM_VBLANK_ABSOLUTE; - if ( intel->vblank_flags & VBLANK_FLAG_SECONDARY ) { + + if ( intel_fb->vblank_flags & VBLANK_FLAG_SECONDARY ) { vbl.request.type |= DRM_VBLANK_SECONDARY; } - vbl.request.sequence = intel->vbl_seq; + + vbl.request.sequence = intel_rb->vbl_pending; drmWaitVBlank(intel->driFd, &vbl); - intel->swap_scheduled = 0; + intel_fb->vbl_waited = vbl.reply.sequence; } DRM_CAS(intel->driHwLock, intel->hHWContext, diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_context.h b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_context.h index 7654e4ecd..5fc8eb3e3 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_context.h +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_context.h @@ -92,6 +92,10 @@ struct intel_texture_object * regions will be copied to this region and the old storage freed. */ struct intel_mipmap_tree *mt; + + GLboolean imageOverride; + GLint depthOverride; + GLuint pitchOverride; }; @@ -274,18 +278,13 @@ struct intel_context */ driOptionCache optionCache; - /* VBI - */ - GLuint vbl_seq; - GLuint vblank_flags; - - int64_t swap_ust; - int64_t swap_missed_ust; - - GLuint swap_count; - GLuint swap_missed_count; + /* Rotation. Need to match that of the + * current screen. + */ - GLuint swap_scheduled; + int width; + int height; + int current_rotation; }; /* These are functions now: @@ -386,6 +385,10 @@ extern int INTEL_DEBUG; #define PCI_CHIP_I915_GM 0x2592 #define PCI_CHIP_I945_G 0x2772 #define PCI_CHIP_I945_GM 0x27A2 +#define PCI_CHIP_I945_GME 0x27AE +#define PCI_CHIP_G33_G 0x29C2 +#define PCI_CHIP_Q35_G 0x29B2 +#define PCI_CHIP_Q33_G 0x29D2 /* ================================================================ diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c index 2b1077aee..564eb9e01 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_mipmap_tree.c @@ -79,6 +79,10 @@ intel_miptree_create(struct intel_context *intel, switch (intel->intelScreen->deviceID) { case PCI_CHIP_I945_G: case PCI_CHIP_I945_GM: + case PCI_CHIP_I945_GME: + case PCI_CHIP_G33_G: + case PCI_CHIP_Q33_G: + case PCI_CHIP_Q35_G: ok = i945_miptree_layout(mt); break; case PCI_CHIP_I915_G: @@ -93,9 +97,28 @@ intel_miptree_create(struct intel_context *intel, break; } - if (ok) + if (ok) { + if (!mt->compressed) { + /* XXX: Align pitch to multiple of 64 bytes for now to allow + * render-to-texture to work in all cases. This should probably be + * replaced at some point by some scheme to only do this when really + * necessary. + */ + mt->pitch = (mt->pitch * cpp + 63) & ~63; + + /* XXX: At least the i915 seems very upset when the pitch is a multiple + * of 1024 and sometimes 512 bytes - performance can drop by several + * times. Go to the next multiple of 64 for now. + */ + if (!(mt->pitch & 511)) + mt->pitch += 64; + + mt->pitch /= cpp; + } + mt->region = intel_region_alloc(intel->intelScreen, mt->cpp, mt->pitch, mt->total_height); + } if (!mt->region) { free(mt); @@ -309,10 +332,15 @@ intel_miptree_image_data(struct intel_context *intel, height = dst->level[level].height; if(dst->compressed) height /= 4; - intel_region_data(intel->intelScreen, dst->region, dst_offset + dst_depth_offset[i], 0, 0, src, src_row_pitch, 0, 0, /* source x,y */ - dst->level[level].width, height); - - src += src_image_pitch; + intel_region_data(intel->intelScreen, dst->region, + dst_offset + dst_depth_offset[i], /* dst_offset */ + 0, 0, /* dstx, dsty */ + src, + src_row_pitch, + 0, 0, /* source x, y */ + dst->level[level].width, height); /* width, height */ + + src += src_image_pitch * dst->cpp; } } diff --git a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_screen.c b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_screen.c index 9bbfabbb8..2acdead63 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_screen.c +++ b/dist/Mesa/src/mesa/drivers/dri/i915tex/intel_screen.c @@ -98,6 +98,18 @@ intelMapScreenRegions(__DRIscreenPrivate * sPriv) return GL_FALSE; } + if (intelScreen->third.handle) { + if (0) + _mesa_printf("Third 0x%08x ", intelScreen->third.handle); + if (drmMap(sPriv->fd, + intelScreen->third.handle, + intelScreen->third.size, + (drmAddress *) & intelScreen->third.map) != 0) { + intelUnmapScreenRegions(intelScreen); + return GL_FALSE; + } + } + if (0) _mesa_printf("Depth 0x%08x ", intelScreen->depth.handle); if (drmMap(sPriv->fd, @@ -119,9 +131,9 @@ intelMapScreenRegions(__DRIscreenPrivate * sPriv) } #endif if (0) - printf("Mappings: front: %p back: %p depth: %p tex: %p\n", + printf("Mappings: front: %p back: %p third: %p depth: %p tex: %p\n", intelScreen->front.map, - intelScreen->back.map, + intelScreen->back.map, intelScreen->third.map, intelScreen->depth.map, intelScreen->tex.map); return GL_TRUE; } @@ -191,6 +203,18 @@ intel_recreate_static_regions(intelScreenPrivate *intelScreen) intelScreen->back.pitch / intelScreen->cpp, intelScreen->height); + if (intelScreen->third.handle) { + intelScreen->third_region = + intel_recreate_static(intelScreen, + intelScreen->third_region, + DRM_BO_FLAG_MEM_TT, + intelScreen->third.offset, + intelScreen->third.map, + intelScreen->cpp, + intelScreen->third.pitch / intelScreen->cpp, + intelScreen->height); + } + /* Still assuming front.cpp == depth.cpp */ intelScreen->depth_region = @@ -240,6 +264,13 @@ intelUnmapScreenRegions(intelScreenPrivate * intelScreen) #endif intelScreen->back.map = NULL; } + if (intelScreen->third.map) { +#if REALLY_UNMAP + if (drmUnmap(intelScreen->third.map, intelScreen->third.size) != 0) + printf("drmUnmap third failed!\n"); +#endif + intelScreen->third.map = NULL; + } if (intelScreen->depth.map) { #if REALLY_UNMAP drmUnmap(intelScreen->depth.map, intelScreen->depth.size); @@ -325,6 +356,13 @@ intelUpdateScreenFromSAREA(intelScreenPrivate * intelScreen, intelScreen->back.handle = sarea->back_handle; intelScreen->back.size = sarea->back_size; + if (intelScreen->driScrnPriv->ddxMinor >= 8) { + intelScreen->third.offset = sarea->third_offset; + intelScreen->third.pitch = sarea->pitch * intelScreen->cpp; + intelScreen->third.handle = sarea->third_handle; + intelScreen->third.size = sarea->third_size; + } + intelScreen->depth.offset = sarea->depth_offset; intelScreen->depth.pitch = sarea->pitch * intelScreen->cpp; intelScreen->depth.handle = sarea->depth_handle; @@ -348,6 +386,45 @@ intelUpdateScreenFromSAREA(intelScreenPrivate * intelScreen, intelPrintSAREA(sarea); } +GLboolean +intelCreatePools(intelScreenPrivate *intelScreen) +{ + unsigned batchPoolSize = 1024*1024; + __DRIscreenPrivate * sPriv = intelScreen->driScrnPriv; + + if (intelScreen->havePools) + return GL_TRUE; + + batchPoolSize /= intelScreen->maxBatchSize; + intelScreen->regionPool = driDRMPoolInit(sPriv->fd); + + if (!intelScreen->regionPool) + return GL_FALSE; + + intelScreen->staticPool = driDRMStaticPoolInit(sPriv->fd); + + if (!intelScreen->staticPool) + return GL_FALSE; + + intelScreen->texPool = intelScreen->regionPool; + + intelScreen->batchPool = driBatchPoolInit(sPriv->fd, + DRM_BO_FLAG_EXE | + DRM_BO_FLAG_MEM_TT | + DRM_BO_FLAG_MEM_LOCAL, + intelScreen->maxBatchSize, + batchPoolSize, 5); + if (!intelScreen->batchPool) { + fprintf(stderr, "Failed to initialize batch pool - possible incorrect agpgart installed\n"); + return GL_FALSE; + } + + intel_recreate_static_regions(intelScreen); + intelScreen->havePools = GL_TRUE; + + return GL_TRUE; +} + static GLboolean intelInitDriver(__DRIscreenPrivate * sPriv) @@ -355,7 +432,6 @@ intelInitDriver(__DRIscreenPrivate * sPriv) intelScreenPrivate *intelScreen; I830DRIPtr gDRIPriv = (I830DRIPtr) sPriv->pDevPriv; drmI830Sarea *sarea; - unsigned batchPoolSize = 1024*1024; PFNGLXSCRENABLEEXTENSIONPROC glx_enable_extension = (PFNGLXSCRENABLEEXTENSIONPROC) (*dri_interface-> @@ -388,7 +464,6 @@ intelInitDriver(__DRIscreenPrivate * sPriv) intelScreen->deviceID = gDRIPriv->deviceID; if (intelScreen->deviceID == PCI_CHIP_I865_G) intelScreen->maxBatchSize = 4096; - batchPoolSize /= intelScreen->maxBatchSize; intelScreen->mem = gDRIPriv->mem; intelScreen->cpp = gDRIPriv->cpp; @@ -479,31 +554,6 @@ intelInitDriver(__DRIscreenPrivate * sPriv) (*glx_enable_extension) (psc, "GLX_SGI_make_current_read"); } - intelScreen->regionPool = driDRMPoolInit(sPriv->fd); - - if (!intelScreen->regionPool) - return GL_FALSE; - - intelScreen->staticPool = driDRMStaticPoolInit(sPriv->fd); - - if (!intelScreen->staticPool) - return GL_FALSE; - - intelScreen->texPool = intelScreen->regionPool; - - intelScreen->batchPool = driBatchPoolInit(sPriv->fd, - DRM_BO_FLAG_EXE | - DRM_BO_FLAG_MEM_TT | - DRM_BO_FLAG_MEM_LOCAL, - intelScreen->maxBatchSize, - batchPoolSize, 5); - if (!intelScreen->batchPool) { - fprintf(stderr, "Failed to initialize batch pool - possible incorrect agpgart installed\n"); - return GL_FALSE; - } - - intel_recreate_static_regions(intelScreen); - return GL_TRUE; } @@ -515,9 +565,11 @@ intelDestroyScreen(__DRIscreenPrivate * sPriv) intelUnmapScreenRegions(intelScreen); - driPoolTakeDown(intelScreen->regionPool); - driPoolTakeDown(intelScreen->staticPool); - driPoolTakeDown(intelScreen->batchPool); + if (intelScreen->havePools) { + driPoolTakeDown(intelScreen->regionPool); + driPoolTakeDown(intelScreen->staticPool); + driPoolTakeDown(intelScreen->batchPool); + } FREE(intelScreen); sPriv->private = NULL; } @@ -541,31 +593,52 @@ intelCreateBuffer(__DRIscreenPrivate * driScrnPriv, mesaVis->depthBits != 24); GLenum rgbFormat = (mesaVis->redBits == 5 ? GL_RGB5 : GL_RGBA8); - struct gl_framebuffer *fb = _mesa_create_framebuffer(mesaVis); + struct intel_framebuffer *intel_fb = CALLOC_STRUCT(intel_framebuffer); + + if (!intel_fb) + return GL_FALSE; + + _mesa_initialize_framebuffer(&intel_fb->Base, mesaVis); /* setup the hardware-based renderbuffers */ { - struct intel_renderbuffer *frontRb + intel_fb->color_rb[0] = intel_create_renderbuffer(rgbFormat, screen->width, screen->height, screen->front.offset, screen->front.pitch, screen->cpp, screen->front.map); - intel_set_span_functions(&frontRb->Base); - _mesa_add_renderbuffer(fb, BUFFER_FRONT_LEFT, &frontRb->Base); + intel_set_span_functions(&intel_fb->color_rb[0]->Base); + _mesa_add_renderbuffer(&intel_fb->Base, BUFFER_FRONT_LEFT, + &intel_fb->color_rb[0]->Base); } if (mesaVis->doubleBufferMode) { - struct intel_renderbuffer *backRb + intel_fb->color_rb[1] = intel_create_renderbuffer(rgbFormat, screen->width, screen->height, screen->back.offset, screen->back.pitch, screen->cpp, screen->back.map); - intel_set_span_functions(&backRb->Base); - _mesa_add_renderbuffer(fb, BUFFER_BACK_LEFT, &backRb->Base); + intel_set_span_functions(&intel_fb->color_rb[1]->Base); + _mesa_add_renderbuffer(&intel_fb->Base, BUFFER_BACK_LEFT, + &intel_fb->color_rb[1]->Base); + + if (screen->third.handle) { + struct gl_renderbuffer *tmp_rb = NULL; + + intel_fb->color_rb[2] + = intel_create_renderbuffer(rgbFormat, + screen->width, screen->height, + screen->third.offset, + screen->third.pitch, + screen->cpp, + screen->third.map); + intel_set_span_functions(&intel_fb->color_rb[2]->Base); + _mesa_reference_renderbuffer(&tmp_rb, &intel_fb->color_rb[2]->Base); + } } if (mesaVis->depthBits == 24 && mesaVis->stencilBits == 8) { @@ -579,8 +652,10 @@ intelCreateBuffer(__DRIscreenPrivate * driScrnPriv, screen->depth.map); intel_set_span_functions(&depthStencilRb->Base); /* note: bind RB to two attachment points */ - _mesa_add_renderbuffer(fb, BUFFER_DEPTH, &depthStencilRb->Base); - _mesa_add_renderbuffer(fb, BUFFER_STENCIL, &depthStencilRb->Base); + _mesa_add_renderbuffer(&intel_fb->Base, BUFFER_DEPTH, + &depthStencilRb->Base); + _mesa_add_renderbuffer(&intel_fb->Base, BUFFER_STENCIL, + &depthStencilRb->Base); } else if (mesaVis->depthBits == 16) { /* just 16-bit depth buffer, no hw stencil */ @@ -592,24 +667,26 @@ intelCreateBuffer(__DRIscreenPrivate * driScrnPriv, screen->cpp, /* 2! */ screen->depth.map); intel_set_span_functions(&depthRb->Base); - _mesa_add_renderbuffer(fb, BUFFER_DEPTH, &depthRb->Base); + _mesa_add_renderbuffer(&intel_fb->Base, BUFFER_DEPTH, &depthRb->Base); } /* now add any/all software-based renderbuffers we may need */ - _mesa_add_soft_renderbuffers(fb, GL_FALSE, /* never sw color */ - GL_FALSE, /* never sw depth */ - swStencil, mesaVis->accumRedBits > 0, GL_FALSE, /* never sw alpha */ - GL_FALSE /* never sw aux */ ); - driDrawPriv->driverPrivate = (void *) fb; - - return (driDrawPriv->driverPrivate != NULL); + _mesa_add_soft_renderbuffers(&intel_fb->Base, + GL_FALSE, /* never sw color */ + GL_FALSE, /* never sw depth */ + swStencil, mesaVis->accumRedBits > 0, + GL_FALSE, /* never sw alpha */ + GL_FALSE /* never sw aux */ ); + driDrawPriv->driverPrivate = (void *) intel_fb; + + return GL_TRUE; } } static void intelDestroyBuffer(__DRIdrawablePrivate * driDrawPriv) { - _mesa_destroy_framebuffer((GLframebuffer *) (driDrawPriv->driverPrivate)); + _mesa_unreference_framebuffer((GLframebuffer **)(&(driDrawPriv->driverPrivate))); } @@ -619,21 +696,20 @@ intelDestroyBuffer(__DRIdrawablePrivate * driDrawPriv) static int intelGetSwapInfo(__DRIdrawablePrivate * dPriv, __DRIswapInfo * sInfo) { - struct intel_context *intel; + struct intel_framebuffer *intel_fb; - if ((dPriv == NULL) || (dPriv->driContextPriv == NULL) - || (dPriv->driContextPriv->driverPrivate == NULL) + if ((dPriv == NULL) || (dPriv->driverPrivate == NULL) || (sInfo == NULL)) { return -1; } - intel = dPriv->driContextPriv->driverPrivate; - sInfo->swap_count = intel->swap_count; - sInfo->swap_ust = intel->swap_ust; - sInfo->swap_missed_count = intel->swap_missed_count; + intel_fb = dPriv->driverPrivate; + sInfo->swap_count = intel_fb->swap_count; + sInfo->swap_ust = intel_fb->swap_ust; + sInfo->swap_missed_count = intel_fb->swap_missed_count; sInfo->swap_missed_usage = (sInfo->swap_missed_count != 0) - ? driCalculateSwapUsage(dPriv, 0, intel->swap_missed_ust) + ? driCalculateSwapUsage(dPriv, 0, intel_fb->swap_missed_ust) : 0.0; return 0; @@ -676,6 +752,10 @@ intelCreateContext(const __GLcontextModes * mesaVis, case PCI_CHIP_I915_GM: case PCI_CHIP_I945_G: case PCI_CHIP_I945_GM: + case PCI_CHIP_I945_GME: + case PCI_CHIP_G33_G: + case PCI_CHIP_Q35_G: + case PCI_CHIP_Q33_G: return i915CreateContext(mesaVis, driContextPriv, sharedContextPrivate); default: @@ -700,7 +780,8 @@ static const struct __DriverAPIRec intelAPI = { .WaitForMSC = driWaitForMSC32, .WaitForSBC = NULL, .SwapBuffersMSC = NULL, - .CopySubBuffer = intelCopySubBuffer + .CopySubBuffer = intelCopySubBuffer, + .setTexOffset = intelSetTexOffset, }; @@ -737,6 +818,9 @@ intelFillInModes(unsigned pixel_bits, unsigned depth_bits, */ stencil_bits_array[0] = 0; stencil_bits_array[1] = 0; + if (depth_bits == 24) + stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits; + stencil_bits_array[2] = (stencil_bits == 0) ? 8 : stencil_bits; depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 3 : 1; @@ -827,6 +911,7 @@ __driCreateNewScreen_20050727(__DRInativeDisplay * dpy, int scrn, ddx_version, dri_version, drm_version, frame_buffer, pSAREA, fd, internal_api_version, &intelAPI); + if (psp != NULL) { I830DRIPtr dri_priv = (I830DRIPtr) psp->pDevPriv; *driver_modes = intelFillInModes(dri_priv->cpp * 8, diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_aub.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_aub.c index f851a5b79..c549f7a4f 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_aub.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_aub.c @@ -80,7 +80,7 @@ static void init_aubfile( FILE *aub_file ) fh.hour = (nr>>16) & 0xff; fh.comment_length = 0x0; - if (fwrite(&fh, sizeof(fh), 1, aub_file) < 0) + if (fwrite(&fh, sizeof(fh), 1, aub_file) < 1) FAIL; /* Setup the GTT starting at main memory address zero (!): @@ -96,12 +96,12 @@ static void init_aubfile( FILE *aub_file ) bh.address = PGETBL_CTL; bh.length = 0x4; - if (fwrite(&bh, sizeof(bh), 1, aub_file) < 0) + if (fwrite(&bh, sizeof(bh), 1, aub_file) < 1) FAIL; data = 0x0 | PGETBL_ENABLED; - if (fwrite(&data, sizeof(data), 1, aub_file) < 0) + if (fwrite(&data, sizeof(data), 1, aub_file) < 1) FAIL; } @@ -128,7 +128,7 @@ static void init_aub_gtt( struct brw_context *brw, bh.address = start_offset / 4096 * 4; bh.length = size / 4096 * 4; - if (fwrite(&bh, sizeof(bh), 1, aub_file) < 0) + if (fwrite(&bh, sizeof(bh), 1, aub_file) < 1) FAIL; for (i = 0; i < size / 4096; i++) { @@ -136,7 +136,7 @@ static void init_aub_gtt( struct brw_context *brw, brw->next_free_page += 4096; - if (fwrite(&data, sizeof(data), 1, aub_file) < 0) + if (fwrite(&data, sizeof(data), 1, aub_file) < 1) FAIL; } @@ -149,10 +149,10 @@ static void write_block_header( FILE *aub_file, { sz = (sz + 3) & ~3; - if (fwrite(bh, sizeof(*bh), 1, aub_file) < 0) + if (fwrite(bh, sizeof(*bh), 1, aub_file) < 1) FAIL; - if (fwrite(data, sz, 1, aub_file) < 0) + if (fwrite(data, sz, 1, aub_file) < 1) FAIL; fflush(aub_file); @@ -162,7 +162,7 @@ static void write_block_header( FILE *aub_file, static void write_dump_bmp( FILE *aub_file, struct aub_dump_bmp *db ) { - if (fwrite(db, sizeof(*db), 1, aub_file) < 0) + if (fwrite(db, sizeof(*db), 1, aub_file) < 1) FAIL; fflush(aub_file); diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_clip.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_clip.c index 0e8591aaa..8287fd9ed 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_clip.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_clip.c @@ -62,6 +62,8 @@ static void compile_clip_prog( struct brw_context *brw, */ brw_init_compile(&c.func); + c.func.single_program_flow = 1; + c.key = *key; @@ -210,6 +212,10 @@ static void upload_clip_prog( struct brw_context *brw ) } } + if (brw->attribs.Polygon->BackMode != GL_FILL || + brw->attribs.Polygon->FrontMode != GL_FILL) + key.do_unfilled = 1; + /* Most cases the fixed function units will handle. Cases where * one or more polygon faces are unfilled will require help: */ diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_curbe.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_curbe.c index 4352c3bcb..5bf0ed536 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_curbe.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_curbe.c @@ -35,7 +35,8 @@ #include "context.h" #include "macros.h" #include "enums.h" -#include "shader/program.h" +#include "shader/prog_parameter.h" +#include "shader/prog_statevars.h" #include "intel_batchbuffer.h" #include "brw_context.h" #include "brw_defines.h" @@ -89,7 +90,7 @@ static void calculate_curbe_offsets( struct brw_context *brw ) */ if (nr_fp_regs > brw->curbe.wm_size || nr_vp_regs > brw->curbe.vs_size || - nr_clip_regs > brw->curbe.clip_size || + nr_clip_regs != brw->curbe.clip_size || (total_regs < brw->curbe.total_size / 4 && brw->curbe.total_size > 16)) { diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_draw.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_draw.c index f12fb4c7f..f7964727d 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_draw.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_draw.c @@ -35,7 +35,6 @@ #include "brw_draw.h" #include "brw_defines.h" -#include "brw_attrib.h" #include "brw_context.h" #include "brw_aub.h" #include "brw_state.h" @@ -45,8 +44,9 @@ #include "intel_batchbuffer.h" #include "intel_buffer_objects.h" - - +#include "tnl/tnl.h" +#include "vbo/vbo_context.h" +#include "swrast/swrast.h" @@ -123,10 +123,27 @@ static GLuint trim(GLenum prim, GLuint length) } +static void brw_emit_cliprect( struct brw_context *brw, + const drm_clip_rect_t *rect ) +{ + struct brw_drawrect bdr; + + bdr.header.opcode = CMD_DRAW_RECT; + bdr.header.length = sizeof(bdr)/4 - 2; + bdr.xmin = rect->x1; + bdr.xmax = rect->x2 - 1; + bdr.ymin = rect->y1; + bdr.ymax = rect->y2 - 1; + bdr.xorg = brw->intel.drawX; + bdr.yorg = brw->intel.drawY; + + intel_batchbuffer_data( brw->intel.batch, &bdr, sizeof(bdr), + INTEL_BATCH_NO_CLIPRECTS); +} static void brw_emit_prim( struct brw_context *brw, - const struct brw_draw_prim *prim ) + const struct _mesa_prim *prim ) { struct brw_3d_primitive prim_packet; @@ -149,38 +166,13 @@ static void brw_emit_prim( struct brw_context *brw, if (prim_packet.verts_per_instance) { intel_batchbuffer_data( brw->intel.batch, &prim_packet, sizeof(prim_packet), - INTEL_BATCH_CLIPRECTS); + INTEL_BATCH_NO_CLIPRECTS); } } - - -static void update_current_size( struct gl_client_array *array) -{ - const GLfloat *ptr = (const GLfloat *)array->Ptr; - - assert(array->StrideB == 0); - assert(array->Type == GL_FLOAT || array->Type == GL_UNSIGNED_BYTE); - - if (ptr[3] != 1.0) - array->Size = 4; - else if (ptr[2] != 0.0) - array->Size = 3; - else if (ptr[1] != 0.0) - array->Size = 2; - else - array->Size = 1; -} - - - -/* Fill in any gaps in passed arrays with pointers to current - * attributes: - */ static void brw_merge_inputs( struct brw_context *brw, const struct gl_client_array *arrays[]) { - struct gl_client_array *current_values = brw->vb.current_values; struct brw_vertex_element *inputs = brw->vb.inputs; struct brw_vertex_info old = brw->vb.info; GLuint i; @@ -188,19 +180,16 @@ static void brw_merge_inputs( struct brw_context *brw, memset(inputs, 0, sizeof(*inputs)); memset(&brw->vb.info, 0, sizeof(brw->vb.info)); - for (i = 0; i < BRW_ATTRIB_MAX; i++) { - if (arrays[i] && arrays[i]->Enabled) - { - brw->vb.inputs[i].glarray = arrays[i]; - brw->vb.info.varying |= 1 << i; - } - else - { - brw->vb.inputs[i].glarray = ¤t_values[i]; - update_current_size(¤t_values[i]); - } + for (i = 0; i < VERT_ATTRIB_MAX; i++) { + brw->vb.inputs[i].glarray = arrays[i]; + + /* XXX: metaops passes null arrays */ + if (arrays[i]) { + if (arrays[i]->StrideB != 0) + brw->vb.info.varying |= 1 << i; - brw->vb.info.sizes[i/16] |= (inputs[i].glarray->Size - 1) << ((i%16) * 2); + brw->vb.info.sizes[i/16] |= (inputs[i].glarray->Size - 1) << ((i%16) * 2); + } } /* Raise statechanges if input sizes and varying have changed: @@ -212,8 +201,11 @@ static void brw_merge_inputs( struct brw_context *brw, brw->state.dirty.brw |= BRW_NEW_INPUT_VARYING; } +/* XXX: could split the primitive list to fallback only on the + * non-conformant primitives. + */ static GLboolean check_fallbacks( struct brw_context *brw, - const struct brw_draw_prim *prim, + const struct _mesa_prim *prim, GLuint nr_prims ) { GLuint i; @@ -264,28 +256,29 @@ static GLboolean check_fallbacks( struct brw_context *brw, return GL_FALSE; } - +/* May fail if out of video memory for texture or vbo upload, or on + * fallback conditions. + */ static GLboolean brw_try_draw_prims( GLcontext *ctx, const struct gl_client_array *arrays[], - const struct brw_draw_prim *prim, + const struct _mesa_prim *prim, GLuint nr_prims, - const struct brw_draw_index_buffer *ib, + const struct _mesa_index_buffer *ib, GLuint min_index, - GLuint max_index, - GLuint flags ) + GLuint max_index ) { struct intel_context *intel = intel_context(ctx); struct brw_context *brw = brw_context(ctx); GLboolean retval = GL_FALSE; - GLuint i; + GLuint i, j; if (ctx->NewState) _mesa_update_state( ctx ); - + /* Bind all inputs, derive varying and size information: */ brw_merge_inputs( brw, arrays ); - + /* Have to validate state quite late. Will rebuild tnl_program, * which depends on varying information. * @@ -294,9 +287,14 @@ static GLboolean brw_try_draw_prims( GLcontext *ctx, */ LOCK_HARDWARE(intel); - { - assert(intel->locked); + if (brw->intel.numClipRects == 0) { + assert(intel->batch->ptr == intel->batch->map + intel->batch->offset); + UNLOCK_HARDWARE(intel); + return GL_TRUE; + } + + { /* Set the first primitive early, ahead of validate_state: */ brw_set_prim(brw, prim[0].mode); @@ -322,12 +320,34 @@ static GLboolean brw_try_draw_prims( GLcontext *ctx, goto out; } - /* Emit prims to batchbuffer: + /* For single cliprect, state is already emitted: */ - for (i = 0; i < nr_prims; i++) { - brw_emit_prim(brw, &prim[i]); + if (brw->intel.numClipRects == 1) { + for (i = 0; i < nr_prims; i++) { + brw_emit_prim(brw, &prim[i]); + } + } + else { + /* Otherwise, explicitly do the cliprects at this point: + */ + GLuint nprims = 0; + for (j = 0; j < brw->intel.numClipRects; j++) { + brw_emit_cliprect(brw, &brw->intel.pClipRects[j]); + + /* Emit prims to batchbuffer: + */ + for (i = 0; i < nr_prims; i++) { + brw_emit_prim(brw, &prim[i]); + + if (++nprims == VBO_MAX_PRIM) { + intel_batchbuffer_flush(brw->intel.batch); + nprims = 0; + } + } + } } + intel->need_flush = GL_TRUE; retval = GL_TRUE; } @@ -369,44 +389,89 @@ static GLboolean brw_try_draw_prims( GLcontext *ctx, return retval; } +static GLboolean brw_need_rebase( GLcontext *ctx, + const struct gl_client_array *arrays[], + const struct _mesa_index_buffer *ib, + GLuint min_index ) +{ + if (min_index == 0) + return GL_FALSE; -GLboolean brw_draw_prims( GLcontext *ctx, - const struct gl_client_array *arrays[], - const struct brw_draw_prim *prim, - GLuint nr_prims, - const struct brw_draw_index_buffer *ib, - GLuint min_index, - GLuint max_index, - GLuint flags ) + if (ib) { + if (!vbo_all_varyings_in_vbos(arrays)) + return GL_TRUE; + else + return GL_FALSE; + } + else { + /* Hmm. This isn't quite what I wanted. BRW can actually + * handle the mixed case well enough that we shouldn't need to + * rebase. However, it's probably not very common, nor hugely + * expensive to do it this way: + */ + if (!vbo_all_varyings_in_vbos(arrays)) + return GL_TRUE; + else + return GL_FALSE; + } +} + + +void brw_draw_prims( GLcontext *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 ) { struct intel_context *intel = intel_context(ctx); GLboolean retval; - retval = brw_try_draw_prims(ctx, arrays, prim, nr_prims, ib, min_index, max_index, flags); + /* Decide if we want to rebase. If so we end up recursing once + * only into this function. + */ + if (brw_need_rebase( ctx, arrays, ib, min_index )) { + vbo_rebase_prims( ctx, arrays, + prim, nr_prims, + ib, min_index, max_index, + brw_draw_prims ); + + return; + } - - if (!retval && bmError(intel)) { - DBG("retrying\n"); - /* This looks like out-of-memory but potentially we have - * situation where there is enough memory but it has become - * fragmented. Clear out all heaps and start from scratch by - * faking a contended lock event: (done elsewhere) - */ + /* Make a first attempt at drawing: + */ + retval = brw_try_draw_prims(ctx, arrays, prim, nr_prims, ib, min_index, max_index); + + /* This looks like out-of-memory but potentially we have + * situation where there is enough memory but it has become + * fragmented. Clear out all heaps and start from scratch by + * faking a contended lock event: (done elsewhere) + */ + if (!retval && !intel->Fallback && bmError(intel)) { + DBG("retrying\n"); /* Then try a second time only to upload textures and draw the * primitives: */ - retval = brw_try_draw_prims(ctx, arrays, prim, nr_prims, ib, min_index, max_index, flags); + retval = brw_try_draw_prims(ctx, arrays, prim, nr_prims, ib, min_index, max_index); + } + + /* Otherwise, we really are out of memory. Pass the drawing + * command to the software tnl module and which will in turn call + * swrast to do the drawing. + */ + if (!retval) { + _swsetup_Wakeup(ctx); + _tnl_draw_prims(ctx, arrays, prim, nr_prims, ib, min_index, max_index); } - if (intel->aub_file) { + if (intel->aub_file && (INTEL_DEBUG & DEBUG_SYNC)) { intelFinish( &intel->ctx ); intel->aub_wrap = 1; } - - - return retval; } @@ -419,21 +484,25 @@ static void brw_invalidate_vbo_cb( struct intel_context *intel, void *ptr ) void brw_draw_init( struct brw_context *brw ) { GLcontext *ctx = &brw->intel.ctx; + struct vbo_context *vbo = vbo_context(ctx); GLuint i; + /* Register our drawing function: + */ + vbo->draw_prims = brw_draw_prims; + brw->vb.upload.size = BRW_UPLOAD_INIT_SIZE; for (i = 0; i < BRW_NR_UPLOAD_BUFS; i++) { brw->vb.upload.vbo[i] = ctx->Driver.NewBufferObject(ctx, 1, GL_ARRAY_BUFFER_ARB); - /* XXX: Set these to no-backing-store + /* NOTE: These are set to no-backing-store. */ bmBufferSetInvalidateCB(&brw->intel, intel_bufferobj_buffer(intel_buffer_object(brw->vb.upload.vbo[i])), brw_invalidate_vbo_cb, &brw->intel, GL_TRUE); - } ctx->Driver.BufferData( ctx, @@ -442,9 +511,6 @@ void brw_draw_init( struct brw_context *brw ) NULL, GL_DYNAMIC_DRAW_ARB, brw->vb.upload.vbo[0] ); - - - brw_init_current_values(ctx, brw->vb.current_values); } void brw_draw_destroy( struct brw_context *brw ) diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_sf_emit.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_sf_emit.c index cbaf018c4..2ea9816e2 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_sf_emit.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_sf_emit.c @@ -582,7 +582,9 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c ) (1<<_3DPRIM_TRIFAN_NOSTIPPLE))); jmp = brw_JMPI(p, ip, ip, brw_imm_w(0)); { + brw_push_insn_state(p); brw_emit_tri_setup( c ); + brw_pop_insn_state(p); /* note - thread killed in subroutine */ } brw_land_fwd_jump(p, jmp); @@ -596,7 +598,9 @@ void brw_emit_anyprim_setup( struct brw_sf_compile *c ) (1<<_3DPRIM_LINESTRIP_CONT_BF))); jmp = brw_JMPI(p, ip, ip, brw_imm_w(0)); { + brw_push_insn_state(p); brw_emit_line_setup( c ); + brw_pop_insn_state(p); /* note - thread killed in subroutine */ } brw_land_fwd_jump(p, jmp); diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_vs_tnl.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_vs_tnl.c index c1099d4c6..14483b325 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_vs_tnl.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_vs_tnl.c @@ -33,12 +33,11 @@ #include "glheader.h" #include "macros.h" #include "enums.h" +#include "shader/prog_parameter.h" +#include "shader/prog_print.h" #include "brw_vs.h" #include "brw_state.h" -#include "shader/program.h" -#include "shader/program_instruction.h" -#include "shader/arbprogparse.h" struct state_key { unsigned light_global_enabled:1; @@ -114,7 +113,7 @@ static GLuint translate_texgen( GLboolean enabled, GLenum mode ) static void make_state_key( GLcontext *ctx, struct state_key *key ) { struct brw_context *brw = brw_context(ctx); - struct gl_fragment_program *fp = brw->fragment_program; + const struct gl_fragment_program *fp = brw->fragment_program; GLuint i; /* This now relies on texenvprogram.c being active: @@ -146,9 +145,13 @@ static void make_state_key( GLcontext *ctx, struct state_key *key ) } /* BRW_NEW_INPUT_VARYING */ - for (i = BRW_ATTRIB_MAT_FRONT_AMBIENT ; i < BRW_ATTRIB_INDEX ; i++) - if (brw->vb.info.varying & (1<<i)) - key->light_material_mask |= 1<<(i-BRW_ATTRIB_MAT_FRONT_AMBIENT); + + /* For these programs, material values are stuffed into the + * generic slots: + */ + for (i = 0 ; i < MAT_ATTRIB_MAX ; i++) + if (brw->vb.info.varying & (1<<(VERT_ATTRIB_GENERIC0 + i))) + key->light_material_mask |= 1<<i; for (i = 0; i < MAX_LIGHTS; i++) { struct gl_light *light = &brw->attribs.Light->Light[i]; @@ -374,12 +377,6 @@ static void release_temps( struct tnl_program *p ) static struct ureg register_input( struct tnl_program *p, GLuint input ) { - /* Cram the material flags into the generic range. We'll translate - * them back later. - */ - if (input >= BRW_ATTRIB_MAT_FRONT_AMBIENT) - input -= BRW_ATTRIB_MAT_FRONT_AMBIENT; - assert(input < 32); p->program->Base.InputsRead |= (1<<input); @@ -400,11 +397,14 @@ static struct ureg register_const4f( struct tnl_program *p, { GLfloat values[4]; GLint idx; + GLuint swizzle; values[0] = s0; values[1] = s1; values[2] = s2; values[3] = s3; - idx = _mesa_add_unnamed_constant( p->program->Base.Parameters, values ); + idx = _mesa_add_unnamed_constant( p->program->Base.Parameters, values, 4, + &swizzle); + /* XXX what about swizzle? */ return make_ureg(PROGRAM_STATE_VAR, idx); } @@ -426,40 +426,37 @@ static struct ureg get_identity_param( struct tnl_program *p ) return p->identity; } -static struct ureg register_param6( struct tnl_program *p, - GLint s0, - GLint s1, - GLint s2, - GLint s3, - GLint s4, - GLint s5) +static struct ureg register_param5( struct tnl_program *p, + GLint s0, + GLint s1, + GLint s2, + GLint s3, + GLint s4) { - GLint tokens[6]; + gl_state_index tokens[STATE_LENGTH]; GLint idx; tokens[0] = s0; tokens[1] = s1; tokens[2] = s2; tokens[3] = s3; tokens[4] = s4; - tokens[5] = s5; idx = _mesa_add_state_reference( p->program->Base.Parameters, tokens ); return make_ureg(PROGRAM_STATE_VAR, idx); } -#define register_param1(p,s0) register_param6(p,s0,0,0,0,0,0) -#define register_param2(p,s0,s1) register_param6(p,s0,s1,0,0,0,0) -#define register_param3(p,s0,s1,s2) register_param6(p,s0,s1,s2,0,0,0) -#define register_param4(p,s0,s1,s2,s3) register_param6(p,s0,s1,s2,s3,0,0) +#define register_param1(p,s0) register_param5(p,s0,0,0,0,0) +#define register_param2(p,s0,s1) register_param5(p,s0,s1,0,0,0) +#define register_param3(p,s0,s1,s2) register_param5(p,s0,s1,s2,0,0) +#define register_param4(p,s0,s1,s2,s3) register_param5(p,s0,s1,s2,s3,0) -static void register_matrix_param6( struct tnl_program *p, - GLint s0, - GLint s1, - GLint s2, - GLint s3, - GLint s4, - GLint s5, +static void register_matrix_param5( struct tnl_program *p, + GLint s0, /* matrix name */ + GLint s1, /* texture matrix number */ + GLint s2, /* first row */ + GLint s3, /* last row */ + GLint s4, /* modifier */ struct ureg *matrix ) { GLint i; @@ -467,8 +464,8 @@ static void register_matrix_param6( struct tnl_program *p, /* This is a bit sad as the support is there to pull the whole * matrix out in one go: */ - for (i = 0; i <= s4 - s3; i++) - matrix[i] = register_param6( p, s0, s1, s2, i, i, s5 ); + for (i = 0; i <= s3 - s2; i++) + matrix[i] = register_param5( p, s0, s1, i, i, s4 ); } @@ -535,6 +532,7 @@ static void emit_op3fn(struct tnl_program *p, { struct prog_instruction *inst = &p->program->Base.Instructions[nr]; + memset(inst, 0, sizeof(*inst)); inst->Opcode = op; inst->StringPos = 0; inst->Data = 0; @@ -645,19 +643,19 @@ static void emit_passthrough( struct tnl_program *p, static struct ureg get_eye_position( struct tnl_program *p ) { if (is_undef(p->eye_position)) { - struct ureg pos = register_input( p, BRW_ATTRIB_POS ); + struct ureg pos = register_input( p, VERT_ATTRIB_POS ); struct ureg modelview[4]; p->eye_position = reserve_temp(p); if (PREFER_DP4) { - register_matrix_param6( p, STATE_MATRIX, STATE_MODELVIEW, 0, 0, 3, - STATE_MATRIX, modelview ); + register_matrix_param5( p, STATE_MODELVIEW_MATRIX, 0, 0, 3, + 0, modelview ); emit_matrix_transform_vec4(p, p->eye_position, modelview, pos); } else { - register_matrix_param6( p, STATE_MATRIX, STATE_MODELVIEW, 0, 0, 3, + register_matrix_param5( p, STATE_MODELVIEW_MATRIX, 0, 0, 3, STATE_MATRIX_TRANSPOSE, modelview ); emit_transpose_matrix_transform_vec4(p, p->eye_position, modelview, pos); @@ -708,10 +706,10 @@ static struct ureg get_eye_position_normalized( struct tnl_program *p ) static struct ureg get_eye_normal( struct tnl_program *p ) { if (is_undef(p->eye_normal)) { - struct ureg normal = register_input(p, BRW_ATTRIB_NORMAL ); + struct ureg normal = register_input(p, VERT_ATTRIB_NORMAL ); struct ureg mvinv[3]; - register_matrix_param6( p, STATE_MATRIX, STATE_MODELVIEW, 0, 0, 2, + register_matrix_param5( p, STATE_MODELVIEW_MATRIX, 0, 0, 2, STATE_MATRIX_INVTRANS, mvinv ); p->eye_normal = reserve_temp(p); @@ -741,17 +739,17 @@ static struct ureg get_eye_normal( struct tnl_program *p ) static void build_hpos( struct tnl_program *p ) { - struct ureg pos = register_input( p, BRW_ATTRIB_POS ); + struct ureg pos = register_input( p, VERT_ATTRIB_POS ); struct ureg hpos = register_output( p, VERT_RESULT_HPOS ); struct ureg mvp[4]; if (PREFER_DP4) { - register_matrix_param6( p, STATE_MATRIX, STATE_MVP, 0, 0, 3, - STATE_MATRIX, mvp ); + register_matrix_param5( p, STATE_MVP_MATRIX, 0, 0, 3, + 0, mvp ); emit_matrix_transform_vec4( p, hpos, mvp, pos ); } else { - register_matrix_param6( p, STATE_MATRIX, STATE_MVP, 0, 0, 3, + register_matrix_param5( p, STATE_MVP_MATRIX, 0, 0, 3, STATE_MATRIX_TRANSPOSE, mvp ); emit_transpose_matrix_transform_vec4( p, hpos, mvp, pos ); } @@ -785,9 +783,9 @@ static struct ureg get_material( struct tnl_program *p, GLuint side, GLuint attrib = material_attrib(side, property); if (p->color_materials & (1<<attrib)) - return register_input(p, BRW_ATTRIB_COLOR0); + return register_input(p, VERT_ATTRIB_COLOR0); else if (p->materials & (1<<attrib)) - return register_input( p, attrib + BRW_ATTRIB_MAT_FRONT_AMBIENT ); + return register_input( p, attrib + _TNL_ATTRIB_MAT_FRONT_AMBIENT ); else return register_param3( p, STATE_MATERIAL, side, property ); } @@ -851,14 +849,13 @@ static struct ureg calculate_light_attenuation( struct tnl_program *p, /* Calculate spot attenuation: */ if (!p->state->unit[i].light_spotcutoff_is_180) { - struct ureg spot_dir = register_param3(p, STATE_LIGHT, i, - STATE_SPOT_DIRECTION); + struct ureg spot_dir_norm = register_param3(p, STATE_INTERNAL, + STATE_SPOT_DIR_NORMALIZED, i); struct ureg spot = get_temp(p); struct ureg slt = get_temp(p); - - emit_normalize_vec3( p, spot, spot_dir ); /* XXX: precompute! */ - emit_op2(p, OPCODE_DP3, spot, 0, ureg_negate(VPpli), spot); - emit_op2(p, OPCODE_SLT, slt, 0, swizzle1(spot_dir,W), spot); + + emit_op2(p, OPCODE_DP3, spot, 0, ureg_negate(VPpli), spot_dir_norm); + emit_op2(p, OPCODE_SLT, slt, 0, swizzle1(spot_dir_norm,W), spot); emit_op2(p, OPCODE_POW, spot, 0, spot, swizzle1(attenuation, W)); emit_op2(p, OPCODE_MUL, att, 0, slt, spot); @@ -896,7 +893,7 @@ static struct ureg calculate_light_attenuation( struct tnl_program *p, /* Need to add some addtional parameters to allow lighting in object - * space - STATE_SPOT_DIRECTION and STATE_HALF implicitly assume eye + * space - STATE_SPOT_DIRECTION and STATE_HALF_VECTOR implicitly assume eye * space lighting. */ static void build_lighting( struct tnl_program *p ) @@ -989,20 +986,33 @@ static void build_lighting( struct tnl_program *p ) */ VPpli = register_param3(p, STATE_LIGHT, i, STATE_POSITION_NORMALIZED); - half = register_param3(p, STATE_LIGHT, i, STATE_HALF); + if (p->state->light_local_viewer) { + struct ureg eye_hat = get_eye_position_normalized(p); + half = get_temp(p); + emit_op2(p, OPCODE_SUB, half, 0, VPpli, eye_hat); + emit_normalize_vec3(p, half, half); + } else { + half = register_param3(p, STATE_LIGHT, i, STATE_HALF_VECTOR); + } } else { struct ureg Ppli = register_param3(p, STATE_LIGHT, i, STATE_POSITION); struct ureg V = get_eye_position(p); struct ureg dist = get_temp(p); + struct ureg tmpPpli = get_temp(p); VPpli = get_temp(p); half = get_temp(p); - + + /* In homogeneous object coordinates + */ + emit_op1(p, OPCODE_RCP, dist, 0, swizzle1(Ppli, W)); + emit_op2(p, OPCODE_MUL, tmpPpli, 0, Ppli, dist); + /* Calulate VPpli vector */ - emit_op2(p, OPCODE_SUB, VPpli, 0, Ppli, V); + emit_op2(p, OPCODE_SUB, VPpli, 0, tmpPpli, V); /* Normalize VPpli. The dist value also used in * attenuation below. @@ -1034,6 +1044,7 @@ static void build_lighting( struct tnl_program *p ) emit_normalize_vec3(p, half, half); release_temp(p, dist); + release_temp(p, tmpPpli); } /* Calculate dot products: @@ -1155,12 +1166,13 @@ static void build_fog( struct tnl_program *p ) input = swizzle1(get_eye_position(p), Z); } else { - input = swizzle1(register_input(p, BRW_ATTRIB_FOG), X); + input = swizzle1(register_input(p, VERT_ATTRIB_FOG), X); } if (p->state->fog_option && p->state->tnl_do_vertex_fog) { - struct ureg params = register_param1(p, STATE_FOG_PARAMS); + struct ureg params = register_param2(p, STATE_INTERNAL, + STATE_FOG_PARAMS_OPTIMIZED); struct ureg tmp = get_temp(p); struct ureg id = get_identity_param(p); @@ -1168,24 +1180,21 @@ static void build_fog( struct tnl_program *p ) switch (p->state->fog_option) { case FOG_LINEAR: { - emit_op1(p, OPCODE_ABS, tmp, 0, input); - emit_op2(p, OPCODE_SUB, tmp, 0, swizzle1(params,Z), tmp); - emit_op2(p, OPCODE_MUL, tmp, 0, tmp, swizzle1(params,W)); + emit_op1(p, OPCODE_ABS, tmp, 0, input); + emit_op3(p, OPCODE_MAD, tmp, 0, tmp, swizzle1(params,X), swizzle1(params,Y)); emit_op2(p, OPCODE_MAX, tmp, 0, tmp, swizzle1(id,X)); /* saturate */ emit_op2(p, OPCODE_MIN, fog, WRITEMASK_X, tmp, swizzle1(id,W)); break; } case FOG_EXP: emit_op1(p, OPCODE_ABS, tmp, 0, input); - emit_op2(p, OPCODE_MUL, tmp, 0, tmp, swizzle1(params,X)); - emit_op2(p, OPCODE_POW, fog, WRITEMASK_X, - register_const1f(p, M_E), ureg_negate(tmp)); + emit_op2(p, OPCODE_MUL, tmp, 0, tmp, swizzle1(params,Z)); + emit_op1(p, OPCODE_EX2, fog, WRITEMASK_X, ureg_negate(tmp)); break; case FOG_EXP2: - emit_op2(p, OPCODE_MUL, tmp, 0, input, swizzle1(params,X)); + emit_op2(p, OPCODE_MUL, tmp, 0, input, swizzle1(params,W)); emit_op2(p, OPCODE_MUL, tmp, 0, tmp, tmp); - emit_op2(p, OPCODE_POW, fog, WRITEMASK_X, - register_const1f(p, M_E), ureg_negate(tmp)); + emit_op1(p, OPCODE_EX2, fog, WRITEMASK_X, ureg_negate(tmp)); break; } @@ -1297,7 +1306,7 @@ static void build_texture_transform( struct tnl_program *p ) for (j = 0; j < 4; j++) { switch (modes[j]) { case TXG_OBJ_LINEAR: { - struct ureg obj = register_input(p, BRW_ATTRIB_POS); + struct ureg obj = register_input(p, VERT_ATTRIB_POS); struct ureg plane = register_param3(p, STATE_TEXGEN, i, STATE_TEXGEN_OBJECT_S + j); @@ -1346,7 +1355,7 @@ static void build_texture_transform( struct tnl_program *p ) } if (copy_mask) { - struct ureg in = register_input(p, BRW_ATTRIB_TEX0+i); + struct ureg in = register_input(p, VERT_ATTRIB_TEX0+i); emit_op1(p, OPCODE_MOV, out_texgen, copy_mask, in ); } } @@ -1355,15 +1364,15 @@ static void build_texture_transform( struct tnl_program *p ) struct ureg texmat[4]; struct ureg in = (!is_undef(out_texgen) ? out_texgen : - register_input(p, BRW_ATTRIB_TEX0+i)); + register_input(p, VERT_ATTRIB_TEX0+i)); if (PREFER_DP4) { - register_matrix_param6( p, STATE_MATRIX, STATE_TEXTURE, i, - 0, 3, STATE_MATRIX, texmat ); + register_matrix_param5( p, STATE_TEXTURE_MATRIX, i, 0, 3, + 0, texmat ); emit_matrix_transform_vec4( p, out, texmat, in ); } else { - register_matrix_param6( p, STATE_MATRIX, STATE_TEXTURE, i, - 0, 3, STATE_MATRIX_TRANSPOSE, texmat ); + register_matrix_param5( p, STATE_TEXTURE_MATRIX, i, 0, 3, + STATE_MATRIX_TRANSPOSE, texmat ); emit_transpose_matrix_transform_vec4( p, out, texmat, in ); } } @@ -1371,7 +1380,7 @@ static void build_texture_transform( struct tnl_program *p ) release_temps(p); } else { - emit_passthrough(p, BRW_ATTRIB_TEX0+i, VERT_RESULT_TEX0+i); + emit_passthrough(p, VERT_ATTRIB_TEX0+i, VERT_RESULT_TEX0+i); } } } @@ -1423,10 +1432,10 @@ static void build_tnl_program( struct tnl_program *p ) build_lighting(p); else { if (p->state->fragprog_inputs_read & FRAG_BIT_COL0) - emit_passthrough(p, BRW_ATTRIB_COLOR0, VERT_RESULT_COL0); + emit_passthrough(p, VERT_ATTRIB_COLOR0, VERT_RESULT_COL0); if (p->state->fragprog_inputs_read & FRAG_BIT_COL1) - emit_passthrough(p, BRW_ATTRIB_COLOR1, VERT_RESULT_COL1); + emit_passthrough(p, VERT_ATTRIB_COLOR1, VERT_RESULT_COL1); } } @@ -1626,7 +1635,7 @@ const struct brw_tracked_state brw_tnl_vertprog = { static void update_active_vertprog( struct brw_context *brw ) { - struct gl_vertex_program *prev = brw->vertex_program; + const struct gl_vertex_program *prev = brw->vertex_program; /* NEW_PROGRAM */ if (brw->attribs.VertexProgram->_Enabled) { diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_fp.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_fp.c index 203eeead0..dc57fd263 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_fp.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_fp.c @@ -37,9 +37,10 @@ #include "brw_wm.h" #include "brw_util.h" -#include "shader/program.h" -#include "shader/program_instruction.h" -#include "shader/arbprogparse.h" +#include "shader/prog_parameter.h" +#include "shader/prog_print.h" +#include "shader/prog_statevars.h" + #define FIRST_INTERNAL_TEMP MAX_NV_FRAGMENT_PROGRAM_TEMPS @@ -60,9 +61,11 @@ static const char *wm_opcode_strings[] = { "FB_WRITE" }; +#if 0 static const char *wm_file_strings[] = { "PAYLOAD" }; +#endif /*********************************************************************** @@ -368,23 +371,21 @@ static void emit_interp( struct brw_wm_compile *c, * harm and it's not as if the parameter handling isn't a big hack * anyway. */ -static struct prog_src_register search_or_add_param6( struct brw_wm_compile *c, - GLint s0, - GLint s1, - GLint s2, - GLint s3, - GLint s4, - GLint s5) +static struct prog_src_register search_or_add_param5(struct brw_wm_compile *c, + GLint s0, + GLint s1, + GLint s2, + GLint s3, + GLint s4) { struct gl_program_parameter_list *paramList = c->fp->program.Base.Parameters; - GLint tokens[6]; + gl_state_index tokens[STATE_LENGTH]; GLuint idx; tokens[0] = s0; tokens[1] = s1; tokens[2] = s2; tokens[3] = s3; tokens[4] = s4; - tokens[5] = s5; for (idx = 0; idx < paramList->NumParameters; idx++) { if (paramList->Parameters[idx].Type == PROGRAM_STATE_VAR && @@ -396,7 +397,7 @@ static struct prog_src_register search_or_add_param6( struct brw_wm_compile *c, /* Recalculate state dependency: */ - c->fp->param_state = brw_parameter_list_state_flags( paramList ); + c->fp->param_state = paramList->StateFlags; return src_reg(PROGRAM_STATE_VAR, idx); } @@ -411,6 +412,7 @@ static struct prog_src_register search_or_add_const4f( struct brw_wm_compile *c, struct gl_program_parameter_list *paramList = c->fp->program.Base.Parameters; GLfloat values[4]; GLuint idx; + GLuint swizzle; values[0] = s0; values[1] = s1; @@ -430,8 +432,8 @@ static struct prog_src_register search_or_add_const4f( struct brw_wm_compile *c, return src_reg(PROGRAM_STATE_VAR, idx); } - idx = _mesa_add_unnamed_constant( paramList, values ); - + idx = _mesa_add_unnamed_constant( paramList, values, 4, &swizzle ); + /* XXX what about swizzle? */ return src_reg(PROGRAM_STATE_VAR, idx); } @@ -520,6 +522,85 @@ static void precalc_lit( struct brw_wm_compile *c, static void precalc_tex( struct brw_wm_compile *c, const struct prog_instruction *inst ) { + struct prog_src_register coord; + struct prog_dst_register tmpcoord; + + if (inst->TexSrcTarget == TEXTURE_CUBE_INDEX) { + struct prog_instruction *out; + struct prog_dst_register tmp0 = get_temp(c); + struct prog_src_register tmp0src = src_reg_from_dst(tmp0); + struct prog_dst_register tmp1 = get_temp(c); + struct prog_src_register tmp1src = src_reg_from_dst(tmp1); + struct prog_src_register src0 = inst->SrcReg[0]; + + tmpcoord = get_temp(c); + coord = src_reg_from_dst(tmpcoord); + + out = emit_op(c, OPCODE_MOV, + tmpcoord, + 0, 0, 0, + src0, + src_undef(), + src_undef()); + out->SrcReg[0].NegateBase = 0; + out->SrcReg[0].Abs = 1; + + emit_op(c, OPCODE_MAX, + tmp0, + 0, 0, 0, + src_swizzle1(coord, X), + src_swizzle1(coord, Y), + src_undef()); + + emit_op(c, OPCODE_MAX, + tmp1, + 0, 0, 0, + tmp0src, + src_swizzle1(coord, Z), + src_undef()); + + emit_op(c, OPCODE_RCP, + tmp0, + 0, 0, 0, + tmp1src, + src_undef(), + src_undef()); + + emit_op(c, OPCODE_MUL, + tmpcoord, + 0, 0, 0, + src0, + tmp0src, + src_undef()); + + release_temp(c, tmp0); + release_temp(c, tmp1); + } else if (inst->TexSrcTarget == TEXTURE_RECT_INDEX) { + struct prog_src_register scale = + search_or_add_param5( c, + STATE_INTERNAL, + STATE_TEXRECT_SCALE, + inst->TexSrcUnit, + 0,0 ); + + tmpcoord = get_temp(c); + + /* coord.xy = MUL inst->SrcReg[0], { 1/width, 1/height } + */ + emit_op(c, + OPCODE_MUL, + tmpcoord, + 0, 0, 0, + inst->SrcReg[0], + scale, + src_undef()); + + coord = src_reg_from_dst(tmpcoord); + } + else { + coord = inst->SrcReg[0]; + } + /* Need to emit YUV texture conversions by hand. Probably need to * do this here - the alternative is in brw_wm_emit.c, but the * conversion requires allocating a temporary variable which we @@ -532,7 +613,7 @@ static void precalc_tex( struct brw_wm_compile *c, inst->SaturateMode, inst->TexSrcUnit, inst->TexSrcTarget, - inst->SrcReg[0], + coord, src_undef(), src_undef()); } @@ -604,7 +685,12 @@ static void precalc_tex( struct brw_wm_compile *c, src_swizzle1(tmpsrc, Z), src_swizzle1(C1, W), src_swizzle1(src_reg_from_dst(dst), Y)); + + release_temp(c, tmp); } + + if (inst->TexSrcTarget == GL_TEXTURE_RECTANGLE_NV) + release_temp(c, tmpcoord); } @@ -688,7 +774,7 @@ static void fog_blend( struct brw_wm_compile *c, struct prog_src_register fog_factor ) { struct prog_dst_register outcolor = dst_reg(PROGRAM_OUTPUT, FRAG_RESULT_COLR); - struct prog_src_register fogcolor = search_or_add_param6( c, STATE_FOG_COLOR, 0,0,0,0,0 ); + struct prog_src_register fogcolor = search_or_add_param5( c, STATE_FOG_COLOR, 0,0,0,0 ); /* color.xyz = LRP fog_factor.xxxx, output_color, fog_color */ @@ -769,6 +855,27 @@ static void validate_src_regs( struct brw_wm_compile *c, +static void print_insns( const struct prog_instruction *insn, + GLuint nr ) +{ + GLuint i; + for (i = 0; i < nr; i++, insn++) { + _mesa_printf("%3d: ", i); + if (insn->Opcode < MAX_OPCODE) + _mesa_print_instruction(insn); + else if (insn->Opcode < MAX_WM_OPCODE) { + GLuint idx = insn->Opcode - MAX_OPCODE; + + _mesa_print_alu_instruction(insn, + wm_opcode_strings[idx], + 3); + } + else + _mesa_printf("UNKNOWN\n"); + + } +} + void brw_wm_pass_fp( struct brw_wm_compile *c ) { struct brw_fragment_program *fp = c->fp; @@ -867,7 +974,7 @@ void brw_wm_pass_fp( struct brw_wm_compile *c ) if (INTEL_DEBUG & DEBUG_WM) { _mesa_printf("\n\n\npass_fp:\n"); -/* _mesa_debug_fp_inst(c->nr_fp_insns, c->prog_instructions, wm_opcode_strings, wm_file_strings); */ + print_insns( c->prog_instructions, c->nr_fp_insns ); _mesa_printf("\n"); } } diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c index 93d4cfc3a..794c7d981 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_sampler_state.c @@ -173,12 +173,12 @@ static void brw_update_sampler_state( struct gl_texture_unit *texUnit, * message (sample_c). So need to recompile WM program when * shadow comparison is enabled on each/any texture unit. */ - sampler->ss0.shadow_function = intel_translate_compare_func(texObj->CompareFunc); + sampler->ss0.shadow_function = intel_translate_shadow_compare_func(texObj->CompareFunc); } /* Set LOD bias: */ - sampler->ss0.lod_bias = S_FIXED(texUnit->LodBias + texObj->LodBias, 6); + sampler->ss0.lod_bias = S_FIXED(CLAMP(texUnit->LodBias + texObj->LodBias, -16, 15), 6); sampler->ss0.lod_preclamp = 1; /* OpenGL mode */ sampler->ss0.default_color_mode = 0; /* OpenGL/DX10 mode */ @@ -192,8 +192,8 @@ static void brw_update_sampler_state( struct gl_texture_unit *texUnit, */ sampler->ss0.base_level = U_FIXED(0, 1); - sampler->ss1.max_lod = U_FIXED(MAX2(texObj->MaxLod, 0), 6); - sampler->ss1.min_lod = U_FIXED(MAX2(texObj->MinLod, 0), 6); + sampler->ss1.max_lod = U_FIXED(MIN2(MAX2(texObj->MaxLod, 0), 13), 6); + sampler->ss1.min_lod = U_FIXED(MIN2(MAX2(texObj->MinLod, 0), 13), 6); sampler->ss2.default_color_pointer = sdc_gs_offset >> 5; } diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_state.c b/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_state.c index 4707a709e..5b4f2abd0 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_state.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/brw_wm_state.c @@ -117,12 +117,12 @@ static void upload_wm_unit(struct brw_context *brw ) wm.thread1.floating_point_mode = BRW_FLOATING_POINT_NON_IEEE_754; /* CACHE_NEW_SAMPLER */ - wm.wm4.sampler_count = brw->wm.sampler_count; + wm.wm4.sampler_count = (brw->wm.sampler_count + 1) / 4; wm.wm4.sampler_state_pointer = brw->wm.sampler_gs_offset >> 5; /* BRW_NEW_FRAGMENT_PROGRAM */ { - struct gl_fragment_program *fp = brw->fragment_program; + const struct gl_fragment_program *fp = brw->fragment_program; if (fp->Base.InputsRead & (1<<FRAG_ATTRIB_WPOS)) wm.wm5.program_uses_depth = 1; /* as far as we can tell */ @@ -168,7 +168,7 @@ static void upload_wm_unit(struct brw_context *brw ) wm.wm5.line_stipple = 1; } - if (INTEL_DEBUG & DEBUG_STATS) + if (INTEL_DEBUG & DEBUG_STATS || intel->stats_wm) wm.wm4.stats_enable = 1; brw->wm.state_gs_offset = brw_cache_data( &brw->cache[BRW_WM_UNIT], &wm ); diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/intel_buffers.c b/dist/Mesa/src/mesa/drivers/dri/i965/intel_buffers.c index 853956671..de6a867cc 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/intel_buffers.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/intel_buffers.c @@ -31,7 +31,9 @@ #include "intel_regions.h" #include "intel_batchbuffer.h" #include "context.h" +#include "utils.h" #include "framebuffer.h" +#include "vblank.h" #include "macros.h" #include "swrast/swrast.h" @@ -190,8 +192,40 @@ void intelWindowMoved( struct intel_context *intel ) } } + { + if (intel->intelScreen->driScrnPriv->ddxMinor >= 7) { + volatile drmI830Sarea *sarea = intel->sarea; + drm_clip_rect_t drw_rect = { .x1 = dPriv->x, .x2 = dPriv->x + dPriv->w, + .y1 = dPriv->y, .y2 = dPriv->y + dPriv->h + }; + drm_clip_rect_t pipeA_rect = { .x1 = sarea->pipeA_x, + .x2 = sarea->pipeA_x + sarea->pipeA_w, + .y1 = sarea->pipeA_y, + .y2 = sarea->pipeA_y + sarea->pipeA_h }; + drm_clip_rect_t pipeB_rect = { .x1 = sarea->pipeB_x, + .x2 = sarea->pipeB_x + sarea->pipeB_w, + .y1 = sarea->pipeB_y, + .y2 = sarea->pipeB_y + sarea->pipeB_h }; + GLint areaA = driIntersectArea( drw_rect, pipeA_rect ); + GLint areaB = driIntersectArea( drw_rect, pipeB_rect ); + GLuint flags = intel->vblank_flags; + + if (areaB > areaA || (areaA > 0 && areaB > 0)) { + flags = intel->vblank_flags | VBLANK_FLAG_SECONDARY; + } else { + flags = intel->vblank_flags & ~VBLANK_FLAG_SECONDARY; + } + + if (flags != intel->vblank_flags) { + intel->vblank_flags = flags; + driGetCurrentVBlank(dPriv, intel->vblank_flags, &intel->vbl_seq); + } + } else { + intel->vblank_flags &= ~VBLANK_FLAG_SECONDARY; + } + } _mesa_resize_framebuffer(&intel->ctx, - (GLframebuffer*)dPriv->driverPrivate, + (GLframebuffer*)dPriv->driverPrivate, dPriv->w, dPriv->h); /* Set state we know depends on drawable parameters: @@ -210,6 +244,12 @@ void intelWindowMoved( struct intel_context *intel ) intel->NewGLState |= _NEW_SCISSOR; } + + /* This works because the lock is always grabbed before emitting + * commands and commands are always flushed prior to releasing + * the lock. + */ + intel->NewGLState |= _NEW_WINDOW_POS; } @@ -218,12 +258,11 @@ void intelWindowMoved( struct intel_context *intel ) * machine independent. Maybe we'll get there one day. */ static void intelClearWithTris(struct intel_context *intel, - GLbitfield mask, - GLboolean all, - GLint cx, GLint cy, - GLint cw, GLint ch) + GLbitfield mask) { + GLcontext *ctx = &intel->ctx; drm_clip_rect_t clear; + GLint cx, cy, cw, ch; if (INTEL_DEBUG & DEBUG_DRI) _mesa_printf("%s %x\n", __FUNCTION__, mask); @@ -232,18 +271,11 @@ static void intelClearWithTris(struct intel_context *intel, intel->vtbl.install_meta_state(intel); - /* Refresh the cx/y/w/h values as they may have been invalidated - * by a new window position or size picked up when we did - * LOCK_HARDWARE above. The values passed by mesa are not - * reliable. - */ - { - GLcontext *ctx = &intel->ctx; - cx = ctx->DrawBuffer->_Xmin; - cy = ctx->DrawBuffer->_Ymin; - ch = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin; - cw = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin; - } + /* Get clear bounds after locking */ + cx = ctx->DrawBuffer->_Xmin; + cy = ctx->DrawBuffer->_Ymin; + cw = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin; + ch = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin; clear.x1 = cx; clear.y1 = cy; @@ -321,11 +353,7 @@ static void intelClearWithTris(struct intel_context *intel, -static void intelClear(GLcontext *ctx, - GLbitfield mask, - GLboolean all, - GLint cx, GLint cy, - GLint cw, GLint ch) +static void intelClear(GLcontext *ctx, GLbitfield mask) { struct intel_context *intel = intel_context( ctx ); const GLuint colorMask = *((GLuint *) &ctx->Color.ColorMask); @@ -334,8 +362,7 @@ static void intelClear(GLcontext *ctx, GLbitfield swrast_mask = 0; if (INTEL_DEBUG & DEBUG_DRI) - fprintf(stderr, "%s %x all %d dims %d,%d %dx%d\n", __FUNCTION__, - mask, all, cx, cy, cw, ch); + fprintf(stderr, "%s %x\n", __FUNCTION__, mask); if (mask & BUFFER_BIT_FRONT_LEFT) { @@ -386,13 +413,13 @@ static void intelClear(GLcontext *ctx, intelFlush( ctx ); if (blit_mask) - intelClearWithBlit( ctx, blit_mask, all, cx, cy, cw, ch ); + intelClearWithBlit( ctx, blit_mask ); if (tri_mask) - intelClearWithTris( intel, tri_mask, all, cx, cy, cw, ch); + intelClearWithTris( intel, tri_mask ); if (swrast_mask) - _swrast_Clear( ctx, swrast_mask, all, cx, cy, cw, ch ); + _swrast_Clear( ctx, swrast_mask ); } @@ -549,7 +576,6 @@ void intelInitBufferFuncs( struct dd_function_table *functions ) { functions->Clear = intelClear; functions->GetBufferSize = intelBufferSize; - functions->ResizeBuffers = _mesa_resize_framebuffer; functions->DrawBuffer = intelDrawBuffer; functions->ReadBuffer = intelReadBuffer; } diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/intel_context.c b/dist/Mesa/src/mesa/drivers/dri/i965/intel_context.c index 59fc8073e..33efed431 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/intel_context.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/intel_context.c @@ -33,11 +33,12 @@ #include "extensions.h" #include "framebuffer.h" #include "imports.h" +#include "points.h" #include "swrast/swrast.h" #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" -#include "array_cache/acache.h" +#include "vbo/vbo.h" #include "tnl/t_pipeline.h" #include "tnl/t_vertex.h" @@ -60,6 +61,7 @@ #include "bufmgr.h" #include "utils.h" +#include "vblank.h" #ifndef INTEL_DEBUG int INTEL_DEBUG = (0); #endif @@ -70,6 +72,7 @@ int INTEL_DEBUG = (0); #define need_GL_ARB_vertex_buffer_object #define need_GL_ARB_vertex_program #define need_GL_ARB_window_pos +#define need_GL_ARB_occlusion_query #define need_GL_EXT_blend_color #define need_GL_EXT_blend_equation_separate #define need_GL_EXT_blend_func_separate @@ -84,11 +87,6 @@ int INTEL_DEBUG = (0); int VERBOSE = 0; #endif -#if DEBUG_LOCKING -char *prevLockFile; -int prevLockLine; -#endif - /*************************************** * Mesa's Driver Functions ***************************************/ @@ -117,6 +115,9 @@ static const GLubyte *intelGetString( GLcontext *ctx, GLenum name ) case PCI_CHIP_I946_GZ: chipset = "Intel(R) 946GZ"; break; break; + case PCI_CHIP_I965_GM: + chipset = "Intel(R) 965GM"; break; + break; default: chipset = "Unknown Intel Chipset"; break; } @@ -149,6 +150,10 @@ const struct dri_extension card_extensions[] = { "GL_ARB_texture_env_combine", NULL }, { "GL_ARB_texture_env_dot3", NULL }, { "GL_ARB_texture_mirrored_repeat", NULL }, + { "GL_ARB_texture_non_power_of_two", NULL }, + { "GL_ARB_texture_rectangle", NULL }, + { "GL_NV_texture_rectangle", NULL }, + { "GL_EXT_texture_rectangle", NULL }, { "GL_ARB_texture_rectangle", NULL }, { "GL_ARB_vertex_buffer_object", GL_ARB_vertex_buffer_object_functions }, { "GL_ARB_vertex_program", GL_ARB_vertex_program_functions }, @@ -178,7 +183,16 @@ const struct dri_extension card_extensions[] = { NULL, NULL } }; +const struct dri_extension arb_oc_extension = + { "GL_ARB_occlusion_query", GL_ARB_occlusion_query_functions}; +void intelInitExtensions(GLcontext *ctx, GLboolean enable_imaging) +{ + struct intel_context *intel = ctx?intel_context(ctx):NULL; + driInitExtensions(ctx, card_extensions, enable_imaging); + if (!ctx || intel->intelScreen->drmMinor >= 8) + driInitSingleExtension (ctx, &arb_oc_extension); +} static const struct dri_debug_control debug_control[] = { @@ -212,7 +226,7 @@ static void intelInvalidateState( GLcontext *ctx, GLuint new_state ) _swrast_InvalidateState( ctx, new_state ); _swsetup_InvalidateState( ctx, new_state ); - _ac_InvalidateState( ctx, new_state ); + _vbo_InvalidateState( ctx, new_state ); _tnl_InvalidateState( ctx, new_state ); _tnl_invalidate_vertex_state( ctx, new_state ); @@ -237,6 +251,37 @@ void intelFinish( GLcontext *ctx ) bmFinishFence(intel, bmLockAndFence(intel)); } +static void +intelBeginQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q) +{ + struct intel_context *intel = intel_context( ctx ); + drmI830MMIO io = { + .read_write = MMIO_READ, + .reg = MMIO_REGS_PS_DEPTH_COUNT, + .data = &q->Result + }; + intel->stats_wm++; + intelFinish(&intel->ctx); + drmCommandWrite(intel->driFd, DRM_I830_MMIO, &io, sizeof(io)); +} + +static void +intelEndQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q) +{ + struct intel_context *intel = intel_context( ctx ); + GLuint64EXT tmp; + drmI830MMIO io = { + .read_write = MMIO_READ, + .reg = MMIO_REGS_PS_DEPTH_COUNT, + .data = &tmp + }; + intelFinish(&intel->ctx); + drmCommandWrite(intel->driFd, DRM_I830_MMIO, &io, sizeof(io)); + q->Result = tmp - q->Result; + q->Ready = GL_TRUE; + intel->stats_wm--; +} + void intelInitDriverFunctions( struct dd_function_table *functions ) { @@ -246,18 +291,16 @@ void intelInitDriverFunctions( struct dd_function_table *functions ) functions->Finish = intelFinish; functions->GetString = intelGetString; functions->UpdateState = intelInvalidateState; - functions->CopyColorTable = _swrast_CopyColorTable; - functions->CopyColorSubTable = _swrast_CopyColorSubTable; - functions->CopyConvolutionFilter1D = _swrast_CopyConvolutionFilter1D; - functions->CopyConvolutionFilter2D = _swrast_CopyConvolutionFilter2D; + functions->BeginQuery = intelBeginQuery; + functions->EndQuery = intelEndQuery; - /* Pixel path fallbacks. + /* CopyPixels can be accelerated even with the current memory + * manager: */ - functions->Accum = _swrast_Accum; - functions->Bitmap = _swrast_Bitmap; - functions->CopyPixels = _swrast_CopyPixels; - functions->ReadPixels = _swrast_ReadPixels; - functions->DrawPixels = _swrast_DrawPixels; + if (!getenv("INTEL_NO_BLIT")) { + functions->CopyPixels = intelCopyPixels; + functions->Bitmap = intelBitmap; + } intelInitTextureFuncs( functions ); intelInitStateFuncs( functions ); @@ -292,6 +335,11 @@ GLboolean intelInitContext( struct intel_context *intel, intel->driScreen = sPriv; intel->sarea = saPriv; + driParseConfigFiles (&intel->optionCache, &intelScreen->optionCache, + intel->driScreen->myNum, "i965"); + + intel->vblank_flags = (intel->intelScreen->irq_active != 0) + ? driGetDefaultVBlankFlags(&intel->optionCache) : VBLANK_FLAG_NO_IRQ; ctx->Const.MaxTextureMaxAnisotropy = 2.0; @@ -320,9 +368,14 @@ GLboolean intelInitContext( struct intel_context *intel, ctx->Const.MaxPointSizeAA = 3.0; ctx->Const.PointSizeGranularity = 1.0; + /* reinitialize the context point state. + * It depend on constants in __GLcontextRec::Const + */ + _mesa_init_point(ctx); + /* Initialize the software rasterizer and helper modules. */ _swrast_CreateContext( ctx ); - _ac_CreateContext( ctx ); + _vbo_CreateContext( ctx ); _tnl_CreateContext( ctx ); _swsetup_CreateContext( ctx ); @@ -369,11 +422,7 @@ GLboolean intelInitContext( struct intel_context *intel, _mesa_printf("IRQs not active. Exiting\n"); exit(1); } - - _math_matrix_ctr (&intel->ViewportMatrix); - - driInitExtensions( ctx, card_extensions, - GL_TRUE ); + intelInitExtensions(ctx, GL_TRUE); INTEL_DEBUG = driParseDebugString( getenv( "INTEL_DEBUG" ), debug_control ); @@ -400,8 +449,8 @@ GLboolean intelInitContext( struct intel_context *intel, intelScreen->cpp, intelScreen->front.pitch / intelScreen->cpp, intelScreen->height, - GL_FALSE); - + intelScreen->front.size, + intelScreen->front.tiled != 0); intel->back_region = intel_region_create_static(intel, @@ -411,7 +460,8 @@ GLboolean intelInitContext( struct intel_context *intel, intelScreen->cpp, intelScreen->back.pitch / intelScreen->cpp, intelScreen->height, - (INTEL_DEBUG & DEBUG_TILE) ? 0 : 1); + intelScreen->back.size, + intelScreen->back.tiled != 0); /* Still assuming front.cpp == depth.cpp * @@ -427,7 +477,8 @@ GLboolean intelInitContext( struct intel_context *intel, intelScreen->cpp, intelScreen->depth.pitch / intelScreen->cpp, intelScreen->height, - (INTEL_DEBUG & DEBUG_TILE) ? 0 : 1); + intelScreen->depth.size, + intelScreen->depth.tiled != 0); intel_bufferobj_init( intel ); intel->batch = intel_batchbuffer_alloc( intel ); @@ -436,7 +487,7 @@ GLboolean intelInitContext( struct intel_context *intel, _mesa_enable_extension( ctx, "GL_EXT_texture_compression_s3tc" ); _mesa_enable_extension( ctx, "GL_S3_s3tc" ); } - else if (driQueryOptionb (&intelScreen->optionCache, "force_s3tc_enable")) { + else if (driQueryOptionb (&intel->optionCache, "force_s3tc_enable")) { _mesa_enable_extension( ctx, "GL_EXT_texture_compression_s3tc" ); } @@ -446,8 +497,6 @@ GLboolean intelInitContext( struct intel_context *intel, /* DRI_TEXMGR_DO_TEXTURE_RECT ); */ - intel->prim.primitive = ~0; - if (getenv("INTEL_NO_RAST")) { fprintf(stderr, "disabling 3D rasterization\n"); intel->no_rast = 1; @@ -471,7 +520,7 @@ void intelDestroyContext(__DRIcontextPrivate *driContextPriv) release_texture_heaps = (intel->ctx.Shared->RefCount == 1); _swsetup_DestroyContext (&intel->ctx); _tnl_DestroyContext (&intel->ctx); - _ac_DestroyContext (&intel->ctx); + _vbo_DestroyContext (&intel->ctx); _swrast_DestroyContext (&intel->ctx); intel->Fallback = 0; /* don't call _swrast_Flush later */ @@ -518,8 +567,15 @@ GLboolean intelMakeCurrent(__DRIcontextPrivate *driContextPriv, if (driContextPriv) { struct intel_context *intel = (struct intel_context *) driContextPriv->driverPrivate; + if (intel->driReadDrawable != driReadPriv) { + intel->driReadDrawable = driReadPriv; + } + if ( intel->driDrawable != driDrawPriv ) { /* Shouldn't the readbuffer be stored also? */ + driDrawableInitVBlank( driDrawPriv, intel->vblank_flags, + &intel->vbl_seq ); + intel->driDrawable = driDrawPriv; intelWindowMoved( intel ); } @@ -537,18 +593,13 @@ GLboolean intelMakeCurrent(__DRIcontextPrivate *driContextPriv, } -static void lost_hardware( struct intel_context *intel ) -{ - bm_fake_NotifyContendedLockTake( intel ); - intel->vtbl.lost_hardware( intel ); -} - static void intelContendedLock( struct intel_context *intel, GLuint flags ) { __DRIdrawablePrivate *dPriv = intel->driDrawable; __DRIscreenPrivate *sPriv = intel->driScreen; volatile drmI830Sarea * sarea = intel->sarea; int me = intel->hHWContext; + int my_bufmgr = bmCtxId(intel); drmGetLock(intel->driFd, intel->hHWContext, flags); @@ -562,12 +613,23 @@ static void intelContendedLock( struct intel_context *intel, GLuint flags ) intel->locked = 1; + intel->need_flush = 1; /* Lost context? */ if (sarea->ctxOwner != me) { + DBG("Lost Context: sarea->ctxOwner %x me %x\n", sarea->ctxOwner, me); sarea->ctxOwner = me; - lost_hardware(intel); + intel->vtbl.lost_hardware( intel ); + } + + /* As above, but don't evict the texture data on transitions + * between contexts which all share a local buffer manager. + */ + if (sarea->texAge != my_bufmgr) { + DBG("Lost Textures: sarea->texAge %x my_bufmgr %x\n", sarea->ctxOwner, my_bufmgr); + sarea->texAge = my_bufmgr; + bm_fake_NotifyContendedLockTake( intel ); } /* Drawable changed? @@ -575,12 +637,6 @@ static void intelContendedLock( struct intel_context *intel, GLuint flags ) if (dPriv && intel->lastStamp != dPriv->lastStamp) { intelWindowMoved( intel ); intel->lastStamp = dPriv->lastStamp; - - /* This works because the lock is always grabbed before emitting - * commands and commands are always flushed prior to releasing - * the lock. - */ - intel->NewGLState |= _NEW_WINDOW_POS; } } @@ -654,3 +710,4 @@ void UNLOCK_HARDWARE( struct intel_context *intel ) _glthread_UNLOCK_MUTEX(lockMutex); } + diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/intel_context.h b/dist/Mesa/src/mesa/drivers/dri/i965/intel_context.h index 0328cb900..9f69f2370 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/intel_context.h +++ b/dist/Mesa/src/mesa/drivers/dri/i965/intel_context.h @@ -86,7 +86,6 @@ struct intel_texture_object - struct intel_context { GLcontext ctx; /* the parent class */ @@ -148,9 +147,14 @@ struct intel_context void (*meta_depth_replace)( struct intel_context *intel ); + void (*meta_texture_blend_replace) (struct intel_context * intel); + void (*meta_no_stencil_write)( struct intel_context *intel ); void (*meta_no_depth_write)( struct intel_context *intel ); void (*meta_no_texture)( struct intel_context *intel ); + void (*meta_import_pixel_state) (struct intel_context * intel); + void (*meta_frame_buffer_texture)( struct intel_context *intel, + GLint xoff, GLint yoff ); void (*meta_draw_quad)(struct intel_context *intel, GLfloat x0, GLfloat x1, @@ -173,19 +177,10 @@ struct intel_context GLuint second_last_swap_fence; GLboolean aub_wrap; + GLuint stats_wm; struct intel_batchbuffer *batch; - struct { - GLuint id; - GLuint primitive; - GLubyte *start_ptr; - void (*flush)( struct intel_context * ); - } prim; - - GLboolean locked; - GLboolean strict_conformance; - GLubyte clear_chan[4]; GLuint ClearColor; GLuint ClearDepth; @@ -201,6 +196,10 @@ struct intel_context GLboolean no_hw; GLboolean no_rast; GLboolean thrashing; + GLboolean locked; + GLboolean strict_conformance; + GLboolean need_flush; + /* AGP memory buffer manager: @@ -210,32 +209,21 @@ struct intel_context /* State for intelvb.c and inteltris.c. */ - GLuint RenderIndex; - GLmatrix ViewportMatrix; GLenum render_primitive; GLenum reduced_primitive; - GLuint vertex_size; - GLubyte *verts; /* points to tnl->clipspace.vertex_buf */ - struct intel_region *front_region; struct intel_region *back_region; struct intel_region *draw_region; struct intel_region *depth_region; - - /* Fallback rasterization functions - */ - intel_point_func draw_point; - intel_line_func draw_line; - intel_tri_func draw_tri; - /* These refer to the current draw (front vs. back) buffer: */ int drawX; /* origin of drawable in draw buffer */ int drawY; GLuint numClipRects; /* cliprects for that buffer */ drm_clip_rect_t *pClipRects; + struct gl_texture_object *frame_buffer_texobj; GLboolean scissor; drm_clip_rect_t draw_rect; @@ -246,6 +234,7 @@ struct intel_context int driFd; __DRIdrawablePrivate *driDrawable; + __DRIdrawablePrivate *driReadDrawable; __DRIscreenPrivate *driScreen; intelScreenPrivate *intelScreen; volatile drmI830Sarea *sarea; @@ -347,8 +336,8 @@ static inline void * __memcpy(void * to, const void * from, size_t n) */ static inline void *do_memcpy( void *dest, const void *src, size_t n ) { - if ( (((unsigned)src) & 63) || - (((unsigned)dest) & 63)) { + if ( (((unsigned long)src) & 63) || + (((unsigned long)dest) & 63)) { return __memcpy(dest, src, n); } else @@ -396,6 +385,7 @@ extern int INTEL_DEBUG; #define PCI_CHIP_I965_Q 0x2992 #define PCI_CHIP_I965_G_1 0x2982 #define PCI_CHIP_I946_GZ 0x2972 +#define PCI_CHIP_I965_GM 0x2A02 /* ================================================================ @@ -474,7 +464,7 @@ extern void intelInitStateFuncs( struct dd_function_table *functions ); #define BLENDFACT_INV_CONST_ALPHA 0x0f #define BLENDFACT_MASK 0x0f - +extern int intel_translate_shadow_compare_func( GLenum func ); extern int intel_translate_compare_func( GLenum func ); extern int intel_translate_stencil_op( GLenum op ); extern int intel_translate_blend_factor( GLenum factor ); @@ -496,7 +486,23 @@ extern GLboolean intel_intersect_cliprects( drm_clip_rect_t *dest, const drm_clip_rect_t *b ); +/* ================================================================ + * intel_pixel_copy.c: + */ +void intelCopyPixels(GLcontext * ctx, + GLint srcx, GLint srcy, + GLsizei width, GLsizei height, + GLint destx, GLint desty, GLenum type); + +GLboolean intel_check_blit_fragment_ops(GLcontext * ctx); +void intelBitmap(GLcontext * ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + const struct gl_pixelstore_attrib *unpack, + const GLubyte * pixels); + +void intelInitExtensions(GLcontext *ctx, GLboolean enable_imaging); #define _NEW_WINDOW_POS 0x40000000 @@ -519,6 +525,5 @@ static inline struct intel_texture_image *intel_texture_image( struct gl_texture return (struct intel_texture_image *)img; } - #endif diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/intel_pixel_bitmap.c b/dist/Mesa/src/mesa/drivers/dri/i965/intel_pixel_bitmap.c index 5841afaa3..df9d6885c 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/intel_pixel_bitmap.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/intel_pixel_bitmap.c @@ -168,12 +168,15 @@ do_blit_bitmap( GLcontext *ctx, { struct intel_context *intel = intel_context(ctx); struct intel_region *dst = intel_drawbuf_region(intel); - + GLfloat tmpColor[4]; + union { GLuint ui; GLubyte ub[4]; } color; + if (!dst) + return GL_FALSE; if (unpack->BufferObj->Name) { bitmap = map_pbo(ctx, width, height, unpack, bitmap); @@ -181,10 +184,16 @@ do_blit_bitmap( GLcontext *ctx, return GL_TRUE; /* even though this is an error, we're done */ } - UNCLAMPED_FLOAT_TO_CHAN(color.ub[0], ctx->Current.RasterColor[2]); - UNCLAMPED_FLOAT_TO_CHAN(color.ub[1], ctx->Current.RasterColor[1]); - UNCLAMPED_FLOAT_TO_CHAN(color.ub[2], ctx->Current.RasterColor[0]); - UNCLAMPED_FLOAT_TO_CHAN(color.ub[3], ctx->Current.RasterColor[3]); + COPY_4V(tmpColor, ctx->Current.RasterColor); + + if (NEED_SECONDARY_COLOR(ctx)) { + ADD_3V(tmpColor, tmpColor, ctx->Current.RasterSecondaryColor); + } + + UNCLAMPED_FLOAT_TO_CHAN(color.ub[0], tmpColor[2]); + UNCLAMPED_FLOAT_TO_CHAN(color.ub[1], tmpColor[1]); + UNCLAMPED_FLOAT_TO_CHAN(color.ub[2], tmpColor[0]); + UNCLAMPED_FLOAT_TO_CHAN(color.ub[3], tmpColor[3]); /* Does zoom apply to bitmaps? */ @@ -260,7 +269,9 @@ do_blit_bitmap( GLcontext *ctx, int h = MIN2(DY, box_h - py); int w = MIN2(DX, box_w - px); GLuint sz = align(align(w,8) * h, 64)/8; - + GLenum logic_op = ctx->Color.ColorLogicOpEnabled ? + ctx->Color.LogicOp : GL_COPY; + assert(sz <= sizeof(stipple)); memset(stipple, 0, sz); @@ -288,7 +299,8 @@ do_blit_bitmap( GLcontext *ctx, dst->tiled, rect.x1 + px, rect.y2 - (py + h), - w, h); + w, h, + logic_op); } } } diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/intel_pixel_copy.c b/dist/Mesa/src/mesa/drivers/dri/i965/intel_pixel_copy.c index 58dc49505..3bdf2fb47 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/intel_pixel_copy.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/intel_pixel_copy.c @@ -231,6 +231,7 @@ do_blit_copypixels(GLcontext * ctx, if (intel->driDrawable->numClipRects) { __DRIdrawablePrivate *dPriv = intel->driDrawable; + __DRIdrawablePrivate *dReadPriv = intel->driReadDrawable; drm_clip_rect_t *box = dPriv->pClipRects; drm_clip_rect_t dest_rect; GLint nbox = dPriv->numClipRects; @@ -262,8 +263,8 @@ do_blit_copypixels(GLcontext * ctx, srcy = dPriv->h - srcy - height; dstx += dPriv->x; dsty += dPriv->y; - srcx += dPriv->x; - srcy += dPriv->y; + srcx += dReadPriv->x; + srcy += dReadPriv->y; /* Clip against the source region. This is the only source * clipping we do. Dst is clipped with cliprects below. diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/intel_state.c b/dist/Mesa/src/mesa/drivers/dri/i965/intel_state.c index a471f67c5..701b30cc9 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/intel_state.c +++ b/dist/Mesa/src/mesa/drivers/dri/i965/intel_state.c @@ -38,6 +38,31 @@ #include "intel_regions.h" #include "swrast/swrast.h" +int intel_translate_shadow_compare_func( GLenum func ) +{ + switch(func) { + case GL_NEVER: + return COMPAREFUNC_ALWAYS; + case GL_LESS: + return COMPAREFUNC_LEQUAL; + case GL_LEQUAL: + return COMPAREFUNC_LESS; + case GL_GREATER: + return COMPAREFUNC_GEQUAL; + case GL_GEQUAL: + return COMPAREFUNC_GREATER; + case GL_NOTEQUAL: + return COMPAREFUNC_EQUAL; + case GL_EQUAL: + return COMPAREFUNC_NOTEQUAL; + case GL_ALWAYS: + return COMPAREFUNC_NEVER; + } + + fprintf(stderr, "Unknown value in %s: %x\n", __FUNCTION__, func); + return COMPAREFUNC_NEVER; +} + int intel_translate_compare_func( GLenum func ) { switch(func) { @@ -182,39 +207,6 @@ static void intelClearColor(GLcontext *ctx, const GLfloat color[4]) } -static void intelCalcViewport( GLcontext *ctx ) -{ - struct intel_context *intel = intel_context(ctx); - const GLfloat *v = ctx->Viewport._WindowMap.m; - GLfloat *m = intel->ViewportMatrix.m; - GLint h = 0; - - if (intel->driDrawable) - h = intel->driDrawable->h + SUBPIXEL_Y; - - /* See also intel_translate_vertex. SUBPIXEL adjustments can be done - * via state vars, too. - */ - m[MAT_SX] = v[MAT_SX]; - m[MAT_TX] = v[MAT_TX] + SUBPIXEL_X; - m[MAT_SY] = - v[MAT_SY]; - m[MAT_TY] = - v[MAT_TY] + h; - m[MAT_SZ] = v[MAT_SZ] * intel->depth_scale; - m[MAT_TZ] = v[MAT_TZ] * intel->depth_scale; -} - -static void intelViewport( GLcontext *ctx, - GLint x, GLint y, - GLsizei width, GLsizei height ) -{ - intelCalcViewport( ctx ); -} - -static void intelDepthRange( GLcontext *ctx, - GLclampd nearval, GLclampd farval ) -{ - intelCalcViewport( ctx ); -} /* Fallback to swrast for select and feedback. */ @@ -228,8 +220,6 @@ static void intelRenderMode( GLcontext *ctx, GLenum mode ) void intelInitStateFuncs( struct dd_function_table *functions ) { functions->RenderMode = intelRenderMode; - functions->Viewport = intelViewport; - functions->DepthRange = intelDepthRange; functions->ClearColor = intelClearColor; } diff --git a/dist/Mesa/src/mesa/drivers/dri/i965/server/i830_common.h b/dist/Mesa/src/mesa/drivers/dri/i965/server/i830_common.h index e3bbdc790..fe2b8e8b5 100644 --- a/dist/Mesa/src/mesa/drivers/dri/i965/server/i830_common.h +++ b/dist/Mesa/src/mesa/drivers/dri/i965/server/i830_common.h @@ -52,6 +52,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #define DRM_I830_INIT_HEAP 0x0a #define DRM_I830_CMDBUFFER 0x0b #define DRM_I830_DESTROY_HEAP 0x0c +#define DRM_I830_MMIO 0x10 typedef struct { enum { @@ -118,6 +119,16 @@ typedef struct { unsigned int depth_tiled; unsigned int rotated_tiled; unsigned int rotated2_tiled; + + int pipeA_x; + int pipeA_y; + int pipeA_w; + int pipeA_h; + int pipeB_x; + int pipeB_y; + int pipeB_w; + int pipeB_h; + } drmI830Sarea; /* Flags for perf_boxes @@ -199,5 +210,23 @@ typedef struct { int region; } drmI830MemDestroyHeap; +#define MMIO_READ 0 +#define MMIO_WRITE 1 + +#define MMIO_REGS_IA_PRIMATIVES_COUNT 0 +#define MMIO_REGS_IA_VERTICES_COUNT 1 +#define MMIO_REGS_VS_INVOCATION_COUNT 2 +#define MMIO_REGS_GS_PRIMITIVES_COUNT 3 +#define MMIO_REGS_GS_INVOCATION_COUNT 4 +#define MMIO_REGS_CL_PRIMITIVES_COUNT 5 +#define MMIO_REGS_CL_INVOCATION_COUNT 6 +#define MMIO_REGS_PS_INVOCATION_COUNT 7 +#define MMIO_REGS_PS_DEPTH_COUNT 8 + +typedef struct { + unsigned int read_write:1; + unsigned int reg:31; + void __user *data; +} drmI830MMIO; #endif /* _I830_DRM_H_ */ diff --git a/dist/Mesa/src/mesa/drivers/dri/r200/r200_context.h b/dist/Mesa/src/mesa/drivers/dri/r200/r200_context.h index b7ee33aa6..a06a2f5bb 100644 --- a/dist/Mesa/src/mesa/drivers/dri/r200/r200_context.h +++ b/dist/Mesa/src/mesa/drivers/dri/r200/r200_context.h @@ -102,10 +102,15 @@ typedef void (*r200_point_func)( r200ContextPtr, struct r200_vertex_program { struct gl_vertex_program mesa_program; /* Must be first */ int translated; - VERTEX_SHADER_INSTRUCTION instr[R200_VSF_MAX_INST + 3]; + /* need excess instr: 1 for late loop checking, 2 for + additional instr due to instr/attr, 3 for fog */ + VERTEX_SHADER_INSTRUCTION instr[R200_VSF_MAX_INST + 6]; int pos_end; int inputs[VERT_ATTRIB_MAX]; + GLubyte inputmap_rev[16]; int native; + int fogpidx; + int fogmode; }; struct r200_colorbuffer_state { @@ -175,6 +180,7 @@ struct r200_tex_obj { drm_radeon_tex_image_t image[6][RADEON_MAX_TEXTURE_LEVELS]; /* Six, for the cube faces */ + GLboolean image_override; /* Image overridden by GLX_EXT_tfp */ GLuint pp_txfilter; /* hardware register values */ GLuint pp_txformat; @@ -445,9 +451,29 @@ struct r200_state_atom { /* SPR - point sprite state */ -#define SPR_CMD_0 0 -#define SPR_POINT_SPRITE_CNTL 1 -#define SPR_STATE_SIZE 2 +#define SPR_CMD_0 0 +#define SPR_POINT_SPRITE_CNTL 1 +#define SPR_STATE_SIZE 2 + +#define PTP_CMD_0 0 +#define PTP_VPORT_SCALE_0 1 +#define PTP_VPORT_SCALE_1 2 +#define PTP_VPORT_SCALE_PTSIZE 3 +#define PTP_VPORT_SCALE_3 4 +#define PTP_CMD_1 5 +#define PTP_ATT_CONST_QUAD 6 +#define PTP_ATT_CONST_LIN 7 +#define PTP_ATT_CONST_CON 8 +#define PTP_ATT_CONST_3 9 +#define PTP_EYE_X 10 +#define PTP_EYE_Y 11 +#define PTP_EYE_Z 12 +#define PTP_EYE_3 13 +#define PTP_CLAMP_MIN 14 +#define PTP_CLAMP_MAX 15 +#define PTP_CLAMP_2 16 +#define PTP_CLAMP_3 17 +#define PTP_STATE_SIZE 18 #define VTX_COLOR(v,n) (((v)>>(R200_VTX_COLOR_0_SHIFT+(n)*2))&\ R200_VTX_COLOR_MASK) @@ -614,6 +640,7 @@ struct r200_hw_state { struct r200_state_atom vpp[2]; struct r200_state_atom atf; struct r200_state_atom spr; + struct r200_state_atom ptp; int max_state_size; /* Number of bytes necessary for a full state emit. */ GLboolean is_dirty, all_dirty; @@ -674,6 +701,7 @@ struct r200_dri_mirror { __DRIcontextPrivate *context; /* DRI context */ __DRIscreenPrivate *screen; /* DRI screen */ __DRIdrawablePrivate *drawable; /* DRI drawable bound to this ctx */ + __DRIdrawablePrivate *readable; /* DRI readable bound to this ctx */ drm_context_t hwContext; drm_hw_lock_t *hwLock; @@ -696,23 +724,16 @@ struct r200_store { /* r200_tcl.c */ struct r200_tcl_info { - GLuint vertex_format; - GLint last_offset; GLuint hw_primitive; -/* FIXME: what's the maximum number of components? */ - struct r200_dma_region *aos_components[11]; +/* hw can handle 12 components max */ + struct r200_dma_region *aos_components[12]; GLuint nr_aos_components; GLuint *Elts; struct r200_dma_region indexed_verts; - struct r200_dma_region obj; - struct r200_dma_region rgba; - struct r200_dma_region spec; - struct r200_dma_region fog; - struct r200_dma_region tex[R200_MAX_TEXTURE_UNITS]; - struct r200_dma_region norm; + struct r200_dma_region vertex_data[15]; }; @@ -782,87 +803,6 @@ struct r200_ioctl { #define R200_MAX_PRIMS 64 -/* Want to keep a cache of these around. Each is parameterized by - * only a single value which has only a small range. Only expect a - * few, so just rescan the list each time? - */ -struct dynfn { - struct dynfn *next, *prev; - int key[2]; - char *code; -}; - -struct dfn_lists { - struct dynfn Vertex2f; - struct dynfn Vertex2fv; - struct dynfn Vertex3f; - struct dynfn Vertex3fv; - struct dynfn Color4ub; - struct dynfn Color4ubv; - struct dynfn Color3ub; - struct dynfn Color3ubv; - struct dynfn Color4f; - struct dynfn Color4fv; - struct dynfn Color3f; - struct dynfn Color3fv; - struct dynfn SecondaryColor3ubEXT; - struct dynfn SecondaryColor3ubvEXT; - struct dynfn SecondaryColor3fEXT; - struct dynfn SecondaryColor3fvEXT; - struct dynfn Normal3f; - struct dynfn Normal3fv; - struct dynfn TexCoord3f; - struct dynfn TexCoord3fv; - struct dynfn TexCoord2f; - struct dynfn TexCoord2fv; - struct dynfn TexCoord1f; - struct dynfn TexCoord1fv; - struct dynfn MultiTexCoord3fARB; - struct dynfn MultiTexCoord3fvARB; - struct dynfn MultiTexCoord2fARB; - struct dynfn MultiTexCoord2fvARB; - struct dynfn MultiTexCoord1fARB; - struct dynfn MultiTexCoord1fvARB; - struct dynfn FogCoordfEXT; - struct dynfn FogCoordfvEXT; -}; - -struct dfn_generators { - struct dynfn *(*Vertex2f)( GLcontext *, const int * ); - struct dynfn *(*Vertex2fv)( GLcontext *, const int * ); - struct dynfn *(*Vertex3f)( GLcontext *, const int * ); - struct dynfn *(*Vertex3fv)( GLcontext *, const int * ); - struct dynfn *(*Color4ub)( GLcontext *, const int * ); - struct dynfn *(*Color4ubv)( GLcontext *, const int * ); - struct dynfn *(*Color3ub)( GLcontext *, const int * ); - struct dynfn *(*Color3ubv)( GLcontext *, const int * ); - struct dynfn *(*Color4f)( GLcontext *, const int * ); - struct dynfn *(*Color4fv)( GLcontext *, const int * ); - struct dynfn *(*Color3f)( GLcontext *, const int * ); - struct dynfn *(*Color3fv)( GLcontext *, const int * ); - struct dynfn *(*SecondaryColor3ubEXT)( GLcontext *, const int * ); - struct dynfn *(*SecondaryColor3ubvEXT)( GLcontext *, const int * ); - struct dynfn *(*SecondaryColor3fEXT)( GLcontext *, const int * ); - struct dynfn *(*SecondaryColor3fvEXT)( GLcontext *, const int * ); - struct dynfn *(*Normal3f)( GLcontext *, const int * ); - struct dynfn *(*Normal3fv)( GLcontext *, const int * ); - struct dynfn *(*TexCoord3f)( GLcontext *, const int * ); - struct dynfn *(*TexCoord3fv)( GLcontext *, const int * ); - struct dynfn *(*TexCoord2f)( GLcontext *, const int * ); - struct dynfn *(*TexCoord2fv)( GLcontext *, const int * ); - struct dynfn *(*TexCoord1f)( GLcontext *, const int * ); - struct dynfn *(*TexCoord1fv)( GLcontext *, const int * ); - struct dynfn *(*MultiTexCoord3fARB)( GLcontext *, const int * ); - struct dynfn *(*MultiTexCoord3fvARB)( GLcontext *, const int * ); - struct dynfn *(*MultiTexCoord2fARB)( GLcontext *, const int * ); - struct dynfn *(*MultiTexCoord2fvARB)( GLcontext *, const int * ); - struct dynfn *(*MultiTexCoord1fARB)( GLcontext *, const int * ); - struct dynfn *(*MultiTexCoord1fvARB)( GLcontext *, const int * ); - struct dynfn *(*FogCoordfEXT)( GLcontext *, const int * ); - struct dynfn *(*FogCoordfvEXT)( GLcontext *, const int * ); -}; - - struct r200_prim { GLuint start; @@ -883,43 +823,6 @@ struct r200_prim { #define R200_MAX_VERTEX_SIZE ((3*6)+11) -struct r200_vbinfo { - GLint counter, initial_counter; - GLint *dmaptr; - void (*notify)( void ); - GLint vertex_size; - - union { float f; int i; r200_color_t color; } vertex[R200_MAX_VERTEX_SIZE]; - - GLfloat *normalptr; - GLfloat *floatcolorptr; - GLfloat *fogptr; - r200_color_t *colorptr; - GLfloat *floatspecptr; - r200_color_t *specptr; - GLfloat *texcoordptr[8]; /* 6 (TMU) + 2 for r200_vtxfmt_c.c when GL_TEXTURE6/7 */ - - - GLenum *prim; /* &ctx->Driver.CurrentExecPrimitive */ - GLuint primflags; - GLboolean enabled; /* *_NO_VTXFMT / *_NO_TCL env vars */ - GLboolean installed; - GLboolean fell_back; - GLboolean recheck; - GLint nrverts; - GLuint vtxfmt_0, vtxfmt_1; - - GLuint installed_vertex_format; - GLuint installed_color_3f_sz; - - struct r200_prim primlist[R200_MAX_PRIMS]; - int nrprims; - - struct dfn_lists dfn_cache; - struct dfn_generators codegen; - GLvertexformat vtxfmt; -}; - struct r200_context { GLcontext *glCtx; /* Mesa context */ @@ -1011,10 +914,6 @@ struct r200_context { */ struct r200_swtcl_info swtcl; - /* r200_vtxfmt.c - */ - struct r200_vbinfo vb; - /* Mirrors of some DRI state */ struct r200_dri_mirror dri; diff --git a/dist/Mesa/src/mesa/drivers/dri/r200/r200_tex.h b/dist/Mesa/src/mesa/drivers/dri/r200/r200_tex.h index 4438cc02a..68e9a0ed5 100644 --- a/dist/Mesa/src/mesa/drivers/dri/r200/r200_tex.h +++ b/dist/Mesa/src/mesa/drivers/dri/r200/r200_tex.h @@ -36,6 +36,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #ifndef __R200_TEX_H__ #define __R200_TEX_H__ +extern void r200SetTexOffset(__DRIcontext *pDRICtx, GLint texname, + unsigned long long offset, GLint depth, + GLuint pitch); + extern void r200UpdateTextureState( GLcontext *ctx ); extern int r200UploadTexImages( r200ContextPtr rmesa, r200TexObjPtr t, GLuint face ); diff --git a/dist/Mesa/src/mesa/drivers/dri/r200/r200_texmem.c b/dist/Mesa/src/mesa/drivers/dri/r200/r200_texmem.c index 14ee8238a..9daafcf59 100644 --- a/dist/Mesa/src/mesa/drivers/dri/r200/r200_texmem.c +++ b/dist/Mesa/src/mesa/drivers/dri/r200/r200_texmem.c @@ -182,7 +182,8 @@ static void r200UploadRectSubImage( r200ContextPtr rmesa, /* In this case, could also use GART texturing. This is * currently disabled, but has been tested & works. */ - t->pp_txoffset = r200GartOffsetFromVirtual( rmesa, texImage->Data ); + if ( !t->image_override ) + t->pp_txoffset = r200GartOffsetFromVirtual( rmesa, texImage->Data ); t->pp_txpitch = texImage->RowStride * texFormat->TexelBytes - 32; if (R200_DEBUG & DEBUG_TEXTURE) @@ -374,6 +375,10 @@ static void uploadSubImage( r200ContextPtr rmesa, r200TexObjPtr t, tex.height = imageHeight; tex.width = imageWidth; tex.format = t->pp_txformat & R200_TXFORMAT_FORMAT_MASK; + if (tex.format == R200_TXFORMAT_ABGR8888) { + /* drm will refuse abgr8888 textures. */ + tex.format = R200_TXFORMAT_ARGB8888; + } tex.pitch = MAX2((texImage->Width * texImage->TexFormat->TexelBytes) / 64, 1); tex.offset += tmp.x & ~1023; tmp.x = tmp.x % 1024; @@ -464,7 +469,7 @@ int r200UploadTexImages( r200ContextPtr rmesa, r200TexObjPtr t, GLuint face ) t->base.firstLevel, t->base.lastLevel ); } - if ( !t || t->base.totalSize == 0 ) + if ( !t || t->base.totalSize == 0 || t->image_override ) return 0; if (R200_DEBUG & DEBUG_SYNC) { diff --git a/dist/Mesa/src/mesa/drivers/dri/r200/r200_texstate.c b/dist/Mesa/src/mesa/drivers/dri/r200/r200_texstate.c index 433bc67e3..af5092bb9 100644 --- a/dist/Mesa/src/mesa/drivers/dri/r200/r200_texstate.c +++ b/dist/Mesa/src/mesa/drivers/dri/r200/r200_texstate.c @@ -38,6 +38,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "context.h" #include "macros.h" #include "texformat.h" +#include "texobj.h" #include "enums.h" #include "r200_context.h" @@ -71,14 +72,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define _INVALID(f) \ [ MESA_FORMAT_ ## f ] = { 0xffffffff, 0 } #define VALID_FORMAT(f) ( ((f) <= MESA_FORMAT_RGBA_DXT5) \ - && (tx_table[f].format != 0xffffffff) ) + && (tx_table_le[f].format != 0xffffffff) ) -static const struct { +struct tx_table { GLuint format, filter; -} -tx_table[] = +}; + +static const struct tx_table tx_table_be[] = { - _ALPHA(RGBA8888), + [ MESA_FORMAT_RGBA8888 ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 }, _ALPHA_REV(RGBA8888), _ALPHA(ARGB8888), _ALPHA_REV(ARGB8888), @@ -105,6 +107,35 @@ tx_table[] = _ALPHA(RGBA_DXT5), }; +static const struct tx_table tx_table_le[] = +{ + _ALPHA(RGBA8888), + [ MESA_FORMAT_RGBA8888_REV ] = { R200_TXFORMAT_ABGR8888 | R200_TXFORMAT_ALPHA_IN_MAP, 0 }, + _ALPHA(ARGB8888), + _ALPHA_REV(ARGB8888), + [ MESA_FORMAT_RGB888 ] = { R200_TXFORMAT_ARGB8888, 0 }, + _COLOR(RGB565), + _COLOR_REV(RGB565), + _ALPHA(ARGB4444), + _ALPHA_REV(ARGB4444), + _ALPHA(ARGB1555), + _ALPHA_REV(ARGB1555), + _ALPHA(AL88), + _ALPHA_REV(AL88), + _ALPHA(A8), + _COLOR(L8), + _ALPHA(I8), + _INVALID(CI8), + _YUV(YCBCR), + _YUV(YCBCR_REV), + _INVALID(RGB_FXT1), + _INVALID(RGBA_FXT1), + _COLOR(RGB_DXT1), + _ALPHA(RGBA_DXT1), + _ALPHA(RGBA_DXT3), + _ALPHA(RGBA_DXT5), +}; + #undef _COLOR #undef _ALPHA #undef _INVALID @@ -132,18 +163,19 @@ static void r200SetTexImages( r200ContextPtr rmesa, /* Set the hardware texture format */ - - t->pp_txformat &= ~(R200_TXFORMAT_FORMAT_MASK | - R200_TXFORMAT_ALPHA_IN_MAP); - t->pp_txfilter &= ~R200_YUV_TO_RGB; - - if ( VALID_FORMAT( baseImage->TexFormat->MesaFormat ) ) { - t->pp_txformat |= tx_table[ baseImage->TexFormat->MesaFormat ].format; - t->pp_txfilter |= tx_table[ baseImage->TexFormat->MesaFormat ].filter; - } - else { - _mesa_problem(NULL, "unexpected texture format in %s", __FUNCTION__); - return; + if ( !t->image_override ) { + if ( VALID_FORMAT( baseImage->TexFormat->MesaFormat ) ) { + t->pp_txformat &= ~(R200_TXFORMAT_FORMAT_MASK | + R200_TXFORMAT_ALPHA_IN_MAP); + t->pp_txfilter &= ~R200_YUV_TO_RGB; + + t->pp_txformat |= tx_table_le[ baseImage->TexFormat->MesaFormat ].format; + t->pp_txfilter |= tx_table_le[ baseImage->TexFormat->MesaFormat ].filter; + } + else { + _mesa_problem(NULL, "unexpected texture format in %s", __FUNCTION__); + return; + } } texelBytes = baseImage->TexFormat->TexelBytes; @@ -341,11 +373,13 @@ static void r200SetTexImages( r200ContextPtr rmesa, * requires 64-byte aligned pitches, and we may/may not need the * blitter. NPOT only! */ - if (baseImage->IsCompressed) - t->pp_txpitch = (tObj->Image[0][t->base.firstLevel]->Width + 63) & ~(63); - else - t->pp_txpitch = ((tObj->Image[0][t->base.firstLevel]->Width * texelBytes) + 63) & ~(63); - t->pp_txpitch -= 32; + if ( !t->image_override ) { + if (baseImage->IsCompressed) + t->pp_txpitch = (tObj->Image[0][t->base.firstLevel]->Width + 63) & ~(63); + else + t->pp_txpitch = ((tObj->Image[0][t->base.firstLevel]->Width * texelBytes) + 63) & ~(63); + t->pp_txpitch -= 32; + } t->dirty_state = TEX_ALL; @@ -940,6 +974,46 @@ static GLboolean r200UpdateTextureEnv( GLcontext *ctx, int unit, int slot, GLuin return GL_TRUE; } +void r200SetTexOffset(__DRIcontext * pDRICtx, GLint texname, + unsigned long long offset, GLint depth, GLuint pitch) +{ + r200ContextPtr rmesa = + (r200ContextPtr) ((__DRIcontextPrivate *) pDRICtx->private)-> + driverPrivate; + struct gl_texture_object *tObj = + _mesa_lookup_texture(rmesa->glCtx, texname); + r200TexObjPtr t; + + if (!tObj) + return; + + t = (r200TexObjPtr) tObj->DriverData; + + t->image_override = GL_TRUE; + + if (!offset) + return; + + t->pp_txoffset = offset; + t->pp_txpitch = pitch - 32; + + switch (depth) { + case 32: + t->pp_txformat = tx_table_le[MESA_FORMAT_ARGB8888].format; + t->pp_txfilter |= tx_table_le[MESA_FORMAT_ARGB8888].filter; + break; + case 24: + default: + t->pp_txformat = tx_table_le[MESA_FORMAT_RGB888].format; + t->pp_txfilter |= tx_table_le[MESA_FORMAT_RGB888].filter; + break; + case 16: + t->pp_txformat = tx_table_le[MESA_FORMAT_RGB565].format; + t->pp_txfilter |= tx_table_le[MESA_FORMAT_RGB565].filter; + break; + } +} + #define REF_COLOR 1 #define REF_ALPHA 2 @@ -1138,7 +1212,7 @@ static void import_tex_obj_state( r200ContextPtr rmesa, r200TexObjPtr texobj ) { /* do not use RADEON_DB_STATE to avoid stale texture caches */ - GLuint *cmd = &rmesa->hw.tex[unit].cmd[TEX_CMD_0]; + int *cmd = &rmesa->hw.tex[unit].cmd[TEX_CMD_0]; R200_STATECHANGE( rmesa, tex[unit] ); @@ -1159,7 +1233,7 @@ static void import_tex_obj_state( r200ContextPtr rmesa, } if (texobj->base.tObj->Target == GL_TEXTURE_CUBE_MAP) { - GLuint *cube_cmd = &rmesa->hw.cube[unit].cmd[CUBE_CMD_0]; + int *cube_cmd = &rmesa->hw.cube[unit].cmd[CUBE_CMD_0]; GLuint bytesPerFace = texobj->base.totalSize / 6; ASSERT(texobj->base.totalSize % 6 == 0); @@ -1216,6 +1290,47 @@ static void set_texgen_matrix( r200ContextPtr rmesa, } +static GLuint r200_need_dis_texgen(const GLbitfield texGenEnabled, + const GLfloat *planeS, + const GLfloat *planeT, + const GLfloat *planeR, + const GLfloat *planeQ) +{ + GLuint needtgenable = 0; + + if (!(texGenEnabled & S_BIT)) { + if (((texGenEnabled & T_BIT) && planeT[0] != 0.0) || + ((texGenEnabled & R_BIT) && planeR[0] != 0.0) || + ((texGenEnabled & Q_BIT) && planeQ[0] != 0.0)) { + needtgenable |= S_BIT; + } + } + if (!(texGenEnabled & T_BIT)) { + if (((texGenEnabled & S_BIT) && planeS[1] != 0.0) || + ((texGenEnabled & R_BIT) && planeR[1] != 0.0) || + ((texGenEnabled & Q_BIT) && planeQ[1] != 0.0)) { + needtgenable |= T_BIT; + } + } + if (!(texGenEnabled & R_BIT)) { + if (((texGenEnabled & S_BIT) && planeS[2] != 0.0) || + ((texGenEnabled & T_BIT) && planeT[2] != 0.0) || + ((texGenEnabled & Q_BIT) && planeQ[2] != 0.0)) { + needtgenable |= R_BIT; + } + } + if (!(texGenEnabled & Q_BIT)) { + if (((texGenEnabled & S_BIT) && planeS[3] != 0.0) || + ((texGenEnabled & T_BIT) && planeT[3] != 0.0) || + ((texGenEnabled & R_BIT) && planeR[3] != 0.0)) { + needtgenable |= Q_BIT; + } + } + + return needtgenable; +} + + /* * Returns GL_FALSE if fallback required. */ @@ -1285,28 +1400,72 @@ static GLboolean r200_validate_texgen( GLcontext *ctx, GLuint unit ) return GL_FALSE; } +/* we CANNOT do mixed mode if the texgen mode requires a plane where the input + is not enabled for texgen, since the planes are concatenated into texmat, + and thus the input will come from texcoord rather than tex gen equation! + Either fallback or just hope that those texcoords aren't really needed... + Assuming the former will cause lots of unnecessary fallbacks, the latter will + generate bogus results sometimes - it's pretty much impossible to really know + when a fallback is needed, depends on texmat and what sort of texture is bound + etc, - for now fallback if we're missing either S or T bits, there's a high + probability we need the texcoords in that case. + That's a lot of work for some obscure texgen mixed mode fixup - why oh why + doesn't the chip just directly accept the plane parameters :-(. */ switch (mode) { - case GL_OBJECT_LINEAR: + case GL_OBJECT_LINEAR: { + GLuint needtgenable = r200_need_dis_texgen( texUnit->TexGenEnabled, + texUnit->ObjectPlaneS, texUnit->ObjectPlaneT, + texUnit->ObjectPlaneR, texUnit->ObjectPlaneQ ); + if (needtgenable & (S_BIT | T_BIT)) { + if (R200_DEBUG & DEBUG_FALLBACKS) + fprintf(stderr, "fallback mixed texgen / obj plane, 0x%x\n", + texUnit->TexGenEnabled); + return GL_FALSE; + } + if (needtgenable & (R_BIT)) { + tgcm &= ~(R200_TEXGEN_COMP_R << (unit * 4)); + } + if (needtgenable & (Q_BIT)) { + tgcm &= ~(R200_TEXGEN_COMP_Q << (unit * 4)); + } + tgi |= R200_TEXGEN_INPUT_OBJ << inputshift; set_texgen_matrix( rmesa, unit, (texUnit->TexGenEnabled & S_BIT) ? texUnit->ObjectPlaneS : I, (texUnit->TexGenEnabled & T_BIT) ? texUnit->ObjectPlaneT : I + 4, (texUnit->TexGenEnabled & R_BIT) ? texUnit->ObjectPlaneR : I + 8, (texUnit->TexGenEnabled & Q_BIT) ? texUnit->ObjectPlaneQ : I + 12); + } break; - case GL_EYE_LINEAR: + case GL_EYE_LINEAR: { + GLuint needtgenable = r200_need_dis_texgen( texUnit->TexGenEnabled, + texUnit->EyePlaneS, texUnit->EyePlaneT, + texUnit->EyePlaneR, texUnit->EyePlaneQ ); + if (needtgenable & (S_BIT | T_BIT)) { + if (R200_DEBUG & DEBUG_FALLBACKS) + fprintf(stderr, "fallback mixed texgen / eye plane, 0x%x\n", + texUnit->TexGenEnabled); + return GL_FALSE; + } + if (needtgenable & (R_BIT)) { + tgcm &= ~(R200_TEXGEN_COMP_R << (unit * 4)); + } + if (needtgenable & (Q_BIT)) { + tgcm &= ~(R200_TEXGEN_COMP_Q << (unit * 4)); + } tgi |= R200_TEXGEN_INPUT_EYE << inputshift; - set_texgen_matrix( rmesa, unit, + set_texgen_matrix( rmesa, unit, (texUnit->TexGenEnabled & S_BIT) ? texUnit->EyePlaneS : I, (texUnit->TexGenEnabled & T_BIT) ? texUnit->EyePlaneT : I + 4, (texUnit->TexGenEnabled & R_BIT) ? texUnit->EyePlaneR : I + 8, (texUnit->TexGenEnabled & Q_BIT) ? texUnit->EyePlaneQ : I + 12); + } break; case GL_REFLECTION_MAP_NV: rmesa->TexGenNeedNormals[unit] = GL_TRUE; - tgi |= R200_TEXGEN_INPUT_EYE_REFLECT<<inputshift; + tgi |= R200_TEXGEN_INPUT_EYE_REFLECT << inputshift; /* pretty weird, must only negate when lighting is enabled? */ if (ctx->Light.Enabled) set_texgen_matrix( rmesa, unit, @@ -1436,7 +1595,7 @@ static GLboolean enable_tex_2d( GLcontext *ctx, int unit ) R200_FIREVERTICES( rmesa ); r200SetTexImages( rmesa, tObj ); r200UploadTexImages( rmesa, (r200TexObjPtr) tObj->DriverData, 0 ); - if ( !t->base.memBlock ) + if ( !t->base.memBlock && !t->image_override ) return GL_FALSE; } @@ -1544,7 +1703,9 @@ static GLboolean enable_tex_rect( GLcontext *ctx, int unit ) R200_FIREVERTICES( rmesa ); r200SetTexImages( rmesa, tObj ); r200UploadTexImages( rmesa, (r200TexObjPtr) tObj->DriverData, 0 ); - if ( !t->base.memBlock && !rmesa->prefer_gart_client_texturing ) + if ( !t->base.memBlock && + !t->image_override && + !rmesa->prefer_gart_client_texturing ) return GL_FALSE; } diff --git a/dist/Mesa/src/mesa/drivers/dri/radeon/radeon_screen.c b/dist/Mesa/src/mesa/drivers/dri/radeon/radeon_screen.c index 140d848d9..682cf3a5e 100644 --- a/dist/Mesa/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/dist/Mesa/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -53,8 +53,11 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "r200_context.h" #include "r200_ioctl.h" #include "r200_span.h" +#include "r200_tex.h" #elif RADEON_COMMON && defined(RADEON_COMMON_FOR_R300) #include "r300_context.h" +#include "r300_fragprog.h" +#include "r300_tex.h" #include "radeon_span.h" #endif @@ -130,6 +133,7 @@ extern const struct dri_extension blend_extensions[]; extern const struct dri_extension ARB_vp_extension[]; extern const struct dri_extension NV_vp_extension[]; extern const struct dri_extension ATI_fs_extension[]; +extern const struct dri_extension point_extensions[]; #elif RADEON_COMMON && defined(RADEON_COMMON_FOR_R300) @@ -162,6 +166,18 @@ DRI_CONF_OPT_BEGIN(disable_lowimpact_fallback,bool,def) \ DRI_CONF_DESC(en,"Disable Low-impact fallback") \ DRI_CONF_OPT_END +#define DRI_CONF_DISABLE_DOUBLE_SIDE_STENCIL(def) \ +DRI_CONF_OPT_BEGIN(disable_stencil_two_side,bool,def) \ + DRI_CONF_DESC(en,"Disable GL_EXT_stencil_two_side") \ +DRI_CONF_OPT_END + +#define DRI_CONF_FP_OPTIMIZATION(def) \ +DRI_CONF_OPT_BEGIN_V(fp_optimization,enum,def,"0:1") \ + DRI_CONF_DESC_BEGIN(en,"Fragment Program optimization") \ + DRI_CONF_ENUM(0,"Optimize for Speed") \ + DRI_CONF_ENUM(1,"Optimize for Quality") \ + DRI_CONF_DESC_END \ +DRI_CONF_OPT_END const char __driConfigOptions[] = DRI_CONF_BEGIN @@ -173,6 +189,7 @@ DRI_CONF_BEGIN DRI_CONF_MAX_TEXTURE_COORD_UNITS(8, 2, 8) DRI_CONF_COMMAND_BUFFER_SIZE(8, 8, 32) DRI_CONF_DISABLE_FALLBACK(false) + DRI_CONF_DISABLE_DOUBLE_SIDE_STENCIL(false) DRI_CONF_SECTION_END DRI_CONF_SECTION_QUALITY DRI_CONF_TEXTURE_DEPTH(DRI_CONF_TEXTURE_DEPTH_FB) @@ -183,12 +200,13 @@ DRI_CONF_BEGIN DRI_CONF_COLOR_REDUCTION(DRI_CONF_COLOR_REDUCTION_DITHER) DRI_CONF_ROUND_MODE(DRI_CONF_ROUND_TRUNC) DRI_CONF_DITHER_MODE(DRI_CONF_DITHER_XERRORDIFF) + DRI_CONF_FP_OPTIMIZATION(DRI_CONF_FP_OPTIMIZATION_SPEED) DRI_CONF_SECTION_END DRI_CONF_SECTION_DEBUG DRI_CONF_NO_RAST(false) DRI_CONF_SECTION_END DRI_CONF_END; -static const GLuint __driNConfigOptions = 16; +static const GLuint __driNConfigOptions = 18; #ifndef RADEON_DEBUG int RADEON_DEBUG = 0; @@ -640,7 +658,7 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv ) case PCI_CHIP_RC410_5A61: case PCI_CHIP_RC410_5A62: screen->chip_family = CHIP_FAMILY_RS400; - fprintf(stderr, "Warning, xpress200 detected. Probably won't work.\n"); + fprintf(stderr, "Warning, xpress200 detected.\n"); break; default: @@ -726,6 +744,7 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv ) (*glx_enable_extension)( psc, "GLX_MESA_allocate_memory" ); (*glx_enable_extension)( psc, "GLX_MESA_copy_sub_buffer" ); + (*glx_enable_extension)( psc, "GLX_SGI_make_current_read" ); } #if RADEON_COMMON && defined(RADEON_COMMON_FOR_R200) @@ -884,7 +903,7 @@ radeonCreateBuffer( __DRIscreenPrivate *driScrnPriv, static void radeonDestroyBuffer(__DRIdrawablePrivate *driDrawPriv) { - _mesa_destroy_framebuffer((GLframebuffer *) (driDrawPriv->driverPrivate)); + _mesa_unreference_framebuffer((GLframebuffer **)(&(driDrawPriv->driverPrivate))); } #if RADEON_COMMON && defined(RADEON_COMMON_FOR_R300) @@ -935,6 +954,9 @@ static struct __DriverAPIRec radeonAPI = { .WaitForSBC = NULL, .SwapBuffersMSC = NULL, .CopySubBuffer = radeonCopySubBuffer, +#if RADEON_COMMON && defined(RADEON_COMMON_FOR_R300) + .setTexOffset = r300SetTexOffset, +#endif }; #else static const struct __DriverAPIRec r200API = { @@ -952,7 +974,8 @@ static const struct __DriverAPIRec r200API = { .WaitForMSC = driWaitForMSC32, .WaitForSBC = NULL, .SwapBuffersMSC = NULL, - .CopySubBuffer = r200CopySubBuffer + .CopySubBuffer = r200CopySubBuffer, + .setTexOffset = r200SetTexOffset }; #endif @@ -1042,6 +1065,7 @@ __driCreateNewScreen_20050727( __DRInativeDisplay *dpy, driInitSingleExtension( NULL, ARB_vp_extension ); driInitSingleExtension( NULL, NV_vp_extension ); driInitSingleExtension( NULL, ATI_fs_extension ); + driInitExtensions( NULL, point_extensions, GL_FALSE ); #endif } diff --git a/dist/Mesa/src/mesa/drivers/dri/unichrome/via_context.c b/dist/Mesa/src/mesa/drivers/dri/unichrome/via_context.c index ffde1b66b..7c7387772 100644 --- a/dist/Mesa/src/mesa/drivers/dri/unichrome/via_context.c +++ b/dist/Mesa/src/mesa/drivers/dri/unichrome/via_context.c @@ -42,7 +42,7 @@ #include "swrast/swrast.h" #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" -#include "array_cache/acache.h" +#include "vbo/vbo.h" #include "tnl/t_pipeline.h" @@ -64,6 +64,7 @@ #define need_GL_ARB_multisample #define need_GL_ARB_point_parameters +#define need_GL_ARB_vertex_buffer_object #define need_GL_EXT_fog_coord #define need_GL_EXT_secondary_color #include "extension_helper.h" @@ -147,10 +148,13 @@ viaRenderbufferStorage(GLcontext *ctx, struct gl_renderbuffer *rb, static void -viaInitRenderbuffer(struct gl_renderbuffer *rb, GLenum format) +viaInitRenderbuffer(struct via_renderbuffer *vrb, GLenum format, + __DRIdrawablePrivate *dPriv) { const GLuint name = 0; + struct gl_renderbuffer *rb = & vrb->Base; + vrb->dPriv = dPriv; _mesa_init_renderbuffer(rb, name); /* Make sure we're using a null-valued GetPointer routine */ @@ -198,8 +202,9 @@ viaInitRenderbuffer(struct gl_renderbuffer *rb, GLenum format) * \sa AllocateBuffer */ static GLboolean -calculate_buffer_parameters( struct via_context *vmesa, - struct gl_framebuffer *fb ) +calculate_buffer_parameters(struct via_context *vmesa, + struct gl_framebuffer *fb, + __DRIdrawablePrivate *dPriv) { const unsigned shift = vmesa->viaScreen->bitsPerPixel / 16; const unsigned extra = 32; @@ -215,26 +220,28 @@ calculate_buffer_parameters( struct via_context *vmesa, if (!vmesa->front.Base.InternalFormat) { /* do one-time init for the renderbuffers */ - viaInitRenderbuffer(&vmesa->front.Base, GL_RGBA); + viaInitRenderbuffer(&vmesa->front, GL_RGBA, dPriv); viaSetSpanFunctions(&vmesa->front, &fb->Visual); _mesa_add_renderbuffer(fb, BUFFER_FRONT_LEFT, &vmesa->front.Base); if (fb->Visual.doubleBufferMode) { - viaInitRenderbuffer(&vmesa->back.Base, GL_RGBA); + viaInitRenderbuffer(&vmesa->back, GL_RGBA, dPriv); viaSetSpanFunctions(&vmesa->back, &fb->Visual); _mesa_add_renderbuffer(fb, BUFFER_BACK_LEFT, &vmesa->back.Base); } if (vmesa->glCtx->Visual.depthBits > 0) { - viaInitRenderbuffer(&vmesa->depth.Base, + viaInitRenderbuffer(&vmesa->depth, (vmesa->glCtx->Visual.depthBits == 16 - ? GL_DEPTH_COMPONENT16 : GL_DEPTH_COMPONENT24)); + ? GL_DEPTH_COMPONENT16 : GL_DEPTH_COMPONENT24), + dPriv); viaSetSpanFunctions(&vmesa->depth, &fb->Visual); _mesa_add_renderbuffer(fb, BUFFER_DEPTH, &vmesa->depth.Base); } if (vmesa->glCtx->Visual.stencilBits > 0) { - viaInitRenderbuffer(&vmesa->stencil.Base, GL_STENCIL_INDEX8_EXT); + viaInitRenderbuffer(&vmesa->stencil, GL_STENCIL_INDEX8_EXT, + dPriv); viaSetSpanFunctions(&vmesa->stencil, &fb->Visual); _mesa_add_renderbuffer(fb, BUFFER_STENCIL, &vmesa->stencil.Base); } @@ -243,11 +250,9 @@ calculate_buffer_parameters( struct via_context *vmesa, assert(vmesa->front.Base.InternalFormat); assert(vmesa->front.Base.AllocStorage); if (fb->Visual.doubleBufferMode) { - assert(fb->Attachment[BUFFER_BACK_LEFT].Renderbuffer); - assert(vmesa->front.Base.AllocStorage); + assert(vmesa->back.Base.AllocStorage); } if (fb->Visual.depthBits) { - assert(fb->Attachment[BUFFER_DEPTH].Renderbuffer); assert(vmesa->depth.Base.AllocStorage); } @@ -352,19 +357,11 @@ void viaReAllocateBuffers(GLcontext *ctx, GLframebuffer *drawbuffer, { struct via_context *vmesa = VIA_CONTEXT(ctx); - calculate_buffer_parameters( vmesa, drawbuffer ); + calculate_buffer_parameters(vmesa, drawbuffer, vmesa->driDrawable); _mesa_resize_framebuffer(ctx, drawbuffer, width, height); } -static void viaBufferSize(GLframebuffer *buffer, GLuint *width, GLuint *height) -{ - GET_CURRENT_CONTEXT(ctx); - struct via_context *vmesa = VIA_CONTEXT(ctx); - *width = vmesa->driDrawable->w; - *height = vmesa->driDrawable->h; -} - /* Extension strings exported by the Unichrome driver. */ const struct dri_extension card_extensions[] = @@ -376,6 +373,7 @@ const struct dri_extension card_extensions[] = { "GL_ARB_texture_env_combine", NULL }, /* { "GL_ARB_texture_env_dot3", NULL }, */ { "GL_ARB_texture_mirrored_repeat", NULL }, + { "GL_ARB_vertex_buffer_object", GL_ARB_vertex_buffer_object_functions }, { "GL_EXT_fog_coord", GL_EXT_fog_coord_functions }, { "GL_EXT_secondary_color", GL_EXT_secondary_color_functions }, { "GL_EXT_stencil_wrap", NULL }, @@ -481,7 +479,7 @@ viaCreateContext(const __GLcontextModes *visual, /* Parse configuration files. */ driParseConfigFiles (&vmesa->optionCache, &viaScreen->optionCache, - sPriv->myNum, "via"); + sPriv->myNum, "unichrome"); /* pick back buffer */ vmesa->hasBack = visual->doubleBufferMode; @@ -557,8 +555,12 @@ viaCreateContext(const __GLcontextModes *visual, driContextPriv->driverPrivate = vmesa; ctx = vmesa->glCtx; - - ctx->Const.MaxTextureLevels = 10; + + if (driQueryOptionb(&vmesa->optionCache, "excess_mipmap")) + ctx->Const.MaxTextureLevels = 11; + else + ctx->Const.MaxTextureLevels = 10; + ctx->Const.MaxTextureUnits = 2; ctx->Const.MaxTextureImageUnits = ctx->Const.MaxTextureUnits; ctx->Const.MaxTextureCoordUnits = ctx->Const.MaxTextureUnits; @@ -575,8 +577,6 @@ viaCreateContext(const __GLcontextModes *visual, ctx->Const.MaxPointSizeAA = 1.0; ctx->Const.PointSizeGranularity = 1.0; - ctx->Driver.GetBufferSize = viaBufferSize; -/* ctx->Driver.ResizeBuffers = _swrast_alloc_buffers; *//* FIXME ?? */ ctx->Driver.GetString = viaGetString; ctx->DriverCtx = (void *)vmesa; @@ -585,7 +585,7 @@ viaCreateContext(const __GLcontextModes *visual, /* Initialize the software rasterizer and helper modules. */ _swrast_CreateContext(ctx); - _ac_CreateContext(ctx); + _vbo_CreateContext(ctx); _tnl_CreateContext(ctx); _swsetup_CreateContext(ctx); @@ -657,20 +657,14 @@ viaCreateContext(const __GLcontextModes *visual, VIA_DEBUG = driParseDebugString( getenv( "VIA_DEBUG" ), debug_control ); - if (getenv("VIA_NO_RAST")) + if (getenv("VIA_NO_RAST") || + driQueryOptionb(&vmesa->optionCache, "no_rast")) FALLBACK(vmesa, VIA_FALLBACK_USER_DISABLE, 1); - /* I don't understand why this isn't working: - */ vmesa->vblank_flags = vmesa->viaScreen->irqEnabled ? driGetDefaultVBlankFlags(&vmesa->optionCache) : VBLANK_FLAG_NO_IRQ; - /* Hack this up in its place: - */ - vmesa->vblank_flags = (getenv("VIA_VSYNC") ? - VBLANK_FLAG_SYNC : VBLANK_FLAG_NO_IRQ); - if (getenv("VIA_PAGEFLIP")) vmesa->allowPageFlip = 1; @@ -716,7 +710,7 @@ viaDestroyContext(__DRIcontextPrivate *driContextPriv) _swsetup_DestroyContext(vmesa->glCtx); _tnl_DestroyContext(vmesa->glCtx); - _ac_DestroyContext(vmesa->glCtx); + _vbo_DestroyContext(vmesa->glCtx); _swrast_DestroyContext(vmesa->glCtx); /* free the Mesa context */ _mesa_destroy_context(vmesa->glCtx); @@ -728,62 +722,94 @@ viaDestroyContext(__DRIcontextPrivate *driContextPriv) assert (is_empty_list(&vmesa->tex_image_list[VIA_MEM_SYSTEM])); assert (is_empty_list(&vmesa->freed_tex_buffers)); - FREE(vmesa); + driDestroyOptionCache(&vmesa->optionCache); + + FREE(vmesa); } } void viaXMesaWindowMoved(struct via_context *vmesa) { - __DRIdrawablePrivate *dPriv = vmesa->driDrawable; + __DRIdrawablePrivate *const drawable = vmesa->driDrawable; + __DRIdrawablePrivate *const readable = vmesa->driReadable; + struct via_renderbuffer * draw_buffer; + struct via_renderbuffer * read_buffer; GLuint bytePerPixel = vmesa->viaScreen->bitsPerPixel >> 3; - if (!dPriv) + if (!drawable) return; + + draw_buffer = (struct via_renderbuffer *) drawable->driverPrivate; + read_buffer = (struct via_renderbuffer *) readable->driverPrivate; switch (vmesa->glCtx->DrawBuffer->_ColorDrawBufferMask[0]) { case BUFFER_BIT_BACK_LEFT: - if (dPriv->numBackClipRects == 0) { - vmesa->numClipRects = dPriv->numClipRects; - vmesa->pClipRects = dPriv->pClipRects; + if (drawable->numBackClipRects == 0) { + vmesa->numClipRects = drawable->numClipRects; + vmesa->pClipRects = drawable->pClipRects; } else { - vmesa->numClipRects = dPriv->numBackClipRects; - vmesa->pClipRects = dPriv->pBackClipRects; + vmesa->numClipRects = drawable->numBackClipRects; + vmesa->pClipRects = drawable->pBackClipRects; } break; case BUFFER_BIT_FRONT_LEFT: - vmesa->numClipRects = dPriv->numClipRects; - vmesa->pClipRects = dPriv->pClipRects; + vmesa->numClipRects = drawable->numClipRects; + vmesa->pClipRects = drawable->pClipRects; break; default: vmesa->numClipRects = 0; break; } - if (vmesa->drawW != dPriv->w || - vmesa->drawH != dPriv->h) - calculate_buffer_parameters( vmesa, vmesa->glCtx->DrawBuffer ); + if ((draw_buffer->drawW != drawable->w) + || (draw_buffer->drawH != drawable->h)) { + calculate_buffer_parameters(vmesa, vmesa->glCtx->DrawBuffer, + drawable); + } + + draw_buffer->drawX = drawable->x; + draw_buffer->drawY = drawable->y; + draw_buffer->drawW = drawable->w; + draw_buffer->drawH = drawable->h; - vmesa->drawXoff = (GLuint)(((dPriv->x * bytePerPixel) & 0x1f) / - bytePerPixel); - vmesa->drawX = dPriv->x - vmesa->drawXoff; - vmesa->drawY = dPriv->y; - vmesa->drawW = dPriv->w; - vmesa->drawH = dPriv->h; + if (drawable != readable) { + if ((read_buffer->drawW != readable->w) + || (read_buffer->drawH != readable->h)) { + calculate_buffer_parameters(vmesa, vmesa->glCtx->ReadBuffer, + readable); + } + + read_buffer->drawX = readable->x; + read_buffer->drawY = readable->y; + read_buffer->drawW = readable->w; + read_buffer->drawH = readable->h; + } vmesa->front.orig = (vmesa->front.offset + - vmesa->drawY * vmesa->front.pitch + - vmesa->drawX * bytePerPixel); + draw_buffer->drawY * vmesa->front.pitch + + draw_buffer->drawX * bytePerPixel); vmesa->front.origMap = (vmesa->front.map + - vmesa->drawY * vmesa->front.pitch + - vmesa->drawX * bytePerPixel); + draw_buffer->drawY * vmesa->front.pitch + + draw_buffer->drawX * bytePerPixel); - vmesa->back.orig = vmesa->back.offset; - vmesa->depth.orig = vmesa->depth.offset; - vmesa->back.origMap = vmesa->back.map; - vmesa->depth.origMap = vmesa->depth.map; + vmesa->back.orig = (vmesa->back.offset + + draw_buffer->drawY * vmesa->back.pitch + + draw_buffer->drawX * bytePerPixel); + + vmesa->back.origMap = (vmesa->back.map + + draw_buffer->drawY * vmesa->back.pitch + + draw_buffer->drawX * bytePerPixel); + + vmesa->depth.orig = (vmesa->depth.offset + + draw_buffer->drawY * vmesa->depth.pitch + + draw_buffer->drawX * bytePerPixel); + + vmesa->depth.origMap = (vmesa->depth.map + + draw_buffer->drawY * vmesa->depth.pitch + + draw_buffer->drawX * bytePerPixel); viaCalcViewport(vmesa->glCtx); } @@ -814,14 +840,41 @@ viaMakeCurrent(__DRIcontextPrivate *driContextPriv, drawBuffer = (GLframebuffer *)driDrawPriv->driverPrivate; readBuffer = (GLframebuffer *)driReadPriv->driverPrivate; - if ( vmesa->driDrawable != driDrawPriv ) { - driDrawableInitVBlank( driDrawPriv, vmesa->vblank_flags ); - vmesa->driDrawable = driDrawPriv; - if ( ! calculate_buffer_parameters( vmesa, drawBuffer ) ) { - return GL_FALSE; - } + if (vmesa->driDrawable != driDrawPriv) { + driDrawableInitVBlank(driDrawPriv, vmesa->vblank_flags, + &vmesa->vbl_seq); } + if ((vmesa->driDrawable != driDrawPriv) + || (vmesa->driReadable != driReadPriv)) { + vmesa->driDrawable = driDrawPriv; + vmesa->driReadable = driReadPriv; + + if ((drawBuffer->Width != driDrawPriv->w) + || (drawBuffer->Height != driDrawPriv->h)) { + _mesa_resize_framebuffer(ctx, drawBuffer, + driDrawPriv->w, driDrawPriv->h); + drawBuffer->Initialized = GL_TRUE; + } + + if (!calculate_buffer_parameters(vmesa, drawBuffer, driDrawPriv)) { + return GL_FALSE; + } + + if (driDrawPriv != driReadPriv) { + if ((readBuffer->Width != driReadPriv->w) + || (readBuffer->Height != driReadPriv->h)) { + _mesa_resize_framebuffer(ctx, readBuffer, + driReadPriv->w, driReadPriv->h); + readBuffer->Initialized = GL_TRUE; + } + + if (!calculate_buffer_parameters(vmesa, readBuffer, driReadPriv)) { + return GL_FALSE; + } + } + } + _mesa_make_current(vmesa->glCtx, drawBuffer, readBuffer); ctx->Driver.DrawBuffer( ctx, ctx->Color.DrawBuffer[0] ); @@ -847,7 +900,10 @@ void viaGetLock(struct via_context *vmesa, GLuint flags) drmGetLock(vmesa->driFd, vmesa->hHWContext, flags); - DRI_VALIDATE_DRAWABLE_INFO( sPriv, dPriv ); + DRI_VALIDATE_DRAWABLE_INFO(sPriv, dPriv); + if (dPriv != vmesa->driReadable) { + DRI_VALIDATE_DRAWABLE_INFO(sPriv, vmesa->driReadable); + } if (vmesa->sarea->ctxOwner != vmesa->hHWContext) { vmesa->sarea->ctxOwner = vmesa->hHWContext; diff --git a/dist/Mesa/src/mesa/drivers/dri/unichrome/via_tris.c b/dist/Mesa/src/mesa/drivers/dri/unichrome/via_tris.c index 4cc7942b1..b97dacde2 100644 --- a/dist/Mesa/src/mesa/drivers/dri/unichrome/via_tris.c +++ b/dist/Mesa/src/mesa/drivers/dri/unichrome/via_tris.c @@ -625,13 +625,12 @@ static void viaFastRenderClippedPoly(GLcontext *ctx, const GLuint *elts, } } + /**********************************************************************/ /* Choose render functions */ /**********************************************************************/ - - #define _VIA_NEW_VERTEX (_NEW_TEXTURE | \ _DD_NEW_SEPARATE_SPECULAR | \ _DD_NEW_TRI_UNFILLED | \ @@ -665,14 +664,17 @@ static void viaChooseRenderState(GLcontext *ctx) vmesa->drawTri = via_draw_triangle; } - if (flags & (ANY_FALLBACK_FLAGS|ANY_RASTER_FLAGS)) { - if (flags & DD_TRI_LIGHT_TWOSIDE) index |= VIA_TWOSIDE_BIT; - if (flags & DD_TRI_OFFSET) index |= VIA_OFFSET_BIT; - if (flags & DD_TRI_UNFILLED) index |= VIA_UNFILLED_BIT; - if (flags & ANY_FALLBACK_FLAGS) index |= VIA_FALLBACK_BIT; - - /* Hook in fallbacks for specific primitives. - */ + if (flags & (ANY_FALLBACK_FLAGS | ANY_RASTER_FLAGS)) { + if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) + index |= VIA_TWOSIDE_BIT; + if (ctx->Polygon.FrontMode != GL_FILL || ctx->Polygon.BackMode != GL_FILL) + index |= VIA_UNFILLED_BIT; + if (flags & DD_TRI_OFFSET) + index |= VIA_OFFSET_BIT; + if (flags & ANY_FALLBACK_FLAGS) + index |= VIA_FALLBACK_BIT; + + /* Hook in fallbacks for specific primitives. */ if (flags & POINT_FALLBACK) vmesa->drawPoint = via_fallback_point; @@ -683,11 +685,8 @@ static void viaChooseRenderState(GLcontext *ctx) vmesa->drawTri = via_fallback_tri; } - - if ((flags & DD_SEPARATE_SPECULAR) && - ctx->Light.ShadeModel == GL_FLAT) { + if ((flags & DD_SEPARATE_SPECULAR) && ctx->Light.ShadeModel == GL_FLAT) index = VIA_MAX_TRIFUNC; /* flat specular */ - } if (vmesa->renderIndex != index) { vmesa->renderIndex = index; diff --git a/dist/Mesa/src/mesa/drivers/windows/gdi/wmesa.c b/dist/Mesa/src/mesa/drivers/windows/gdi/wmesa.c index 78e3d9ec8..c1d26a31a 100644 --- a/dist/Mesa/src/mesa/drivers/windows/gdi/wmesa.c +++ b/dist/Mesa/src/mesa/drivers/windows/gdi/wmesa.c @@ -6,12 +6,13 @@ #include "wmesadef.h" #include "colors.h" #include <GL/wmesa.h> +#include <winuser.h> #include "context.h" #include "extensions.h" #include "framebuffer.h" #include "renderbuffer.h" #include "drivers/common/driverfuncs.h" -#include "array_cache/acache.h" +#include "vbo/vbo.h" #include "swrast/swrast.h" #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" @@ -114,7 +115,7 @@ static void wmSetPixelFormat(WMesaFramebuffer pwfb, HDC hDC) { pwfb->cColorBits = GetDeviceCaps(hDC, BITSPIXEL); - // Only 16 and 32 bit targets are supported now + /* Only 16 and 32 bit targets are supported now */ assert(pwfb->cColorBits == 0 || pwfb->cColorBits == 16 || pwfb->cColorBits == 32); @@ -281,13 +282,13 @@ static void clear_color(GLcontext *ctx, const GLfloat color[4]) * Clearing of the other non-color buffers is left to the swrast. */ -static void clear(GLcontext *ctx, - GLbitfield mask, - GLboolean all, - GLint x, GLint y, - GLint width, GLint height) +static void clear(GLcontext *ctx, GLbitfield mask) { #define FLIP(Y) (ctx->DrawBuffer->Height - (Y) - 1) + const GLint x = ctx->DrawBuffer->_Xmin; + const GLint y = ctx->DrawBuffer->_Ymin; + const GLint height = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin; + const GLint width = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin; WMesaContext pwc = wmesa_context(ctx); WMesaFramebuffer pwfb = wmesa_framebuffer(ctx->DrawBuffer); @@ -299,7 +300,7 @@ static void clear(GLcontext *ctx, ctx->Color.ColorMask[1] != 0xff || ctx->Color.ColorMask[2] != 0xff || ctx->Color.ColorMask[3] != 0xff) { - _swrast_Clear(ctx, mask, all, x, y, width, height); + _swrast_Clear(ctx, mask); return; } @@ -318,7 +319,8 @@ static void clear(GLcontext *ctx, /* Try for a fast clear - clearing entire buffer with a single * byte value. */ - if (all) { /* entire buffer */ + if (width == ctx->DrawBuffer->Width && + height == ctx->DrawBuffer->Height) { /* entire buffer */ /* Now check for an easy clear value */ switch (bytesPerPixel) { case 1: @@ -431,7 +433,7 @@ static void clear(GLcontext *ctx, /* Call swrast if there is anything left to clear (like DEPTH) */ if (mask) - _swrast_Clear(ctx, mask, all, x, y, width, height); + _swrast_Clear(ctx, mask); #undef FLIP } @@ -456,23 +458,84 @@ static void write_rgba_span_front(const GLcontext *ctx, const GLubyte rgba[][4], const GLubyte mask[] ) { - WMesaContext pwc = wmesa_context(ctx); - GLuint i; - - (void) ctx; - y=FLIP(y); - if (mask) { - for (i=0; i<n; i++) - if (mask[i]) - SetPixel(pwc->hDC, x+i, y, RGB(rgba[i][RCOMP], rgba[i][GCOMP], - rgba[i][BCOMP])); - } - else { - for (i=0; i<n; i++) - SetPixel(pwc->hDC, x+i, y, RGB(rgba[i][RCOMP], rgba[i][GCOMP], - rgba[i][BCOMP])); - } - + WMesaContext pwc = wmesa_context(ctx); + WMesaFramebuffer pwfb = wmesa_lookup_framebuffer(pwc->hDC); + CONST BITMAPINFO bmi= + { + { + sizeof(BITMAPINFOHEADER), + n, 1, 1, 32, BI_RGB, 0, 1, 1, 0, 0 + } + }; + HBITMAP bmp=0; + HDC mdc=0; + typedef union + { + unsigned i; + struct { + unsigned b:8, g:8, r:8, a:8; + }; + } BGRA; + BGRA *bgra, c; + int i; + + if (n < 16) { // the value 16 is just guessed + y=FLIP(y); + if (mask) { + for (i=0; i<n; i++) + if (mask[i]) + SetPixel(pwc->hDC, x+i, y, + RGB(rgba[i][RCOMP], rgba[i][GCOMP], rgba[i][BCOMP])); + } + else { + for (i=0; i<n; i++) + SetPixel(pwc->hDC, x+i, y, + RGB(rgba[i][RCOMP], rgba[i][GCOMP], rgba[i][BCOMP])); + } + } + else { + if (!pwfb) { + _mesa_problem(NULL, "wmesa: write_rgba_span_front on unknown hdc"); + return; + } + bgra=malloc(n*sizeof(BGRA)); + if (!bgra) { + _mesa_problem(NULL, "wmesa: write_rgba_span_front: out of memory"); + return; + } + c.a=0; + if (mask) { + for (i=0; i<n; i++) { + if (mask[i]) { + c.r=rgba[i][RCOMP]; + c.g=rgba[i][GCOMP]; + c.b=rgba[i][BCOMP]; + c.a=rgba[i][ACOMP]; + bgra[i]=c; + } + else + bgra[i].i=0; + } + } + else { + for (i=0; i<n; i++) { + c.r=rgba[i][RCOMP]; + c.g=rgba[i][GCOMP]; + c.b=rgba[i][BCOMP]; + c.a=rgba[i][ACOMP]; + bgra[i]=c; + } + } + bmp=CreateBitmap(n, 1, 1, 32, bgra); + mdc=CreateCompatibleDC(pwfb->hDC); + SelectObject(mdc, bmp); + y=FLIP(y); + BitBlt(pwfb->hDC, x, y, n, 1, mdc, 0, 0, SRCCOPY); + SelectObject(mdc, 0); + DeleteObject(bmp); + DeleteDC(mdc); + free(bgra); + } } /* Write a horizontal span of RGB color pixels with a boolean mask. */ @@ -1124,7 +1187,7 @@ static void wmesa_update_state(GLcontext *ctx, GLuint new_state) { _swrast_InvalidateState(ctx, new_state); _swsetup_InvalidateState(ctx, new_state); - _ac_InvalidateState(ctx, new_state); + _vbo_InvalidateState(ctx, new_state); _tnl_InvalidateState(ctx, new_state); /* TODO - This code is not complete yet because I @@ -1170,7 +1233,7 @@ WMesaContext WMesaCreateContext(HDC hDC, /* I do not understand this contributed code */ /* Support memory and device contexts */ if(WindowFromDC(hDC) != NULL) { - c->hDC = GetDC(WindowFromDC(hDC)); // huh ???? + c->hDC = GetDC(WindowFromDC(hDC)); /* huh ???? */ } else { c->hDC = hDC; @@ -1238,10 +1301,11 @@ WMesaContext WMesaCreateContext(HDC hDC, _mesa_enable_1_4_extensions(ctx); _mesa_enable_1_5_extensions(ctx); _mesa_enable_2_0_extensions(ctx); + _mesa_enable_2_1_extensions(ctx); /* Initialize the software rasterizer and helper modules. */ if (!_swrast_CreateContext(ctx) || - !_ac_CreateContext(ctx) || + !_vbo_CreateContext(ctx) || !_tnl_CreateContext(ctx) || !_swsetup_CreateContext(ctx)) { _mesa_free_context_data(ctx); @@ -1284,7 +1348,7 @@ void WMesaDestroyContext( WMesaContext pwc ) _swsetup_DestroyContext(ctx); _tnl_DestroyContext(ctx); - _ac_DestroyContext(ctx); + _vbo_DestroyContext(ctx); _swrast_DestroyContext(ctx); _mesa_free_context_data(ctx); @@ -1402,48 +1466,72 @@ void WMesaSwapBuffers( HDC hdc ) * table entries. Hopefully, I'll find a better solution. The * dispatch table generation scripts ought to be making these dummy * stubs as well. */ -void gl_dispatch_stub_543(void){}; -void gl_dispatch_stub_544(void){}; -void gl_dispatch_stub_545(void){}; -void gl_dispatch_stub_546(void){}; -void gl_dispatch_stub_547(void){}; -void gl_dispatch_stub_548(void){}; -void gl_dispatch_stub_549(void){}; -void gl_dispatch_stub_550(void){}; -void gl_dispatch_stub_551(void){}; -void gl_dispatch_stub_552(void){}; -void gl_dispatch_stub_553(void){}; -void gl_dispatch_stub_554(void){}; -void gl_dispatch_stub_555(void){}; -void gl_dispatch_stub_556(void){}; -void gl_dispatch_stub_557(void){}; -void gl_dispatch_stub_558(void){}; -void gl_dispatch_stub_559(void){}; -void gl_dispatch_stub_560(void){}; -void gl_dispatch_stub_561(void){}; -void gl_dispatch_stub_565(void){}; -void gl_dispatch_stub_566(void){}; -void gl_dispatch_stub_577(void){}; -void gl_dispatch_stub_578(void){}; -void gl_dispatch_stub_603(void){}; -void gl_dispatch_stub_645(void){}; -void gl_dispatch_stub_646(void){}; -void gl_dispatch_stub_647(void){}; -void gl_dispatch_stub_648(void){}; -void gl_dispatch_stub_649(void){}; -void gl_dispatch_stub_650(void){}; -void gl_dispatch_stub_651(void){}; -void gl_dispatch_stub_652(void){}; -void gl_dispatch_stub_653(void){}; -void gl_dispatch_stub_734(void){}; -void gl_dispatch_stub_735(void){}; -void gl_dispatch_stub_736(void){}; -void gl_dispatch_stub_737(void){}; -void gl_dispatch_stub_738(void){}; -void gl_dispatch_stub_745(void){}; -void gl_dispatch_stub_746(void){}; -void gl_dispatch_stub_760(void){}; -void gl_dispatch_stub_761(void){}; -void gl_dispatch_stub_766(void){}; -void gl_dispatch_stub_767(void){}; -void gl_dispatch_stub_768(void){}; +#if !defined(__MINGW32__) || !defined(GL_NO_STDCALL) +void gl_dispatch_stub_543(void){} +void gl_dispatch_stub_544(void){} +void gl_dispatch_stub_545(void){} +void gl_dispatch_stub_546(void){} +void gl_dispatch_stub_547(void){} +void gl_dispatch_stub_548(void){} +void gl_dispatch_stub_549(void){} +void gl_dispatch_stub_550(void){} +void gl_dispatch_stub_551(void){} +void gl_dispatch_stub_552(void){} +void gl_dispatch_stub_553(void){} +void gl_dispatch_stub_554(void){} +void gl_dispatch_stub_555(void){} +void gl_dispatch_stub_556(void){} +void gl_dispatch_stub_557(void){} +void gl_dispatch_stub_558(void){} +void gl_dispatch_stub_559(void){} +void gl_dispatch_stub_560(void){} +void gl_dispatch_stub_561(void){} +void gl_dispatch_stub_565(void){} +void gl_dispatch_stub_566(void){} +void gl_dispatch_stub_577(void){} +void gl_dispatch_stub_578(void){} +void gl_dispatch_stub_603(void){} +void gl_dispatch_stub_645(void){} +void gl_dispatch_stub_646(void){} +void gl_dispatch_stub_647(void){} +void gl_dispatch_stub_648(void){} +void gl_dispatch_stub_649(void){} +void gl_dispatch_stub_650(void){} +void gl_dispatch_stub_651(void){} +void gl_dispatch_stub_652(void){} +void gl_dispatch_stub_653(void){} +void gl_dispatch_stub_734(void){} +void gl_dispatch_stub_735(void){} +void gl_dispatch_stub_736(void){} +void gl_dispatch_stub_737(void){} +void gl_dispatch_stub_738(void){} +void gl_dispatch_stub_745(void){} +void gl_dispatch_stub_746(void){} +void gl_dispatch_stub_760(void){} +void gl_dispatch_stub_761(void){} +void gl_dispatch_stub_766(void){} +void gl_dispatch_stub_767(void){} +void gl_dispatch_stub_768(void){} + +void gl_dispatch_stub_562(void){} +void gl_dispatch_stub_563(void){} +void gl_dispatch_stub_564(void){} +void gl_dispatch_stub_567(void){} +void gl_dispatch_stub_568(void){} +void gl_dispatch_stub_569(void){} +void gl_dispatch_stub_580(void){} +void gl_dispatch_stub_581(void){} +void gl_dispatch_stub_606(void){} +void gl_dispatch_stub_654(void){} +void gl_dispatch_stub_655(void){} +void gl_dispatch_stub_656(void){} +void gl_dispatch_stub_739(void){} +void gl_dispatch_stub_740(void){} +void gl_dispatch_stub_741(void){} +void gl_dispatch_stub_748(void){} +void gl_dispatch_stub_749(void){} +void gl_dispatch_stub_769(void){} +void gl_dispatch_stub_770(void){} +void gl_dispatch_stub_771(void){} + +#endif diff --git a/dist/Mesa/src/mesa/drivers/x11/xm_dd.c b/dist/Mesa/src/mesa/drivers/x11/xm_dd.c index 11d323082..4c8bf5f65 100644 --- a/dist/Mesa/src/mesa/drivers/x11/xm_dd.c +++ b/dist/Mesa/src/mesa/drivers/x11/xm_dd.c @@ -1,6 +1,6 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 6.5.2 * * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. * @@ -23,6 +23,11 @@ */ +/** + * \file xm_dd.h + * General device driver functions for Xlib driver. + */ + #include "glxheader.h" #include "bufferobj.h" #include "buffers.h" @@ -42,17 +47,12 @@ #include "texstore.h" #include "texformat.h" #include "xmesaP.h" -#include "array_cache/acache.h" #include "swrast/swrast.h" #include "swrast/s_context.h" #include "swrast_setup/swrast_setup.h" #include "tnl/tnl.h" #include "tnl/t_context.h" -#ifdef XFree86Server -#include <GL/glxtokens.h> -#endif - /* @@ -89,50 +89,6 @@ const int xmesa_kernel1[16] = { }; -/* - * Return the size (width, height) of the X window for the given GLframebuffer. - * Output: width - width of buffer in pixels. - * height - height of buffer in pixels. - */ -static void -get_buffer_size( GLframebuffer *buffer, GLuint *width, GLuint *height ) -{ - /* We can do this cast because the first field in the XMesaBuffer - * struct is a GLframebuffer struct. If this weren't true, we'd - * need a pointer from the GLframebuffer to the XMesaBuffer. - */ - const XMesaBuffer xmBuffer = (XMesaBuffer) buffer; - unsigned int winwidth, winheight; -#ifdef XFree86Server - /* XFree86 GLX renderer */ - winwidth = MIN2(xmBuffer->frontxrb->drawable->width, MAX_WIDTH); - winheight = MIN2(xmBuffer->frontxrb->drawable->height, MAX_HEIGHT); -#else - Window root; - Status stat; - int winx, winy; - unsigned int bw, d; - - _glthread_LOCK_MUTEX(_xmesa_lock); - XSync(xmBuffer->xm_visual->display, 0); /* added for Chromium */ - - stat = XGetGeometry( xmBuffer->xm_visual->display, xmBuffer->frontxrb->pixmap, - &root, &winx, &winy, &winwidth, &winheight, &bw, &d ); - _glthread_UNLOCK_MUTEX(_xmesa_lock); - - if (!stat) { - /* probably querying a window that's recently been destroyed */ - _mesa_warning(NULL, "XGetGeometry failed!\n"); - *width = *height = 1; - return; - } -#endif - - *width = winwidth; - *height = winheight; -} - - static void finish_or_flush( GLcontext *ctx ) { @@ -203,7 +159,6 @@ index_mask( GLcontext *ctx, GLuint mask ) m = (unsigned long) mask; } XMesaSetPlaneMask( xmesa->display, xmbuf->cleargc, m ); - XMesaSetPlaneMask( xmesa->display, xmbuf->gc, m ); } } @@ -235,7 +190,6 @@ color_mask(GLcontext *ctx, if (bmask) m |= GET_BLUEMASK(xmesa->xm_visual); } XMesaSetPlaneMask( xmesa->display, xmbuf->cleargc, m ); - XMesaSetPlaneMask( xmesa->display, xmbuf->gc, m ); } } @@ -250,7 +204,7 @@ color_mask(GLcontext *ctx, * Clear the front or back color buffer, if it's implemented with a pixmap. */ static void -clear_pixmap(GLcontext *ctx, struct xmesa_renderbuffer *xrb, GLboolean all, +clear_pixmap(GLcontext *ctx, struct xmesa_renderbuffer *xrb, GLint x, GLint y, GLint width, GLint height) { const XMesaContext xmesa = XMESA_CONTEXT(ctx); @@ -263,92 +217,41 @@ clear_pixmap(GLcontext *ctx, struct xmesa_renderbuffer *xrb, GLboolean all, assert(xrb->pixmap); assert(xmbuf->cleargc); - if (all) { - XMesaFillRectangle( xmesa->display, xrb->pixmap, xmbuf->cleargc, - 0, 0, xrb->Base.Width + 1, xrb->Base.Height + 1 ); - } - else { - XMesaFillRectangle( xmesa->display, xrb->pixmap, xmbuf->cleargc, - x, xrb->Base.Height - y - height, - width, height ); - } + XMesaFillRectangle( xmesa->display, xrb->pixmap, xmbuf->cleargc, + x, xrb->Base.Height - y - height, + width, height ); } static void clear_8bit_ximage( GLcontext *ctx, struct xmesa_renderbuffer *xrb, - GLboolean all, GLint x, GLint y, GLint width, GLint height ) + GLint x, GLint y, GLint width, GLint height ) { const XMesaContext xmesa = XMESA_CONTEXT(ctx); - - if (all) { - const size_t n = xrb->ximage->bytes_per_line * xrb->Base.Height; - MEMSET( xrb->ximage->data, xmesa->clearpixel, n ); - } - else { - GLint i; - for (i=0;i<height;i++) { - GLubyte *ptr = PIXEL_ADDR1(xrb, x, y + i); - MEMSET( ptr, xmesa->clearpixel, width ); - } + GLint i; + for (i = 0; i < height; i++) { + GLubyte *ptr = PIXEL_ADDR1(xrb, x, y + i); + MEMSET( ptr, xmesa->clearpixel, width ); } } static void clear_HPCR_ximage( GLcontext *ctx, struct xmesa_renderbuffer *xrb, - GLboolean all, GLint x, GLint y, GLint width, GLint height ) + GLint x, GLint y, GLint width, GLint height ) { const XMesaContext xmesa = XMESA_CONTEXT(ctx); - - if (all) { - const GLuint c16 = xrb->ximage->bytes_per_line & ~0xf; - GLuint i; - GLubyte *ptr = (GLubyte *) xrb->ximage->data; - for (i = 0; i < xrb->Base.Height; i++) { - GLuint j; - const GLubyte *sptr = xmesa->xm_visual->hpcr_clear_ximage_pattern[0]; - if (i&1) { - sptr += 16; - } - for (j=0; j<c16; j+=16) { - ptr[0] = sptr[0]; - ptr[1] = sptr[1]; - ptr[2] = sptr[2]; - ptr[3] = sptr[3]; - ptr[4] = sptr[4]; - ptr[5] = sptr[5]; - ptr[6] = sptr[6]; - ptr[7] = sptr[7]; - ptr[8] = sptr[8]; - ptr[9] = sptr[9]; - ptr[10] = sptr[10]; - ptr[11] = sptr[11]; - ptr[12] = sptr[12]; - ptr[13] = sptr[13]; - ptr[14] = sptr[14]; - ptr[15] = sptr[15]; - ptr += 16; - } - for (; j < (GLuint) xrb->ximage->bytes_per_line; j++) { - *ptr = sptr[j&15]; - ptr++; - } + GLint i; + for (i = y; i < y + height; i++) { + GLubyte *ptr = PIXEL_ADDR1( xrb, x, i ); + int j; + const GLubyte *sptr = xmesa->xm_visual->hpcr_clear_ximage_pattern[0]; + if (i & 1) { + sptr += 16; } - } - else { - GLint i; - for (i=y; i<y+height; i++) { - GLubyte *ptr = PIXEL_ADDR1( xrb, x, i ); - int j; - const GLubyte *sptr = xmesa->xm_visual->hpcr_clear_ximage_pattern[0]; - if (i&1) { - sptr += 16; - } - for (j=x; j<x+width; j++) { - *ptr = sptr[j&15]; - ptr++; - } + for (j = x; j < x + width; j++) { + *ptr = sptr[j&15]; + ptr++; } } } @@ -356,42 +259,20 @@ clear_HPCR_ximage( GLcontext *ctx, struct xmesa_renderbuffer *xrb, static void clear_16bit_ximage( GLcontext *ctx, struct xmesa_renderbuffer *xrb, - GLboolean all, GLint x, GLint y, GLint width, GLint height) + GLint x, GLint y, GLint width, GLint height) { const XMesaContext xmesa = XMESA_CONTEXT(ctx); - register GLuint pixel = (GLuint) xmesa->clearpixel; + GLuint pixel = (GLuint) xmesa->clearpixel; + GLint i, j; if (xmesa->swapbytes) { pixel = ((pixel >> 8) & 0x00ff) | ((pixel << 8) & 0xff00); } - if (all) { - GLuint *ptr4 = (GLuint *) xrb->ximage->data; - if ((pixel & 0xff) == ((pixel >> 8) & 0xff)) { - /* low and high bytes are equal so use memset() */ - const GLuint n = xrb->ximage->bytes_per_line * xrb->Base.Height; - MEMSET( ptr4, pixel & 0xff, n ); - } - else { - const GLuint n = xrb->ximage->bytes_per_line * xrb->Base.Height / 4; - GLuint i; - pixel = pixel | (pixel<<16); - for (i = 0; i < n; i++) { - ptr4[i] = pixel; - } - ptr4 += n; - /* might be one last GLushort to set */ - if ((xrb->ximage->bytes_per_line * xrb->Base.Height) & 0x2) - *(GLushort *)ptr4 = pixel & 0xffff; - } - } - else { - GLint i, j; - for (j=0;j<height;j++) { - GLushort *ptr2 = PIXEL_ADDR2(xrb, x, y + j); - for (i=0;i<width;i++) { - *ptr2++ = pixel; - } + for (j = 0; j < height; j++) { + GLushort *ptr2 = PIXEL_ADDR2(xrb, x, y + j); + for (i = 0; i < width; i++) { + ptr2[i] = pixel; } } } @@ -400,61 +281,31 @@ clear_16bit_ximage( GLcontext *ctx, struct xmesa_renderbuffer *xrb, /* Optimized code provided by Nozomi Ytow <noz@xfree86.org> */ static void clear_24bit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, - GLboolean all, GLint x, GLint y, GLint width, GLint height) + GLint x, GLint y, GLint width, GLint height) { const XMesaContext xmesa = XMESA_CONTEXT(ctx); const GLubyte r = xmesa->clearcolor[0]; const GLubyte g = xmesa->clearcolor[1]; const GLubyte b = xmesa->clearcolor[2]; - if (all) { - if (r == g && g == b) { - /* same value for all three components (gray) */ - const GLint w3 = xrb->Base.Width * 3; - const GLint h = xrb->Base.Height; - GLint i; - for (i = 0; i < h; i++) { - bgr_t *ptr3 = PIXEL_ADDR3(xrb, 0, i); - MEMSET(ptr3, r, w3); - } - } - else { - /* the usual case */ - const GLint w = xrb->Base.Width; - const GLint h = xrb->Base.Height; - GLint i, j; - for (i = 0; i < h; i++) { - bgr_t *ptr3 = PIXEL_ADDR3(xrb, 0, i); - for (j = 0; j < w; j++) { - ptr3->r = r; - ptr3->g = g; - ptr3->b = b; - ptr3++; - } - } + if (r == g && g == b) { + /* same value for all three components (gray) */ + GLint j; + for (j = 0; j < height; j++) { + bgr_t *ptr3 = PIXEL_ADDR3(xrb, x, y + j); + MEMSET(ptr3, r, 3 * width); } } else { - /* only clear subrect of color buffer */ - if (r == g && g == b) { - /* same value for all three components (gray) */ - GLint j; - for (j=0;j<height;j++) { - bgr_t *ptr3 = PIXEL_ADDR3(xrb, x, y + j); - MEMSET(ptr3, r, 3 * width); - } - } - else { - /* non-gray clear color */ - GLint i, j; - for (j = 0; j < height; j++) { - bgr_t *ptr3 = PIXEL_ADDR3(xrb, x, y + j); - for (i = 0; i < width; i++) { - ptr3->r = r; - ptr3->g = g; - ptr3->b = b; - ptr3++; - } + /* non-gray clear color */ + GLint i, j; + for (j = 0; j < height; j++) { + bgr_t *ptr3 = PIXEL_ADDR3(xrb, x, y + j); + for (i = 0; i < width; i++) { + ptr3->r = r; + ptr3->g = g; + ptr3->b = b; + ptr3++; } } } @@ -463,7 +314,7 @@ clear_24bit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, static void clear_32bit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, - GLboolean all, GLint x, GLint y, GLint width, GLint height) + GLint x, GLint y, GLint width, GLint height) { const XMesaContext xmesa = XMESA_CONTEXT(ctx); register GLuint pixel = (GLuint) xmesa->clearpixel; @@ -478,10 +329,12 @@ clear_32bit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, | ((pixel << 24) & 0xff000000); } - if (all) { + if (width == xrb->Base.Width && height == xrb->Base.Height) { + /* clearing whole buffer */ const GLuint n = xrb->Base.Width * xrb->Base.Height; GLuint *ptr4 = (GLuint *) xrb->ximage->data; if (pixel == 0) { + /* common case */ _mesa_memset(ptr4, pixel, 4 * n); } else { @@ -491,6 +344,7 @@ clear_32bit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, } } else { + /* clearing scissored region */ GLint i, j; for (j = 0; j < height; j++) { GLuint *ptr4 = PIXEL_ADDR4(xrb, x, y + j); @@ -504,15 +358,12 @@ clear_32bit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, static void clear_nbit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, - GLboolean all, GLint x, GLint y, GLint width, GLint height) + GLint x, GLint y, GLint width, GLint height) { const XMesaContext xmesa = XMESA_CONTEXT(ctx); XMesaImage *img = xrb->ximage; GLint i, j; - /* We can ignore 'all' here - x, y, width, height are always right */ - (void) all; - /* TODO: optimize this */ y = YFLIP(xrb, y); for (j = 0; j < height; j++) { @@ -525,65 +376,46 @@ clear_nbit_ximage(GLcontext *ctx, struct xmesa_renderbuffer *xrb, static void -clear_buffers( GLcontext *ctx, GLbitfield mask, - GLboolean all, GLint x, GLint y, GLint width, GLint height ) +clear_buffers(GLcontext *ctx, GLbitfield buffers) { if (ctx->DrawBuffer->Name == 0) { /* this is a window system framebuffer */ const GLuint *colorMask = (GLuint *) &ctx->Color.ColorMask; XMesaBuffer b = XMESA_BUFFER(ctx->DrawBuffer); + const GLint x = ctx->DrawBuffer->_Xmin; + const GLint y = ctx->DrawBuffer->_Ymin; + const GLint width = ctx->DrawBuffer->_Xmax - x; + const GLint height = ctx->DrawBuffer->_Ymax - y; /* we can't handle color or index masking */ if (*colorMask == 0xffffffff && ctx->Color.IndexMask == 0xffffffff) { - if (mask & BUFFER_BIT_FRONT_LEFT) { + if (buffers & BUFFER_BIT_FRONT_LEFT) { /* clear front color buffer */ struct gl_renderbuffer *frontRb = ctx->DrawBuffer->Attachment[BUFFER_FRONT_LEFT].Renderbuffer; if (b->frontxrb == xmesa_renderbuffer(frontRb)) { /* renderbuffer is not wrapped - great! */ - b->frontxrb->clearFunc(ctx, b->frontxrb, all, x, y, - width, height); - mask &= ~BUFFER_BIT_FRONT_LEFT; + b->frontxrb->clearFunc(ctx, b->frontxrb, x, y, width, height); + buffers &= ~BUFFER_BIT_FRONT_LEFT; } else { /* we can't directly clear an alpha-wrapped color buffer */ } } - if (mask & BUFFER_BIT_BACK_LEFT) { + if (buffers & BUFFER_BIT_BACK_LEFT) { /* clear back color buffer */ struct gl_renderbuffer *backRb = ctx->DrawBuffer->Attachment[BUFFER_BACK_LEFT].Renderbuffer; if (b->backxrb == xmesa_renderbuffer(backRb)) { /* renderbuffer is not wrapped - great! */ - b->backxrb->clearFunc(ctx, b->backxrb, all, x, y, - width, height); - mask &= ~BUFFER_BIT_BACK_LEFT; + b->backxrb->clearFunc(ctx, b->backxrb, x, y, width, height); + buffers &= ~BUFFER_BIT_BACK_LEFT; } } } } - if (mask) - _swrast_Clear( ctx, mask, all, x, y, width, height ); -} - - -/** - * Called by ctx->Driver.ResizeBuffers() - * Resize the front/back colorbuffers to match the latest window size. - */ -void -xmesa_resize_buffers(GLcontext *ctx, GLframebuffer *buffer, - GLuint width, GLuint height) -{ - /* We can do this cast because the first field in the XMesaBuffer - * struct is a GLframebuffer struct. If this weren't true, we'd - * need a pointer from the GLframebuffer to the XMesaBuffer. - */ - XMesaBuffer xmBuffer = (XMesaBuffer) buffer; - - xmesa_alloc_back_buffer(xmBuffer, width, height); - - _mesa_resize_framebuffer(ctx, buffer, width, height); + if (buffers) + _swrast_Clear(ctx, buffers); } @@ -602,37 +434,38 @@ xmesa_DrawPixels_8R8G8B( GLcontext *ctx, const struct gl_pixelstore_attrib *unpack, const GLvoid *pixels ) { - struct xmesa_renderbuffer *xrb - = (struct xmesa_renderbuffer *) ctx->DrawBuffer->_ColorDrawBuffers[0][0]->Wrapped; - - const XMesaContext xmesa = XMESA_CONTEXT(ctx); const SWcontext *swrast = SWRAST_CONTEXT( ctx ); - XMesaDisplay *dpy = xmesa->xm_visual->display; - XMesaBuffer xmbuf = XMESA_BUFFER(ctx->DrawBuffer); - const XMesaGC gc = xmbuf->gc; - - ASSERT(dpy); - ASSERT(gc); - ASSERT(xmesa->xm_visual->dithered_pf == PF_8R8G8B); - ASSERT(xmesa->xm_visual->undithered_pf == PF_8R8G8B); + struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0][0]; + struct xmesa_renderbuffer *xrb = xmesa_renderbuffer(rb->Wrapped); if (swrast->NewState) _swrast_validate_derived( ctx ); - if (xrb->pixmap && - xrb->Base.AlphaBits == 0 && + if (ctx->DrawBuffer->Name == 0 && format == GL_BGRA && type == GL_UNSIGNED_BYTE && (swrast->_RasterMask & ~CLIP_BIT) == 0 && /* no blend, z-test, etc */ ctx->_ImageTransferState == 0 && /* no color tables, scale/bias, etc */ ctx->Pixel.ZoomX == 1.0 && /* no zooming */ - ctx->Pixel.ZoomY == 1.0) { + ctx->Pixel.ZoomY == 1.0 && + xrb->pixmap && /* drawing to pixmap or window */ + xrb->Base.AlphaBits == 0) + { + const XMesaContext xmesa = XMESA_CONTEXT(ctx); + XMesaBuffer xmbuf = XMESA_BUFFER(ctx->DrawBuffer); + XMesaDisplay *dpy = xmesa->xm_visual->display; + const XMesaGC gc = xmbuf->cleargc; /* effected by glColorMask */ int dstX = x; int dstY = y; int w = width; int h = height; struct gl_pixelstore_attrib clippedUnpack = *unpack; + ASSERT(xmesa->xm_visual->dithered_pf == PF_8R8G8B); + ASSERT(xmesa->xm_visual->undithered_pf == PF_8R8G8B); + ASSERT(dpy); + ASSERT(gc); + if (unpack->BufferObj->Name) { /* unpack from PBO */ GLubyte *buf; @@ -711,12 +544,12 @@ xmesa_DrawPixels_5R6G5B( GLcontext *ctx, const GLvoid *pixels ) { struct xmesa_renderbuffer *xrb - = (struct xmesa_renderbuffer *) ctx->DrawBuffer->_ColorDrawBuffers[0][0]; + = xmesa_renderbuffer(ctx->DrawBuffer->_ColorDrawBuffers[0][0]->Wrapped); const XMesaContext xmesa = XMESA_CONTEXT(ctx); const SWcontext *swrast = SWRAST_CONTEXT( ctx ); XMesaDisplay *dpy = xmesa->xm_visual->display; XMesaBuffer xmbuf = XMESA_BUFFER(ctx->DrawBuffer); - const XMesaGC gc = xmbuf->gc; + const XMesaGC gc = xmbuf->cleargc; /* effected by glColorMask */ ASSERT(dpy); ASSERT(gc); @@ -725,7 +558,7 @@ xmesa_DrawPixels_5R6G5B( GLcontext *ctx, if (swrast->NewState) _swrast_validate_derived( ctx ); - if (xrb->pixmap && + if (xrb->pixmap && /* drawing to pixmap or window */ format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5 && !ctx->Color.DitherFlag && /* no dithering */ @@ -816,11 +649,12 @@ xmesa_CopyPixels( GLcontext *ctx, const XMesaContext xmesa = XMESA_CONTEXT(ctx); const SWcontext *swrast = SWRAST_CONTEXT( ctx ); XMesaDisplay *dpy = xmesa->xm_visual->display; - const XMesaGC gc = ((XMesaBuffer) ctx->DrawBuffer)->gc; - struct xmesa_renderbuffer *srcXrb = (struct xmesa_renderbuffer *) - ctx->ReadBuffer->_ColorReadBuffer; - struct xmesa_renderbuffer *dstXrb = (struct xmesa_renderbuffer *) - ctx->DrawBuffer->_ColorDrawBuffers[0][0]; + XMesaBuffer xmbuf = XMESA_BUFFER(ctx->DrawBuffer); + const XMesaGC gc = xmbuf->cleargc; /* effected by glColorMask */ + struct xmesa_renderbuffer *srcXrb + = xmesa_renderbuffer(ctx->ReadBuffer->_ColorReadBuffer->Wrapped); + struct xmesa_renderbuffer *dstXrb + = xmesa_renderbuffer(ctx->DrawBuffer->_ColorDrawBuffers[0][0]->Wrapped); ASSERT(dpy); ASSERT(gc); @@ -989,8 +823,8 @@ xmesa_update_state( GLcontext *ctx, GLbitfield new_state ) * modules. The X11 driver has no internal GL-dependent state. */ _swrast_InvalidateState( ctx, new_state ); - _ac_InvalidateState( ctx, new_state ); _tnl_InvalidateState( ctx, new_state ); + _vbo_InvalidateState( ctx, new_state ); _swsetup_InvalidateState( ctx, new_state ); if (ctx->DrawBuffer->Name != 0) @@ -1120,33 +954,6 @@ choose_tex_format( GLcontext *ctx, GLint internalFormat, /** - * Get the current drawing (and reading) window's size and update the - * corresponding gl_framebuffer(s) if needed. - */ -static void -update_framebuffer_size(GLcontext *ctx) -{ - struct gl_framebuffer *fb = ctx->WinSysDrawBuffer; - GLuint newWidth, newHeight; - get_buffer_size(fb, &newWidth, &newHeight); - if (newWidth != fb->Width || newHeight != fb->Height) { - xmesa_resize_buffers(ctx, fb, newWidth, newHeight); - } - - if (ctx->WinSysReadBuffer != ctx->WinSysDrawBuffer) { - /* Update readbuffer's size */ - struct gl_framebuffer *fb = ctx->WinSysReadBuffer; - GLuint newWidth, newHeight; - get_buffer_size(fb, &newWidth, &newHeight); - if (newWidth != fb->Width || newHeight != fb->Height) { - xmesa_resize_buffers(ctx, fb, newWidth, newHeight); - ctx->NewState |= _NEW_BUFFERS; - } - } -} - - -/** * Called by glViewport. * This is a good time for us to poll the current X window size and adjust * our renderbuffers to match the current window size. @@ -1160,11 +967,15 @@ update_framebuffer_size(GLcontext *ctx) static void xmesa_viewport(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h) { + XMesaContext xmctx = XMESA_CONTEXT(ctx); + XMesaBuffer xmdrawbuf = XMESA_BUFFER(ctx->WinSysDrawBuffer); + XMesaBuffer xmreadbuf = XMESA_BUFFER(ctx->WinSysReadBuffer); + xmesa_check_and_update_buffer_size(xmctx, xmdrawbuf); + xmesa_check_and_update_buffer_size(xmctx, xmreadbuf); (void) x; (void) y; (void) w; (void) h; - update_framebuffer_size(ctx); } @@ -1248,7 +1059,7 @@ xmesa_init_driver_functions( XMesaVisual xmvisual, { driver->GetString = get_string; driver->UpdateState = xmesa_update_state; - driver->GetBufferSize = get_buffer_size; + driver->GetBufferSize = NULL; /* OBSOLETE */ driver->Flush = finish_or_flush; driver->Finish = finish_or_flush; driver->ClearIndex = clear_index; @@ -1257,7 +1068,6 @@ xmesa_init_driver_functions( XMesaVisual xmvisual, driver->ColorMask = color_mask; driver->Enable = enable; driver->Clear = clear_buffers; - driver->ResizeBuffers = xmesa_resize_buffers; driver->Viewport = xmesa_viewport; #ifndef XFree86Server driver->CopyPixels = xmesa_CopyPixels; diff --git a/dist/Mesa/src/mesa/glapi/dispatch.h b/dist/Mesa/src/mesa/glapi/dispatch.h index 98553a226..d073f4a5e 100644 --- a/dist/Mesa/src/mesa/glapi/dispatch.h +++ b/dist/Mesa/src/mesa/glapi/dispatch.h @@ -1282,6 +1282,45 @@ #if !defined(IN_DRI_DRIVER) +#define CALL_AttachShader(disp, parameters) (*((disp)->AttachShader)) parameters +#define GET_AttachShader(disp) ((disp)->AttachShader) +#define SET_AttachShader(disp, fn) ((disp)->AttachShader = fn) +#define CALL_CreateProgram(disp, parameters) (*((disp)->CreateProgram)) parameters +#define GET_CreateProgram(disp) ((disp)->CreateProgram) +#define SET_CreateProgram(disp, fn) ((disp)->CreateProgram = fn) +#define CALL_CreateShader(disp, parameters) (*((disp)->CreateShader)) parameters +#define GET_CreateShader(disp) ((disp)->CreateShader) +#define SET_CreateShader(disp, fn) ((disp)->CreateShader = fn) +#define CALL_DeleteProgram(disp, parameters) (*((disp)->DeleteProgram)) parameters +#define GET_DeleteProgram(disp) ((disp)->DeleteProgram) +#define SET_DeleteProgram(disp, fn) ((disp)->DeleteProgram = fn) +#define CALL_DeleteShader(disp, parameters) (*((disp)->DeleteShader)) parameters +#define GET_DeleteShader(disp) ((disp)->DeleteShader) +#define SET_DeleteShader(disp, fn) ((disp)->DeleteShader = fn) +#define CALL_DetachShader(disp, parameters) (*((disp)->DetachShader)) parameters +#define GET_DetachShader(disp) ((disp)->DetachShader) +#define SET_DetachShader(disp, fn) ((disp)->DetachShader = fn) +#define CALL_GetAttachedShaders(disp, parameters) (*((disp)->GetAttachedShaders)) parameters +#define GET_GetAttachedShaders(disp) ((disp)->GetAttachedShaders) +#define SET_GetAttachedShaders(disp, fn) ((disp)->GetAttachedShaders = fn) +#define CALL_GetProgramInfoLog(disp, parameters) (*((disp)->GetProgramInfoLog)) parameters +#define GET_GetProgramInfoLog(disp) ((disp)->GetProgramInfoLog) +#define SET_GetProgramInfoLog(disp, fn) ((disp)->GetProgramInfoLog = fn) +#define CALL_GetProgramiv(disp, parameters) (*((disp)->GetProgramiv)) parameters +#define GET_GetProgramiv(disp) ((disp)->GetProgramiv) +#define SET_GetProgramiv(disp, fn) ((disp)->GetProgramiv = fn) +#define CALL_GetShaderInfoLog(disp, parameters) (*((disp)->GetShaderInfoLog)) parameters +#define GET_GetShaderInfoLog(disp) ((disp)->GetShaderInfoLog) +#define SET_GetShaderInfoLog(disp, fn) ((disp)->GetShaderInfoLog = fn) +#define CALL_GetShaderiv(disp, parameters) (*((disp)->GetShaderiv)) parameters +#define GET_GetShaderiv(disp) ((disp)->GetShaderiv) +#define SET_GetShaderiv(disp, fn) ((disp)->GetShaderiv = fn) +#define CALL_IsProgram(disp, parameters) (*((disp)->IsProgram)) parameters +#define GET_IsProgram(disp) ((disp)->IsProgram) +#define SET_IsProgram(disp, fn) ((disp)->IsProgram = fn) +#define CALL_IsShader(disp, parameters) (*((disp)->IsShader)) parameters +#define GET_IsShader(disp) ((disp)->IsShader) +#define SET_IsShader(disp, fn) ((disp)->IsShader = fn) #define CALL_StencilFuncSeparate(disp, parameters) (*((disp)->StencilFuncSeparate)) parameters #define GET_StencilFuncSeparate(disp) ((disp)->StencilFuncSeparate) #define SET_StencilFuncSeparate(disp, fn) ((disp)->StencilFuncSeparate = fn) @@ -1291,6 +1330,24 @@ #define CALL_StencilOpSeparate(disp, parameters) (*((disp)->StencilOpSeparate)) parameters #define GET_StencilOpSeparate(disp) ((disp)->StencilOpSeparate) #define SET_StencilOpSeparate(disp, fn) ((disp)->StencilOpSeparate = fn) +#define CALL_UniformMatrix2x3fv(disp, parameters) (*((disp)->UniformMatrix2x3fv)) parameters +#define GET_UniformMatrix2x3fv(disp) ((disp)->UniformMatrix2x3fv) +#define SET_UniformMatrix2x3fv(disp, fn) ((disp)->UniformMatrix2x3fv = fn) +#define CALL_UniformMatrix2x4fv(disp, parameters) (*((disp)->UniformMatrix2x4fv)) parameters +#define GET_UniformMatrix2x4fv(disp) ((disp)->UniformMatrix2x4fv) +#define SET_UniformMatrix2x4fv(disp, fn) ((disp)->UniformMatrix2x4fv = fn) +#define CALL_UniformMatrix3x2fv(disp, parameters) (*((disp)->UniformMatrix3x2fv)) parameters +#define GET_UniformMatrix3x2fv(disp) ((disp)->UniformMatrix3x2fv) +#define SET_UniformMatrix3x2fv(disp, fn) ((disp)->UniformMatrix3x2fv = fn) +#define CALL_UniformMatrix3x4fv(disp, parameters) (*((disp)->UniformMatrix3x4fv)) parameters +#define GET_UniformMatrix3x4fv(disp) ((disp)->UniformMatrix3x4fv) +#define SET_UniformMatrix3x4fv(disp, fn) ((disp)->UniformMatrix3x4fv = fn) +#define CALL_UniformMatrix4x2fv(disp, parameters) (*((disp)->UniformMatrix4x2fv)) parameters +#define GET_UniformMatrix4x2fv(disp) ((disp)->UniformMatrix4x2fv) +#define SET_UniformMatrix4x2fv(disp, fn) ((disp)->UniformMatrix4x2fv = fn) +#define CALL_UniformMatrix4x3fv(disp, parameters) (*((disp)->UniformMatrix4x3fv)) parameters +#define GET_UniformMatrix4x3fv(disp) ((disp)->UniformMatrix4x3fv) +#define SET_UniformMatrix4x3fv(disp, fn) ((disp)->UniformMatrix4x3fv = fn) #define CALL_LoadTransposeMatrixdARB(disp, parameters) (*((disp)->LoadTransposeMatrixdARB)) parameters #define GET_LoadTransposeMatrixdARB(disp) ((disp)->LoadTransposeMatrixdARB) #define SET_LoadTransposeMatrixdARB(disp, fn) ((disp)->LoadTransposeMatrixdARB = fn) @@ -1687,45 +1744,6 @@ #define CALL_PolygonOffsetEXT(disp, parameters) (*((disp)->PolygonOffsetEXT)) parameters #define GET_PolygonOffsetEXT(disp) ((disp)->PolygonOffsetEXT) #define SET_PolygonOffsetEXT(disp, fn) ((disp)->PolygonOffsetEXT = fn) -#define CALL_GetHistogramEXT(disp, parameters) (*((disp)->GetHistogramEXT)) parameters -#define GET_GetHistogramEXT(disp) ((disp)->GetHistogramEXT) -#define SET_GetHistogramEXT(disp, fn) ((disp)->GetHistogramEXT = fn) -#define CALL_GetHistogramParameterfvEXT(disp, parameters) (*((disp)->GetHistogramParameterfvEXT)) parameters -#define GET_GetHistogramParameterfvEXT(disp) ((disp)->GetHistogramParameterfvEXT) -#define SET_GetHistogramParameterfvEXT(disp, fn) ((disp)->GetHistogramParameterfvEXT = fn) -#define CALL_GetHistogramParameterivEXT(disp, parameters) (*((disp)->GetHistogramParameterivEXT)) parameters -#define GET_GetHistogramParameterivEXT(disp) ((disp)->GetHistogramParameterivEXT) -#define SET_GetHistogramParameterivEXT(disp, fn) ((disp)->GetHistogramParameterivEXT = fn) -#define CALL_GetMinmaxEXT(disp, parameters) (*((disp)->GetMinmaxEXT)) parameters -#define GET_GetMinmaxEXT(disp) ((disp)->GetMinmaxEXT) -#define SET_GetMinmaxEXT(disp, fn) ((disp)->GetMinmaxEXT = fn) -#define CALL_GetMinmaxParameterfvEXT(disp, parameters) (*((disp)->GetMinmaxParameterfvEXT)) parameters -#define GET_GetMinmaxParameterfvEXT(disp) ((disp)->GetMinmaxParameterfvEXT) -#define SET_GetMinmaxParameterfvEXT(disp, fn) ((disp)->GetMinmaxParameterfvEXT = fn) -#define CALL_GetMinmaxParameterivEXT(disp, parameters) (*((disp)->GetMinmaxParameterivEXT)) parameters -#define GET_GetMinmaxParameterivEXT(disp) ((disp)->GetMinmaxParameterivEXT) -#define SET_GetMinmaxParameterivEXT(disp, fn) ((disp)->GetMinmaxParameterivEXT = fn) -#define CALL_GetConvolutionFilterEXT(disp, parameters) (*((disp)->GetConvolutionFilterEXT)) parameters -#define GET_GetConvolutionFilterEXT(disp) ((disp)->GetConvolutionFilterEXT) -#define SET_GetConvolutionFilterEXT(disp, fn) ((disp)->GetConvolutionFilterEXT = fn) -#define CALL_GetConvolutionParameterfvEXT(disp, parameters) (*((disp)->GetConvolutionParameterfvEXT)) parameters -#define GET_GetConvolutionParameterfvEXT(disp) ((disp)->GetConvolutionParameterfvEXT) -#define SET_GetConvolutionParameterfvEXT(disp, fn) ((disp)->GetConvolutionParameterfvEXT = fn) -#define CALL_GetConvolutionParameterivEXT(disp, parameters) (*((disp)->GetConvolutionParameterivEXT)) parameters -#define GET_GetConvolutionParameterivEXT(disp) ((disp)->GetConvolutionParameterivEXT) -#define SET_GetConvolutionParameterivEXT(disp, fn) ((disp)->GetConvolutionParameterivEXT = fn) -#define CALL_GetSeparableFilterEXT(disp, parameters) (*((disp)->GetSeparableFilterEXT)) parameters -#define GET_GetSeparableFilterEXT(disp) ((disp)->GetSeparableFilterEXT) -#define SET_GetSeparableFilterEXT(disp, fn) ((disp)->GetSeparableFilterEXT = fn) -#define CALL_GetColorTableParameterfvSGI(disp, parameters) (*((disp)->GetColorTableParameterfvSGI)) parameters -#define GET_GetColorTableParameterfvSGI(disp) ((disp)->GetColorTableParameterfvSGI) -#define SET_GetColorTableParameterfvSGI(disp, fn) ((disp)->GetColorTableParameterfvSGI = fn) -#define CALL_GetColorTableParameterivSGI(disp, parameters) (*((disp)->GetColorTableParameterivSGI)) parameters -#define GET_GetColorTableParameterivSGI(disp) ((disp)->GetColorTableParameterivSGI) -#define SET_GetColorTableParameterivSGI(disp, fn) ((disp)->GetColorTableParameterivSGI = fn) -#define CALL_GetColorTableSGI(disp, parameters) (*((disp)->GetColorTableSGI)) parameters -#define GET_GetColorTableSGI(disp) ((disp)->GetColorTableSGI) -#define SET_GetColorTableSGI(disp, fn) ((disp)->GetColorTableSGI = fn) #define CALL_GetPixelTexGenParameterfvSGIS(disp, parameters) (*((disp)->GetPixelTexGenParameterfvSGIS)) parameters #define GET_GetPixelTexGenParameterfvSGIS(disp) ((disp)->GetPixelTexGenParameterfvSGIS) #define SET_GetPixelTexGenParameterfvSGIS(disp, fn) ((disp)->GetPixelTexGenParameterfvSGIS = fn) @@ -1744,15 +1762,6 @@ #define CALL_PixelTexGenParameterivSGIS(disp, parameters) (*((disp)->PixelTexGenParameterivSGIS)) parameters #define GET_PixelTexGenParameterivSGIS(disp) ((disp)->PixelTexGenParameterivSGIS) #define SET_PixelTexGenParameterivSGIS(disp, fn) ((disp)->PixelTexGenParameterivSGIS = fn) -#define CALL_AreTexturesResidentEXT(disp, parameters) (*((disp)->AreTexturesResidentEXT)) parameters -#define GET_AreTexturesResidentEXT(disp) ((disp)->AreTexturesResidentEXT) -#define SET_AreTexturesResidentEXT(disp, fn) ((disp)->AreTexturesResidentEXT = fn) -#define CALL_GenTexturesEXT(disp, parameters) (*((disp)->GenTexturesEXT)) parameters -#define GET_GenTexturesEXT(disp) ((disp)->GenTexturesEXT) -#define SET_GenTexturesEXT(disp, fn) ((disp)->GenTexturesEXT = fn) -#define CALL_IsTextureEXT(disp, parameters) (*((disp)->IsTextureEXT)) parameters -#define GET_IsTextureEXT(disp) ((disp)->IsTextureEXT) -#define SET_IsTextureEXT(disp, fn) ((disp)->IsTextureEXT = fn) #define CALL_SampleMaskSGIS(disp, parameters) (*((disp)->SampleMaskSGIS)) parameters #define GET_SampleMaskSGIS(disp) ((disp)->SampleMaskSGIS) #define SET_SampleMaskSGIS(disp, fn) ((disp)->SampleMaskSGIS = fn) @@ -2338,12 +2347,6 @@ #define CALL_GetFramebufferAttachmentParameterivEXT(disp, parameters) (*((disp)->GetFramebufferAttachmentParameterivEXT)) parameters #define GET_GetFramebufferAttachmentParameterivEXT(disp) ((disp)->GetFramebufferAttachmentParameterivEXT) #define SET_GetFramebufferAttachmentParameterivEXT(disp, fn) ((disp)->GetFramebufferAttachmentParameterivEXT = fn) -#define CALL_GetQueryObjecti64vEXT(disp, parameters) (*((disp)->GetQueryObjecti64vEXT)) parameters -#define GET_GetQueryObjecti64vEXT(disp) ((disp)->GetQueryObjecti64vEXT) -#define SET_GetQueryObjecti64vEXT(disp, fn) ((disp)->GetQueryObjecti64vEXT = fn) -#define CALL_GetQueryObjectui64vEXT(disp, parameters) (*((disp)->GetQueryObjectui64vEXT)) parameters -#define GET_GetQueryObjectui64vEXT(disp) ((disp)->GetQueryObjectui64vEXT) -#define SET_GetQueryObjectui64vEXT(disp, fn) ((disp)->GetQueryObjectui64vEXT = fn) #define CALL_GetRenderbufferParameterivEXT(disp, parameters) (*((disp)->GetRenderbufferParameterivEXT)) parameters #define GET_GetRenderbufferParameterivEXT(disp) ((disp)->GetRenderbufferParameterivEXT) #define SET_GetRenderbufferParameterivEXT(disp, fn) ((disp)->GetRenderbufferParameterivEXT = fn) @@ -2359,380 +2362,432 @@ #define CALL_BlitFramebufferEXT(disp, parameters) (*((disp)->BlitFramebufferEXT)) parameters #define GET_BlitFramebufferEXT(disp) ((disp)->BlitFramebufferEXT) #define SET_BlitFramebufferEXT(disp, fn) ((disp)->BlitFramebufferEXT = fn) +#define CALL_StencilFuncSeparateATI(disp, parameters) (*((disp)->StencilFuncSeparateATI)) parameters +#define GET_StencilFuncSeparateATI(disp) ((disp)->StencilFuncSeparateATI) +#define SET_StencilFuncSeparateATI(disp, fn) ((disp)->StencilFuncSeparateATI = fn) #define CALL_ProgramEnvParameters4fvEXT(disp, parameters) (*((disp)->ProgramEnvParameters4fvEXT)) parameters #define GET_ProgramEnvParameters4fvEXT(disp) ((disp)->ProgramEnvParameters4fvEXT) #define SET_ProgramEnvParameters4fvEXT(disp, fn) ((disp)->ProgramEnvParameters4fvEXT = fn) #define CALL_ProgramLocalParameters4fvEXT(disp, parameters) (*((disp)->ProgramLocalParameters4fvEXT)) parameters #define GET_ProgramLocalParameters4fvEXT(disp) ((disp)->ProgramLocalParameters4fvEXT) #define SET_ProgramLocalParameters4fvEXT(disp, fn) ((disp)->ProgramLocalParameters4fvEXT = fn) +#define CALL_GetQueryObjecti64vEXT(disp, parameters) (*((disp)->GetQueryObjecti64vEXT)) parameters +#define GET_GetQueryObjecti64vEXT(disp) ((disp)->GetQueryObjecti64vEXT) +#define SET_GetQueryObjecti64vEXT(disp, fn) ((disp)->GetQueryObjecti64vEXT = fn) +#define CALL_GetQueryObjectui64vEXT(disp, parameters) (*((disp)->GetQueryObjectui64vEXT)) parameters +#define GET_GetQueryObjectui64vEXT(disp) ((disp)->GetQueryObjectui64vEXT) +#define SET_GetQueryObjectui64vEXT(disp, fn) ((disp)->GetQueryObjectui64vEXT = fn) #else -#define driDispatchRemapTable_size 361 +#define driDispatchRemapTable_size 365 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; -#define StencilFuncSeparate_remap_index 0 -#define StencilMaskSeparate_remap_index 1 -#define StencilOpSeparate_remap_index 2 -#define LoadTransposeMatrixdARB_remap_index 3 -#define LoadTransposeMatrixfARB_remap_index 4 -#define MultTransposeMatrixdARB_remap_index 5 -#define MultTransposeMatrixfARB_remap_index 6 -#define SampleCoverageARB_remap_index 7 -#define CompressedTexImage1DARB_remap_index 8 -#define CompressedTexImage2DARB_remap_index 9 -#define CompressedTexImage3DARB_remap_index 10 -#define CompressedTexSubImage1DARB_remap_index 11 -#define CompressedTexSubImage2DARB_remap_index 12 -#define CompressedTexSubImage3DARB_remap_index 13 -#define GetCompressedTexImageARB_remap_index 14 -#define DisableVertexAttribArrayARB_remap_index 15 -#define EnableVertexAttribArrayARB_remap_index 16 -#define GetProgramEnvParameterdvARB_remap_index 17 -#define GetProgramEnvParameterfvARB_remap_index 18 -#define GetProgramLocalParameterdvARB_remap_index 19 -#define GetProgramLocalParameterfvARB_remap_index 20 -#define GetProgramStringARB_remap_index 21 -#define GetProgramivARB_remap_index 22 -#define GetVertexAttribdvARB_remap_index 23 -#define GetVertexAttribfvARB_remap_index 24 -#define GetVertexAttribivARB_remap_index 25 -#define ProgramEnvParameter4dARB_remap_index 26 -#define ProgramEnvParameter4dvARB_remap_index 27 -#define ProgramEnvParameter4fARB_remap_index 28 -#define ProgramEnvParameter4fvARB_remap_index 29 -#define ProgramLocalParameter4dARB_remap_index 30 -#define ProgramLocalParameter4dvARB_remap_index 31 -#define ProgramLocalParameter4fARB_remap_index 32 -#define ProgramLocalParameter4fvARB_remap_index 33 -#define ProgramStringARB_remap_index 34 -#define VertexAttrib1dARB_remap_index 35 -#define VertexAttrib1dvARB_remap_index 36 -#define VertexAttrib1fARB_remap_index 37 -#define VertexAttrib1fvARB_remap_index 38 -#define VertexAttrib1sARB_remap_index 39 -#define VertexAttrib1svARB_remap_index 40 -#define VertexAttrib2dARB_remap_index 41 -#define VertexAttrib2dvARB_remap_index 42 -#define VertexAttrib2fARB_remap_index 43 -#define VertexAttrib2fvARB_remap_index 44 -#define VertexAttrib2sARB_remap_index 45 -#define VertexAttrib2svARB_remap_index 46 -#define VertexAttrib3dARB_remap_index 47 -#define VertexAttrib3dvARB_remap_index 48 -#define VertexAttrib3fARB_remap_index 49 -#define VertexAttrib3fvARB_remap_index 50 -#define VertexAttrib3sARB_remap_index 51 -#define VertexAttrib3svARB_remap_index 52 -#define VertexAttrib4NbvARB_remap_index 53 -#define VertexAttrib4NivARB_remap_index 54 -#define VertexAttrib4NsvARB_remap_index 55 -#define VertexAttrib4NubARB_remap_index 56 -#define VertexAttrib4NubvARB_remap_index 57 -#define VertexAttrib4NuivARB_remap_index 58 -#define VertexAttrib4NusvARB_remap_index 59 -#define VertexAttrib4bvARB_remap_index 60 -#define VertexAttrib4dARB_remap_index 61 -#define VertexAttrib4dvARB_remap_index 62 -#define VertexAttrib4fARB_remap_index 63 -#define VertexAttrib4fvARB_remap_index 64 -#define VertexAttrib4ivARB_remap_index 65 -#define VertexAttrib4sARB_remap_index 66 -#define VertexAttrib4svARB_remap_index 67 -#define VertexAttrib4ubvARB_remap_index 68 -#define VertexAttrib4uivARB_remap_index 69 -#define VertexAttrib4usvARB_remap_index 70 -#define VertexAttribPointerARB_remap_index 71 -#define BindBufferARB_remap_index 72 -#define BufferDataARB_remap_index 73 -#define BufferSubDataARB_remap_index 74 -#define DeleteBuffersARB_remap_index 75 -#define GenBuffersARB_remap_index 76 -#define GetBufferParameterivARB_remap_index 77 -#define GetBufferPointervARB_remap_index 78 -#define GetBufferSubDataARB_remap_index 79 -#define IsBufferARB_remap_index 80 -#define MapBufferARB_remap_index 81 -#define UnmapBufferARB_remap_index 82 -#define BeginQueryARB_remap_index 83 -#define DeleteQueriesARB_remap_index 84 -#define EndQueryARB_remap_index 85 -#define GenQueriesARB_remap_index 86 -#define GetQueryObjectivARB_remap_index 87 -#define GetQueryObjectuivARB_remap_index 88 -#define GetQueryivARB_remap_index 89 -#define IsQueryARB_remap_index 90 -#define AttachObjectARB_remap_index 91 -#define CompileShaderARB_remap_index 92 -#define CreateProgramObjectARB_remap_index 93 -#define CreateShaderObjectARB_remap_index 94 -#define DeleteObjectARB_remap_index 95 -#define DetachObjectARB_remap_index 96 -#define GetActiveUniformARB_remap_index 97 -#define GetAttachedObjectsARB_remap_index 98 -#define GetHandleARB_remap_index 99 -#define GetInfoLogARB_remap_index 100 -#define GetObjectParameterfvARB_remap_index 101 -#define GetObjectParameterivARB_remap_index 102 -#define GetShaderSourceARB_remap_index 103 -#define GetUniformLocationARB_remap_index 104 -#define GetUniformfvARB_remap_index 105 -#define GetUniformivARB_remap_index 106 -#define LinkProgramARB_remap_index 107 -#define ShaderSourceARB_remap_index 108 -#define Uniform1fARB_remap_index 109 -#define Uniform1fvARB_remap_index 110 -#define Uniform1iARB_remap_index 111 -#define Uniform1ivARB_remap_index 112 -#define Uniform2fARB_remap_index 113 -#define Uniform2fvARB_remap_index 114 -#define Uniform2iARB_remap_index 115 -#define Uniform2ivARB_remap_index 116 -#define Uniform3fARB_remap_index 117 -#define Uniform3fvARB_remap_index 118 -#define Uniform3iARB_remap_index 119 -#define Uniform3ivARB_remap_index 120 -#define Uniform4fARB_remap_index 121 -#define Uniform4fvARB_remap_index 122 -#define Uniform4iARB_remap_index 123 -#define Uniform4ivARB_remap_index 124 -#define UniformMatrix2fvARB_remap_index 125 -#define UniformMatrix3fvARB_remap_index 126 -#define UniformMatrix4fvARB_remap_index 127 -#define UseProgramObjectARB_remap_index 128 -#define ValidateProgramARB_remap_index 129 -#define BindAttribLocationARB_remap_index 130 -#define GetActiveAttribARB_remap_index 131 -#define GetAttribLocationARB_remap_index 132 -#define DrawBuffersARB_remap_index 133 -#define PolygonOffsetEXT_remap_index 134 -#define GetHistogramEXT_remap_index 135 -#define GetHistogramParameterfvEXT_remap_index 136 -#define GetHistogramParameterivEXT_remap_index 137 -#define GetMinmaxEXT_remap_index 138 -#define GetMinmaxParameterfvEXT_remap_index 139 -#define GetMinmaxParameterivEXT_remap_index 140 -#define GetConvolutionFilterEXT_remap_index 141 -#define GetConvolutionParameterfvEXT_remap_index 142 -#define GetConvolutionParameterivEXT_remap_index 143 -#define GetSeparableFilterEXT_remap_index 144 -#define GetColorTableParameterfvSGI_remap_index 145 -#define GetColorTableParameterivSGI_remap_index 146 -#define GetColorTableSGI_remap_index 147 -#define GetPixelTexGenParameterfvSGIS_remap_index 148 -#define GetPixelTexGenParameterivSGIS_remap_index 149 -#define PixelTexGenParameterfSGIS_remap_index 150 -#define PixelTexGenParameterfvSGIS_remap_index 151 -#define PixelTexGenParameteriSGIS_remap_index 152 -#define PixelTexGenParameterivSGIS_remap_index 153 -#define AreTexturesResidentEXT_remap_index 154 -#define GenTexturesEXT_remap_index 155 -#define IsTextureEXT_remap_index 156 -#define SampleMaskSGIS_remap_index 157 -#define SamplePatternSGIS_remap_index 158 -#define ColorPointerEXT_remap_index 159 -#define EdgeFlagPointerEXT_remap_index 160 -#define IndexPointerEXT_remap_index 161 -#define NormalPointerEXT_remap_index 162 -#define TexCoordPointerEXT_remap_index 163 -#define VertexPointerEXT_remap_index 164 -#define PointParameterfEXT_remap_index 165 -#define PointParameterfvEXT_remap_index 166 -#define LockArraysEXT_remap_index 167 -#define UnlockArraysEXT_remap_index 168 -#define CullParameterdvEXT_remap_index 169 -#define CullParameterfvEXT_remap_index 170 -#define SecondaryColor3bEXT_remap_index 171 -#define SecondaryColor3bvEXT_remap_index 172 -#define SecondaryColor3dEXT_remap_index 173 -#define SecondaryColor3dvEXT_remap_index 174 -#define SecondaryColor3fEXT_remap_index 175 -#define SecondaryColor3fvEXT_remap_index 176 -#define SecondaryColor3iEXT_remap_index 177 -#define SecondaryColor3ivEXT_remap_index 178 -#define SecondaryColor3sEXT_remap_index 179 -#define SecondaryColor3svEXT_remap_index 180 -#define SecondaryColor3ubEXT_remap_index 181 -#define SecondaryColor3ubvEXT_remap_index 182 -#define SecondaryColor3uiEXT_remap_index 183 -#define SecondaryColor3uivEXT_remap_index 184 -#define SecondaryColor3usEXT_remap_index 185 -#define SecondaryColor3usvEXT_remap_index 186 -#define SecondaryColorPointerEXT_remap_index 187 -#define MultiDrawArraysEXT_remap_index 188 -#define MultiDrawElementsEXT_remap_index 189 -#define FogCoordPointerEXT_remap_index 190 -#define FogCoorddEXT_remap_index 191 -#define FogCoorddvEXT_remap_index 192 -#define FogCoordfEXT_remap_index 193 -#define FogCoordfvEXT_remap_index 194 -#define PixelTexGenSGIX_remap_index 195 -#define BlendFuncSeparateEXT_remap_index 196 -#define FlushVertexArrayRangeNV_remap_index 197 -#define VertexArrayRangeNV_remap_index 198 -#define CombinerInputNV_remap_index 199 -#define CombinerOutputNV_remap_index 200 -#define CombinerParameterfNV_remap_index 201 -#define CombinerParameterfvNV_remap_index 202 -#define CombinerParameteriNV_remap_index 203 -#define CombinerParameterivNV_remap_index 204 -#define FinalCombinerInputNV_remap_index 205 -#define GetCombinerInputParameterfvNV_remap_index 206 -#define GetCombinerInputParameterivNV_remap_index 207 -#define GetCombinerOutputParameterfvNV_remap_index 208 -#define GetCombinerOutputParameterivNV_remap_index 209 -#define GetFinalCombinerInputParameterfvNV_remap_index 210 -#define GetFinalCombinerInputParameterivNV_remap_index 211 -#define ResizeBuffersMESA_remap_index 212 -#define WindowPos2dMESA_remap_index 213 -#define WindowPos2dvMESA_remap_index 214 -#define WindowPos2fMESA_remap_index 215 -#define WindowPos2fvMESA_remap_index 216 -#define WindowPos2iMESA_remap_index 217 -#define WindowPos2ivMESA_remap_index 218 -#define WindowPos2sMESA_remap_index 219 -#define WindowPos2svMESA_remap_index 220 -#define WindowPos3dMESA_remap_index 221 -#define WindowPos3dvMESA_remap_index 222 -#define WindowPos3fMESA_remap_index 223 -#define WindowPos3fvMESA_remap_index 224 -#define WindowPos3iMESA_remap_index 225 -#define WindowPos3ivMESA_remap_index 226 -#define WindowPos3sMESA_remap_index 227 -#define WindowPos3svMESA_remap_index 228 -#define WindowPos4dMESA_remap_index 229 -#define WindowPos4dvMESA_remap_index 230 -#define WindowPos4fMESA_remap_index 231 -#define WindowPos4fvMESA_remap_index 232 -#define WindowPos4iMESA_remap_index 233 -#define WindowPos4ivMESA_remap_index 234 -#define WindowPos4sMESA_remap_index 235 -#define WindowPos4svMESA_remap_index 236 -#define MultiModeDrawArraysIBM_remap_index 237 -#define MultiModeDrawElementsIBM_remap_index 238 -#define DeleteFencesNV_remap_index 239 -#define FinishFenceNV_remap_index 240 -#define GenFencesNV_remap_index 241 -#define GetFenceivNV_remap_index 242 -#define IsFenceNV_remap_index 243 -#define SetFenceNV_remap_index 244 -#define TestFenceNV_remap_index 245 -#define AreProgramsResidentNV_remap_index 246 -#define BindProgramNV_remap_index 247 -#define DeleteProgramsNV_remap_index 248 -#define ExecuteProgramNV_remap_index 249 -#define GenProgramsNV_remap_index 250 -#define GetProgramParameterdvNV_remap_index 251 -#define GetProgramParameterfvNV_remap_index 252 -#define GetProgramStringNV_remap_index 253 -#define GetProgramivNV_remap_index 254 -#define GetTrackMatrixivNV_remap_index 255 -#define GetVertexAttribPointervNV_remap_index 256 -#define GetVertexAttribdvNV_remap_index 257 -#define GetVertexAttribfvNV_remap_index 258 -#define GetVertexAttribivNV_remap_index 259 -#define IsProgramNV_remap_index 260 -#define LoadProgramNV_remap_index 261 -#define ProgramParameter4dNV_remap_index 262 -#define ProgramParameter4dvNV_remap_index 263 -#define ProgramParameter4fNV_remap_index 264 -#define ProgramParameter4fvNV_remap_index 265 -#define ProgramParameters4dvNV_remap_index 266 -#define ProgramParameters4fvNV_remap_index 267 -#define RequestResidentProgramsNV_remap_index 268 -#define TrackMatrixNV_remap_index 269 -#define VertexAttrib1dNV_remap_index 270 -#define VertexAttrib1dvNV_remap_index 271 -#define VertexAttrib1fNV_remap_index 272 -#define VertexAttrib1fvNV_remap_index 273 -#define VertexAttrib1sNV_remap_index 274 -#define VertexAttrib1svNV_remap_index 275 -#define VertexAttrib2dNV_remap_index 276 -#define VertexAttrib2dvNV_remap_index 277 -#define VertexAttrib2fNV_remap_index 278 -#define VertexAttrib2fvNV_remap_index 279 -#define VertexAttrib2sNV_remap_index 280 -#define VertexAttrib2svNV_remap_index 281 -#define VertexAttrib3dNV_remap_index 282 -#define VertexAttrib3dvNV_remap_index 283 -#define VertexAttrib3fNV_remap_index 284 -#define VertexAttrib3fvNV_remap_index 285 -#define VertexAttrib3sNV_remap_index 286 -#define VertexAttrib3svNV_remap_index 287 -#define VertexAttrib4dNV_remap_index 288 -#define VertexAttrib4dvNV_remap_index 289 -#define VertexAttrib4fNV_remap_index 290 -#define VertexAttrib4fvNV_remap_index 291 -#define VertexAttrib4sNV_remap_index 292 -#define VertexAttrib4svNV_remap_index 293 -#define VertexAttrib4ubNV_remap_index 294 -#define VertexAttrib4ubvNV_remap_index 295 -#define VertexAttribPointerNV_remap_index 296 -#define VertexAttribs1dvNV_remap_index 297 -#define VertexAttribs1fvNV_remap_index 298 -#define VertexAttribs1svNV_remap_index 299 -#define VertexAttribs2dvNV_remap_index 300 -#define VertexAttribs2fvNV_remap_index 301 -#define VertexAttribs2svNV_remap_index 302 -#define VertexAttribs3dvNV_remap_index 303 -#define VertexAttribs3fvNV_remap_index 304 -#define VertexAttribs3svNV_remap_index 305 -#define VertexAttribs4dvNV_remap_index 306 -#define VertexAttribs4fvNV_remap_index 307 -#define VertexAttribs4svNV_remap_index 308 -#define VertexAttribs4ubvNV_remap_index 309 -#define AlphaFragmentOp1ATI_remap_index 310 -#define AlphaFragmentOp2ATI_remap_index 311 -#define AlphaFragmentOp3ATI_remap_index 312 -#define BeginFragmentShaderATI_remap_index 313 -#define BindFragmentShaderATI_remap_index 314 -#define ColorFragmentOp1ATI_remap_index 315 -#define ColorFragmentOp2ATI_remap_index 316 -#define ColorFragmentOp3ATI_remap_index 317 -#define DeleteFragmentShaderATI_remap_index 318 -#define EndFragmentShaderATI_remap_index 319 -#define GenFragmentShadersATI_remap_index 320 -#define PassTexCoordATI_remap_index 321 -#define SampleMapATI_remap_index 322 -#define SetFragmentShaderConstantATI_remap_index 323 -#define PointParameteriNV_remap_index 324 -#define PointParameterivNV_remap_index 325 -#define ActiveStencilFaceEXT_remap_index 326 -#define BindVertexArrayAPPLE_remap_index 327 -#define DeleteVertexArraysAPPLE_remap_index 328 -#define GenVertexArraysAPPLE_remap_index 329 -#define IsVertexArrayAPPLE_remap_index 330 -#define GetProgramNamedParameterdvNV_remap_index 331 -#define GetProgramNamedParameterfvNV_remap_index 332 -#define ProgramNamedParameter4dNV_remap_index 333 -#define ProgramNamedParameter4dvNV_remap_index 334 -#define ProgramNamedParameter4fNV_remap_index 335 -#define ProgramNamedParameter4fvNV_remap_index 336 -#define DepthBoundsEXT_remap_index 337 -#define BlendEquationSeparateEXT_remap_index 338 -#define BindFramebufferEXT_remap_index 339 -#define BindRenderbufferEXT_remap_index 340 -#define CheckFramebufferStatusEXT_remap_index 341 -#define DeleteFramebuffersEXT_remap_index 342 -#define DeleteRenderbuffersEXT_remap_index 343 -#define FramebufferRenderbufferEXT_remap_index 344 -#define FramebufferTexture1DEXT_remap_index 345 -#define FramebufferTexture2DEXT_remap_index 346 -#define FramebufferTexture3DEXT_remap_index 347 -#define GenFramebuffersEXT_remap_index 348 -#define GenRenderbuffersEXT_remap_index 349 -#define GenerateMipmapEXT_remap_index 350 -#define GetFramebufferAttachmentParameterivEXT_remap_index 351 -#define GetQueryObjecti64vEXT_remap_index 352 -#define GetQueryObjectui64vEXT_remap_index 353 -#define GetRenderbufferParameterivEXT_remap_index 354 -#define IsFramebufferEXT_remap_index 355 -#define IsRenderbufferEXT_remap_index 356 -#define RenderbufferStorageEXT_remap_index 357 -#define BlitFramebufferEXT_remap_index 358 -#define ProgramEnvParameters4fvEXT_remap_index 359 -#define ProgramLocalParameters4fvEXT_remap_index 360 +#define AttachShader_remap_index 0 +#define CreateProgram_remap_index 1 +#define CreateShader_remap_index 2 +#define DeleteProgram_remap_index 3 +#define DeleteShader_remap_index 4 +#define DetachShader_remap_index 5 +#define GetAttachedShaders_remap_index 6 +#define GetProgramInfoLog_remap_index 7 +#define GetProgramiv_remap_index 8 +#define GetShaderInfoLog_remap_index 9 +#define GetShaderiv_remap_index 10 +#define IsProgram_remap_index 11 +#define IsShader_remap_index 12 +#define StencilFuncSeparate_remap_index 13 +#define StencilMaskSeparate_remap_index 14 +#define StencilOpSeparate_remap_index 15 +#define UniformMatrix2x3fv_remap_index 16 +#define UniformMatrix2x4fv_remap_index 17 +#define UniformMatrix3x2fv_remap_index 18 +#define UniformMatrix3x4fv_remap_index 19 +#define UniformMatrix4x2fv_remap_index 20 +#define UniformMatrix4x3fv_remap_index 21 +#define LoadTransposeMatrixdARB_remap_index 22 +#define LoadTransposeMatrixfARB_remap_index 23 +#define MultTransposeMatrixdARB_remap_index 24 +#define MultTransposeMatrixfARB_remap_index 25 +#define SampleCoverageARB_remap_index 26 +#define CompressedTexImage1DARB_remap_index 27 +#define CompressedTexImage2DARB_remap_index 28 +#define CompressedTexImage3DARB_remap_index 29 +#define CompressedTexSubImage1DARB_remap_index 30 +#define CompressedTexSubImage2DARB_remap_index 31 +#define CompressedTexSubImage3DARB_remap_index 32 +#define GetCompressedTexImageARB_remap_index 33 +#define DisableVertexAttribArrayARB_remap_index 34 +#define EnableVertexAttribArrayARB_remap_index 35 +#define GetProgramEnvParameterdvARB_remap_index 36 +#define GetProgramEnvParameterfvARB_remap_index 37 +#define GetProgramLocalParameterdvARB_remap_index 38 +#define GetProgramLocalParameterfvARB_remap_index 39 +#define GetProgramStringARB_remap_index 40 +#define GetProgramivARB_remap_index 41 +#define GetVertexAttribdvARB_remap_index 42 +#define GetVertexAttribfvARB_remap_index 43 +#define GetVertexAttribivARB_remap_index 44 +#define ProgramEnvParameter4dARB_remap_index 45 +#define ProgramEnvParameter4dvARB_remap_index 46 +#define ProgramEnvParameter4fARB_remap_index 47 +#define ProgramEnvParameter4fvARB_remap_index 48 +#define ProgramLocalParameter4dARB_remap_index 49 +#define ProgramLocalParameter4dvARB_remap_index 50 +#define ProgramLocalParameter4fARB_remap_index 51 +#define ProgramLocalParameter4fvARB_remap_index 52 +#define ProgramStringARB_remap_index 53 +#define VertexAttrib1dARB_remap_index 54 +#define VertexAttrib1dvARB_remap_index 55 +#define VertexAttrib1fARB_remap_index 56 +#define VertexAttrib1fvARB_remap_index 57 +#define VertexAttrib1sARB_remap_index 58 +#define VertexAttrib1svARB_remap_index 59 +#define VertexAttrib2dARB_remap_index 60 +#define VertexAttrib2dvARB_remap_index 61 +#define VertexAttrib2fARB_remap_index 62 +#define VertexAttrib2fvARB_remap_index 63 +#define VertexAttrib2sARB_remap_index 64 +#define VertexAttrib2svARB_remap_index 65 +#define VertexAttrib3dARB_remap_index 66 +#define VertexAttrib3dvARB_remap_index 67 +#define VertexAttrib3fARB_remap_index 68 +#define VertexAttrib3fvARB_remap_index 69 +#define VertexAttrib3sARB_remap_index 70 +#define VertexAttrib3svARB_remap_index 71 +#define VertexAttrib4NbvARB_remap_index 72 +#define VertexAttrib4NivARB_remap_index 73 +#define VertexAttrib4NsvARB_remap_index 74 +#define VertexAttrib4NubARB_remap_index 75 +#define VertexAttrib4NubvARB_remap_index 76 +#define VertexAttrib4NuivARB_remap_index 77 +#define VertexAttrib4NusvARB_remap_index 78 +#define VertexAttrib4bvARB_remap_index 79 +#define VertexAttrib4dARB_remap_index 80 +#define VertexAttrib4dvARB_remap_index 81 +#define VertexAttrib4fARB_remap_index 82 +#define VertexAttrib4fvARB_remap_index 83 +#define VertexAttrib4ivARB_remap_index 84 +#define VertexAttrib4sARB_remap_index 85 +#define VertexAttrib4svARB_remap_index 86 +#define VertexAttrib4ubvARB_remap_index 87 +#define VertexAttrib4uivARB_remap_index 88 +#define VertexAttrib4usvARB_remap_index 89 +#define VertexAttribPointerARB_remap_index 90 +#define BindBufferARB_remap_index 91 +#define BufferDataARB_remap_index 92 +#define BufferSubDataARB_remap_index 93 +#define DeleteBuffersARB_remap_index 94 +#define GenBuffersARB_remap_index 95 +#define GetBufferParameterivARB_remap_index 96 +#define GetBufferPointervARB_remap_index 97 +#define GetBufferSubDataARB_remap_index 98 +#define IsBufferARB_remap_index 99 +#define MapBufferARB_remap_index 100 +#define UnmapBufferARB_remap_index 101 +#define BeginQueryARB_remap_index 102 +#define DeleteQueriesARB_remap_index 103 +#define EndQueryARB_remap_index 104 +#define GenQueriesARB_remap_index 105 +#define GetQueryObjectivARB_remap_index 106 +#define GetQueryObjectuivARB_remap_index 107 +#define GetQueryivARB_remap_index 108 +#define IsQueryARB_remap_index 109 +#define AttachObjectARB_remap_index 110 +#define CompileShaderARB_remap_index 111 +#define CreateProgramObjectARB_remap_index 112 +#define CreateShaderObjectARB_remap_index 113 +#define DeleteObjectARB_remap_index 114 +#define DetachObjectARB_remap_index 115 +#define GetActiveUniformARB_remap_index 116 +#define GetAttachedObjectsARB_remap_index 117 +#define GetHandleARB_remap_index 118 +#define GetInfoLogARB_remap_index 119 +#define GetObjectParameterfvARB_remap_index 120 +#define GetObjectParameterivARB_remap_index 121 +#define GetShaderSourceARB_remap_index 122 +#define GetUniformLocationARB_remap_index 123 +#define GetUniformfvARB_remap_index 124 +#define GetUniformivARB_remap_index 125 +#define LinkProgramARB_remap_index 126 +#define ShaderSourceARB_remap_index 127 +#define Uniform1fARB_remap_index 128 +#define Uniform1fvARB_remap_index 129 +#define Uniform1iARB_remap_index 130 +#define Uniform1ivARB_remap_index 131 +#define Uniform2fARB_remap_index 132 +#define Uniform2fvARB_remap_index 133 +#define Uniform2iARB_remap_index 134 +#define Uniform2ivARB_remap_index 135 +#define Uniform3fARB_remap_index 136 +#define Uniform3fvARB_remap_index 137 +#define Uniform3iARB_remap_index 138 +#define Uniform3ivARB_remap_index 139 +#define Uniform4fARB_remap_index 140 +#define Uniform4fvARB_remap_index 141 +#define Uniform4iARB_remap_index 142 +#define Uniform4ivARB_remap_index 143 +#define UniformMatrix2fvARB_remap_index 144 +#define UniformMatrix3fvARB_remap_index 145 +#define UniformMatrix4fvARB_remap_index 146 +#define UseProgramObjectARB_remap_index 147 +#define ValidateProgramARB_remap_index 148 +#define BindAttribLocationARB_remap_index 149 +#define GetActiveAttribARB_remap_index 150 +#define GetAttribLocationARB_remap_index 151 +#define DrawBuffersARB_remap_index 152 +#define PolygonOffsetEXT_remap_index 153 +#define GetPixelTexGenParameterfvSGIS_remap_index 154 +#define GetPixelTexGenParameterivSGIS_remap_index 155 +#define PixelTexGenParameterfSGIS_remap_index 156 +#define PixelTexGenParameterfvSGIS_remap_index 157 +#define PixelTexGenParameteriSGIS_remap_index 158 +#define PixelTexGenParameterivSGIS_remap_index 159 +#define SampleMaskSGIS_remap_index 160 +#define SamplePatternSGIS_remap_index 161 +#define ColorPointerEXT_remap_index 162 +#define EdgeFlagPointerEXT_remap_index 163 +#define IndexPointerEXT_remap_index 164 +#define NormalPointerEXT_remap_index 165 +#define TexCoordPointerEXT_remap_index 166 +#define VertexPointerEXT_remap_index 167 +#define PointParameterfEXT_remap_index 168 +#define PointParameterfvEXT_remap_index 169 +#define LockArraysEXT_remap_index 170 +#define UnlockArraysEXT_remap_index 171 +#define CullParameterdvEXT_remap_index 172 +#define CullParameterfvEXT_remap_index 173 +#define SecondaryColor3bEXT_remap_index 174 +#define SecondaryColor3bvEXT_remap_index 175 +#define SecondaryColor3dEXT_remap_index 176 +#define SecondaryColor3dvEXT_remap_index 177 +#define SecondaryColor3fEXT_remap_index 178 +#define SecondaryColor3fvEXT_remap_index 179 +#define SecondaryColor3iEXT_remap_index 180 +#define SecondaryColor3ivEXT_remap_index 181 +#define SecondaryColor3sEXT_remap_index 182 +#define SecondaryColor3svEXT_remap_index 183 +#define SecondaryColor3ubEXT_remap_index 184 +#define SecondaryColor3ubvEXT_remap_index 185 +#define SecondaryColor3uiEXT_remap_index 186 +#define SecondaryColor3uivEXT_remap_index 187 +#define SecondaryColor3usEXT_remap_index 188 +#define SecondaryColor3usvEXT_remap_index 189 +#define SecondaryColorPointerEXT_remap_index 190 +#define MultiDrawArraysEXT_remap_index 191 +#define MultiDrawElementsEXT_remap_index 192 +#define FogCoordPointerEXT_remap_index 193 +#define FogCoorddEXT_remap_index 194 +#define FogCoorddvEXT_remap_index 195 +#define FogCoordfEXT_remap_index 196 +#define FogCoordfvEXT_remap_index 197 +#define PixelTexGenSGIX_remap_index 198 +#define BlendFuncSeparateEXT_remap_index 199 +#define FlushVertexArrayRangeNV_remap_index 200 +#define VertexArrayRangeNV_remap_index 201 +#define CombinerInputNV_remap_index 202 +#define CombinerOutputNV_remap_index 203 +#define CombinerParameterfNV_remap_index 204 +#define CombinerParameterfvNV_remap_index 205 +#define CombinerParameteriNV_remap_index 206 +#define CombinerParameterivNV_remap_index 207 +#define FinalCombinerInputNV_remap_index 208 +#define GetCombinerInputParameterfvNV_remap_index 209 +#define GetCombinerInputParameterivNV_remap_index 210 +#define GetCombinerOutputParameterfvNV_remap_index 211 +#define GetCombinerOutputParameterivNV_remap_index 212 +#define GetFinalCombinerInputParameterfvNV_remap_index 213 +#define GetFinalCombinerInputParameterivNV_remap_index 214 +#define ResizeBuffersMESA_remap_index 215 +#define WindowPos2dMESA_remap_index 216 +#define WindowPos2dvMESA_remap_index 217 +#define WindowPos2fMESA_remap_index 218 +#define WindowPos2fvMESA_remap_index 219 +#define WindowPos2iMESA_remap_index 220 +#define WindowPos2ivMESA_remap_index 221 +#define WindowPos2sMESA_remap_index 222 +#define WindowPos2svMESA_remap_index 223 +#define WindowPos3dMESA_remap_index 224 +#define WindowPos3dvMESA_remap_index 225 +#define WindowPos3fMESA_remap_index 226 +#define WindowPos3fvMESA_remap_index 227 +#define WindowPos3iMESA_remap_index 228 +#define WindowPos3ivMESA_remap_index 229 +#define WindowPos3sMESA_remap_index 230 +#define WindowPos3svMESA_remap_index 231 +#define WindowPos4dMESA_remap_index 232 +#define WindowPos4dvMESA_remap_index 233 +#define WindowPos4fMESA_remap_index 234 +#define WindowPos4fvMESA_remap_index 235 +#define WindowPos4iMESA_remap_index 236 +#define WindowPos4ivMESA_remap_index 237 +#define WindowPos4sMESA_remap_index 238 +#define WindowPos4svMESA_remap_index 239 +#define MultiModeDrawArraysIBM_remap_index 240 +#define MultiModeDrawElementsIBM_remap_index 241 +#define DeleteFencesNV_remap_index 242 +#define FinishFenceNV_remap_index 243 +#define GenFencesNV_remap_index 244 +#define GetFenceivNV_remap_index 245 +#define IsFenceNV_remap_index 246 +#define SetFenceNV_remap_index 247 +#define TestFenceNV_remap_index 248 +#define AreProgramsResidentNV_remap_index 249 +#define BindProgramNV_remap_index 250 +#define DeleteProgramsNV_remap_index 251 +#define ExecuteProgramNV_remap_index 252 +#define GenProgramsNV_remap_index 253 +#define GetProgramParameterdvNV_remap_index 254 +#define GetProgramParameterfvNV_remap_index 255 +#define GetProgramStringNV_remap_index 256 +#define GetProgramivNV_remap_index 257 +#define GetTrackMatrixivNV_remap_index 258 +#define GetVertexAttribPointervNV_remap_index 259 +#define GetVertexAttribdvNV_remap_index 260 +#define GetVertexAttribfvNV_remap_index 261 +#define GetVertexAttribivNV_remap_index 262 +#define IsProgramNV_remap_index 263 +#define LoadProgramNV_remap_index 264 +#define ProgramParameter4dNV_remap_index 265 +#define ProgramParameter4dvNV_remap_index 266 +#define ProgramParameter4fNV_remap_index 267 +#define ProgramParameter4fvNV_remap_index 268 +#define ProgramParameters4dvNV_remap_index 269 +#define ProgramParameters4fvNV_remap_index 270 +#define RequestResidentProgramsNV_remap_index 271 +#define TrackMatrixNV_remap_index 272 +#define VertexAttrib1dNV_remap_index 273 +#define VertexAttrib1dvNV_remap_index 274 +#define VertexAttrib1fNV_remap_index 275 +#define VertexAttrib1fvNV_remap_index 276 +#define VertexAttrib1sNV_remap_index 277 +#define VertexAttrib1svNV_remap_index 278 +#define VertexAttrib2dNV_remap_index 279 +#define VertexAttrib2dvNV_remap_index 280 +#define VertexAttrib2fNV_remap_index 281 +#define VertexAttrib2fvNV_remap_index 282 +#define VertexAttrib2sNV_remap_index 283 +#define VertexAttrib2svNV_remap_index 284 +#define VertexAttrib3dNV_remap_index 285 +#define VertexAttrib3dvNV_remap_index 286 +#define VertexAttrib3fNV_remap_index 287 +#define VertexAttrib3fvNV_remap_index 288 +#define VertexAttrib3sNV_remap_index 289 +#define VertexAttrib3svNV_remap_index 290 +#define VertexAttrib4dNV_remap_index 291 +#define VertexAttrib4dvNV_remap_index 292 +#define VertexAttrib4fNV_remap_index 293 +#define VertexAttrib4fvNV_remap_index 294 +#define VertexAttrib4sNV_remap_index 295 +#define VertexAttrib4svNV_remap_index 296 +#define VertexAttrib4ubNV_remap_index 297 +#define VertexAttrib4ubvNV_remap_index 298 +#define VertexAttribPointerNV_remap_index 299 +#define VertexAttribs1dvNV_remap_index 300 +#define VertexAttribs1fvNV_remap_index 301 +#define VertexAttribs1svNV_remap_index 302 +#define VertexAttribs2dvNV_remap_index 303 +#define VertexAttribs2fvNV_remap_index 304 +#define VertexAttribs2svNV_remap_index 305 +#define VertexAttribs3dvNV_remap_index 306 +#define VertexAttribs3fvNV_remap_index 307 +#define VertexAttribs3svNV_remap_index 308 +#define VertexAttribs4dvNV_remap_index 309 +#define VertexAttribs4fvNV_remap_index 310 +#define VertexAttribs4svNV_remap_index 311 +#define VertexAttribs4ubvNV_remap_index 312 +#define AlphaFragmentOp1ATI_remap_index 313 +#define AlphaFragmentOp2ATI_remap_index 314 +#define AlphaFragmentOp3ATI_remap_index 315 +#define BeginFragmentShaderATI_remap_index 316 +#define BindFragmentShaderATI_remap_index 317 +#define ColorFragmentOp1ATI_remap_index 318 +#define ColorFragmentOp2ATI_remap_index 319 +#define ColorFragmentOp3ATI_remap_index 320 +#define DeleteFragmentShaderATI_remap_index 321 +#define EndFragmentShaderATI_remap_index 322 +#define GenFragmentShadersATI_remap_index 323 +#define PassTexCoordATI_remap_index 324 +#define SampleMapATI_remap_index 325 +#define SetFragmentShaderConstantATI_remap_index 326 +#define PointParameteriNV_remap_index 327 +#define PointParameterivNV_remap_index 328 +#define ActiveStencilFaceEXT_remap_index 329 +#define BindVertexArrayAPPLE_remap_index 330 +#define DeleteVertexArraysAPPLE_remap_index 331 +#define GenVertexArraysAPPLE_remap_index 332 +#define IsVertexArrayAPPLE_remap_index 333 +#define GetProgramNamedParameterdvNV_remap_index 334 +#define GetProgramNamedParameterfvNV_remap_index 335 +#define ProgramNamedParameter4dNV_remap_index 336 +#define ProgramNamedParameter4dvNV_remap_index 337 +#define ProgramNamedParameter4fNV_remap_index 338 +#define ProgramNamedParameter4fvNV_remap_index 339 +#define DepthBoundsEXT_remap_index 340 +#define BlendEquationSeparateEXT_remap_index 341 +#define BindFramebufferEXT_remap_index 342 +#define BindRenderbufferEXT_remap_index 343 +#define CheckFramebufferStatusEXT_remap_index 344 +#define DeleteFramebuffersEXT_remap_index 345 +#define DeleteRenderbuffersEXT_remap_index 346 +#define FramebufferRenderbufferEXT_remap_index 347 +#define FramebufferTexture1DEXT_remap_index 348 +#define FramebufferTexture2DEXT_remap_index 349 +#define FramebufferTexture3DEXT_remap_index 350 +#define GenFramebuffersEXT_remap_index 351 +#define GenRenderbuffersEXT_remap_index 352 +#define GenerateMipmapEXT_remap_index 353 +#define GetFramebufferAttachmentParameterivEXT_remap_index 354 +#define GetRenderbufferParameterivEXT_remap_index 355 +#define IsFramebufferEXT_remap_index 356 +#define IsRenderbufferEXT_remap_index 357 +#define RenderbufferStorageEXT_remap_index 358 +#define BlitFramebufferEXT_remap_index 359 +#define StencilFuncSeparateATI_remap_index 360 +#define ProgramEnvParameters4fvEXT_remap_index 361 +#define ProgramLocalParameters4fvEXT_remap_index 362 +#define GetQueryObjecti64vEXT_remap_index 363 +#define GetQueryObjectui64vEXT_remap_index 364 +#define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[AttachShader_remap_index], parameters) +#define GET_AttachShader(disp) GET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index]) +#define SET_AttachShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index], fn) +#define CALL_CreateProgram(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(void)), driDispatchRemapTable[CreateProgram_remap_index], parameters) +#define GET_CreateProgram(disp) GET_by_offset(disp, driDispatchRemapTable[CreateProgram_remap_index]) +#define SET_CreateProgram(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateProgram_remap_index], fn) +#define CALL_CreateShader(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[CreateShader_remap_index], parameters) +#define GET_CreateShader(disp) GET_by_offset(disp, driDispatchRemapTable[CreateShader_remap_index]) +#define SET_CreateShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateShader_remap_index], fn) +#define CALL_DeleteProgram(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[DeleteProgram_remap_index], parameters) +#define GET_DeleteProgram(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteProgram_remap_index]) +#define SET_DeleteProgram(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteProgram_remap_index], fn) +#define CALL_DeleteShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[DeleteShader_remap_index], parameters) +#define GET_DeleteShader(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteShader_remap_index]) +#define SET_DeleteShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteShader_remap_index], fn) +#define CALL_DetachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[DetachShader_remap_index], parameters) +#define GET_DetachShader(disp) GET_by_offset(disp, driDispatchRemapTable[DetachShader_remap_index]) +#define SET_DetachShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DetachShader_remap_index], fn) +#define CALL_GetAttachedShaders(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLuint *)), driDispatchRemapTable[GetAttachedShaders_remap_index], parameters) +#define GET_GetAttachedShaders(disp) GET_by_offset(disp, driDispatchRemapTable[GetAttachedShaders_remap_index]) +#define SET_GetAttachedShaders(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetAttachedShaders_remap_index], fn) +#define CALL_GetProgramInfoLog(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLchar *)), driDispatchRemapTable[GetProgramInfoLog_remap_index], parameters) +#define GET_GetProgramInfoLog(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramInfoLog_remap_index]) +#define SET_GetProgramInfoLog(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramInfoLog_remap_index], fn) +#define CALL_GetProgramiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetProgramiv_remap_index], parameters) +#define GET_GetProgramiv(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramiv_remap_index]) +#define SET_GetProgramiv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramiv_remap_index], fn) +#define CALL_GetShaderInfoLog(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLchar *)), driDispatchRemapTable[GetShaderInfoLog_remap_index], parameters) +#define GET_GetShaderInfoLog(disp) GET_by_offset(disp, driDispatchRemapTable[GetShaderInfoLog_remap_index]) +#define SET_GetShaderInfoLog(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetShaderInfoLog_remap_index], fn) +#define CALL_GetShaderiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetShaderiv_remap_index], parameters) +#define GET_GetShaderiv(disp) GET_by_offset(disp, driDispatchRemapTable[GetShaderiv_remap_index]) +#define SET_GetShaderiv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetShaderiv_remap_index], fn) +#define CALL_IsProgram(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsProgram_remap_index], parameters) +#define GET_IsProgram(disp) GET_by_offset(disp, driDispatchRemapTable[IsProgram_remap_index]) +#define SET_IsProgram(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsProgram_remap_index], fn) +#define CALL_IsShader(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsShader_remap_index], parameters) +#define GET_IsShader(disp) GET_by_offset(disp, driDispatchRemapTable[IsShader_remap_index]) +#define SET_IsShader(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsShader_remap_index], fn) #define CALL_StencilFuncSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLuint)), driDispatchRemapTable[StencilFuncSeparate_remap_index], parameters) #define GET_StencilFuncSeparate(disp) GET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparate_remap_index]) #define SET_StencilFuncSeparate(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparate_remap_index], fn) @@ -2742,6 +2797,24 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_StencilOpSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), driDispatchRemapTable[StencilOpSeparate_remap_index], parameters) #define GET_StencilOpSeparate(disp) GET_by_offset(disp, driDispatchRemapTable[StencilOpSeparate_remap_index]) #define SET_StencilOpSeparate(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilOpSeparate_remap_index], fn) +#define CALL_UniformMatrix2x3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix2x3fv_remap_index], parameters) +#define GET_UniformMatrix2x3fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix2x3fv_remap_index]) +#define SET_UniformMatrix2x3fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix2x3fv_remap_index], fn) +#define CALL_UniformMatrix2x4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix2x4fv_remap_index], parameters) +#define GET_UniformMatrix2x4fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix2x4fv_remap_index]) +#define SET_UniformMatrix2x4fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix2x4fv_remap_index], fn) +#define CALL_UniformMatrix3x2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix3x2fv_remap_index], parameters) +#define GET_UniformMatrix3x2fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix3x2fv_remap_index]) +#define SET_UniformMatrix3x2fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix3x2fv_remap_index], fn) +#define CALL_UniformMatrix3x4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix3x4fv_remap_index], parameters) +#define GET_UniformMatrix3x4fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix3x4fv_remap_index]) +#define SET_UniformMatrix3x4fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix3x4fv_remap_index], fn) +#define CALL_UniformMatrix4x2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix4x2fv_remap_index], parameters) +#define GET_UniformMatrix4x2fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix4x2fv_remap_index]) +#define SET_UniformMatrix4x2fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix4x2fv_remap_index], fn) +#define CALL_UniformMatrix4x3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix4x3fv_remap_index], parameters) +#define GET_UniformMatrix4x3fv(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix4x3fv_remap_index]) +#define SET_UniformMatrix4x3fv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix4x3fv_remap_index], fn) #define CALL_LoadTransposeMatrixdARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index], parameters) #define GET_LoadTransposeMatrixdARB(disp) GET_by_offset(disp, driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index]) #define SET_LoadTransposeMatrixdARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index], fn) @@ -3138,45 +3211,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_PolygonOffsetEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), driDispatchRemapTable[PolygonOffsetEXT_remap_index], parameters) #define GET_PolygonOffsetEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index]) #define SET_PolygonOffsetEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index], fn) -#define CALL_GetHistogramEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)), driDispatchRemapTable[GetHistogramEXT_remap_index], parameters) -#define GET_GetHistogramEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetHistogramEXT_remap_index]) -#define SET_GetHistogramEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetHistogramEXT_remap_index], fn) -#define CALL_GetHistogramParameterfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetHistogramParameterfvEXT_remap_index], parameters) -#define GET_GetHistogramParameterfvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetHistogramParameterfvEXT_remap_index]) -#define SET_GetHistogramParameterfvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetHistogramParameterfvEXT_remap_index], fn) -#define CALL_GetHistogramParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetHistogramParameterivEXT_remap_index], parameters) -#define GET_GetHistogramParameterivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetHistogramParameterivEXT_remap_index]) -#define SET_GetHistogramParameterivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetHistogramParameterivEXT_remap_index], fn) -#define CALL_GetMinmaxEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)), driDispatchRemapTable[GetMinmaxEXT_remap_index], parameters) -#define GET_GetMinmaxEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetMinmaxEXT_remap_index]) -#define SET_GetMinmaxEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetMinmaxEXT_remap_index], fn) -#define CALL_GetMinmaxParameterfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetMinmaxParameterfvEXT_remap_index], parameters) -#define GET_GetMinmaxParameterfvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetMinmaxParameterfvEXT_remap_index]) -#define SET_GetMinmaxParameterfvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetMinmaxParameterfvEXT_remap_index], fn) -#define CALL_GetMinmaxParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetMinmaxParameterivEXT_remap_index], parameters) -#define GET_GetMinmaxParameterivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetMinmaxParameterivEXT_remap_index]) -#define SET_GetMinmaxParameterivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetMinmaxParameterivEXT_remap_index], fn) -#define CALL_GetConvolutionFilterEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLvoid *)), driDispatchRemapTable[GetConvolutionFilterEXT_remap_index], parameters) -#define GET_GetConvolutionFilterEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetConvolutionFilterEXT_remap_index]) -#define SET_GetConvolutionFilterEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetConvolutionFilterEXT_remap_index], fn) -#define CALL_GetConvolutionParameterfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetConvolutionParameterfvEXT_remap_index], parameters) -#define GET_GetConvolutionParameterfvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetConvolutionParameterfvEXT_remap_index]) -#define SET_GetConvolutionParameterfvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetConvolutionParameterfvEXT_remap_index], fn) -#define CALL_GetConvolutionParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetConvolutionParameterivEXT_remap_index], parameters) -#define GET_GetConvolutionParameterivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetConvolutionParameterivEXT_remap_index]) -#define SET_GetConvolutionParameterivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetConvolutionParameterivEXT_remap_index], fn) -#define CALL_GetSeparableFilterEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *)), driDispatchRemapTable[GetSeparableFilterEXT_remap_index], parameters) -#define GET_GetSeparableFilterEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetSeparableFilterEXT_remap_index]) -#define SET_GetSeparableFilterEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetSeparableFilterEXT_remap_index], fn) -#define CALL_GetColorTableParameterfvSGI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetColorTableParameterfvSGI_remap_index], parameters) -#define GET_GetColorTableParameterfvSGI(disp) GET_by_offset(disp, driDispatchRemapTable[GetColorTableParameterfvSGI_remap_index]) -#define SET_GetColorTableParameterfvSGI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetColorTableParameterfvSGI_remap_index], fn) -#define CALL_GetColorTableParameterivSGI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetColorTableParameterivSGI_remap_index], parameters) -#define GET_GetColorTableParameterivSGI(disp) GET_by_offset(disp, driDispatchRemapTable[GetColorTableParameterivSGI_remap_index]) -#define SET_GetColorTableParameterivSGI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetColorTableParameterivSGI_remap_index], fn) -#define CALL_GetColorTableSGI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLvoid *)), driDispatchRemapTable[GetColorTableSGI_remap_index], parameters) -#define GET_GetColorTableSGI(disp) GET_by_offset(disp, driDispatchRemapTable[GetColorTableSGI_remap_index]) -#define SET_GetColorTableSGI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetColorTableSGI_remap_index], fn) #define CALL_GetPixelTexGenParameterfvSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat *)), driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index], parameters) #define GET_GetPixelTexGenParameterfvSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index]) #define SET_GetPixelTexGenParameterfvSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index], fn) @@ -3195,15 +3229,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_PixelTexGenParameterivSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index], parameters) #define GET_PixelTexGenParameterivSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index]) #define SET_PixelTexGenParameterivSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index], fn) -#define CALL_AreTexturesResidentEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLsizei, const GLuint *, GLboolean *)), driDispatchRemapTable[AreTexturesResidentEXT_remap_index], parameters) -#define GET_AreTexturesResidentEXT(disp) GET_by_offset(disp, driDispatchRemapTable[AreTexturesResidentEXT_remap_index]) -#define SET_AreTexturesResidentEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AreTexturesResidentEXT_remap_index], fn) -#define CALL_GenTexturesEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenTexturesEXT_remap_index], parameters) -#define GET_GenTexturesEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GenTexturesEXT_remap_index]) -#define SET_GenTexturesEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenTexturesEXT_remap_index], fn) -#define CALL_IsTextureEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsTextureEXT_remap_index], parameters) -#define GET_IsTextureEXT(disp) GET_by_offset(disp, driDispatchRemapTable[IsTextureEXT_remap_index]) -#define SET_IsTextureEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsTextureEXT_remap_index], fn) #define CALL_SampleMaskSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLboolean)), driDispatchRemapTable[SampleMaskSGIS_remap_index], parameters) #define GET_SampleMaskSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[SampleMaskSGIS_remap_index]) #define SET_SampleMaskSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SampleMaskSGIS_remap_index], fn) @@ -3789,12 +3814,6 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_GetFramebufferAttachmentParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLint *)), driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index], parameters) #define GET_GetFramebufferAttachmentParameterivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index]) #define SET_GetFramebufferAttachmentParameterivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index], fn) -#define CALL_GetQueryObjecti64vEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint64EXT *)), driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index], parameters) -#define GET_GetQueryObjecti64vEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index]) -#define SET_GetQueryObjecti64vEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index], fn) -#define CALL_GetQueryObjectui64vEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLuint64EXT *)), driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index], parameters) -#define GET_GetQueryObjectui64vEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index]) -#define SET_GetQueryObjectui64vEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index], fn) #define CALL_GetRenderbufferParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index], parameters) #define GET_GetRenderbufferParameterivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index]) #define SET_GetRenderbufferParameterivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index], fn) @@ -3810,12 +3829,21 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_BlitFramebufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)), driDispatchRemapTable[BlitFramebufferEXT_remap_index], parameters) #define GET_BlitFramebufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BlitFramebufferEXT_remap_index]) #define SET_BlitFramebufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BlitFramebufferEXT_remap_index], fn) +#define CALL_StencilFuncSeparateATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLuint)), driDispatchRemapTable[StencilFuncSeparateATI_remap_index], parameters) +#define GET_StencilFuncSeparateATI(disp) GET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparateATI_remap_index]) +#define SET_StencilFuncSeparateATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparateATI_remap_index], fn) #define CALL_ProgramEnvParameters4fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index], parameters) #define GET_ProgramEnvParameters4fvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index]) #define SET_ProgramEnvParameters4fvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index], fn) #define CALL_ProgramLocalParameters4fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index], parameters) #define GET_ProgramLocalParameters4fvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index]) #define SET_ProgramLocalParameters4fvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index], fn) +#define CALL_GetQueryObjecti64vEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint64EXT *)), driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index], parameters) +#define GET_GetQueryObjecti64vEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index]) +#define SET_GetQueryObjecti64vEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index], fn) +#define CALL_GetQueryObjectui64vEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLuint64EXT *)), driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index], parameters) +#define GET_GetQueryObjectui64vEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index]) +#define SET_GetQueryObjectui64vEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index], fn) #endif /* !defined(IN_DRI_DRIVER) */ diff --git a/dist/Mesa/src/mesa/glapi/glapioffsets.h b/dist/Mesa/src/mesa/glapi/glapioffsets.h index 2dc4e77f4..4c6dd98a6 100644 --- a/dist/Mesa/src/mesa/glapi/glapioffsets.h +++ b/dist/Mesa/src/mesa/glapi/glapioffsets.h @@ -440,374 +440,397 @@ #if !defined(IN_DRI_DRIVER) -#define _gloffset_StencilFuncSeparate 408 -#define _gloffset_StencilMaskSeparate 409 -#define _gloffset_StencilOpSeparate 410 -#define _gloffset_LoadTransposeMatrixdARB 411 -#define _gloffset_LoadTransposeMatrixfARB 412 -#define _gloffset_MultTransposeMatrixdARB 413 -#define _gloffset_MultTransposeMatrixfARB 414 -#define _gloffset_SampleCoverageARB 415 -#define _gloffset_CompressedTexImage1DARB 416 -#define _gloffset_CompressedTexImage2DARB 417 -#define _gloffset_CompressedTexImage3DARB 418 -#define _gloffset_CompressedTexSubImage1DARB 419 -#define _gloffset_CompressedTexSubImage2DARB 420 -#define _gloffset_CompressedTexSubImage3DARB 421 -#define _gloffset_GetCompressedTexImageARB 422 -#define _gloffset_DisableVertexAttribArrayARB 423 -#define _gloffset_EnableVertexAttribArrayARB 424 -#define _gloffset_GetProgramEnvParameterdvARB 425 -#define _gloffset_GetProgramEnvParameterfvARB 426 -#define _gloffset_GetProgramLocalParameterdvARB 427 -#define _gloffset_GetProgramLocalParameterfvARB 428 -#define _gloffset_GetProgramStringARB 429 -#define _gloffset_GetProgramivARB 430 -#define _gloffset_GetVertexAttribdvARB 431 -#define _gloffset_GetVertexAttribfvARB 432 -#define _gloffset_GetVertexAttribivARB 433 -#define _gloffset_ProgramEnvParameter4dARB 434 -#define _gloffset_ProgramEnvParameter4dvARB 435 -#define _gloffset_ProgramEnvParameter4fARB 436 -#define _gloffset_ProgramEnvParameter4fvARB 437 -#define _gloffset_ProgramLocalParameter4dARB 438 -#define _gloffset_ProgramLocalParameter4dvARB 439 -#define _gloffset_ProgramLocalParameter4fARB 440 -#define _gloffset_ProgramLocalParameter4fvARB 441 -#define _gloffset_ProgramStringARB 442 -#define _gloffset_VertexAttrib1dARB 443 -#define _gloffset_VertexAttrib1dvARB 444 -#define _gloffset_VertexAttrib1fARB 445 -#define _gloffset_VertexAttrib1fvARB 446 -#define _gloffset_VertexAttrib1sARB 447 -#define _gloffset_VertexAttrib1svARB 448 -#define _gloffset_VertexAttrib2dARB 449 -#define _gloffset_VertexAttrib2dvARB 450 -#define _gloffset_VertexAttrib2fARB 451 -#define _gloffset_VertexAttrib2fvARB 452 -#define _gloffset_VertexAttrib2sARB 453 -#define _gloffset_VertexAttrib2svARB 454 -#define _gloffset_VertexAttrib3dARB 455 -#define _gloffset_VertexAttrib3dvARB 456 -#define _gloffset_VertexAttrib3fARB 457 -#define _gloffset_VertexAttrib3fvARB 458 -#define _gloffset_VertexAttrib3sARB 459 -#define _gloffset_VertexAttrib3svARB 460 -#define _gloffset_VertexAttrib4NbvARB 461 -#define _gloffset_VertexAttrib4NivARB 462 -#define _gloffset_VertexAttrib4NsvARB 463 -#define _gloffset_VertexAttrib4NubARB 464 -#define _gloffset_VertexAttrib4NubvARB 465 -#define _gloffset_VertexAttrib4NuivARB 466 -#define _gloffset_VertexAttrib4NusvARB 467 -#define _gloffset_VertexAttrib4bvARB 468 -#define _gloffset_VertexAttrib4dARB 469 -#define _gloffset_VertexAttrib4dvARB 470 -#define _gloffset_VertexAttrib4fARB 471 -#define _gloffset_VertexAttrib4fvARB 472 -#define _gloffset_VertexAttrib4ivARB 473 -#define _gloffset_VertexAttrib4sARB 474 -#define _gloffset_VertexAttrib4svARB 475 -#define _gloffset_VertexAttrib4ubvARB 476 -#define _gloffset_VertexAttrib4uivARB 477 -#define _gloffset_VertexAttrib4usvARB 478 -#define _gloffset_VertexAttribPointerARB 479 -#define _gloffset_BindBufferARB 480 -#define _gloffset_BufferDataARB 481 -#define _gloffset_BufferSubDataARB 482 -#define _gloffset_DeleteBuffersARB 483 -#define _gloffset_GenBuffersARB 484 -#define _gloffset_GetBufferParameterivARB 485 -#define _gloffset_GetBufferPointervARB 486 -#define _gloffset_GetBufferSubDataARB 487 -#define _gloffset_IsBufferARB 488 -#define _gloffset_MapBufferARB 489 -#define _gloffset_UnmapBufferARB 490 -#define _gloffset_BeginQueryARB 491 -#define _gloffset_DeleteQueriesARB 492 -#define _gloffset_EndQueryARB 493 -#define _gloffset_GenQueriesARB 494 -#define _gloffset_GetQueryObjectivARB 495 -#define _gloffset_GetQueryObjectuivARB 496 -#define _gloffset_GetQueryivARB 497 -#define _gloffset_IsQueryARB 498 -#define _gloffset_AttachObjectARB 499 -#define _gloffset_CompileShaderARB 500 -#define _gloffset_CreateProgramObjectARB 501 -#define _gloffset_CreateShaderObjectARB 502 -#define _gloffset_DeleteObjectARB 503 -#define _gloffset_DetachObjectARB 504 -#define _gloffset_GetActiveUniformARB 505 -#define _gloffset_GetAttachedObjectsARB 506 -#define _gloffset_GetHandleARB 507 -#define _gloffset_GetInfoLogARB 508 -#define _gloffset_GetObjectParameterfvARB 509 -#define _gloffset_GetObjectParameterivARB 510 -#define _gloffset_GetShaderSourceARB 511 -#define _gloffset_GetUniformLocationARB 512 -#define _gloffset_GetUniformfvARB 513 -#define _gloffset_GetUniformivARB 514 -#define _gloffset_LinkProgramARB 515 -#define _gloffset_ShaderSourceARB 516 -#define _gloffset_Uniform1fARB 517 -#define _gloffset_Uniform1fvARB 518 -#define _gloffset_Uniform1iARB 519 -#define _gloffset_Uniform1ivARB 520 -#define _gloffset_Uniform2fARB 521 -#define _gloffset_Uniform2fvARB 522 -#define _gloffset_Uniform2iARB 523 -#define _gloffset_Uniform2ivARB 524 -#define _gloffset_Uniform3fARB 525 -#define _gloffset_Uniform3fvARB 526 -#define _gloffset_Uniform3iARB 527 -#define _gloffset_Uniform3ivARB 528 -#define _gloffset_Uniform4fARB 529 -#define _gloffset_Uniform4fvARB 530 -#define _gloffset_Uniform4iARB 531 -#define _gloffset_Uniform4ivARB 532 -#define _gloffset_UniformMatrix2fvARB 533 -#define _gloffset_UniformMatrix3fvARB 534 -#define _gloffset_UniformMatrix4fvARB 535 -#define _gloffset_UseProgramObjectARB 536 -#define _gloffset_ValidateProgramARB 537 -#define _gloffset_BindAttribLocationARB 538 -#define _gloffset_GetActiveAttribARB 539 -#define _gloffset_GetAttribLocationARB 540 -#define _gloffset_DrawBuffersARB 541 -#define _gloffset_PolygonOffsetEXT 542 -#define _gloffset_GetHistogramEXT 543 -#define _gloffset_GetHistogramParameterfvEXT 544 -#define _gloffset_GetHistogramParameterivEXT 545 -#define _gloffset_GetMinmaxEXT 546 -#define _gloffset_GetMinmaxParameterfvEXT 547 -#define _gloffset_GetMinmaxParameterivEXT 548 -#define _gloffset_GetConvolutionFilterEXT 549 -#define _gloffset_GetConvolutionParameterfvEXT 550 -#define _gloffset_GetConvolutionParameterivEXT 551 -#define _gloffset_GetSeparableFilterEXT 552 -#define _gloffset_GetColorTableParameterfvSGI 553 -#define _gloffset_GetColorTableParameterivSGI 554 -#define _gloffset_GetColorTableSGI 555 -#define _gloffset_GetPixelTexGenParameterfvSGIS 556 -#define _gloffset_GetPixelTexGenParameterivSGIS 557 -#define _gloffset_PixelTexGenParameterfSGIS 558 -#define _gloffset_PixelTexGenParameterfvSGIS 559 -#define _gloffset_PixelTexGenParameteriSGIS 560 -#define _gloffset_PixelTexGenParameterivSGIS 561 -#define _gloffset_AreTexturesResidentEXT 562 -#define _gloffset_GenTexturesEXT 563 -#define _gloffset_IsTextureEXT 564 -#define _gloffset_SampleMaskSGIS 565 -#define _gloffset_SamplePatternSGIS 566 -#define _gloffset_ColorPointerEXT 567 -#define _gloffset_EdgeFlagPointerEXT 568 -#define _gloffset_IndexPointerEXT 569 -#define _gloffset_NormalPointerEXT 570 -#define _gloffset_TexCoordPointerEXT 571 -#define _gloffset_VertexPointerEXT 572 -#define _gloffset_PointParameterfEXT 573 -#define _gloffset_PointParameterfvEXT 574 -#define _gloffset_LockArraysEXT 575 -#define _gloffset_UnlockArraysEXT 576 -#define _gloffset_CullParameterdvEXT 577 -#define _gloffset_CullParameterfvEXT 578 -#define _gloffset_SecondaryColor3bEXT 579 -#define _gloffset_SecondaryColor3bvEXT 580 -#define _gloffset_SecondaryColor3dEXT 581 -#define _gloffset_SecondaryColor3dvEXT 582 -#define _gloffset_SecondaryColor3fEXT 583 -#define _gloffset_SecondaryColor3fvEXT 584 -#define _gloffset_SecondaryColor3iEXT 585 -#define _gloffset_SecondaryColor3ivEXT 586 -#define _gloffset_SecondaryColor3sEXT 587 -#define _gloffset_SecondaryColor3svEXT 588 -#define _gloffset_SecondaryColor3ubEXT 589 -#define _gloffset_SecondaryColor3ubvEXT 590 -#define _gloffset_SecondaryColor3uiEXT 591 -#define _gloffset_SecondaryColor3uivEXT 592 -#define _gloffset_SecondaryColor3usEXT 593 -#define _gloffset_SecondaryColor3usvEXT 594 -#define _gloffset_SecondaryColorPointerEXT 595 -#define _gloffset_MultiDrawArraysEXT 596 -#define _gloffset_MultiDrawElementsEXT 597 -#define _gloffset_FogCoordPointerEXT 598 -#define _gloffset_FogCoorddEXT 599 -#define _gloffset_FogCoorddvEXT 600 -#define _gloffset_FogCoordfEXT 601 -#define _gloffset_FogCoordfvEXT 602 -#define _gloffset_PixelTexGenSGIX 603 -#define _gloffset_BlendFuncSeparateEXT 604 -#define _gloffset_FlushVertexArrayRangeNV 605 -#define _gloffset_VertexArrayRangeNV 606 -#define _gloffset_CombinerInputNV 607 -#define _gloffset_CombinerOutputNV 608 -#define _gloffset_CombinerParameterfNV 609 -#define _gloffset_CombinerParameterfvNV 610 -#define _gloffset_CombinerParameteriNV 611 -#define _gloffset_CombinerParameterivNV 612 -#define _gloffset_FinalCombinerInputNV 613 -#define _gloffset_GetCombinerInputParameterfvNV 614 -#define _gloffset_GetCombinerInputParameterivNV 615 -#define _gloffset_GetCombinerOutputParameterfvNV 616 -#define _gloffset_GetCombinerOutputParameterivNV 617 -#define _gloffset_GetFinalCombinerInputParameterfvNV 618 -#define _gloffset_GetFinalCombinerInputParameterivNV 619 -#define _gloffset_ResizeBuffersMESA 620 -#define _gloffset_WindowPos2dMESA 621 -#define _gloffset_WindowPos2dvMESA 622 -#define _gloffset_WindowPos2fMESA 623 -#define _gloffset_WindowPos2fvMESA 624 -#define _gloffset_WindowPos2iMESA 625 -#define _gloffset_WindowPos2ivMESA 626 -#define _gloffset_WindowPos2sMESA 627 -#define _gloffset_WindowPos2svMESA 628 -#define _gloffset_WindowPos3dMESA 629 -#define _gloffset_WindowPos3dvMESA 630 -#define _gloffset_WindowPos3fMESA 631 -#define _gloffset_WindowPos3fvMESA 632 -#define _gloffset_WindowPos3iMESA 633 -#define _gloffset_WindowPos3ivMESA 634 -#define _gloffset_WindowPos3sMESA 635 -#define _gloffset_WindowPos3svMESA 636 -#define _gloffset_WindowPos4dMESA 637 -#define _gloffset_WindowPos4dvMESA 638 -#define _gloffset_WindowPos4fMESA 639 -#define _gloffset_WindowPos4fvMESA 640 -#define _gloffset_WindowPos4iMESA 641 -#define _gloffset_WindowPos4ivMESA 642 -#define _gloffset_WindowPos4sMESA 643 -#define _gloffset_WindowPos4svMESA 644 -#define _gloffset_MultiModeDrawArraysIBM 645 -#define _gloffset_MultiModeDrawElementsIBM 646 -#define _gloffset_DeleteFencesNV 647 -#define _gloffset_FinishFenceNV 648 -#define _gloffset_GenFencesNV 649 -#define _gloffset_GetFenceivNV 650 -#define _gloffset_IsFenceNV 651 -#define _gloffset_SetFenceNV 652 -#define _gloffset_TestFenceNV 653 -#define _gloffset_AreProgramsResidentNV 654 -#define _gloffset_BindProgramNV 655 -#define _gloffset_DeleteProgramsNV 656 -#define _gloffset_ExecuteProgramNV 657 -#define _gloffset_GenProgramsNV 658 -#define _gloffset_GetProgramParameterdvNV 659 -#define _gloffset_GetProgramParameterfvNV 660 -#define _gloffset_GetProgramStringNV 661 -#define _gloffset_GetProgramivNV 662 -#define _gloffset_GetTrackMatrixivNV 663 -#define _gloffset_GetVertexAttribPointervNV 664 -#define _gloffset_GetVertexAttribdvNV 665 -#define _gloffset_GetVertexAttribfvNV 666 -#define _gloffset_GetVertexAttribivNV 667 -#define _gloffset_IsProgramNV 668 -#define _gloffset_LoadProgramNV 669 -#define _gloffset_ProgramParameter4dNV 670 -#define _gloffset_ProgramParameter4dvNV 671 -#define _gloffset_ProgramParameter4fNV 672 -#define _gloffset_ProgramParameter4fvNV 673 -#define _gloffset_ProgramParameters4dvNV 674 -#define _gloffset_ProgramParameters4fvNV 675 -#define _gloffset_RequestResidentProgramsNV 676 -#define _gloffset_TrackMatrixNV 677 -#define _gloffset_VertexAttrib1dNV 678 -#define _gloffset_VertexAttrib1dvNV 679 -#define _gloffset_VertexAttrib1fNV 680 -#define _gloffset_VertexAttrib1fvNV 681 -#define _gloffset_VertexAttrib1sNV 682 -#define _gloffset_VertexAttrib1svNV 683 -#define _gloffset_VertexAttrib2dNV 684 -#define _gloffset_VertexAttrib2dvNV 685 -#define _gloffset_VertexAttrib2fNV 686 -#define _gloffset_VertexAttrib2fvNV 687 -#define _gloffset_VertexAttrib2sNV 688 -#define _gloffset_VertexAttrib2svNV 689 -#define _gloffset_VertexAttrib3dNV 690 -#define _gloffset_VertexAttrib3dvNV 691 -#define _gloffset_VertexAttrib3fNV 692 -#define _gloffset_VertexAttrib3fvNV 693 -#define _gloffset_VertexAttrib3sNV 694 -#define _gloffset_VertexAttrib3svNV 695 -#define _gloffset_VertexAttrib4dNV 696 -#define _gloffset_VertexAttrib4dvNV 697 -#define _gloffset_VertexAttrib4fNV 698 -#define _gloffset_VertexAttrib4fvNV 699 -#define _gloffset_VertexAttrib4sNV 700 -#define _gloffset_VertexAttrib4svNV 701 -#define _gloffset_VertexAttrib4ubNV 702 -#define _gloffset_VertexAttrib4ubvNV 703 -#define _gloffset_VertexAttribPointerNV 704 -#define _gloffset_VertexAttribs1dvNV 705 -#define _gloffset_VertexAttribs1fvNV 706 -#define _gloffset_VertexAttribs1svNV 707 -#define _gloffset_VertexAttribs2dvNV 708 -#define _gloffset_VertexAttribs2fvNV 709 -#define _gloffset_VertexAttribs2svNV 710 -#define _gloffset_VertexAttribs3dvNV 711 -#define _gloffset_VertexAttribs3fvNV 712 -#define _gloffset_VertexAttribs3svNV 713 -#define _gloffset_VertexAttribs4dvNV 714 -#define _gloffset_VertexAttribs4fvNV 715 -#define _gloffset_VertexAttribs4svNV 716 -#define _gloffset_VertexAttribs4ubvNV 717 -#define _gloffset_AlphaFragmentOp1ATI 718 -#define _gloffset_AlphaFragmentOp2ATI 719 -#define _gloffset_AlphaFragmentOp3ATI 720 -#define _gloffset_BeginFragmentShaderATI 721 -#define _gloffset_BindFragmentShaderATI 722 -#define _gloffset_ColorFragmentOp1ATI 723 -#define _gloffset_ColorFragmentOp2ATI 724 -#define _gloffset_ColorFragmentOp3ATI 725 -#define _gloffset_DeleteFragmentShaderATI 726 -#define _gloffset_EndFragmentShaderATI 727 -#define _gloffset_GenFragmentShadersATI 728 -#define _gloffset_PassTexCoordATI 729 -#define _gloffset_SampleMapATI 730 -#define _gloffset_SetFragmentShaderConstantATI 731 -#define _gloffset_PointParameteriNV 732 -#define _gloffset_PointParameterivNV 733 -#define _gloffset_ActiveStencilFaceEXT 734 -#define _gloffset_BindVertexArrayAPPLE 735 -#define _gloffset_DeleteVertexArraysAPPLE 736 -#define _gloffset_GenVertexArraysAPPLE 737 -#define _gloffset_IsVertexArrayAPPLE 738 -#define _gloffset_GetProgramNamedParameterdvNV 739 -#define _gloffset_GetProgramNamedParameterfvNV 740 -#define _gloffset_ProgramNamedParameter4dNV 741 -#define _gloffset_ProgramNamedParameter4dvNV 742 -#define _gloffset_ProgramNamedParameter4fNV 743 -#define _gloffset_ProgramNamedParameter4fvNV 744 -#define _gloffset_DepthBoundsEXT 745 -#define _gloffset_BlendEquationSeparateEXT 746 -#define _gloffset_BindFramebufferEXT 747 -#define _gloffset_BindRenderbufferEXT 748 -#define _gloffset_CheckFramebufferStatusEXT 749 -#define _gloffset_DeleteFramebuffersEXT 750 -#define _gloffset_DeleteRenderbuffersEXT 751 -#define _gloffset_FramebufferRenderbufferEXT 752 -#define _gloffset_FramebufferTexture1DEXT 753 -#define _gloffset_FramebufferTexture2DEXT 754 -#define _gloffset_FramebufferTexture3DEXT 755 -#define _gloffset_GenFramebuffersEXT 756 -#define _gloffset_GenRenderbuffersEXT 757 -#define _gloffset_GenerateMipmapEXT 758 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 759 -#define _gloffset_GetQueryObjecti64vEXT 760 -#define _gloffset_GetQueryObjectui64vEXT 761 -#define _gloffset_GetRenderbufferParameterivEXT 762 -#define _gloffset_IsFramebufferEXT 763 -#define _gloffset_IsRenderbufferEXT 764 -#define _gloffset_RenderbufferStorageEXT 765 -#define _gloffset_BlitFramebufferEXT 766 -#define _gloffset_ProgramEnvParameters4fvEXT 767 -#define _gloffset_ProgramLocalParameters4fvEXT 768 -#define _gloffset_FIRST_DYNAMIC 769 +#define _gloffset_AttachShader 408 +#define _gloffset_CreateProgram 409 +#define _gloffset_CreateShader 410 +#define _gloffset_DeleteProgram 411 +#define _gloffset_DeleteShader 412 +#define _gloffset_DetachShader 413 +#define _gloffset_GetAttachedShaders 414 +#define _gloffset_GetProgramInfoLog 415 +#define _gloffset_GetProgramiv 416 +#define _gloffset_GetShaderInfoLog 417 +#define _gloffset_GetShaderiv 418 +#define _gloffset_IsProgram 419 +#define _gloffset_IsShader 420 +#define _gloffset_StencilFuncSeparate 421 +#define _gloffset_StencilMaskSeparate 422 +#define _gloffset_StencilOpSeparate 423 +#define _gloffset_UniformMatrix2x3fv 424 +#define _gloffset_UniformMatrix2x4fv 425 +#define _gloffset_UniformMatrix3x2fv 426 +#define _gloffset_UniformMatrix3x4fv 427 +#define _gloffset_UniformMatrix4x2fv 428 +#define _gloffset_UniformMatrix4x3fv 429 +#define _gloffset_LoadTransposeMatrixdARB 430 +#define _gloffset_LoadTransposeMatrixfARB 431 +#define _gloffset_MultTransposeMatrixdARB 432 +#define _gloffset_MultTransposeMatrixfARB 433 +#define _gloffset_SampleCoverageARB 434 +#define _gloffset_CompressedTexImage1DARB 435 +#define _gloffset_CompressedTexImage2DARB 436 +#define _gloffset_CompressedTexImage3DARB 437 +#define _gloffset_CompressedTexSubImage1DARB 438 +#define _gloffset_CompressedTexSubImage2DARB 439 +#define _gloffset_CompressedTexSubImage3DARB 440 +#define _gloffset_GetCompressedTexImageARB 441 +#define _gloffset_DisableVertexAttribArrayARB 442 +#define _gloffset_EnableVertexAttribArrayARB 443 +#define _gloffset_GetProgramEnvParameterdvARB 444 +#define _gloffset_GetProgramEnvParameterfvARB 445 +#define _gloffset_GetProgramLocalParameterdvARB 446 +#define _gloffset_GetProgramLocalParameterfvARB 447 +#define _gloffset_GetProgramStringARB 448 +#define _gloffset_GetProgramivARB 449 +#define _gloffset_GetVertexAttribdvARB 450 +#define _gloffset_GetVertexAttribfvARB 451 +#define _gloffset_GetVertexAttribivARB 452 +#define _gloffset_ProgramEnvParameter4dARB 453 +#define _gloffset_ProgramEnvParameter4dvARB 454 +#define _gloffset_ProgramEnvParameter4fARB 455 +#define _gloffset_ProgramEnvParameter4fvARB 456 +#define _gloffset_ProgramLocalParameter4dARB 457 +#define _gloffset_ProgramLocalParameter4dvARB 458 +#define _gloffset_ProgramLocalParameter4fARB 459 +#define _gloffset_ProgramLocalParameter4fvARB 460 +#define _gloffset_ProgramStringARB 461 +#define _gloffset_VertexAttrib1dARB 462 +#define _gloffset_VertexAttrib1dvARB 463 +#define _gloffset_VertexAttrib1fARB 464 +#define _gloffset_VertexAttrib1fvARB 465 +#define _gloffset_VertexAttrib1sARB 466 +#define _gloffset_VertexAttrib1svARB 467 +#define _gloffset_VertexAttrib2dARB 468 +#define _gloffset_VertexAttrib2dvARB 469 +#define _gloffset_VertexAttrib2fARB 470 +#define _gloffset_VertexAttrib2fvARB 471 +#define _gloffset_VertexAttrib2sARB 472 +#define _gloffset_VertexAttrib2svARB 473 +#define _gloffset_VertexAttrib3dARB 474 +#define _gloffset_VertexAttrib3dvARB 475 +#define _gloffset_VertexAttrib3fARB 476 +#define _gloffset_VertexAttrib3fvARB 477 +#define _gloffset_VertexAttrib3sARB 478 +#define _gloffset_VertexAttrib3svARB 479 +#define _gloffset_VertexAttrib4NbvARB 480 +#define _gloffset_VertexAttrib4NivARB 481 +#define _gloffset_VertexAttrib4NsvARB 482 +#define _gloffset_VertexAttrib4NubARB 483 +#define _gloffset_VertexAttrib4NubvARB 484 +#define _gloffset_VertexAttrib4NuivARB 485 +#define _gloffset_VertexAttrib4NusvARB 486 +#define _gloffset_VertexAttrib4bvARB 487 +#define _gloffset_VertexAttrib4dARB 488 +#define _gloffset_VertexAttrib4dvARB 489 +#define _gloffset_VertexAttrib4fARB 490 +#define _gloffset_VertexAttrib4fvARB 491 +#define _gloffset_VertexAttrib4ivARB 492 +#define _gloffset_VertexAttrib4sARB 493 +#define _gloffset_VertexAttrib4svARB 494 +#define _gloffset_VertexAttrib4ubvARB 495 +#define _gloffset_VertexAttrib4uivARB 496 +#define _gloffset_VertexAttrib4usvARB 497 +#define _gloffset_VertexAttribPointerARB 498 +#define _gloffset_BindBufferARB 499 +#define _gloffset_BufferDataARB 500 +#define _gloffset_BufferSubDataARB 501 +#define _gloffset_DeleteBuffersARB 502 +#define _gloffset_GenBuffersARB 503 +#define _gloffset_GetBufferParameterivARB 504 +#define _gloffset_GetBufferPointervARB 505 +#define _gloffset_GetBufferSubDataARB 506 +#define _gloffset_IsBufferARB 507 +#define _gloffset_MapBufferARB 508 +#define _gloffset_UnmapBufferARB 509 +#define _gloffset_BeginQueryARB 510 +#define _gloffset_DeleteQueriesARB 511 +#define _gloffset_EndQueryARB 512 +#define _gloffset_GenQueriesARB 513 +#define _gloffset_GetQueryObjectivARB 514 +#define _gloffset_GetQueryObjectuivARB 515 +#define _gloffset_GetQueryivARB 516 +#define _gloffset_IsQueryARB 517 +#define _gloffset_AttachObjectARB 518 +#define _gloffset_CompileShaderARB 519 +#define _gloffset_CreateProgramObjectARB 520 +#define _gloffset_CreateShaderObjectARB 521 +#define _gloffset_DeleteObjectARB 522 +#define _gloffset_DetachObjectARB 523 +#define _gloffset_GetActiveUniformARB 524 +#define _gloffset_GetAttachedObjectsARB 525 +#define _gloffset_GetHandleARB 526 +#define _gloffset_GetInfoLogARB 527 +#define _gloffset_GetObjectParameterfvARB 528 +#define _gloffset_GetObjectParameterivARB 529 +#define _gloffset_GetShaderSourceARB 530 +#define _gloffset_GetUniformLocationARB 531 +#define _gloffset_GetUniformfvARB 532 +#define _gloffset_GetUniformivARB 533 +#define _gloffset_LinkProgramARB 534 +#define _gloffset_ShaderSourceARB 535 +#define _gloffset_Uniform1fARB 536 +#define _gloffset_Uniform1fvARB 537 +#define _gloffset_Uniform1iARB 538 +#define _gloffset_Uniform1ivARB 539 +#define _gloffset_Uniform2fARB 540 +#define _gloffset_Uniform2fvARB 541 +#define _gloffset_Uniform2iARB 542 +#define _gloffset_Uniform2ivARB 543 +#define _gloffset_Uniform3fARB 544 +#define _gloffset_Uniform3fvARB 545 +#define _gloffset_Uniform3iARB 546 +#define _gloffset_Uniform3ivARB 547 +#define _gloffset_Uniform4fARB 548 +#define _gloffset_Uniform4fvARB 549 +#define _gloffset_Uniform4iARB 550 +#define _gloffset_Uniform4ivARB 551 +#define _gloffset_UniformMatrix2fvARB 552 +#define _gloffset_UniformMatrix3fvARB 553 +#define _gloffset_UniformMatrix4fvARB 554 +#define _gloffset_UseProgramObjectARB 555 +#define _gloffset_ValidateProgramARB 556 +#define _gloffset_BindAttribLocationARB 557 +#define _gloffset_GetActiveAttribARB 558 +#define _gloffset_GetAttribLocationARB 559 +#define _gloffset_DrawBuffersARB 560 +#define _gloffset_PolygonOffsetEXT 561 +#define _gloffset_GetPixelTexGenParameterfvSGIS 562 +#define _gloffset_GetPixelTexGenParameterivSGIS 563 +#define _gloffset_PixelTexGenParameterfSGIS 564 +#define _gloffset_PixelTexGenParameterfvSGIS 565 +#define _gloffset_PixelTexGenParameteriSGIS 566 +#define _gloffset_PixelTexGenParameterivSGIS 567 +#define _gloffset_SampleMaskSGIS 568 +#define _gloffset_SamplePatternSGIS 569 +#define _gloffset_ColorPointerEXT 570 +#define _gloffset_EdgeFlagPointerEXT 571 +#define _gloffset_IndexPointerEXT 572 +#define _gloffset_NormalPointerEXT 573 +#define _gloffset_TexCoordPointerEXT 574 +#define _gloffset_VertexPointerEXT 575 +#define _gloffset_PointParameterfEXT 576 +#define _gloffset_PointParameterfvEXT 577 +#define _gloffset_LockArraysEXT 578 +#define _gloffset_UnlockArraysEXT 579 +#define _gloffset_CullParameterdvEXT 580 +#define _gloffset_CullParameterfvEXT 581 +#define _gloffset_SecondaryColor3bEXT 582 +#define _gloffset_SecondaryColor3bvEXT 583 +#define _gloffset_SecondaryColor3dEXT 584 +#define _gloffset_SecondaryColor3dvEXT 585 +#define _gloffset_SecondaryColor3fEXT 586 +#define _gloffset_SecondaryColor3fvEXT 587 +#define _gloffset_SecondaryColor3iEXT 588 +#define _gloffset_SecondaryColor3ivEXT 589 +#define _gloffset_SecondaryColor3sEXT 590 +#define _gloffset_SecondaryColor3svEXT 591 +#define _gloffset_SecondaryColor3ubEXT 592 +#define _gloffset_SecondaryColor3ubvEXT 593 +#define _gloffset_SecondaryColor3uiEXT 594 +#define _gloffset_SecondaryColor3uivEXT 595 +#define _gloffset_SecondaryColor3usEXT 596 +#define _gloffset_SecondaryColor3usvEXT 597 +#define _gloffset_SecondaryColorPointerEXT 598 +#define _gloffset_MultiDrawArraysEXT 599 +#define _gloffset_MultiDrawElementsEXT 600 +#define _gloffset_FogCoordPointerEXT 601 +#define _gloffset_FogCoorddEXT 602 +#define _gloffset_FogCoorddvEXT 603 +#define _gloffset_FogCoordfEXT 604 +#define _gloffset_FogCoordfvEXT 605 +#define _gloffset_PixelTexGenSGIX 606 +#define _gloffset_BlendFuncSeparateEXT 607 +#define _gloffset_FlushVertexArrayRangeNV 608 +#define _gloffset_VertexArrayRangeNV 609 +#define _gloffset_CombinerInputNV 610 +#define _gloffset_CombinerOutputNV 611 +#define _gloffset_CombinerParameterfNV 612 +#define _gloffset_CombinerParameterfvNV 613 +#define _gloffset_CombinerParameteriNV 614 +#define _gloffset_CombinerParameterivNV 615 +#define _gloffset_FinalCombinerInputNV 616 +#define _gloffset_GetCombinerInputParameterfvNV 617 +#define _gloffset_GetCombinerInputParameterivNV 618 +#define _gloffset_GetCombinerOutputParameterfvNV 619 +#define _gloffset_GetCombinerOutputParameterivNV 620 +#define _gloffset_GetFinalCombinerInputParameterfvNV 621 +#define _gloffset_GetFinalCombinerInputParameterivNV 622 +#define _gloffset_ResizeBuffersMESA 623 +#define _gloffset_WindowPos2dMESA 624 +#define _gloffset_WindowPos2dvMESA 625 +#define _gloffset_WindowPos2fMESA 626 +#define _gloffset_WindowPos2fvMESA 627 +#define _gloffset_WindowPos2iMESA 628 +#define _gloffset_WindowPos2ivMESA 629 +#define _gloffset_WindowPos2sMESA 630 +#define _gloffset_WindowPos2svMESA 631 +#define _gloffset_WindowPos3dMESA 632 +#define _gloffset_WindowPos3dvMESA 633 +#define _gloffset_WindowPos3fMESA 634 +#define _gloffset_WindowPos3fvMESA 635 +#define _gloffset_WindowPos3iMESA 636 +#define _gloffset_WindowPos3ivMESA 637 +#define _gloffset_WindowPos3sMESA 638 +#define _gloffset_WindowPos3svMESA 639 +#define _gloffset_WindowPos4dMESA 640 +#define _gloffset_WindowPos4dvMESA 641 +#define _gloffset_WindowPos4fMESA 642 +#define _gloffset_WindowPos4fvMESA 643 +#define _gloffset_WindowPos4iMESA 644 +#define _gloffset_WindowPos4ivMESA 645 +#define _gloffset_WindowPos4sMESA 646 +#define _gloffset_WindowPos4svMESA 647 +#define _gloffset_MultiModeDrawArraysIBM 648 +#define _gloffset_MultiModeDrawElementsIBM 649 +#define _gloffset_DeleteFencesNV 650 +#define _gloffset_FinishFenceNV 651 +#define _gloffset_GenFencesNV 652 +#define _gloffset_GetFenceivNV 653 +#define _gloffset_IsFenceNV 654 +#define _gloffset_SetFenceNV 655 +#define _gloffset_TestFenceNV 656 +#define _gloffset_AreProgramsResidentNV 657 +#define _gloffset_BindProgramNV 658 +#define _gloffset_DeleteProgramsNV 659 +#define _gloffset_ExecuteProgramNV 660 +#define _gloffset_GenProgramsNV 661 +#define _gloffset_GetProgramParameterdvNV 662 +#define _gloffset_GetProgramParameterfvNV 663 +#define _gloffset_GetProgramStringNV 664 +#define _gloffset_GetProgramivNV 665 +#define _gloffset_GetTrackMatrixivNV 666 +#define _gloffset_GetVertexAttribPointervNV 667 +#define _gloffset_GetVertexAttribdvNV 668 +#define _gloffset_GetVertexAttribfvNV 669 +#define _gloffset_GetVertexAttribivNV 670 +#define _gloffset_IsProgramNV 671 +#define _gloffset_LoadProgramNV 672 +#define _gloffset_ProgramParameter4dNV 673 +#define _gloffset_ProgramParameter4dvNV 674 +#define _gloffset_ProgramParameter4fNV 675 +#define _gloffset_ProgramParameter4fvNV 676 +#define _gloffset_ProgramParameters4dvNV 677 +#define _gloffset_ProgramParameters4fvNV 678 +#define _gloffset_RequestResidentProgramsNV 679 +#define _gloffset_TrackMatrixNV 680 +#define _gloffset_VertexAttrib1dNV 681 +#define _gloffset_VertexAttrib1dvNV 682 +#define _gloffset_VertexAttrib1fNV 683 +#define _gloffset_VertexAttrib1fvNV 684 +#define _gloffset_VertexAttrib1sNV 685 +#define _gloffset_VertexAttrib1svNV 686 +#define _gloffset_VertexAttrib2dNV 687 +#define _gloffset_VertexAttrib2dvNV 688 +#define _gloffset_VertexAttrib2fNV 689 +#define _gloffset_VertexAttrib2fvNV 690 +#define _gloffset_VertexAttrib2sNV 691 +#define _gloffset_VertexAttrib2svNV 692 +#define _gloffset_VertexAttrib3dNV 693 +#define _gloffset_VertexAttrib3dvNV 694 +#define _gloffset_VertexAttrib3fNV 695 +#define _gloffset_VertexAttrib3fvNV 696 +#define _gloffset_VertexAttrib3sNV 697 +#define _gloffset_VertexAttrib3svNV 698 +#define _gloffset_VertexAttrib4dNV 699 +#define _gloffset_VertexAttrib4dvNV 700 +#define _gloffset_VertexAttrib4fNV 701 +#define _gloffset_VertexAttrib4fvNV 702 +#define _gloffset_VertexAttrib4sNV 703 +#define _gloffset_VertexAttrib4svNV 704 +#define _gloffset_VertexAttrib4ubNV 705 +#define _gloffset_VertexAttrib4ubvNV 706 +#define _gloffset_VertexAttribPointerNV 707 +#define _gloffset_VertexAttribs1dvNV 708 +#define _gloffset_VertexAttribs1fvNV 709 +#define _gloffset_VertexAttribs1svNV 710 +#define _gloffset_VertexAttribs2dvNV 711 +#define _gloffset_VertexAttribs2fvNV 712 +#define _gloffset_VertexAttribs2svNV 713 +#define _gloffset_VertexAttribs3dvNV 714 +#define _gloffset_VertexAttribs3fvNV 715 +#define _gloffset_VertexAttribs3svNV 716 +#define _gloffset_VertexAttribs4dvNV 717 +#define _gloffset_VertexAttribs4fvNV 718 +#define _gloffset_VertexAttribs4svNV 719 +#define _gloffset_VertexAttribs4ubvNV 720 +#define _gloffset_AlphaFragmentOp1ATI 721 +#define _gloffset_AlphaFragmentOp2ATI 722 +#define _gloffset_AlphaFragmentOp3ATI 723 +#define _gloffset_BeginFragmentShaderATI 724 +#define _gloffset_BindFragmentShaderATI 725 +#define _gloffset_ColorFragmentOp1ATI 726 +#define _gloffset_ColorFragmentOp2ATI 727 +#define _gloffset_ColorFragmentOp3ATI 728 +#define _gloffset_DeleteFragmentShaderATI 729 +#define _gloffset_EndFragmentShaderATI 730 +#define _gloffset_GenFragmentShadersATI 731 +#define _gloffset_PassTexCoordATI 732 +#define _gloffset_SampleMapATI 733 +#define _gloffset_SetFragmentShaderConstantATI 734 +#define _gloffset_PointParameteriNV 735 +#define _gloffset_PointParameterivNV 736 +#define _gloffset_ActiveStencilFaceEXT 737 +#define _gloffset_BindVertexArrayAPPLE 738 +#define _gloffset_DeleteVertexArraysAPPLE 739 +#define _gloffset_GenVertexArraysAPPLE 740 +#define _gloffset_IsVertexArrayAPPLE 741 +#define _gloffset_GetProgramNamedParameterdvNV 742 +#define _gloffset_GetProgramNamedParameterfvNV 743 +#define _gloffset_ProgramNamedParameter4dNV 744 +#define _gloffset_ProgramNamedParameter4dvNV 745 +#define _gloffset_ProgramNamedParameter4fNV 746 +#define _gloffset_ProgramNamedParameter4fvNV 747 +#define _gloffset_DepthBoundsEXT 748 +#define _gloffset_BlendEquationSeparateEXT 749 +#define _gloffset_BindFramebufferEXT 750 +#define _gloffset_BindRenderbufferEXT 751 +#define _gloffset_CheckFramebufferStatusEXT 752 +#define _gloffset_DeleteFramebuffersEXT 753 +#define _gloffset_DeleteRenderbuffersEXT 754 +#define _gloffset_FramebufferRenderbufferEXT 755 +#define _gloffset_FramebufferTexture1DEXT 756 +#define _gloffset_FramebufferTexture2DEXT 757 +#define _gloffset_FramebufferTexture3DEXT 758 +#define _gloffset_GenFramebuffersEXT 759 +#define _gloffset_GenRenderbuffersEXT 760 +#define _gloffset_GenerateMipmapEXT 761 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 762 +#define _gloffset_GetRenderbufferParameterivEXT 763 +#define _gloffset_IsFramebufferEXT 764 +#define _gloffset_IsRenderbufferEXT 765 +#define _gloffset_RenderbufferStorageEXT 766 +#define _gloffset_BlitFramebufferEXT 767 +#define _gloffset_StencilFuncSeparateATI 768 +#define _gloffset_ProgramEnvParameters4fvEXT 769 +#define _gloffset_ProgramLocalParameters4fvEXT 770 +#define _gloffset_GetQueryObjecti64vEXT 771 +#define _gloffset_GetQueryObjectui64vEXT 772 +#define _gloffset_FIRST_DYNAMIC 773 #else +#define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index] +#define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index] +#define _gloffset_CreateShader driDispatchRemapTable[CreateShader_remap_index] +#define _gloffset_DeleteProgram driDispatchRemapTable[DeleteProgram_remap_index] +#define _gloffset_DeleteShader driDispatchRemapTable[DeleteShader_remap_index] +#define _gloffset_DetachShader driDispatchRemapTable[DetachShader_remap_index] +#define _gloffset_GetAttachedShaders driDispatchRemapTable[GetAttachedShaders_remap_index] +#define _gloffset_GetProgramInfoLog driDispatchRemapTable[GetProgramInfoLog_remap_index] +#define _gloffset_GetProgramiv driDispatchRemapTable[GetProgramiv_remap_index] +#define _gloffset_GetShaderInfoLog driDispatchRemapTable[GetShaderInfoLog_remap_index] +#define _gloffset_GetShaderiv driDispatchRemapTable[GetShaderiv_remap_index] +#define _gloffset_IsProgram driDispatchRemapTable[IsProgram_remap_index] +#define _gloffset_IsShader driDispatchRemapTable[IsShader_remap_index] #define _gloffset_StencilFuncSeparate driDispatchRemapTable[StencilFuncSeparate_remap_index] #define _gloffset_StencilMaskSeparate driDispatchRemapTable[StencilMaskSeparate_remap_index] #define _gloffset_StencilOpSeparate driDispatchRemapTable[StencilOpSeparate_remap_index] +#define _gloffset_UniformMatrix2x3fv driDispatchRemapTable[UniformMatrix2x3fv_remap_index] +#define _gloffset_UniformMatrix2x4fv driDispatchRemapTable[UniformMatrix2x4fv_remap_index] +#define _gloffset_UniformMatrix3x2fv driDispatchRemapTable[UniformMatrix3x2fv_remap_index] +#define _gloffset_UniformMatrix3x4fv driDispatchRemapTable[UniformMatrix3x4fv_remap_index] +#define _gloffset_UniformMatrix4x2fv driDispatchRemapTable[UniformMatrix4x2fv_remap_index] +#define _gloffset_UniformMatrix4x3fv driDispatchRemapTable[UniformMatrix4x3fv_remap_index] #define _gloffset_LoadTransposeMatrixdARB driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index] #define _gloffset_LoadTransposeMatrixfARB driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index] #define _gloffset_MultTransposeMatrixdARB driDispatchRemapTable[MultTransposeMatrixdARB_remap_index] @@ -940,28 +963,12 @@ #define _gloffset_GetAttribLocationARB driDispatchRemapTable[GetAttribLocationARB_remap_index] #define _gloffset_DrawBuffersARB driDispatchRemapTable[DrawBuffersARB_remap_index] #define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] -#define _gloffset_GetHistogramEXT driDispatchRemapTable[GetHistogramEXT_remap_index] -#define _gloffset_GetHistogramParameterfvEXT driDispatchRemapTable[GetHistogramParameterfvEXT_remap_index] -#define _gloffset_GetHistogramParameterivEXT driDispatchRemapTable[GetHistogramParameterivEXT_remap_index] -#define _gloffset_GetMinmaxEXT driDispatchRemapTable[GetMinmaxEXT_remap_index] -#define _gloffset_GetMinmaxParameterfvEXT driDispatchRemapTable[GetMinmaxParameterfvEXT_remap_index] -#define _gloffset_GetMinmaxParameterivEXT driDispatchRemapTable[GetMinmaxParameterivEXT_remap_index] -#define _gloffset_GetConvolutionFilterEXT driDispatchRemapTable[GetConvolutionFilterEXT_remap_index] -#define _gloffset_GetConvolutionParameterfvEXT driDispatchRemapTable[GetConvolutionParameterfvEXT_remap_index] -#define _gloffset_GetConvolutionParameterivEXT driDispatchRemapTable[GetConvolutionParameterivEXT_remap_index] -#define _gloffset_GetSeparableFilterEXT driDispatchRemapTable[GetSeparableFilterEXT_remap_index] -#define _gloffset_GetColorTableParameterfvSGI driDispatchRemapTable[GetColorTableParameterfvSGI_remap_index] -#define _gloffset_GetColorTableParameterivSGI driDispatchRemapTable[GetColorTableParameterivSGI_remap_index] -#define _gloffset_GetColorTableSGI driDispatchRemapTable[GetColorTableSGI_remap_index] #define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index] #define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index] #define _gloffset_PixelTexGenParameterfSGIS driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index] #define _gloffset_PixelTexGenParameterfvSGIS driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index] #define _gloffset_PixelTexGenParameteriSGIS driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index] #define _gloffset_PixelTexGenParameterivSGIS driDispatchRemapTable[PixelTexGenParameterivSGIS_remap_index] -#define _gloffset_AreTexturesResidentEXT driDispatchRemapTable[AreTexturesResidentEXT_remap_index] -#define _gloffset_GenTexturesEXT driDispatchRemapTable[GenTexturesEXT_remap_index] -#define _gloffset_IsTextureEXT driDispatchRemapTable[IsTextureEXT_remap_index] #define _gloffset_SampleMaskSGIS driDispatchRemapTable[SampleMaskSGIS_remap_index] #define _gloffset_SamplePatternSGIS driDispatchRemapTable[SamplePatternSGIS_remap_index] #define _gloffset_ColorPointerEXT driDispatchRemapTable[ColorPointerEXT_remap_index] @@ -1157,15 +1164,16 @@ #define _gloffset_GenRenderbuffersEXT driDispatchRemapTable[GenRenderbuffersEXT_remap_index] #define _gloffset_GenerateMipmapEXT driDispatchRemapTable[GenerateMipmapEXT_remap_index] #define _gloffset_GetFramebufferAttachmentParameterivEXT driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_remap_index] -#define _gloffset_GetQueryObjecti64vEXT driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index] -#define _gloffset_GetQueryObjectui64vEXT driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index] #define _gloffset_GetRenderbufferParameterivEXT driDispatchRemapTable[GetRenderbufferParameterivEXT_remap_index] #define _gloffset_IsFramebufferEXT driDispatchRemapTable[IsFramebufferEXT_remap_index] #define _gloffset_IsRenderbufferEXT driDispatchRemapTable[IsRenderbufferEXT_remap_index] #define _gloffset_RenderbufferStorageEXT driDispatchRemapTable[RenderbufferStorageEXT_remap_index] #define _gloffset_BlitFramebufferEXT driDispatchRemapTable[BlitFramebufferEXT_remap_index] +#define _gloffset_StencilFuncSeparateATI driDispatchRemapTable[StencilFuncSeparateATI_remap_index] #define _gloffset_ProgramEnvParameters4fvEXT driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index] #define _gloffset_ProgramLocalParameters4fvEXT driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index] +#define _gloffset_GetQueryObjecti64vEXT driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index] +#define _gloffset_GetQueryObjectui64vEXT driDispatchRemapTable[GetQueryObjectui64vEXT_remap_index] #endif /* !defined(IN_DRI_DRIVER) */ diff --git a/dist/Mesa/src/mesa/glapi/glapitable.h b/dist/Mesa/src/mesa/glapi/glapitable.h index e4b369588..a66f6f386 100644 --- a/dist/Mesa/src/mesa/glapi/glapitable.h +++ b/dist/Mesa/src/mesa/glapi/glapitable.h @@ -30,7 +30,11 @@ # define _GLAPI_TABLE_H_ #ifndef GLAPIENTRYP -#define GLAPIENTRYP +# ifndef GLAPIENTRY +# define GLAPIENTRY +# endif + +# define GLAPIENTRYP GLAPIENTRY * #endif typedef void (*_glapi_proc)(void); /* generic function pointer */ @@ -445,367 +449,371 @@ struct _glapi_table void (GLAPIENTRYP MultiTexCoord4ivARB)(GLenum target, const GLint * v); /* 405 */ void (GLAPIENTRYP MultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); /* 406 */ void (GLAPIENTRYP MultiTexCoord4svARB)(GLenum target, const GLshort * v); /* 407 */ - void (GLAPIENTRYP StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); /* 408 */ - void (GLAPIENTRYP StencilMaskSeparate)(GLenum face, GLuint mask); /* 409 */ - void (GLAPIENTRYP StencilOpSeparate)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass); /* 410 */ - void (GLAPIENTRYP LoadTransposeMatrixdARB)(const GLdouble * m); /* 411 */ - void (GLAPIENTRYP LoadTransposeMatrixfARB)(const GLfloat * m); /* 412 */ - void (GLAPIENTRYP MultTransposeMatrixdARB)(const GLdouble * m); /* 413 */ - void (GLAPIENTRYP MultTransposeMatrixfARB)(const GLfloat * m); /* 414 */ - void (GLAPIENTRYP SampleCoverageARB)(GLclampf value, GLboolean invert); /* 415 */ - void (GLAPIENTRYP CompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data); /* 416 */ - void (GLAPIENTRYP CompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); /* 417 */ - void (GLAPIENTRYP CompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data); /* 418 */ - void (GLAPIENTRYP CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); /* 419 */ - void (GLAPIENTRYP CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); /* 420 */ - void (GLAPIENTRYP CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); /* 421 */ - void (GLAPIENTRYP GetCompressedTexImageARB)(GLenum target, GLint level, GLvoid * img); /* 422 */ - void (GLAPIENTRYP DisableVertexAttribArrayARB)(GLuint index); /* 423 */ - void (GLAPIENTRYP EnableVertexAttribArrayARB)(GLuint index); /* 424 */ - void (GLAPIENTRYP GetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 425 */ - void (GLAPIENTRYP GetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 426 */ - void (GLAPIENTRYP GetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 427 */ - void (GLAPIENTRYP GetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 428 */ - void (GLAPIENTRYP GetProgramStringARB)(GLenum target, GLenum pname, GLvoid * string); /* 429 */ - void (GLAPIENTRYP GetProgramivARB)(GLenum target, GLenum pname, GLint * params); /* 430 */ - void (GLAPIENTRYP GetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble * params); /* 431 */ - void (GLAPIENTRYP GetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat * params); /* 432 */ - void (GLAPIENTRYP GetVertexAttribivARB)(GLuint index, GLenum pname, GLint * params); /* 433 */ - void (GLAPIENTRYP ProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 434 */ - void (GLAPIENTRYP ProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 435 */ - void (GLAPIENTRYP ProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 436 */ - void (GLAPIENTRYP ProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 437 */ - void (GLAPIENTRYP ProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 438 */ - void (GLAPIENTRYP ProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 439 */ - void (GLAPIENTRYP ProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 440 */ - void (GLAPIENTRYP ProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 441 */ - void (GLAPIENTRYP ProgramStringARB)(GLenum target, GLenum format, GLsizei len, const GLvoid * string); /* 442 */ - void (GLAPIENTRYP VertexAttrib1dARB)(GLuint index, GLdouble x); /* 443 */ - void (GLAPIENTRYP VertexAttrib1dvARB)(GLuint index, const GLdouble * v); /* 444 */ - void (GLAPIENTRYP VertexAttrib1fARB)(GLuint index, GLfloat x); /* 445 */ - void (GLAPIENTRYP VertexAttrib1fvARB)(GLuint index, const GLfloat * v); /* 446 */ - void (GLAPIENTRYP VertexAttrib1sARB)(GLuint index, GLshort x); /* 447 */ - void (GLAPIENTRYP VertexAttrib1svARB)(GLuint index, const GLshort * v); /* 448 */ - void (GLAPIENTRYP VertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y); /* 449 */ - void (GLAPIENTRYP VertexAttrib2dvARB)(GLuint index, const GLdouble * v); /* 450 */ - void (GLAPIENTRYP VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y); /* 451 */ - void (GLAPIENTRYP VertexAttrib2fvARB)(GLuint index, const GLfloat * v); /* 452 */ - void (GLAPIENTRYP VertexAttrib2sARB)(GLuint index, GLshort x, GLshort y); /* 453 */ - void (GLAPIENTRYP VertexAttrib2svARB)(GLuint index, const GLshort * v); /* 454 */ - void (GLAPIENTRYP VertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 455 */ - void (GLAPIENTRYP VertexAttrib3dvARB)(GLuint index, const GLdouble * v); /* 456 */ - void (GLAPIENTRYP VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 457 */ - void (GLAPIENTRYP VertexAttrib3fvARB)(GLuint index, const GLfloat * v); /* 458 */ - void (GLAPIENTRYP VertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z); /* 459 */ - void (GLAPIENTRYP VertexAttrib3svARB)(GLuint index, const GLshort * v); /* 460 */ - void (GLAPIENTRYP VertexAttrib4NbvARB)(GLuint index, const GLbyte * v); /* 461 */ - void (GLAPIENTRYP VertexAttrib4NivARB)(GLuint index, const GLint * v); /* 462 */ - void (GLAPIENTRYP VertexAttrib4NsvARB)(GLuint index, const GLshort * v); /* 463 */ - void (GLAPIENTRYP VertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 464 */ - void (GLAPIENTRYP VertexAttrib4NubvARB)(GLuint index, const GLubyte * v); /* 465 */ - void (GLAPIENTRYP VertexAttrib4NuivARB)(GLuint index, const GLuint * v); /* 466 */ - void (GLAPIENTRYP VertexAttrib4NusvARB)(GLuint index, const GLushort * v); /* 467 */ - void (GLAPIENTRYP VertexAttrib4bvARB)(GLuint index, const GLbyte * v); /* 468 */ - void (GLAPIENTRYP VertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 469 */ - void (GLAPIENTRYP VertexAttrib4dvARB)(GLuint index, const GLdouble * v); /* 470 */ - void (GLAPIENTRYP VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 471 */ - void (GLAPIENTRYP VertexAttrib4fvARB)(GLuint index, const GLfloat * v); /* 472 */ - void (GLAPIENTRYP VertexAttrib4ivARB)(GLuint index, const GLint * v); /* 473 */ - void (GLAPIENTRYP VertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 474 */ - void (GLAPIENTRYP VertexAttrib4svARB)(GLuint index, const GLshort * v); /* 475 */ - void (GLAPIENTRYP VertexAttrib4ubvARB)(GLuint index, const GLubyte * v); /* 476 */ - void (GLAPIENTRYP VertexAttrib4uivARB)(GLuint index, const GLuint * v); /* 477 */ - void (GLAPIENTRYP VertexAttrib4usvARB)(GLuint index, const GLushort * v); /* 478 */ - void (GLAPIENTRYP VertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer); /* 479 */ - void (GLAPIENTRYP BindBufferARB)(GLenum target, GLuint buffer); /* 480 */ - void (GLAPIENTRYP BufferDataARB)(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage); /* 481 */ - void (GLAPIENTRYP BufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data); /* 482 */ - void (GLAPIENTRYP DeleteBuffersARB)(GLsizei n, const GLuint * buffer); /* 483 */ - void (GLAPIENTRYP GenBuffersARB)(GLsizei n, GLuint * buffer); /* 484 */ - void (GLAPIENTRYP GetBufferParameterivARB)(GLenum target, GLenum pname, GLint * params); /* 485 */ - void (GLAPIENTRYP GetBufferPointervARB)(GLenum target, GLenum pname, GLvoid ** params); /* 486 */ - void (GLAPIENTRYP GetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data); /* 487 */ - GLboolean (GLAPIENTRYP IsBufferARB)(GLuint buffer); /* 488 */ - GLvoid * (GLAPIENTRYP MapBufferARB)(GLenum target, GLenum access); /* 489 */ - GLboolean (GLAPIENTRYP UnmapBufferARB)(GLenum target); /* 490 */ - void (GLAPIENTRYP BeginQueryARB)(GLenum target, GLuint id); /* 491 */ - void (GLAPIENTRYP DeleteQueriesARB)(GLsizei n, const GLuint * ids); /* 492 */ - void (GLAPIENTRYP EndQueryARB)(GLenum target); /* 493 */ - void (GLAPIENTRYP GenQueriesARB)(GLsizei n, GLuint * ids); /* 494 */ - void (GLAPIENTRYP GetQueryObjectivARB)(GLuint id, GLenum pname, GLint * params); /* 495 */ - void (GLAPIENTRYP GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint * params); /* 496 */ - void (GLAPIENTRYP GetQueryivARB)(GLenum target, GLenum pname, GLint * params); /* 497 */ - GLboolean (GLAPIENTRYP IsQueryARB)(GLuint id); /* 498 */ - void (GLAPIENTRYP AttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj); /* 499 */ - void (GLAPIENTRYP CompileShaderARB)(GLhandleARB shaderObj); /* 500 */ - GLhandleARB (GLAPIENTRYP CreateProgramObjectARB)(void); /* 501 */ - GLhandleARB (GLAPIENTRYP CreateShaderObjectARB)(GLenum shaderType); /* 502 */ - void (GLAPIENTRYP DeleteObjectARB)(GLhandleARB obj); /* 503 */ - void (GLAPIENTRYP DetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj); /* 504 */ - void (GLAPIENTRYP GetActiveUniformARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 505 */ - void (GLAPIENTRYP GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei * length, GLhandleARB * infoLog); /* 506 */ - GLhandleARB (GLAPIENTRYP GetHandleARB)(GLenum pname); /* 507 */ - void (GLAPIENTRYP GetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog); /* 508 */ - void (GLAPIENTRYP GetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat * params); /* 509 */ - void (GLAPIENTRYP GetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint * params); /* 510 */ - void (GLAPIENTRYP GetShaderSourceARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source); /* 511 */ - GLint (GLAPIENTRYP GetUniformLocationARB)(GLhandleARB programObj, const GLcharARB * name); /* 512 */ - void (GLAPIENTRYP GetUniformfvARB)(GLhandleARB programObj, GLint location, GLfloat * params); /* 513 */ - void (GLAPIENTRYP GetUniformivARB)(GLhandleARB programObj, GLint location, GLint * params); /* 514 */ - void (GLAPIENTRYP LinkProgramARB)(GLhandleARB programObj); /* 515 */ - void (GLAPIENTRYP ShaderSourceARB)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint * length); /* 516 */ - void (GLAPIENTRYP Uniform1fARB)(GLint location, GLfloat v0); /* 517 */ - void (GLAPIENTRYP Uniform1fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 518 */ - void (GLAPIENTRYP Uniform1iARB)(GLint location, GLint v0); /* 519 */ - void (GLAPIENTRYP Uniform1ivARB)(GLint location, GLsizei count, const GLint * value); /* 520 */ - void (GLAPIENTRYP Uniform2fARB)(GLint location, GLfloat v0, GLfloat v1); /* 521 */ - void (GLAPIENTRYP Uniform2fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 522 */ - void (GLAPIENTRYP Uniform2iARB)(GLint location, GLint v0, GLint v1); /* 523 */ - void (GLAPIENTRYP Uniform2ivARB)(GLint location, GLsizei count, const GLint * value); /* 524 */ - void (GLAPIENTRYP Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); /* 525 */ - void (GLAPIENTRYP Uniform3fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 526 */ - void (GLAPIENTRYP Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2); /* 527 */ - void (GLAPIENTRYP Uniform3ivARB)(GLint location, GLsizei count, const GLint * value); /* 528 */ - void (GLAPIENTRYP Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); /* 529 */ - void (GLAPIENTRYP Uniform4fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 530 */ - void (GLAPIENTRYP Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); /* 531 */ - void (GLAPIENTRYP Uniform4ivARB)(GLint location, GLsizei count, const GLint * value); /* 532 */ - void (GLAPIENTRYP UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 533 */ - void (GLAPIENTRYP UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 534 */ - void (GLAPIENTRYP UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 535 */ - void (GLAPIENTRYP UseProgramObjectARB)(GLhandleARB programObj); /* 536 */ - void (GLAPIENTRYP ValidateProgramARB)(GLhandleARB programObj); /* 537 */ - void (GLAPIENTRYP BindAttribLocationARB)(GLhandleARB programObj, GLuint index, const GLcharARB * name); /* 538 */ - void (GLAPIENTRYP GetActiveAttribARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 539 */ - GLint (GLAPIENTRYP GetAttribLocationARB)(GLhandleARB programObj, const GLcharARB * name); /* 540 */ - void (GLAPIENTRYP DrawBuffersARB)(GLsizei n, const GLenum * bufs); /* 541 */ - void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 542 */ - void (GLAPIENTRYP GetHistogramEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); /* 543 */ - void (GLAPIENTRYP GetHistogramParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params); /* 544 */ - void (GLAPIENTRYP GetHistogramParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 545 */ - void (GLAPIENTRYP GetMinmaxEXT)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); /* 546 */ - void (GLAPIENTRYP GetMinmaxParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params); /* 547 */ - void (GLAPIENTRYP GetMinmaxParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 548 */ - void (GLAPIENTRYP GetConvolutionFilterEXT)(GLenum target, GLenum format, GLenum type, GLvoid * image); /* 549 */ - void (GLAPIENTRYP GetConvolutionParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params); /* 550 */ - void (GLAPIENTRYP GetConvolutionParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 551 */ - void (GLAPIENTRYP GetSeparableFilterEXT)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); /* 552 */ - void (GLAPIENTRYP GetColorTableParameterfvSGI)(GLenum target, GLenum pname, GLfloat * params); /* 553 */ - void (GLAPIENTRYP GetColorTableParameterivSGI)(GLenum target, GLenum pname, GLint * params); /* 554 */ - void (GLAPIENTRYP GetColorTableSGI)(GLenum target, GLenum format, GLenum type, GLvoid * table); /* 555 */ - void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 556 */ - void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 557 */ - void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 558 */ - void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 559 */ - void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 560 */ - void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 561 */ - GLboolean (GLAPIENTRYP AreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences); /* 562 */ - void (GLAPIENTRYP GenTexturesEXT)(GLsizei n, GLuint * textures); /* 563 */ - GLboolean (GLAPIENTRYP IsTextureEXT)(GLuint texture); /* 564 */ - void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 565 */ - void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 566 */ - void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 567 */ - void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 568 */ - void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 569 */ - void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 570 */ - void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 571 */ - void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 572 */ - void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 573 */ - void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 574 */ - void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 575 */ - void (GLAPIENTRYP UnlockArraysEXT)(void); /* 576 */ - void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 577 */ - void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 578 */ - void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 579 */ - void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 580 */ - void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 581 */ - void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 582 */ - void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 583 */ - void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 584 */ - void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 585 */ - void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 586 */ - void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 587 */ - void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 588 */ - void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 589 */ - void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 590 */ - void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 591 */ - void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 592 */ - void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 593 */ - void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 594 */ - void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 595 */ - void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 596 */ - void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 597 */ - void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 598 */ - void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 599 */ - void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 600 */ - void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 601 */ - void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 602 */ - void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 603 */ - void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 604 */ - void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 605 */ - void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 606 */ - void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 607 */ - void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 608 */ - void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 609 */ - void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 610 */ - void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 611 */ - void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 612 */ - void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 613 */ - void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 614 */ - void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 615 */ - void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 616 */ - void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 617 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 618 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 619 */ - void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 620 */ - void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 621 */ - void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 622 */ - void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 623 */ - void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 624 */ - void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 625 */ - void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 626 */ - void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 627 */ - void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 628 */ - void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 629 */ - void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 630 */ - void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 631 */ - void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 632 */ - void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 633 */ - void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 634 */ - void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 635 */ - void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 636 */ - void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 637 */ - void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 638 */ - void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 639 */ - void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 640 */ - void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 641 */ - void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 642 */ - void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 643 */ - void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 644 */ - void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 645 */ - void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 646 */ - void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 647 */ - void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 648 */ - void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 649 */ - void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 650 */ - GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 651 */ - void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 652 */ - GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 653 */ - GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 654 */ - void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 655 */ - void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 656 */ - void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 657 */ - void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 658 */ - void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 659 */ - void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 660 */ - void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 661 */ - void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 662 */ - void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 663 */ - void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** params); /* 664 */ - void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 665 */ - void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 666 */ - void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 667 */ - GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 668 */ - void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 669 */ - void (GLAPIENTRYP ProgramParameter4dNV)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 670 */ - void (GLAPIENTRYP ProgramParameter4dvNV)(GLenum target, GLuint index, const GLdouble * params); /* 671 */ - void (GLAPIENTRYP ProgramParameter4fNV)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 672 */ - void (GLAPIENTRYP ProgramParameter4fvNV)(GLenum target, GLuint index, const GLfloat * params); /* 673 */ - void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 674 */ - void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 675 */ - void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 676 */ - void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 677 */ - void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 678 */ - void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 679 */ - void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 680 */ - void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 681 */ - void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 682 */ - void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 683 */ - void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 684 */ - void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 685 */ - void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 686 */ - void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 687 */ - void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 688 */ - void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 689 */ - void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 690 */ - void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 691 */ - void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 692 */ - void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 693 */ - void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 694 */ - void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 695 */ - void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 696 */ - void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 697 */ - void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 698 */ - void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 699 */ - void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 700 */ - void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 701 */ - void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 702 */ - void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 703 */ - void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 704 */ - void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 705 */ - void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 706 */ - void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 707 */ - void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 708 */ - void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 709 */ - void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 710 */ - void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 711 */ - void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 712 */ - void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 713 */ - void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 714 */ - void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 715 */ - void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 716 */ - void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 717 */ - void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 718 */ - void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 719 */ - void (GLAPIENTRYP 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); /* 720 */ - void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 721 */ - void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 722 */ - void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 723 */ - void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 724 */ - void (GLAPIENTRYP 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); /* 725 */ - void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 726 */ - void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 727 */ - GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 728 */ - void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 729 */ - void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 730 */ - void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 731 */ - void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 732 */ - void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 733 */ - void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 734 */ - void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 735 */ - void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 736 */ - void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 737 */ - GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 738 */ - void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 739 */ - void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 740 */ - void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 741 */ - void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 742 */ - void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 743 */ - void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 744 */ - void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 745 */ - void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 746 */ - void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 747 */ - void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 748 */ - GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 749 */ - void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 750 */ - void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 751 */ - void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 752 */ - void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 753 */ - void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 754 */ - void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 755 */ - void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 756 */ - void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 757 */ - void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 758 */ - void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 759 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 760 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 761 */ - void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 762 */ - GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 763 */ - GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 764 */ - void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 765 */ - void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 766 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 767 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 768 */ + void (GLAPIENTRYP AttachShader)(GLuint program, GLuint shader); /* 408 */ + GLuint (GLAPIENTRYP CreateProgram)(void); /* 409 */ + GLuint (GLAPIENTRYP CreateShader)(GLenum type); /* 410 */ + void (GLAPIENTRYP DeleteProgram)(GLuint program); /* 411 */ + void (GLAPIENTRYP DeleteShader)(GLuint program); /* 412 */ + void (GLAPIENTRYP DetachShader)(GLuint program, GLuint shader); /* 413 */ + void (GLAPIENTRYP GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * obj); /* 414 */ + void (GLAPIENTRYP GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 415 */ + void (GLAPIENTRYP GetProgramiv)(GLuint program, GLenum pname, GLint * params); /* 416 */ + void (GLAPIENTRYP GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 417 */ + void (GLAPIENTRYP GetShaderiv)(GLuint shader, GLenum pname, GLint * params); /* 418 */ + GLboolean (GLAPIENTRYP IsProgram)(GLuint program); /* 419 */ + GLboolean (GLAPIENTRYP IsShader)(GLuint shader); /* 420 */ + void (GLAPIENTRYP StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); /* 421 */ + void (GLAPIENTRYP StencilMaskSeparate)(GLenum face, GLuint mask); /* 422 */ + void (GLAPIENTRYP StencilOpSeparate)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass); /* 423 */ + void (GLAPIENTRYP UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 424 */ + void (GLAPIENTRYP UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 425 */ + void (GLAPIENTRYP UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 426 */ + void (GLAPIENTRYP UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 427 */ + void (GLAPIENTRYP UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 428 */ + void (GLAPIENTRYP UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 429 */ + void (GLAPIENTRYP LoadTransposeMatrixdARB)(const GLdouble * m); /* 430 */ + void (GLAPIENTRYP LoadTransposeMatrixfARB)(const GLfloat * m); /* 431 */ + void (GLAPIENTRYP MultTransposeMatrixdARB)(const GLdouble * m); /* 432 */ + void (GLAPIENTRYP MultTransposeMatrixfARB)(const GLfloat * m); /* 433 */ + void (GLAPIENTRYP SampleCoverageARB)(GLclampf value, GLboolean invert); /* 434 */ + void (GLAPIENTRYP CompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data); /* 435 */ + void (GLAPIENTRYP CompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); /* 436 */ + void (GLAPIENTRYP CompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data); /* 437 */ + void (GLAPIENTRYP CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); /* 438 */ + void (GLAPIENTRYP CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); /* 439 */ + void (GLAPIENTRYP CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); /* 440 */ + void (GLAPIENTRYP GetCompressedTexImageARB)(GLenum target, GLint level, GLvoid * img); /* 441 */ + void (GLAPIENTRYP DisableVertexAttribArrayARB)(GLuint index); /* 442 */ + void (GLAPIENTRYP EnableVertexAttribArrayARB)(GLuint index); /* 443 */ + void (GLAPIENTRYP GetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 444 */ + void (GLAPIENTRYP GetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 445 */ + void (GLAPIENTRYP GetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 446 */ + void (GLAPIENTRYP GetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 447 */ + void (GLAPIENTRYP GetProgramStringARB)(GLenum target, GLenum pname, GLvoid * string); /* 448 */ + void (GLAPIENTRYP GetProgramivARB)(GLenum target, GLenum pname, GLint * params); /* 449 */ + void (GLAPIENTRYP GetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble * params); /* 450 */ + void (GLAPIENTRYP GetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat * params); /* 451 */ + void (GLAPIENTRYP GetVertexAttribivARB)(GLuint index, GLenum pname, GLint * params); /* 452 */ + void (GLAPIENTRYP ProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 453 */ + void (GLAPIENTRYP ProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 454 */ + void (GLAPIENTRYP ProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 455 */ + void (GLAPIENTRYP ProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 456 */ + void (GLAPIENTRYP ProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 457 */ + void (GLAPIENTRYP ProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 458 */ + void (GLAPIENTRYP ProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 459 */ + void (GLAPIENTRYP ProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 460 */ + void (GLAPIENTRYP ProgramStringARB)(GLenum target, GLenum format, GLsizei len, const GLvoid * string); /* 461 */ + void (GLAPIENTRYP VertexAttrib1dARB)(GLuint index, GLdouble x); /* 462 */ + void (GLAPIENTRYP VertexAttrib1dvARB)(GLuint index, const GLdouble * v); /* 463 */ + void (GLAPIENTRYP VertexAttrib1fARB)(GLuint index, GLfloat x); /* 464 */ + void (GLAPIENTRYP VertexAttrib1fvARB)(GLuint index, const GLfloat * v); /* 465 */ + void (GLAPIENTRYP VertexAttrib1sARB)(GLuint index, GLshort x); /* 466 */ + void (GLAPIENTRYP VertexAttrib1svARB)(GLuint index, const GLshort * v); /* 467 */ + void (GLAPIENTRYP VertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y); /* 468 */ + void (GLAPIENTRYP VertexAttrib2dvARB)(GLuint index, const GLdouble * v); /* 469 */ + void (GLAPIENTRYP VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y); /* 470 */ + void (GLAPIENTRYP VertexAttrib2fvARB)(GLuint index, const GLfloat * v); /* 471 */ + void (GLAPIENTRYP VertexAttrib2sARB)(GLuint index, GLshort x, GLshort y); /* 472 */ + void (GLAPIENTRYP VertexAttrib2svARB)(GLuint index, const GLshort * v); /* 473 */ + void (GLAPIENTRYP VertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 474 */ + void (GLAPIENTRYP VertexAttrib3dvARB)(GLuint index, const GLdouble * v); /* 475 */ + void (GLAPIENTRYP VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 476 */ + void (GLAPIENTRYP VertexAttrib3fvARB)(GLuint index, const GLfloat * v); /* 477 */ + void (GLAPIENTRYP VertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z); /* 478 */ + void (GLAPIENTRYP VertexAttrib3svARB)(GLuint index, const GLshort * v); /* 479 */ + void (GLAPIENTRYP VertexAttrib4NbvARB)(GLuint index, const GLbyte * v); /* 480 */ + void (GLAPIENTRYP VertexAttrib4NivARB)(GLuint index, const GLint * v); /* 481 */ + void (GLAPIENTRYP VertexAttrib4NsvARB)(GLuint index, const GLshort * v); /* 482 */ + void (GLAPIENTRYP VertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 483 */ + void (GLAPIENTRYP VertexAttrib4NubvARB)(GLuint index, const GLubyte * v); /* 484 */ + void (GLAPIENTRYP VertexAttrib4NuivARB)(GLuint index, const GLuint * v); /* 485 */ + void (GLAPIENTRYP VertexAttrib4NusvARB)(GLuint index, const GLushort * v); /* 486 */ + void (GLAPIENTRYP VertexAttrib4bvARB)(GLuint index, const GLbyte * v); /* 487 */ + void (GLAPIENTRYP VertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 488 */ + void (GLAPIENTRYP VertexAttrib4dvARB)(GLuint index, const GLdouble * v); /* 489 */ + void (GLAPIENTRYP VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 490 */ + void (GLAPIENTRYP VertexAttrib4fvARB)(GLuint index, const GLfloat * v); /* 491 */ + void (GLAPIENTRYP VertexAttrib4ivARB)(GLuint index, const GLint * v); /* 492 */ + void (GLAPIENTRYP VertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 493 */ + void (GLAPIENTRYP VertexAttrib4svARB)(GLuint index, const GLshort * v); /* 494 */ + void (GLAPIENTRYP VertexAttrib4ubvARB)(GLuint index, const GLubyte * v); /* 495 */ + void (GLAPIENTRYP VertexAttrib4uivARB)(GLuint index, const GLuint * v); /* 496 */ + void (GLAPIENTRYP VertexAttrib4usvARB)(GLuint index, const GLushort * v); /* 497 */ + void (GLAPIENTRYP VertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer); /* 498 */ + void (GLAPIENTRYP BindBufferARB)(GLenum target, GLuint buffer); /* 499 */ + void (GLAPIENTRYP BufferDataARB)(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage); /* 500 */ + void (GLAPIENTRYP BufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data); /* 501 */ + void (GLAPIENTRYP DeleteBuffersARB)(GLsizei n, const GLuint * buffer); /* 502 */ + void (GLAPIENTRYP GenBuffersARB)(GLsizei n, GLuint * buffer); /* 503 */ + void (GLAPIENTRYP GetBufferParameterivARB)(GLenum target, GLenum pname, GLint * params); /* 504 */ + void (GLAPIENTRYP GetBufferPointervARB)(GLenum target, GLenum pname, GLvoid ** params); /* 505 */ + void (GLAPIENTRYP GetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data); /* 506 */ + GLboolean (GLAPIENTRYP IsBufferARB)(GLuint buffer); /* 507 */ + GLvoid * (GLAPIENTRYP MapBufferARB)(GLenum target, GLenum access); /* 508 */ + GLboolean (GLAPIENTRYP UnmapBufferARB)(GLenum target); /* 509 */ + void (GLAPIENTRYP BeginQueryARB)(GLenum target, GLuint id); /* 510 */ + void (GLAPIENTRYP DeleteQueriesARB)(GLsizei n, const GLuint * ids); /* 511 */ + void (GLAPIENTRYP EndQueryARB)(GLenum target); /* 512 */ + void (GLAPIENTRYP GenQueriesARB)(GLsizei n, GLuint * ids); /* 513 */ + void (GLAPIENTRYP GetQueryObjectivARB)(GLuint id, GLenum pname, GLint * params); /* 514 */ + void (GLAPIENTRYP GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint * params); /* 515 */ + void (GLAPIENTRYP GetQueryivARB)(GLenum target, GLenum pname, GLint * params); /* 516 */ + GLboolean (GLAPIENTRYP IsQueryARB)(GLuint id); /* 517 */ + void (GLAPIENTRYP AttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj); /* 518 */ + void (GLAPIENTRYP CompileShaderARB)(GLhandleARB shader); /* 519 */ + GLhandleARB (GLAPIENTRYP CreateProgramObjectARB)(void); /* 520 */ + GLhandleARB (GLAPIENTRYP CreateShaderObjectARB)(GLenum shaderType); /* 521 */ + void (GLAPIENTRYP DeleteObjectARB)(GLhandleARB obj); /* 522 */ + void (GLAPIENTRYP DetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj); /* 523 */ + void (GLAPIENTRYP GetActiveUniformARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 524 */ + void (GLAPIENTRYP GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei * length, GLhandleARB * infoLog); /* 525 */ + GLhandleARB (GLAPIENTRYP GetHandleARB)(GLenum pname); /* 526 */ + void (GLAPIENTRYP GetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog); /* 527 */ + void (GLAPIENTRYP GetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat * params); /* 528 */ + void (GLAPIENTRYP GetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint * params); /* 529 */ + void (GLAPIENTRYP GetShaderSourceARB)(GLhandleARB shader, GLsizei bufSize, GLsizei * length, GLcharARB * source); /* 530 */ + GLint (GLAPIENTRYP GetUniformLocationARB)(GLhandleARB program, const GLcharARB * name); /* 531 */ + void (GLAPIENTRYP GetUniformfvARB)(GLhandleARB program, GLint location, GLfloat * params); /* 532 */ + void (GLAPIENTRYP GetUniformivARB)(GLhandleARB program, GLint location, GLint * params); /* 533 */ + void (GLAPIENTRYP LinkProgramARB)(GLhandleARB program); /* 534 */ + void (GLAPIENTRYP ShaderSourceARB)(GLhandleARB shader, GLsizei count, const GLcharARB ** string, const GLint * length); /* 535 */ + void (GLAPIENTRYP Uniform1fARB)(GLint location, GLfloat v0); /* 536 */ + void (GLAPIENTRYP Uniform1fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 537 */ + void (GLAPIENTRYP Uniform1iARB)(GLint location, GLint v0); /* 538 */ + void (GLAPIENTRYP Uniform1ivARB)(GLint location, GLsizei count, const GLint * value); /* 539 */ + void (GLAPIENTRYP Uniform2fARB)(GLint location, GLfloat v0, GLfloat v1); /* 540 */ + void (GLAPIENTRYP Uniform2fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 541 */ + void (GLAPIENTRYP Uniform2iARB)(GLint location, GLint v0, GLint v1); /* 542 */ + void (GLAPIENTRYP Uniform2ivARB)(GLint location, GLsizei count, const GLint * value); /* 543 */ + void (GLAPIENTRYP Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); /* 544 */ + void (GLAPIENTRYP Uniform3fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 545 */ + void (GLAPIENTRYP Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2); /* 546 */ + void (GLAPIENTRYP Uniform3ivARB)(GLint location, GLsizei count, const GLint * value); /* 547 */ + void (GLAPIENTRYP Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); /* 548 */ + void (GLAPIENTRYP Uniform4fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 549 */ + void (GLAPIENTRYP Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); /* 550 */ + void (GLAPIENTRYP Uniform4ivARB)(GLint location, GLsizei count, const GLint * value); /* 551 */ + void (GLAPIENTRYP UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 552 */ + void (GLAPIENTRYP UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 553 */ + void (GLAPIENTRYP UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 554 */ + void (GLAPIENTRYP UseProgramObjectARB)(GLhandleARB program); /* 555 */ + void (GLAPIENTRYP ValidateProgramARB)(GLhandleARB program); /* 556 */ + void (GLAPIENTRYP BindAttribLocationARB)(GLhandleARB program, GLuint index, const GLcharARB * name); /* 557 */ + void (GLAPIENTRYP GetActiveAttribARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 558 */ + GLint (GLAPIENTRYP GetAttribLocationARB)(GLhandleARB program, const GLcharARB * name); /* 559 */ + void (GLAPIENTRYP DrawBuffersARB)(GLsizei n, const GLenum * bufs); /* 560 */ + void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 561 */ + void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 562 */ + void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 563 */ + void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 564 */ + void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 565 */ + void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 566 */ + void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 567 */ + void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 568 */ + void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 569 */ + void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 570 */ + void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 571 */ + void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 572 */ + void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 573 */ + void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 574 */ + void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 575 */ + void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 576 */ + void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 577 */ + void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 578 */ + void (GLAPIENTRYP UnlockArraysEXT)(void); /* 579 */ + void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 580 */ + void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 581 */ + void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 582 */ + void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 583 */ + void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 584 */ + void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 585 */ + void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 586 */ + void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 587 */ + void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 588 */ + void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 589 */ + void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 590 */ + void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 591 */ + void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 592 */ + void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 593 */ + void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 594 */ + void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 595 */ + void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 596 */ + void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 597 */ + void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 598 */ + void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 599 */ + void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 600 */ + void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 601 */ + void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 602 */ + void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 603 */ + void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 604 */ + void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 605 */ + void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 606 */ + void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 607 */ + void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 608 */ + void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 609 */ + void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 610 */ + void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 611 */ + void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 612 */ + void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 613 */ + void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 614 */ + void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 615 */ + void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 616 */ + void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 617 */ + void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 618 */ + void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 619 */ + void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 620 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 621 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 622 */ + void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 623 */ + void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 624 */ + void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 625 */ + void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 626 */ + void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 627 */ + void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 628 */ + void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 629 */ + void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 630 */ + void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 631 */ + void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 632 */ + void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 633 */ + void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 634 */ + void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 635 */ + void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 636 */ + void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 637 */ + void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 638 */ + void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 639 */ + void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 640 */ + void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 641 */ + void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 642 */ + void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 643 */ + void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 644 */ + void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 645 */ + void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 646 */ + void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 647 */ + void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 648 */ + void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 649 */ + void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 650 */ + void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 651 */ + void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 652 */ + void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 653 */ + GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 654 */ + void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 655 */ + GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 656 */ + GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 657 */ + void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 658 */ + void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 659 */ + void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 660 */ + void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 661 */ + void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 662 */ + void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 663 */ + void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 664 */ + void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 665 */ + void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 666 */ + void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 667 */ + void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 668 */ + void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 669 */ + void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 670 */ + GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 671 */ + void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 672 */ + void (GLAPIENTRYP ProgramParameter4dNV)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 673 */ + void (GLAPIENTRYP ProgramParameter4dvNV)(GLenum target, GLuint index, const GLdouble * params); /* 674 */ + void (GLAPIENTRYP ProgramParameter4fNV)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 675 */ + void (GLAPIENTRYP ProgramParameter4fvNV)(GLenum target, GLuint index, const GLfloat * params); /* 676 */ + void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 677 */ + void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 678 */ + void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 679 */ + void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 680 */ + void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 681 */ + void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 682 */ + void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 683 */ + void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 684 */ + void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 685 */ + void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 686 */ + void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 687 */ + void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 688 */ + void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 689 */ + void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 690 */ + void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 691 */ + void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 692 */ + void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 693 */ + void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 694 */ + void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 695 */ + void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 696 */ + void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 697 */ + void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 698 */ + void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 699 */ + void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 700 */ + void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 701 */ + void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 702 */ + void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 703 */ + void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 704 */ + void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 705 */ + void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 706 */ + void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 707 */ + void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 708 */ + void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 709 */ + void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 710 */ + void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 711 */ + void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 712 */ + void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 713 */ + void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 714 */ + void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 715 */ + void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 716 */ + void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 717 */ + void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 718 */ + void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 719 */ + void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 720 */ + void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 721 */ + void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 722 */ + void (GLAPIENTRYP 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); /* 723 */ + void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 724 */ + void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 725 */ + void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 726 */ + void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 727 */ + void (GLAPIENTRYP 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); /* 728 */ + void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 729 */ + void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 730 */ + GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 731 */ + void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 732 */ + void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 733 */ + void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 734 */ + void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 735 */ + void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 736 */ + void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 737 */ + void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 738 */ + void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 739 */ + void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 740 */ + GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 741 */ + void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 742 */ + void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 743 */ + void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 744 */ + void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 745 */ + void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 746 */ + void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 747 */ + void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 748 */ + void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 749 */ + void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 750 */ + void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 751 */ + GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 752 */ + void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 753 */ + void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 754 */ + void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 755 */ + void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 756 */ + void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 757 */ + void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 758 */ + void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 759 */ + void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 760 */ + void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 761 */ + void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 762 */ + void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 763 */ + GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 764 */ + GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 765 */ + void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 766 */ + void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 767 */ + void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 768 */ + void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 769 */ + void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 770 */ + void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 771 */ + void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 772 */ }; #endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/dist/Mesa/src/mesa/glapi/glapitemp.h b/dist/Mesa/src/mesa/glapi/glapitemp.h index bdf66880d..1a979cf01 100644 --- a/dist/Mesa/src/mesa/glapi/glapitemp.h +++ b/dist/Mesa/src/mesa/glapi/glapitemp.h @@ -1710,6 +1710,13 @@ KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResident)(GLsizei n, const GLuint * RETURN_DISPATCH(AreTexturesResident, (n, textures, residences), (F, "glAreTexturesResident(%d, %p, %p);\n", n, (const void *) textures, (const void *) residences)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences) +{ + RETURN_DISPATCH(AreTexturesResident, (n, textures, residences), (F, "glAreTexturesResidentEXT(%d, %p, %p);\n", n, (const void *) textures, (const void *) residences)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { DISPATCH(CopyTexImage1D, (target, level, internalformat, x, y, width, border), (F, "glCopyTexImage1D(0x%x, %d, 0x%x, %d, %d, %d, %d);\n", target, level, internalformat, x, y, width, border)); @@ -1755,16 +1762,25 @@ KEYWORD1 void KEYWORD2 NAME(DeleteTextures)(GLsizei n, const GLuint * textures) DISPATCH(DeleteTextures, (n, textures), (F, "glDeleteTextures(%d, %p);\n", n, (const void *) textures)); } +#ifndef GLX_INDIRECT_RENDERING KEYWORD1 void KEYWORD2 NAME(DeleteTexturesEXT)(GLsizei n, const GLuint * textures) { DISPATCH(DeleteTextures, (n, textures), (F, "glDeleteTexturesEXT(%d, %p);\n", n, (const void *) textures)); } +#endif /* GLX_INDIRECT_RENDERING */ KEYWORD1 void KEYWORD2 NAME(GenTextures)(GLsizei n, GLuint * textures) { DISPATCH(GenTextures, (n, textures), (F, "glGenTextures(%d, %p);\n", n, (const void *) textures)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1 void KEYWORD2 NAME(GenTexturesEXT)(GLsizei n, GLuint * textures) +{ + DISPATCH(GenTextures, (n, textures), (F, "glGenTexturesEXT(%d, %p);\n", n, (const void *) textures)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetPointerv)(GLenum pname, GLvoid ** params) { DISPATCH(GetPointerv, (pname, params), (F, "glGetPointerv(0x%x, %p);\n", pname, (const void *) params)); @@ -1780,6 +1796,13 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsTexture)(GLuint texture) RETURN_DISPATCH(IsTexture, (texture), (F, "glIsTexture(%d);\n", texture)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1 GLboolean KEYWORD2 NAME(IsTextureEXT)(GLuint texture) +{ + RETURN_DISPATCH(IsTexture, (texture), (F, "glIsTextureEXT(%d);\n", texture)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(PrioritizeTextures)(GLsizei n, const GLuint * textures, const GLclampf * priorities) { DISPATCH(PrioritizeTextures, (n, textures, priorities), (F, "glPrioritizeTextures(%d, %p, %p);\n", n, (const void *) textures, (const void *) priorities)); @@ -1908,16 +1931,64 @@ KEYWORD1 void KEYWORD2 NAME(GetColorTable)(GLenum target, GLenum format, GLenum DISPATCH(GetColorTable, (target, format, type, table), (F, "glGetColorTable(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_343)(GLenum target, GLenum format, GLenum type, GLvoid * table); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_343)(GLenum target, GLenum format, GLenum type, GLvoid * table) +{ + DISPATCH(GetColorTable, (target, format, type, table), (F, "glGetColorTableSGI(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table)); +} +#endif /* GLX_INDIRECT_RENDERING */ + +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1 void KEYWORD2 NAME(GetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid * table) +{ + DISPATCH(GetColorTable, (target, format, type, table), (F, "glGetColorTableEXT(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat * params) { DISPATCH(GetColorTableParameterfv, (target, pname, params), (F, "glGetColorTableParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_344)(GLenum target, GLenum pname, GLfloat * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_344)(GLenum target, GLenum pname, GLfloat * params) +{ + DISPATCH(GetColorTableParameterfv, (target, pname, params), (F, "glGetColorTableParameterfvSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params) +{ + DISPATCH(GetColorTableParameterfv, (target, pname, params), (F, "glGetColorTableParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetColorTableParameteriv)(GLenum target, GLenum pname, GLint * params) { DISPATCH(GetColorTableParameteriv, (target, pname, params), (F, "glGetColorTableParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_345)(GLenum target, GLenum pname, GLint * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_345)(GLenum target, GLenum pname, GLint * params) +{ + DISPATCH(GetColorTableParameteriv, (target, pname, params), (F, "glGetColorTableParameterivSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint * params) +{ + DISPATCH(GetColorTableParameteriv, (target, pname, params), (F, "glGetColorTableParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(ColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data) { DISPATCH(ColorSubTable, (target, start, count, format, type, data), (F, "glColorSubTable(0x%x, %d, %d, 0x%x, 0x%x, %p);\n", target, start, count, format, type, (const void *) data)); @@ -2043,21 +2114,57 @@ KEYWORD1 void KEYWORD2 NAME(GetConvolutionFilter)(GLenum target, GLenum format, DISPATCH(GetConvolutionFilter, (target, format, type, image), (F, "glGetConvolutionFilter(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) image)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_356)(GLenum target, GLenum format, GLenum type, GLvoid * image); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_356)(GLenum target, GLenum format, GLenum type, GLvoid * image) +{ + DISPATCH(GetConvolutionFilter, (target, format, type, image), (F, "glGetConvolutionFilterEXT(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) image)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat * params) { DISPATCH(GetConvolutionParameterfv, (target, pname, params), (F, "glGetConvolutionParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_357)(GLenum target, GLenum pname, GLfloat * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_357)(GLenum target, GLenum pname, GLfloat * params) +{ + DISPATCH(GetConvolutionParameterfv, (target, pname, params), (F, "glGetConvolutionParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetConvolutionParameteriv)(GLenum target, GLenum pname, GLint * params) { DISPATCH(GetConvolutionParameteriv, (target, pname, params), (F, "glGetConvolutionParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_358)(GLenum target, GLenum pname, GLint * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_358)(GLenum target, GLenum pname, GLint * params) +{ + DISPATCH(GetConvolutionParameteriv, (target, pname, params), (F, "glGetConvolutionParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetSeparableFilter)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span) { DISPATCH(GetSeparableFilter, (target, format, type, row, column, span), (F, "glGetSeparableFilter(0x%x, 0x%x, 0x%x, %p, %p, %p);\n", target, format, type, (const void *) row, (const void *) column, (const void *) span)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_359)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_359)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span) +{ + DISPATCH(GetSeparableFilter, (target, format, type, row, column, span), (F, "glGetSeparableFilterEXT(0x%x, 0x%x, 0x%x, %p, %p, %p);\n", target, format, type, (const void *) row, (const void *) column, (const void *) span)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(SeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column) { DISPATCH(SeparableFilter2D, (target, internalformat, width, height, format, type, row, column), (F, "glSeparableFilter2D(0x%x, 0x%x, %d, %d, 0x%x, 0x%x, %p, %p);\n", target, internalformat, width, height, format, type, (const void *) row, (const void *) column)); @@ -2075,31 +2182,85 @@ KEYWORD1 void KEYWORD2 NAME(GetHistogram)(GLenum target, GLboolean reset, GLenum DISPATCH(GetHistogram, (target, reset, format, type, values), (F, "glGetHistogram(0x%x, %d, 0x%x, 0x%x, %p);\n", target, reset, format, type, (const void *) values)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_361)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_361)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) +{ + DISPATCH(GetHistogram, (target, reset, format, type, values), (F, "glGetHistogramEXT(0x%x, %d, 0x%x, 0x%x, %p);\n", target, reset, format, type, (const void *) values)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat * params) { DISPATCH(GetHistogramParameterfv, (target, pname, params), (F, "glGetHistogramParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_362)(GLenum target, GLenum pname, GLfloat * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_362)(GLenum target, GLenum pname, GLfloat * params) +{ + DISPATCH(GetHistogramParameterfv, (target, pname, params), (F, "glGetHistogramParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetHistogramParameteriv)(GLenum target, GLenum pname, GLint * params) { DISPATCH(GetHistogramParameteriv, (target, pname, params), (F, "glGetHistogramParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_363)(GLenum target, GLenum pname, GLint * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_363)(GLenum target, GLenum pname, GLint * params) +{ + DISPATCH(GetHistogramParameteriv, (target, pname, params), (F, "glGetHistogramParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) { DISPATCH(GetMinmax, (target, reset, format, type, values), (F, "glGetMinmax(0x%x, %d, 0x%x, 0x%x, %p);\n", target, reset, format, type, (const void *) values)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_364)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_364)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) +{ + DISPATCH(GetMinmax, (target, reset, format, type, values), (F, "glGetMinmaxEXT(0x%x, %d, 0x%x, 0x%x, %p);\n", target, reset, format, type, (const void *) values)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat * params) { DISPATCH(GetMinmaxParameterfv, (target, pname, params), (F, "glGetMinmaxParameterfv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_365)(GLenum target, GLenum pname, GLfloat * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_365)(GLenum target, GLenum pname, GLfloat * params) +{ + DISPATCH(GetMinmaxParameterfv, (target, pname, params), (F, "glGetMinmaxParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(GetMinmaxParameteriv)(GLenum target, GLenum pname, GLint * params) { DISPATCH(GetMinmaxParameteriv, (target, pname, params), (F, "glGetMinmaxParameteriv(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +#ifndef GLX_INDIRECT_RENDERING +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_366)(GLenum target, GLenum pname, GLint * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_366)(GLenum target, GLenum pname, GLint * params) +{ + DISPATCH(GetMinmaxParameteriv, (target, pname, params), (F, "glGetMinmaxParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); +} +#endif /* GLX_INDIRECT_RENDERING */ + KEYWORD1 void KEYWORD2 NAME(Histogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { DISPATCH(Histogram, (target, width, internalformat, sink), (F, "glHistogram(0x%x, %d, 0x%x, %d);\n", target, width, internalformat, sink)); @@ -2518,6 +2679,71 @@ KEYWORD1 void KEYWORD2 NAME(MultiTexCoord4svARB)(GLenum target, const GLshort * DISPATCH(MultiTexCoord4svARB, (target, v), (F, "glMultiTexCoord4svARB(0x%x, %p);\n", target, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(AttachShader)(GLuint program, GLuint shader) +{ + DISPATCH(AttachShader, (program, shader), (F, "glAttachShader(%d, %d);\n", program, shader)); +} + +KEYWORD1 GLuint KEYWORD2 NAME(CreateProgram)(void) +{ + RETURN_DISPATCH(CreateProgram, (), (F, "glCreateProgram();\n")); +} + +KEYWORD1 GLuint KEYWORD2 NAME(CreateShader)(GLenum type) +{ + RETURN_DISPATCH(CreateShader, (type), (F, "glCreateShader(0x%x);\n", type)); +} + +KEYWORD1 void KEYWORD2 NAME(DeleteProgram)(GLuint program) +{ + DISPATCH(DeleteProgram, (program), (F, "glDeleteProgram(%d);\n", program)); +} + +KEYWORD1 void KEYWORD2 NAME(DeleteShader)(GLuint program) +{ + DISPATCH(DeleteShader, (program), (F, "glDeleteShader(%d);\n", program)); +} + +KEYWORD1 void KEYWORD2 NAME(DetachShader)(GLuint program, GLuint shader) +{ + DISPATCH(DetachShader, (program, shader), (F, "glDetachShader(%d, %d);\n", program, shader)); +} + +KEYWORD1 void KEYWORD2 NAME(GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * obj) +{ + DISPATCH(GetAttachedShaders, (program, maxCount, count, obj), (F, "glGetAttachedShaders(%d, %d, %p, %p);\n", program, maxCount, (const void *) count, (const void *) obj)); +} + +KEYWORD1 void KEYWORD2 NAME(GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog) +{ + DISPATCH(GetProgramInfoLog, (program, bufSize, length, infoLog), (F, "glGetProgramInfoLog(%d, %d, %p, %p);\n", program, bufSize, (const void *) length, (const void *) infoLog)); +} + +KEYWORD1 void KEYWORD2 NAME(GetProgramiv)(GLuint program, GLenum pname, GLint * params) +{ + DISPATCH(GetProgramiv, (program, pname, params), (F, "glGetProgramiv(%d, 0x%x, %p);\n", program, pname, (const void *) params)); +} + +KEYWORD1 void KEYWORD2 NAME(GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog) +{ + DISPATCH(GetShaderInfoLog, (shader, bufSize, length, infoLog), (F, "glGetShaderInfoLog(%d, %d, %p, %p);\n", shader, bufSize, (const void *) length, (const void *) infoLog)); +} + +KEYWORD1 void KEYWORD2 NAME(GetShaderiv)(GLuint shader, GLenum pname, GLint * params) +{ + DISPATCH(GetShaderiv, (shader, pname, params), (F, "glGetShaderiv(%d, 0x%x, %p);\n", shader, pname, (const void *) params)); +} + +KEYWORD1 GLboolean KEYWORD2 NAME(IsProgram)(GLuint program) +{ + RETURN_DISPATCH(IsProgram, (program), (F, "glIsProgram(%d);\n", program)); +} + +KEYWORD1 GLboolean KEYWORD2 NAME(IsShader)(GLuint shader) +{ + RETURN_DISPATCH(IsShader, (shader), (F, "glIsShader(%d);\n", shader)); +} + KEYWORD1 void KEYWORD2 NAME(StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask) { DISPATCH(StencilFuncSeparate, (face, func, ref, mask), (F, "glStencilFuncSeparate(0x%x, 0x%x, %d, %d);\n", face, func, ref, mask)); @@ -2528,9 +2754,46 @@ KEYWORD1 void KEYWORD2 NAME(StencilMaskSeparate)(GLenum face, GLuint mask) DISPATCH(StencilMaskSeparate, (face, mask), (F, "glStencilMaskSeparate(0x%x, %d);\n", face, mask)); } -KEYWORD1 void KEYWORD2 NAME(StencilOpSeparate)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) +KEYWORD1 void KEYWORD2 NAME(StencilOpSeparate)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass) +{ + DISPATCH(StencilOpSeparate, (face, sfail, zfail, zpass), (F, "glStencilOpSeparate(0x%x, 0x%x, 0x%x, 0x%x);\n", face, sfail, zfail, zpass)); +} + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_423)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_423)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass) +{ + DISPATCH(StencilOpSeparate, (face, sfail, zfail, zpass), (F, "glStencilOpSeparateATI(0x%x, 0x%x, 0x%x, 0x%x);\n", face, sfail, zfail, zpass)); +} + +KEYWORD1 void KEYWORD2 NAME(UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +{ + DISPATCH(UniformMatrix2x3fv, (location, count, transpose, value), (F, "glUniformMatrix2x3fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +{ + DISPATCH(UniformMatrix2x4fv, (location, count, transpose, value), (F, "glUniformMatrix2x4fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +{ + DISPATCH(UniformMatrix3x2fv, (location, count, transpose, value), (F, "glUniformMatrix3x2fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +{ + DISPATCH(UniformMatrix3x4fv, (location, count, transpose, value), (F, "glUniformMatrix3x4fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +{ + DISPATCH(UniformMatrix4x2fv, (location, count, transpose, value), (F, "glUniformMatrix4x2fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { - DISPATCH(StencilOpSeparate, (face, fail, zfail, zpass), (F, "glStencilOpSeparate(0x%x, 0x%x, 0x%x, 0x%x);\n", face, fail, zfail, zpass)); + DISPATCH(UniformMatrix4x3fv, (location, count, transpose, value), (F, "glUniformMatrix4x3fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); } KEYWORD1 void KEYWORD2 NAME(LoadTransposeMatrixd)(const GLdouble * m) @@ -2653,11 +2916,21 @@ KEYWORD1 void KEYWORD2 NAME(GetCompressedTexImageARB)(GLenum target, GLint level DISPATCH(GetCompressedTexImageARB, (target, level, img), (F, "glGetCompressedTexImageARB(0x%x, %d, %p);\n", target, level, (const void *) img)); } +KEYWORD1 void KEYWORD2 NAME(DisableVertexAttribArray)(GLuint index) +{ + DISPATCH(DisableVertexAttribArrayARB, (index), (F, "glDisableVertexAttribArray(%d);\n", index)); +} + KEYWORD1 void KEYWORD2 NAME(DisableVertexAttribArrayARB)(GLuint index) { DISPATCH(DisableVertexAttribArrayARB, (index), (F, "glDisableVertexAttribArrayARB(%d);\n", index)); } +KEYWORD1 void KEYWORD2 NAME(EnableVertexAttribArray)(GLuint index) +{ + DISPATCH(EnableVertexAttribArrayARB, (index), (F, "glEnableVertexAttribArray(%d);\n", index)); +} + KEYWORD1 void KEYWORD2 NAME(EnableVertexAttribArrayARB)(GLuint index) { DISPATCH(EnableVertexAttribArrayARB, (index), (F, "glEnableVertexAttribArrayARB(%d);\n", index)); @@ -2693,16 +2966,31 @@ KEYWORD1 void KEYWORD2 NAME(GetProgramivARB)(GLenum target, GLenum pname, GLint DISPATCH(GetProgramivARB, (target, pname, params), (F, "glGetProgramivARB(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } +KEYWORD1 void KEYWORD2 NAME(GetVertexAttribdv)(GLuint index, GLenum pname, GLdouble * params) +{ + DISPATCH(GetVertexAttribdvARB, (index, pname, params), (F, "glGetVertexAttribdv(%d, 0x%x, %p);\n", index, pname, (const void *) params)); +} + KEYWORD1 void KEYWORD2 NAME(GetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble * params) { DISPATCH(GetVertexAttribdvARB, (index, pname, params), (F, "glGetVertexAttribdvARB(%d, 0x%x, %p);\n", index, pname, (const void *) params)); } +KEYWORD1 void KEYWORD2 NAME(GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat * params) +{ + DISPATCH(GetVertexAttribfvARB, (index, pname, params), (F, "glGetVertexAttribfv(%d, 0x%x, %p);\n", index, pname, (const void *) params)); +} + KEYWORD1 void KEYWORD2 NAME(GetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat * params) { DISPATCH(GetVertexAttribfvARB, (index, pname, params), (F, "glGetVertexAttribfvARB(%d, 0x%x, %p);\n", index, pname, (const void *) params)); } +KEYWORD1 void KEYWORD2 NAME(GetVertexAttribiv)(GLuint index, GLenum pname, GLint * params) +{ + DISPATCH(GetVertexAttribivARB, (index, pname, params), (F, "glGetVertexAttribiv(%d, 0x%x, %p);\n", index, pname, (const void *) params)); +} + KEYWORD1 void KEYWORD2 NAME(GetVertexAttribivARB)(GLuint index, GLenum pname, GLint * params) { DISPATCH(GetVertexAttribivARB, (index, pname, params), (F, "glGetVertexAttribivARB(%d, 0x%x, %p);\n", index, pname, (const void *) params)); @@ -2753,186 +3041,371 @@ KEYWORD1 void KEYWORD2 NAME(ProgramStringARB)(GLenum target, GLenum format, GLsi DISPATCH(ProgramStringARB, (target, format, len, string), (F, "glProgramStringARB(0x%x, 0x%x, %d, %p);\n", target, format, len, (const void *) string)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib1d)(GLuint index, GLdouble x) +{ + DISPATCH(VertexAttrib1dARB, (index, x), (F, "glVertexAttrib1d(%d, %f);\n", index, x)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib1dARB)(GLuint index, GLdouble x) { DISPATCH(VertexAttrib1dARB, (index, x), (F, "glVertexAttrib1dARB(%d, %f);\n", index, x)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib1dv)(GLuint index, const GLdouble * v) +{ + DISPATCH(VertexAttrib1dvARB, (index, v), (F, "glVertexAttrib1dv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib1dvARB)(GLuint index, const GLdouble * v) { DISPATCH(VertexAttrib1dvARB, (index, v), (F, "glVertexAttrib1dvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib1f)(GLuint index, GLfloat x) +{ + DISPATCH(VertexAttrib1fARB, (index, x), (F, "glVertexAttrib1f(%d, %f);\n", index, x)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib1fARB)(GLuint index, GLfloat x) { DISPATCH(VertexAttrib1fARB, (index, x), (F, "glVertexAttrib1fARB(%d, %f);\n", index, x)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib1fv)(GLuint index, const GLfloat * v) +{ + DISPATCH(VertexAttrib1fvARB, (index, v), (F, "glVertexAttrib1fv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib1fvARB)(GLuint index, const GLfloat * v) { DISPATCH(VertexAttrib1fvARB, (index, v), (F, "glVertexAttrib1fvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib1s)(GLuint index, GLshort x) +{ + DISPATCH(VertexAttrib1sARB, (index, x), (F, "glVertexAttrib1s(%d, %d);\n", index, x)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib1sARB)(GLuint index, GLshort x) { DISPATCH(VertexAttrib1sARB, (index, x), (F, "glVertexAttrib1sARB(%d, %d);\n", index, x)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib1sv)(GLuint index, const GLshort * v) +{ + DISPATCH(VertexAttrib1svARB, (index, v), (F, "glVertexAttrib1sv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib1svARB)(GLuint index, const GLshort * v) { DISPATCH(VertexAttrib1svARB, (index, v), (F, "glVertexAttrib1svARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib2d)(GLuint index, GLdouble x, GLdouble y) +{ + DISPATCH(VertexAttrib2dARB, (index, x, y), (F, "glVertexAttrib2d(%d, %f, %f);\n", index, x, y)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y) { DISPATCH(VertexAttrib2dARB, (index, x, y), (F, "glVertexAttrib2dARB(%d, %f, %f);\n", index, x, y)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib2dv)(GLuint index, const GLdouble * v) +{ + DISPATCH(VertexAttrib2dvARB, (index, v), (F, "glVertexAttrib2dv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib2dvARB)(GLuint index, const GLdouble * v) { DISPATCH(VertexAttrib2dvARB, (index, v), (F, "glVertexAttrib2dvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib2f)(GLuint index, GLfloat x, GLfloat y) +{ + DISPATCH(VertexAttrib2fARB, (index, x, y), (F, "glVertexAttrib2f(%d, %f, %f);\n", index, x, y)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y) { DISPATCH(VertexAttrib2fARB, (index, x, y), (F, "glVertexAttrib2fARB(%d, %f, %f);\n", index, x, y)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib2fv)(GLuint index, const GLfloat * v) +{ + DISPATCH(VertexAttrib2fvARB, (index, v), (F, "glVertexAttrib2fv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib2fvARB)(GLuint index, const GLfloat * v) { DISPATCH(VertexAttrib2fvARB, (index, v), (F, "glVertexAttrib2fvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib2s)(GLuint index, GLshort x, GLshort y) +{ + DISPATCH(VertexAttrib2sARB, (index, x, y), (F, "glVertexAttrib2s(%d, %d, %d);\n", index, x, y)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib2sARB)(GLuint index, GLshort x, GLshort y) { DISPATCH(VertexAttrib2sARB, (index, x, y), (F, "glVertexAttrib2sARB(%d, %d, %d);\n", index, x, y)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib2sv)(GLuint index, const GLshort * v) +{ + DISPATCH(VertexAttrib2svARB, (index, v), (F, "glVertexAttrib2sv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib2svARB)(GLuint index, const GLshort * v) { DISPATCH(VertexAttrib2svARB, (index, v), (F, "glVertexAttrib2svARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z) +{ + DISPATCH(VertexAttrib3dARB, (index, x, y, z), (F, "glVertexAttrib3d(%d, %f, %f, %f);\n", index, x, y, z)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z) { DISPATCH(VertexAttrib3dARB, (index, x, y, z), (F, "glVertexAttrib3dARB(%d, %f, %f, %f);\n", index, x, y, z)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib3dv)(GLuint index, const GLdouble * v) +{ + DISPATCH(VertexAttrib3dvARB, (index, v), (F, "glVertexAttrib3dv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib3dvARB)(GLuint index, const GLdouble * v) { DISPATCH(VertexAttrib3dvARB, (index, v), (F, "glVertexAttrib3dvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z) +{ + DISPATCH(VertexAttrib3fARB, (index, x, y, z), (F, "glVertexAttrib3f(%d, %f, %f, %f);\n", index, x, y, z)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z) { DISPATCH(VertexAttrib3fARB, (index, x, y, z), (F, "glVertexAttrib3fARB(%d, %f, %f, %f);\n", index, x, y, z)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib3fv)(GLuint index, const GLfloat * v) +{ + DISPATCH(VertexAttrib3fvARB, (index, v), (F, "glVertexAttrib3fv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib3fvARB)(GLuint index, const GLfloat * v) { DISPATCH(VertexAttrib3fvARB, (index, v), (F, "glVertexAttrib3fvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z) +{ + DISPATCH(VertexAttrib3sARB, (index, x, y, z), (F, "glVertexAttrib3s(%d, %d, %d, %d);\n", index, x, y, z)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z) { DISPATCH(VertexAttrib3sARB, (index, x, y, z), (F, "glVertexAttrib3sARB(%d, %d, %d, %d);\n", index, x, y, z)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib3sv)(GLuint index, const GLshort * v) +{ + DISPATCH(VertexAttrib3svARB, (index, v), (F, "glVertexAttrib3sv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib3svARB)(GLuint index, const GLshort * v) { DISPATCH(VertexAttrib3svARB, (index, v), (F, "glVertexAttrib3svARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4Nbv)(GLuint index, const GLbyte * v) +{ + DISPATCH(VertexAttrib4NbvARB, (index, v), (F, "glVertexAttrib4Nbv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4NbvARB)(GLuint index, const GLbyte * v) { DISPATCH(VertexAttrib4NbvARB, (index, v), (F, "glVertexAttrib4NbvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4Niv)(GLuint index, const GLint * v) +{ + DISPATCH(VertexAttrib4NivARB, (index, v), (F, "glVertexAttrib4Niv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4NivARB)(GLuint index, const GLint * v) { DISPATCH(VertexAttrib4NivARB, (index, v), (F, "glVertexAttrib4NivARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4Nsv)(GLuint index, const GLshort * v) +{ + DISPATCH(VertexAttrib4NsvARB, (index, v), (F, "glVertexAttrib4Nsv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4NsvARB)(GLuint index, const GLshort * v) { DISPATCH(VertexAttrib4NsvARB, (index, v), (F, "glVertexAttrib4NsvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) +{ + DISPATCH(VertexAttrib4NubARB, (index, x, y, z, w), (F, "glVertexAttrib4Nub(%d, %d, %d, %d, %d);\n", index, x, y, z, w)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { DISPATCH(VertexAttrib4NubARB, (index, x, y, z, w), (F, "glVertexAttrib4NubARB(%d, %d, %d, %d, %d);\n", index, x, y, z, w)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4Nubv)(GLuint index, const GLubyte * v) +{ + DISPATCH(VertexAttrib4NubvARB, (index, v), (F, "glVertexAttrib4Nubv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4NubvARB)(GLuint index, const GLubyte * v) { DISPATCH(VertexAttrib4NubvARB, (index, v), (F, "glVertexAttrib4NubvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4Nuiv)(GLuint index, const GLuint * v) +{ + DISPATCH(VertexAttrib4NuivARB, (index, v), (F, "glVertexAttrib4Nuiv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4NuivARB)(GLuint index, const GLuint * v) { DISPATCH(VertexAttrib4NuivARB, (index, v), (F, "glVertexAttrib4NuivARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4Nusv)(GLuint index, const GLushort * v) +{ + DISPATCH(VertexAttrib4NusvARB, (index, v), (F, "glVertexAttrib4Nusv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4NusvARB)(GLuint index, const GLushort * v) { DISPATCH(VertexAttrib4NusvARB, (index, v), (F, "glVertexAttrib4NusvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4bv)(GLuint index, const GLbyte * v) +{ + DISPATCH(VertexAttrib4bvARB, (index, v), (F, "glVertexAttrib4bv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4bvARB)(GLuint index, const GLbyte * v) { DISPATCH(VertexAttrib4bvARB, (index, v), (F, "glVertexAttrib4bvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) +{ + DISPATCH(VertexAttrib4dARB, (index, x, y, z, w), (F, "glVertexAttrib4d(%d, %f, %f, %f, %f);\n", index, x, y, z, w)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { DISPATCH(VertexAttrib4dARB, (index, x, y, z, w), (F, "glVertexAttrib4dARB(%d, %f, %f, %f, %f);\n", index, x, y, z, w)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4dv)(GLuint index, const GLdouble * v) +{ + DISPATCH(VertexAttrib4dvARB, (index, v), (F, "glVertexAttrib4dv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4dvARB)(GLuint index, const GLdouble * v) { DISPATCH(VertexAttrib4dvARB, (index, v), (F, "glVertexAttrib4dvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) +{ + DISPATCH(VertexAttrib4fARB, (index, x, y, z, w), (F, "glVertexAttrib4f(%d, %f, %f, %f, %f);\n", index, x, y, z, w)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { DISPATCH(VertexAttrib4fARB, (index, x, y, z, w), (F, "glVertexAttrib4fARB(%d, %f, %f, %f, %f);\n", index, x, y, z, w)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4fv)(GLuint index, const GLfloat * v) +{ + DISPATCH(VertexAttrib4fvARB, (index, v), (F, "glVertexAttrib4fv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4fvARB)(GLuint index, const GLfloat * v) { DISPATCH(VertexAttrib4fvARB, (index, v), (F, "glVertexAttrib4fvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4iv)(GLuint index, const GLint * v) +{ + DISPATCH(VertexAttrib4ivARB, (index, v), (F, "glVertexAttrib4iv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4ivARB)(GLuint index, const GLint * v) { DISPATCH(VertexAttrib4ivARB, (index, v), (F, "glVertexAttrib4ivARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) +{ + DISPATCH(VertexAttrib4sARB, (index, x, y, z, w), (F, "glVertexAttrib4s(%d, %d, %d, %d, %d);\n", index, x, y, z, w)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { DISPATCH(VertexAttrib4sARB, (index, x, y, z, w), (F, "glVertexAttrib4sARB(%d, %d, %d, %d, %d);\n", index, x, y, z, w)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4sv)(GLuint index, const GLshort * v) +{ + DISPATCH(VertexAttrib4svARB, (index, v), (F, "glVertexAttrib4sv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4svARB)(GLuint index, const GLshort * v) { DISPATCH(VertexAttrib4svARB, (index, v), (F, "glVertexAttrib4svARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4ubv)(GLuint index, const GLubyte * v) +{ + DISPATCH(VertexAttrib4ubvARB, (index, v), (F, "glVertexAttrib4ubv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4ubvARB)(GLuint index, const GLubyte * v) { DISPATCH(VertexAttrib4ubvARB, (index, v), (F, "glVertexAttrib4ubvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4uiv)(GLuint index, const GLuint * v) +{ + DISPATCH(VertexAttrib4uivARB, (index, v), (F, "glVertexAttrib4uiv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4uivARB)(GLuint index, const GLuint * v) { DISPATCH(VertexAttrib4uivARB, (index, v), (F, "glVertexAttrib4uivARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttrib4usv)(GLuint index, const GLushort * v) +{ + DISPATCH(VertexAttrib4usvARB, (index, v), (F, "glVertexAttrib4usv(%d, %p);\n", index, (const void *) v)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttrib4usvARB)(GLuint index, const GLushort * v) { DISPATCH(VertexAttrib4usvARB, (index, v), (F, "glVertexAttrib4usvARB(%d, %p);\n", index, (const void *) v)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer) +{ + DISPATCH(VertexAttribPointerARB, (index, size, type, normalized, stride, pointer), (F, "glVertexAttribPointer(%d, %d, 0x%x, %d, %d, %p);\n", index, size, type, normalized, stride, (const void *) pointer)); +} + KEYWORD1 void KEYWORD2 NAME(VertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer) { DISPATCH(VertexAttribPointerARB, (index, size, type, normalized, stride, pointer), (F, "glVertexAttribPointerARB(%d, %d, 0x%x, %d, %d, %p);\n", index, size, type, normalized, stride, (const void *) pointer)); @@ -3133,9 +3606,14 @@ KEYWORD1 void KEYWORD2 NAME(AttachObjectARB)(GLhandleARB containerObj, GLhandleA DISPATCH(AttachObjectARB, (containerObj, obj), (F, "glAttachObjectARB(%d, %d);\n", containerObj, obj)); } -KEYWORD1 void KEYWORD2 NAME(CompileShaderARB)(GLhandleARB shaderObj) +KEYWORD1 void KEYWORD2 NAME(CompileShader)(GLuint shader) +{ + DISPATCH(CompileShaderARB, (shader), (F, "glCompileShader(%d);\n", shader)); +} + +KEYWORD1 void KEYWORD2 NAME(CompileShaderARB)(GLhandleARB shader) { - DISPATCH(CompileShaderARB, (shaderObj), (F, "glCompileShaderARB(%d);\n", shaderObj)); + DISPATCH(CompileShaderARB, (shader), (F, "glCompileShaderARB(%d);\n", shader)); } KEYWORD1 GLhandleARB KEYWORD2 NAME(CreateProgramObjectARB)(void) @@ -3158,9 +3636,14 @@ KEYWORD1 void KEYWORD2 NAME(DetachObjectARB)(GLhandleARB containerObj, GLhandleA DISPATCH(DetachObjectARB, (containerObj, attachedObj), (F, "glDetachObjectARB(%d, %d);\n", containerObj, attachedObj)); } -KEYWORD1 void KEYWORD2 NAME(GetActiveUniformARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name) +KEYWORD1 void KEYWORD2 NAME(GetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) +{ + DISPATCH(GetActiveUniformARB, (program, index, bufSize, length, size, type, name), (F, "glGetActiveUniform(%d, %d, %d, %p, %p, %p, %p);\n", program, index, bufSize, (const void *) length, (const void *) size, (const void *) type, (const void *) name)); +} + +KEYWORD1 void KEYWORD2 NAME(GetActiveUniformARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name) { - DISPATCH(GetActiveUniformARB, (programObj, index, maxLength, length, size, type, name), (F, "glGetActiveUniformARB(%d, %d, %d, %p, %p, %p, %p);\n", programObj, index, maxLength, (const void *) length, (const void *) size, (const void *) type, (const void *) name)); + DISPATCH(GetActiveUniformARB, (program, index, bufSize, length, size, type, name), (F, "glGetActiveUniformARB(%d, %d, %d, %p, %p, %p, %p);\n", program, index, bufSize, (const void *) length, (const void *) size, (const void *) type, (const void *) name)); } KEYWORD1 void KEYWORD2 NAME(GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei * length, GLhandleARB * infoLog) @@ -3188,34 +3671,69 @@ KEYWORD1 void KEYWORD2 NAME(GetObjectParameterivARB)(GLhandleARB obj, GLenum pna DISPATCH(GetObjectParameterivARB, (obj, pname, params), (F, "glGetObjectParameterivARB(%d, 0x%x, %p);\n", obj, pname, (const void *) params)); } -KEYWORD1 void KEYWORD2 NAME(GetShaderSourceARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * source) +KEYWORD1 void KEYWORD2 NAME(GetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source) +{ + DISPATCH(GetShaderSourceARB, (shader, bufSize, length, source), (F, "glGetShaderSource(%d, %d, %p, %p);\n", shader, bufSize, (const void *) length, (const void *) source)); +} + +KEYWORD1 void KEYWORD2 NAME(GetShaderSourceARB)(GLhandleARB shader, GLsizei bufSize, GLsizei * length, GLcharARB * source) { - DISPATCH(GetShaderSourceARB, (obj, maxLength, length, source), (F, "glGetShaderSourceARB(%d, %d, %p, %p);\n", obj, maxLength, (const void *) length, (const void *) source)); + DISPATCH(GetShaderSourceARB, (shader, bufSize, length, source), (F, "glGetShaderSourceARB(%d, %d, %p, %p);\n", shader, bufSize, (const void *) length, (const void *) source)); } -KEYWORD1 GLint KEYWORD2 NAME(GetUniformLocationARB)(GLhandleARB programObj, const GLcharARB * name) +KEYWORD1 GLint KEYWORD2 NAME(GetUniformLocation)(GLuint program, const GLchar * name) { - RETURN_DISPATCH(GetUniformLocationARB, (programObj, name), (F, "glGetUniformLocationARB(%d, %p);\n", programObj, (const void *) name)); + RETURN_DISPATCH(GetUniformLocationARB, (program, name), (F, "glGetUniformLocation(%d, %p);\n", program, (const void *) name)); } -KEYWORD1 void KEYWORD2 NAME(GetUniformfvARB)(GLhandleARB programObj, GLint location, GLfloat * params) +KEYWORD1 GLint KEYWORD2 NAME(GetUniformLocationARB)(GLhandleARB program, const GLcharARB * name) { - DISPATCH(GetUniformfvARB, (programObj, location, params), (F, "glGetUniformfvARB(%d, %d, %p);\n", programObj, location, (const void *) params)); + RETURN_DISPATCH(GetUniformLocationARB, (program, name), (F, "glGetUniformLocationARB(%d, %p);\n", program, (const void *) name)); } -KEYWORD1 void KEYWORD2 NAME(GetUniformivARB)(GLhandleARB programObj, GLint location, GLint * params) +KEYWORD1 void KEYWORD2 NAME(GetUniformfv)(GLuint program, GLint location, GLfloat * params) { - DISPATCH(GetUniformivARB, (programObj, location, params), (F, "glGetUniformivARB(%d, %d, %p);\n", programObj, location, (const void *) params)); + DISPATCH(GetUniformfvARB, (program, location, params), (F, "glGetUniformfv(%d, %d, %p);\n", program, location, (const void *) params)); } -KEYWORD1 void KEYWORD2 NAME(LinkProgramARB)(GLhandleARB programObj) +KEYWORD1 void KEYWORD2 NAME(GetUniformfvARB)(GLhandleARB program, GLint location, GLfloat * params) { - DISPATCH(LinkProgramARB, (programObj), (F, "glLinkProgramARB(%d);\n", programObj)); + DISPATCH(GetUniformfvARB, (program, location, params), (F, "glGetUniformfvARB(%d, %d, %p);\n", program, location, (const void *) params)); } -KEYWORD1 void KEYWORD2 NAME(ShaderSourceARB)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint * length) +KEYWORD1 void KEYWORD2 NAME(GetUniformiv)(GLuint program, GLint location, GLint * params) { - DISPATCH(ShaderSourceARB, (shaderObj, count, string, length), (F, "glShaderSourceARB(%d, %d, %p, %p);\n", shaderObj, count, (const void *) string, (const void *) length)); + DISPATCH(GetUniformivARB, (program, location, params), (F, "glGetUniformiv(%d, %d, %p);\n", program, location, (const void *) params)); +} + +KEYWORD1 void KEYWORD2 NAME(GetUniformivARB)(GLhandleARB program, GLint location, GLint * params) +{ + DISPATCH(GetUniformivARB, (program, location, params), (F, "glGetUniformivARB(%d, %d, %p);\n", program, location, (const void *) params)); +} + +KEYWORD1 void KEYWORD2 NAME(LinkProgram)(GLuint program) +{ + DISPATCH(LinkProgramARB, (program), (F, "glLinkProgram(%d);\n", program)); +} + +KEYWORD1 void KEYWORD2 NAME(LinkProgramARB)(GLhandleARB program) +{ + DISPATCH(LinkProgramARB, (program), (F, "glLinkProgramARB(%d);\n", program)); +} + +KEYWORD1 void KEYWORD2 NAME(ShaderSource)(GLuint shader, GLsizei count, const GLchar ** string, const GLint * length) +{ + DISPATCH(ShaderSourceARB, (shader, count, string, length), (F, "glShaderSource(%d, %d, %p, %p);\n", shader, count, (const void *) string, (const void *) length)); +} + +KEYWORD1 void KEYWORD2 NAME(ShaderSourceARB)(GLhandleARB shader, GLsizei count, const GLcharARB ** string, const GLint * length) +{ + DISPATCH(ShaderSourceARB, (shader, count, string, length), (F, "glShaderSourceARB(%d, %d, %p, %p);\n", shader, count, (const void *) string, (const void *) length)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform1f)(GLint location, GLfloat v0) +{ + DISPATCH(Uniform1fARB, (location, v0), (F, "glUniform1f(%d, %f);\n", location, v0)); } KEYWORD1 void KEYWORD2 NAME(Uniform1fARB)(GLint location, GLfloat v0) @@ -3223,314 +3741,308 @@ KEYWORD1 void KEYWORD2 NAME(Uniform1fARB)(GLint location, GLfloat v0) DISPATCH(Uniform1fARB, (location, v0), (F, "glUniform1fARB(%d, %f);\n", location, v0)); } +KEYWORD1 void KEYWORD2 NAME(Uniform1fv)(GLint location, GLsizei count, const GLfloat * value) +{ + DISPATCH(Uniform1fvARB, (location, count, value), (F, "glUniform1fv(%d, %d, %p);\n", location, count, (const void *) value)); +} + KEYWORD1 void KEYWORD2 NAME(Uniform1fvARB)(GLint location, GLsizei count, const GLfloat * value) { DISPATCH(Uniform1fvARB, (location, count, value), (F, "glUniform1fvARB(%d, %d, %p);\n", location, count, (const void *) value)); } +KEYWORD1 void KEYWORD2 NAME(Uniform1i)(GLint location, GLint v0) +{ + DISPATCH(Uniform1iARB, (location, v0), (F, "glUniform1i(%d, %d);\n", location, v0)); +} + KEYWORD1 void KEYWORD2 NAME(Uniform1iARB)(GLint location, GLint v0) { DISPATCH(Uniform1iARB, (location, v0), (F, "glUniform1iARB(%d, %d);\n", location, v0)); } +KEYWORD1 void KEYWORD2 NAME(Uniform1iv)(GLint location, GLsizei count, const GLint * value) +{ + DISPATCH(Uniform1ivARB, (location, count, value), (F, "glUniform1iv(%d, %d, %p);\n", location, count, (const void *) value)); +} + KEYWORD1 void KEYWORD2 NAME(Uniform1ivARB)(GLint location, GLsizei count, const GLint * value) { DISPATCH(Uniform1ivARB, (location, count, value), (F, "glUniform1ivARB(%d, %d, %p);\n", location, count, (const void *) value)); } +KEYWORD1 void KEYWORD2 NAME(Uniform2f)(GLint location, GLfloat v0, GLfloat v1) +{ + DISPATCH(Uniform2fARB, (location, v0, v1), (F, "glUniform2f(%d, %f, %f);\n", location, v0, v1)); +} + KEYWORD1 void KEYWORD2 NAME(Uniform2fARB)(GLint location, GLfloat v0, GLfloat v1) { DISPATCH(Uniform2fARB, (location, v0, v1), (F, "glUniform2fARB(%d, %f, %f);\n", location, v0, v1)); } +KEYWORD1 void KEYWORD2 NAME(Uniform2fv)(GLint location, GLsizei count, const GLfloat * value) +{ + DISPATCH(Uniform2fvARB, (location, count, value), (F, "glUniform2fv(%d, %d, %p);\n", location, count, (const void *) value)); +} + KEYWORD1 void KEYWORD2 NAME(Uniform2fvARB)(GLint location, GLsizei count, const GLfloat * value) { DISPATCH(Uniform2fvARB, (location, count, value), (F, "glUniform2fvARB(%d, %d, %p);\n", location, count, (const void *) value)); } +KEYWORD1 void KEYWORD2 NAME(Uniform2i)(GLint location, GLint v0, GLint v1) +{ + DISPATCH(Uniform2iARB, (location, v0, v1), (F, "glUniform2i(%d, %d, %d);\n", location, v0, v1)); +} + KEYWORD1 void KEYWORD2 NAME(Uniform2iARB)(GLint location, GLint v0, GLint v1) { DISPATCH(Uniform2iARB, (location, v0, v1), (F, "glUniform2iARB(%d, %d, %d);\n", location, v0, v1)); } +KEYWORD1 void KEYWORD2 NAME(Uniform2iv)(GLint location, GLsizei count, const GLint * value) +{ + DISPATCH(Uniform2ivARB, (location, count, value), (F, "glUniform2iv(%d, %d, %p);\n", location, count, (const void *) value)); +} + KEYWORD1 void KEYWORD2 NAME(Uniform2ivARB)(GLint location, GLsizei count, const GLint * value) { DISPATCH(Uniform2ivARB, (location, count, value), (F, "glUniform2ivARB(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) +KEYWORD1 void KEYWORD2 NAME(Uniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - DISPATCH(Uniform3fARB, (location, v0, v1, v2), (F, "glUniform3fARB(%d, %f, %f, %f);\n", location, v0, v1, v2)); + DISPATCH(Uniform3fARB, (location, v0, v1, v2), (F, "glUniform3f(%d, %f, %f, %f);\n", location, v0, v1, v2)); } -KEYWORD1 void KEYWORD2 NAME(Uniform3fvARB)(GLint location, GLsizei count, const GLfloat * value) +KEYWORD1 void KEYWORD2 NAME(Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - DISPATCH(Uniform3fvARB, (location, count, value), (F, "glUniform3fvARB(%d, %d, %p);\n", location, count, (const void *) value)); + DISPATCH(Uniform3fARB, (location, v0, v1, v2), (F, "glUniform3fARB(%d, %f, %f, %f);\n", location, v0, v1, v2)); } -KEYWORD1 void KEYWORD2 NAME(Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2) +KEYWORD1 void KEYWORD2 NAME(Uniform3fv)(GLint location, GLsizei count, const GLfloat * value) { - DISPATCH(Uniform3iARB, (location, v0, v1, v2), (F, "glUniform3iARB(%d, %d, %d, %d);\n", location, v0, v1, v2)); + DISPATCH(Uniform3fvARB, (location, count, value), (F, "glUniform3fv(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(Uniform3ivARB)(GLint location, GLsizei count, const GLint * value) +KEYWORD1 void KEYWORD2 NAME(Uniform3fvARB)(GLint location, GLsizei count, const GLfloat * value) { - DISPATCH(Uniform3ivARB, (location, count, value), (F, "glUniform3ivARB(%d, %d, %p);\n", location, count, (const void *) value)); + DISPATCH(Uniform3fvARB, (location, count, value), (F, "glUniform3fvARB(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) +KEYWORD1 void KEYWORD2 NAME(Uniform3i)(GLint location, GLint v0, GLint v1, GLint v2) { - DISPATCH(Uniform4fARB, (location, v0, v1, v2, v3), (F, "glUniform4fARB(%d, %f, %f, %f, %f);\n", location, v0, v1, v2, v3)); + DISPATCH(Uniform3iARB, (location, v0, v1, v2), (F, "glUniform3i(%d, %d, %d, %d);\n", location, v0, v1, v2)); } -KEYWORD1 void KEYWORD2 NAME(Uniform4fvARB)(GLint location, GLsizei count, const GLfloat * value) +KEYWORD1 void KEYWORD2 NAME(Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2) { - DISPATCH(Uniform4fvARB, (location, count, value), (F, "glUniform4fvARB(%d, %d, %p);\n", location, count, (const void *) value)); + DISPATCH(Uniform3iARB, (location, v0, v1, v2), (F, "glUniform3iARB(%d, %d, %d, %d);\n", location, v0, v1, v2)); } -KEYWORD1 void KEYWORD2 NAME(Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) +KEYWORD1 void KEYWORD2 NAME(Uniform3iv)(GLint location, GLsizei count, const GLint * value) { - DISPATCH(Uniform4iARB, (location, v0, v1, v2, v3), (F, "glUniform4iARB(%d, %d, %d, %d, %d);\n", location, v0, v1, v2, v3)); + DISPATCH(Uniform3ivARB, (location, count, value), (F, "glUniform3iv(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(Uniform4ivARB)(GLint location, GLsizei count, const GLint * value) +KEYWORD1 void KEYWORD2 NAME(Uniform3ivARB)(GLint location, GLsizei count, const GLint * value) { - DISPATCH(Uniform4ivARB, (location, count, value), (F, "glUniform4ivARB(%d, %d, %p);\n", location, count, (const void *) value)); + DISPATCH(Uniform3ivARB, (location, count, value), (F, "glUniform3ivARB(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +KEYWORD1 void KEYWORD2 NAME(Uniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - DISPATCH(UniformMatrix2fvARB, (location, count, transpose, value), (F, "glUniformMatrix2fvARB(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); + DISPATCH(Uniform4fARB, (location, v0, v1, v2, v3), (F, "glUniform4f(%d, %f, %f, %f, %f);\n", location, v0, v1, v2, v3)); } -KEYWORD1 void KEYWORD2 NAME(UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +KEYWORD1 void KEYWORD2 NAME(Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - DISPATCH(UniformMatrix3fvARB, (location, count, transpose, value), (F, "glUniformMatrix3fvARB(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); + DISPATCH(Uniform4fARB, (location, v0, v1, v2, v3), (F, "glUniform4fARB(%d, %f, %f, %f, %f);\n", location, v0, v1, v2, v3)); } -KEYWORD1 void KEYWORD2 NAME(UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) +KEYWORD1 void KEYWORD2 NAME(Uniform4fv)(GLint location, GLsizei count, const GLfloat * value) { - DISPATCH(UniformMatrix4fvARB, (location, count, transpose, value), (F, "glUniformMatrix4fvARB(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); + DISPATCH(Uniform4fvARB, (location, count, value), (F, "glUniform4fv(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(UseProgramObjectARB)(GLhandleARB programObj) +KEYWORD1 void KEYWORD2 NAME(Uniform4fvARB)(GLint location, GLsizei count, const GLfloat * value) { - DISPATCH(UseProgramObjectARB, (programObj), (F, "glUseProgramObjectARB(%d);\n", programObj)); + DISPATCH(Uniform4fvARB, (location, count, value), (F, "glUniform4fvARB(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(ValidateProgramARB)(GLhandleARB programObj) +KEYWORD1 void KEYWORD2 NAME(Uniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - DISPATCH(ValidateProgramARB, (programObj), (F, "glValidateProgramARB(%d);\n", programObj)); + DISPATCH(Uniform4iARB, (location, v0, v1, v2, v3), (F, "glUniform4i(%d, %d, %d, %d, %d);\n", location, v0, v1, v2, v3)); } -KEYWORD1 void KEYWORD2 NAME(BindAttribLocationARB)(GLhandleARB programObj, GLuint index, const GLcharARB * name) +KEYWORD1 void KEYWORD2 NAME(Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - DISPATCH(BindAttribLocationARB, (programObj, index, name), (F, "glBindAttribLocationARB(%d, %d, %p);\n", programObj, index, (const void *) name)); + DISPATCH(Uniform4iARB, (location, v0, v1, v2, v3), (F, "glUniform4iARB(%d, %d, %d, %d, %d);\n", location, v0, v1, v2, v3)); } -KEYWORD1 void KEYWORD2 NAME(GetActiveAttribARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name) +KEYWORD1 void KEYWORD2 NAME(Uniform4iv)(GLint location, GLsizei count, const GLint * value) { - DISPATCH(GetActiveAttribARB, (programObj, index, maxLength, length, size, type, name), (F, "glGetActiveAttribARB(%d, %d, %d, %p, %p, %p, %p);\n", programObj, index, maxLength, (const void *) length, (const void *) size, (const void *) type, (const void *) name)); + DISPATCH(Uniform4ivARB, (location, count, value), (F, "glUniform4iv(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 GLint KEYWORD2 NAME(GetAttribLocationARB)(GLhandleARB programObj, const GLcharARB * name) +KEYWORD1 void KEYWORD2 NAME(Uniform4ivARB)(GLint location, GLsizei count, const GLint * value) { - RETURN_DISPATCH(GetAttribLocationARB, (programObj, name), (F, "glGetAttribLocationARB(%d, %p);\n", programObj, (const void *) name)); + DISPATCH(Uniform4ivARB, (location, count, value), (F, "glUniform4ivARB(%d, %d, %p);\n", location, count, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(DrawBuffers)(GLsizei n, const GLenum * bufs) +KEYWORD1 void KEYWORD2 NAME(UniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { - DISPATCH(DrawBuffersARB, (n, bufs), (F, "glDrawBuffers(%d, %p);\n", n, (const void *) bufs)); + DISPATCH(UniformMatrix2fvARB, (location, count, transpose, value), (F, "glUniformMatrix2fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(DrawBuffersARB)(GLsizei n, const GLenum * bufs) +KEYWORD1 void KEYWORD2 NAME(UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { - DISPATCH(DrawBuffersARB, (n, bufs), (F, "glDrawBuffersARB(%d, %p);\n", n, (const void *) bufs)); + DISPATCH(UniformMatrix2fvARB, (location, count, transpose, value), (F, "glUniformMatrix2fvARB(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(DrawBuffersATI)(GLsizei n, const GLenum * bufs) +KEYWORD1 void KEYWORD2 NAME(UniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { - DISPATCH(DrawBuffersARB, (n, bufs), (F, "glDrawBuffersATI(%d, %p);\n", n, (const void *) bufs)); + DISPATCH(UniformMatrix3fvARB, (location, count, transpose, value), (F, "glUniformMatrix3fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); } -KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) +KEYWORD1 void KEYWORD2 NAME(UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { - DISPATCH(PolygonOffsetEXT, (factor, bias), (F, "glPolygonOffsetEXT(%f, %f);\n", factor, bias)); + DISPATCH(UniformMatrix3fvARB, (location, count, transpose, value), (F, "glUniformMatrix3fvARB(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_543)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_543)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) +KEYWORD1 void KEYWORD2 NAME(UniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { - DISPATCH(GetHistogramEXT, (target, reset, format, type, values), (F, "glGetHistogramEXT(0x%x, %d, 0x%x, 0x%x, %p);\n", target, reset, format, type, (const void *) values)); + DISPATCH(UniformMatrix4fvARB, (location, count, transpose, value), (F, "glUniformMatrix4fv(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_544)(GLenum target, GLenum pname, GLfloat * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_544)(GLenum target, GLenum pname, GLfloat * params) +KEYWORD1 void KEYWORD2 NAME(UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) { - DISPATCH(GetHistogramParameterfvEXT, (target, pname, params), (F, "glGetHistogramParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + DISPATCH(UniformMatrix4fvARB, (location, count, transpose, value), (F, "glUniformMatrix4fvARB(%d, %d, %d, %p);\n", location, count, transpose, (const void *) value)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_545)(GLenum target, GLenum pname, GLint * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_545)(GLenum target, GLenum pname, GLint * params) +KEYWORD1 void KEYWORD2 NAME(UseProgram)(GLuint program) { - DISPATCH(GetHistogramParameterivEXT, (target, pname, params), (F, "glGetHistogramParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + DISPATCH(UseProgramObjectARB, (program), (F, "glUseProgram(%d);\n", program)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_546)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_546)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values) +KEYWORD1 void KEYWORD2 NAME(UseProgramObjectARB)(GLhandleARB program) { - DISPATCH(GetMinmaxEXT, (target, reset, format, type, values), (F, "glGetMinmaxEXT(0x%x, %d, 0x%x, 0x%x, %p);\n", target, reset, format, type, (const void *) values)); + DISPATCH(UseProgramObjectARB, (program), (F, "glUseProgramObjectARB(%d);\n", program)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_547)(GLenum target, GLenum pname, GLfloat * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_547)(GLenum target, GLenum pname, GLfloat * params) +KEYWORD1 void KEYWORD2 NAME(ValidateProgram)(GLuint program) { - DISPATCH(GetMinmaxParameterfvEXT, (target, pname, params), (F, "glGetMinmaxParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + DISPATCH(ValidateProgramARB, (program), (F, "glValidateProgram(%d);\n", program)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_548)(GLenum target, GLenum pname, GLint * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_548)(GLenum target, GLenum pname, GLint * params) +KEYWORD1 void KEYWORD2 NAME(ValidateProgramARB)(GLhandleARB program) { - DISPATCH(GetMinmaxParameterivEXT, (target, pname, params), (F, "glGetMinmaxParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + DISPATCH(ValidateProgramARB, (program), (F, "glValidateProgramARB(%d);\n", program)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_549)(GLenum target, GLenum format, GLenum type, GLvoid * image); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_549)(GLenum target, GLenum format, GLenum type, GLvoid * image) +KEYWORD1 void KEYWORD2 NAME(BindAttribLocation)(GLuint program, GLuint index, const GLchar * name) { - DISPATCH(GetConvolutionFilterEXT, (target, format, type, image), (F, "glGetConvolutionFilterEXT(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) image)); + DISPATCH(BindAttribLocationARB, (program, index, name), (F, "glBindAttribLocation(%d, %d, %p);\n", program, index, (const void *) name)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_550)(GLenum target, GLenum pname, GLfloat * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_550)(GLenum target, GLenum pname, GLfloat * params) +KEYWORD1 void KEYWORD2 NAME(BindAttribLocationARB)(GLhandleARB program, GLuint index, const GLcharARB * name) { - DISPATCH(GetConvolutionParameterfvEXT, (target, pname, params), (F, "glGetConvolutionParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + DISPATCH(BindAttribLocationARB, (program, index, name), (F, "glBindAttribLocationARB(%d, %d, %p);\n", program, index, (const void *) name)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_551)(GLenum target, GLenum pname, GLint * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_551)(GLenum target, GLenum pname, GLint * params) +KEYWORD1 void KEYWORD2 NAME(GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name) { - DISPATCH(GetConvolutionParameterivEXT, (target, pname, params), (F, "glGetConvolutionParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + DISPATCH(GetActiveAttribARB, (program, index, bufSize, length, size, type, name), (F, "glGetActiveAttrib(%d, %d, %d, %p, %p, %p, %p);\n", program, index, bufSize, (const void *) length, (const void *) size, (const void *) type, (const void *) name)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_552)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_552)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span) +KEYWORD1 void KEYWORD2 NAME(GetActiveAttribARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name) { - DISPATCH(GetSeparableFilterEXT, (target, format, type, row, column, span), (F, "glGetSeparableFilterEXT(0x%x, 0x%x, 0x%x, %p, %p, %p);\n", target, format, type, (const void *) row, (const void *) column, (const void *) span)); + DISPATCH(GetActiveAttribARB, (program, index, bufSize, length, size, type, name), (F, "glGetActiveAttribARB(%d, %d, %d, %p, %p, %p, %p);\n", program, index, bufSize, (const void *) length, (const void *) size, (const void *) type, (const void *) name)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_553)(GLenum target, GLenum pname, GLfloat * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_553)(GLenum target, GLenum pname, GLfloat * params) +KEYWORD1 GLint KEYWORD2 NAME(GetAttribLocation)(GLuint program, const GLchar * name) { - DISPATCH(GetColorTableParameterfvSGI, (target, pname, params), (F, "glGetColorTableParameterfvSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + RETURN_DISPATCH(GetAttribLocationARB, (program, name), (F, "glGetAttribLocation(%d, %p);\n", program, (const void *) name)); } -KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat * params) +KEYWORD1 GLint KEYWORD2 NAME(GetAttribLocationARB)(GLhandleARB program, const GLcharARB * name) { - DISPATCH(GetColorTableParameterfvSGI, (target, pname, params), (F, "glGetColorTableParameterfvEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + RETURN_DISPATCH(GetAttribLocationARB, (program, name), (F, "glGetAttribLocationARB(%d, %p);\n", program, (const void *) name)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_554)(GLenum target, GLenum pname, GLint * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_554)(GLenum target, GLenum pname, GLint * params) +KEYWORD1 void KEYWORD2 NAME(DrawBuffers)(GLsizei n, const GLenum * bufs) { - DISPATCH(GetColorTableParameterivSGI, (target, pname, params), (F, "glGetColorTableParameterivSGI(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + DISPATCH(DrawBuffersARB, (n, bufs), (F, "glDrawBuffers(%d, %p);\n", n, (const void *) bufs)); } -KEYWORD1 void KEYWORD2 NAME(GetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint * params) +KEYWORD1 void KEYWORD2 NAME(DrawBuffersARB)(GLsizei n, const GLenum * bufs) { - DISPATCH(GetColorTableParameterivSGI, (target, pname, params), (F, "glGetColorTableParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); + DISPATCH(DrawBuffersARB, (n, bufs), (F, "glDrawBuffersARB(%d, %p);\n", n, (const void *) bufs)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_555)(GLenum target, GLenum format, GLenum type, GLvoid * table); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_555)(GLenum target, GLenum format, GLenum type, GLvoid * table) +KEYWORD1 void KEYWORD2 NAME(DrawBuffersATI)(GLsizei n, const GLenum * bufs) { - DISPATCH(GetColorTableSGI, (target, format, type, table), (F, "glGetColorTableSGI(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table)); + DISPATCH(DrawBuffersARB, (n, bufs), (F, "glDrawBuffersATI(%d, %p);\n", n, (const void *) bufs)); } -KEYWORD1 void KEYWORD2 NAME(GetColorTableEXT)(GLenum target, GLenum format, GLenum type, GLvoid * table) +KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) { - DISPATCH(GetColorTableSGI, (target, format, type, table), (F, "glGetColorTableEXT(0x%x, 0x%x, 0x%x, %p);\n", target, format, type, (const void *) table)); + DISPATCH(PolygonOffsetEXT, (factor, bias), (F, "glPolygonOffsetEXT(%f, %f);\n", factor, bias)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_556)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_562)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_556)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_562)(GLenum pname, GLfloat * params) { DISPATCH(GetPixelTexGenParameterfvSGIS, (pname, params), (F, "glGetPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_557)(GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_563)(GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_557)(GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_563)(GLenum pname, GLint * params) { DISPATCH(GetPixelTexGenParameterivSGIS, (pname, params), (F, "glGetPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_558)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_564)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_558)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_564)(GLenum pname, GLfloat param) { DISPATCH(PixelTexGenParameterfSGIS, (pname, param), (F, "glPixelTexGenParameterfSGIS(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_559)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_565)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_559)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_565)(GLenum pname, const GLfloat * params) { DISPATCH(PixelTexGenParameterfvSGIS, (pname, params), (F, "glPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_560)(GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_566)(GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_560)(GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_566)(GLenum pname, GLint param) { DISPATCH(PixelTexGenParameteriSGIS, (pname, param), (F, "glPixelTexGenParameteriSGIS(0x%x, %d);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_561)(GLenum pname, const GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_567)(GLenum pname, const GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_561)(GLenum pname, const GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_567)(GLenum pname, const GLint * params) { DISPATCH(PixelTexGenParameterivSGIS, (pname, params), (F, "glPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1 GLboolean KEYWORD2 NAME(AreTexturesResidentEXT)(GLsizei n, const GLuint * textures, GLboolean * residences) -{ - RETURN_DISPATCH(AreTexturesResidentEXT, (n, textures, residences), (F, "glAreTexturesResidentEXT(%d, %p, %p);\n", n, (const void *) textures, (const void *) residences)); -} +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_568)(GLclampf value, GLboolean invert); -KEYWORD1 void KEYWORD2 NAME(GenTexturesEXT)(GLsizei n, GLuint * textures) -{ - DISPATCH(GenTexturesEXT, (n, textures), (F, "glGenTexturesEXT(%d, %p);\n", n, (const void *) textures)); -} - -KEYWORD1 GLboolean KEYWORD2 NAME(IsTextureEXT)(GLuint texture) -{ - RETURN_DISPATCH(IsTextureEXT, (texture), (F, "glIsTextureEXT(%d);\n", texture)); -} - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_565)(GLclampf value, GLboolean invert); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_565)(GLclampf value, GLboolean invert) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_568)(GLclampf value, GLboolean invert) { DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskSGIS(%f, %d);\n", value, invert)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_566)(GLenum pattern); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_569)(GLenum pattern); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_566)(GLenum pattern) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_569)(GLenum pattern) { DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternSGIS(0x%x);\n", pattern)); } @@ -3580,9 +4092,9 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterfEXT)(GLenum pname, GLfloat param) DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfEXT(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_573)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_576)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_573)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_576)(GLenum pname, GLfloat param) { DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfSGIS(0x%x, %f);\n", pname, param)); } @@ -3602,9 +4114,9 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterfvEXT)(GLenum pname, const GLfloat * p DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvEXT(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_574)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_574)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, const GLfloat * params) { DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } @@ -3619,16 +4131,16 @@ KEYWORD1 void KEYWORD2 NAME(UnlockArraysEXT)(void) DISPATCH(UnlockArraysEXT, (), (F, "glUnlockArraysEXT();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, GLdouble * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, GLdouble * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_577)(GLenum pname, GLdouble * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, GLdouble * params) { DISPATCH(CullParameterdvEXT, (pname, params), (F, "glCullParameterdvEXT(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_578)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLenum pname, GLfloat * params) { DISPATCH(CullParameterfvEXT, (pname, params), (F, "glCullParameterfvEXT(0x%x, %p);\n", pname, (const void *) params)); } @@ -3873,9 +4385,9 @@ KEYWORD1 void KEYWORD2 NAME(FogCoordfvEXT)(const GLfloat * coord) DISPATCH(FogCoordfvEXT, (coord), (F, "glFogCoordfvEXT(%p);\n", (const void *) coord)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_603)(GLenum mode); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_606)(GLenum mode); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_603)(GLenum mode) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_606)(GLenum mode) { DISPATCH(PixelTexGenSGIX, (mode), (F, "glPixelTexGenSGIX(0x%x);\n", mode)); } @@ -3890,9 +4402,9 @@ KEYWORD1 void KEYWORD2 NAME(BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfac DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateEXT(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_604)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_607)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_604)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_607)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateINGR(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } @@ -4257,65 +4769,65 @@ KEYWORD1 void KEYWORD2 NAME(WindowPos4svMESA)(const GLshort * v) DISPATCH(WindowPos4svMESA, (v), (F, "glWindowPos4svMESA(%p);\n", (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_645)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_645)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawArraysIBM, (mode, first, count, primcount, modestride), (F, "glMultiModeDrawArraysIBM(%p, %p, %p, %d, %d);\n", (const void *) mode, (const void *) first, (const void *) count, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_646)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_646)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawElementsIBM, (mode, count, type, indices, primcount, modestride), (F, "glMultiModeDrawElementsIBM(%p, %p, 0x%x, %p, %d, %d);\n", (const void *) mode, (const void *) count, type, (const void *) indices, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_647)(GLsizei n, const GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLsizei n, const GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_647)(GLsizei n, const GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLsizei n, const GLuint * fences) { DISPATCH(DeleteFencesNV, (n, fences), (F, "glDeleteFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(GLuint fence); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_651)(GLuint fence); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(GLuint fence) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_651)(GLuint fence) { DISPATCH(FinishFenceNV, (fence), (F, "glFinishFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(GLsizei n, GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLsizei n, GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(GLsizei n, GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLsizei n, GLuint * fences) { DISPATCH(GenFencesNV, (n, fences), (F, "glGenFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLuint fence, GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLuint fence, GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLuint fence, GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLuint fence, GLenum pname, GLint * params) { DISPATCH(GetFenceivNV, (fence, pname, params), (F, "glGetFenceivNV(%d, 0x%x, %p);\n", fence, pname, (const void *) params)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_651)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_654)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_651)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_654)(GLuint fence) { RETURN_DISPATCH(IsFenceNV, (fence), (F, "glIsFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLuint fence, GLenum condition); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_655)(GLuint fence, GLenum condition); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLuint fence, GLenum condition) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_655)(GLuint fence, GLenum condition) { DISPATCH(SetFenceNV, (fence, condition), (F, "glSetFenceNV(%d, 0x%x);\n", fence, condition)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_653)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_656)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_653)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_656)(GLuint fence) { RETURN_DISPATCH(TestFenceNV, (fence), (F, "glTestFenceNV(%d);\n", fence)); } @@ -4385,14 +4897,19 @@ KEYWORD1 void KEYWORD2 NAME(GetTrackMatrixivNV)(GLenum target, GLuint address, G DISPATCH(GetTrackMatrixivNV, (target, address, pname, params), (F, "glGetTrackMatrixivNV(0x%x, %d, 0x%x, %p);\n", target, address, pname, (const void *) params)); } -KEYWORD1 void KEYWORD2 NAME(GetVertexAttribPointervARB)(GLuint index, GLenum pname, GLvoid ** params) +KEYWORD1 void KEYWORD2 NAME(GetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid ** pointer) { - DISPATCH(GetVertexAttribPointervNV, (index, pname, params), (F, "glGetVertexAttribPointervARB(%d, 0x%x, %p);\n", index, pname, (const void *) params)); + DISPATCH(GetVertexAttribPointervNV, (index, pname, pointer), (F, "glGetVertexAttribPointerv(%d, 0x%x, %p);\n", index, pname, (const void *) pointer)); } -KEYWORD1 void KEYWORD2 NAME(GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** params) +KEYWORD1 void KEYWORD2 NAME(GetVertexAttribPointervARB)(GLuint index, GLenum pname, GLvoid ** pointer) { - DISPATCH(GetVertexAttribPointervNV, (index, pname, params), (F, "glGetVertexAttribPointervNV(%d, 0x%x, %p);\n", index, pname, (const void *) params)); + DISPATCH(GetVertexAttribPointervNV, (index, pname, pointer), (F, "glGetVertexAttribPointervARB(%d, 0x%x, %p);\n", index, pname, (const void *) pointer)); +} + +KEYWORD1 void KEYWORD2 NAME(GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer) +{ + DISPATCH(GetVertexAttribPointervNV, (index, pname, pointer), (F, "glGetVertexAttribPointervNV(%d, 0x%x, %p);\n", index, pname, (const void *) pointer)); } KEYWORD1 void KEYWORD2 NAME(GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params) @@ -4755,37 +5272,37 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterivNV)(GLenum pname, const GLint * para DISPATCH(PointParameterivNV, (pname, params), (F, "glPointParameterivNV(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_734)(GLenum face); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_737)(GLenum face); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_734)(GLenum face) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_737)(GLenum face) { DISPATCH(ActiveStencilFaceEXT, (face), (F, "glActiveStencilFaceEXT(0x%x);\n", face)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_735)(GLuint array); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_738)(GLuint array); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_735)(GLuint array) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_738)(GLuint array) { DISPATCH(BindVertexArrayAPPLE, (array), (F, "glBindVertexArrayAPPLE(%d);\n", array)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_736)(GLsizei n, const GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_739)(GLsizei n, const GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_736)(GLsizei n, const GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_739)(GLsizei n, const GLuint * arrays) { DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_737)(GLsizei n, GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_740)(GLsizei n, GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_737)(GLsizei n, GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_740)(GLsizei n, GLuint * arrays) { DISPATCH(GenVertexArraysAPPLE, (n, arrays), (F, "glGenVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_738)(GLuint array); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_741)(GLuint array); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_738)(GLuint array) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_741)(GLuint array) { RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArrayAPPLE(%d);\n", array)); } @@ -4820,9 +5337,9 @@ KEYWORD1 void KEYWORD2 NAME(ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, DISPATCH(ProgramNamedParameter4fvNV, (id, len, name, v), (F, "glProgramNamedParameter4fvNV(%d, %d, %p, %p);\n", id, len, (const void *) name, (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_745)(GLclampd zmin, GLclampd zmax); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_748)(GLclampd zmin, GLclampd zmax); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_745)(GLclampd zmin, GLclampd zmax) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_748)(GLclampd zmin, GLclampd zmax) { DISPATCH(DepthBoundsEXT, (zmin, zmax), (F, "glDepthBoundsEXT(%f, %f);\n", zmin, zmax)); } @@ -4832,9 +5349,9 @@ KEYWORD1 void KEYWORD2 NAME(BlendEquationSeparate)(GLenum modeRGB, GLenum modeA) DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparate(0x%x, 0x%x);\n", modeRGB, modeA)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_746)(GLenum modeRGB, GLenum modeA); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_749)(GLenum modeRGB, GLenum modeA); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_746)(GLenum modeRGB, GLenum modeA) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_749)(GLenum modeRGB, GLenum modeA) { DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateEXT(0x%x, 0x%x);\n", modeRGB, modeA)); } @@ -4904,20 +5421,6 @@ KEYWORD1 void KEYWORD2 NAME(GetFramebufferAttachmentParameterivEXT)(GLenum targe DISPATCH(GetFramebufferAttachmentParameterivEXT, (target, attachment, pname, params), (F, "glGetFramebufferAttachmentParameterivEXT(0x%x, 0x%x, 0x%x, %p);\n", target, attachment, pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_760)(GLuint id, GLenum pname, GLint64EXT * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_760)(GLuint id, GLenum pname, GLint64EXT * params) -{ - DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); -} - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_761)(GLuint id, GLenum pname, GLuint64EXT * params); - -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_761)(GLuint id, GLenum pname, GLuint64EXT * params) -{ - DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); -} - KEYWORD1 void KEYWORD2 NAME(GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params) { DISPATCH(GetRenderbufferParameterivEXT, (target, pname, params), (F, "glGetRenderbufferParameterivEXT(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); @@ -4938,27 +5441,48 @@ KEYWORD1 void KEYWORD2 NAME(RenderbufferStorageEXT)(GLenum target, GLenum intern DISPATCH(RenderbufferStorageEXT, (target, internalformat, width, height), (F, "glRenderbufferStorageEXT(0x%x, 0x%x, %d, %d);\n", target, internalformat, width, height)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_766)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_766)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebufferEXT(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) +{ + DISPATCH(StencilFuncSeparateATI, (frontfunc, backfunc, ref, mask), (F, "glStencilFuncSeparateATI(0x%x, 0x%x, %d, %d);\n", frontfunc, backfunc, ref, mask)); +} + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_769)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_769)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { DISPATCH(ProgramLocalParameters4fvEXT, (target, index, count, params), (F, "glProgramLocalParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params)); } +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLint64EXT * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLint64EXT * params) +{ + DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); +} + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_772)(GLuint id, GLenum pname, GLuint64EXT * params); + +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_772)(GLuint id, GLenum pname, GLuint64EXT * params) +{ + DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); +} + #endif /* defined( NAME ) */ @@ -5381,9 +5905,28 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(MultiTexCoord4ivARB), TABLE_ENTRY(MultiTexCoord4sARB), TABLE_ENTRY(MultiTexCoord4svARB), + TABLE_ENTRY(AttachShader), + TABLE_ENTRY(CreateProgram), + TABLE_ENTRY(CreateShader), + TABLE_ENTRY(DeleteProgram), + TABLE_ENTRY(DeleteShader), + TABLE_ENTRY(DetachShader), + TABLE_ENTRY(GetAttachedShaders), + TABLE_ENTRY(GetProgramInfoLog), + TABLE_ENTRY(GetProgramiv), + TABLE_ENTRY(GetShaderInfoLog), + TABLE_ENTRY(GetShaderiv), + TABLE_ENTRY(IsProgram), + TABLE_ENTRY(IsShader), TABLE_ENTRY(StencilFuncSeparate), TABLE_ENTRY(StencilMaskSeparate), TABLE_ENTRY(StencilOpSeparate), + TABLE_ENTRY(UniformMatrix2x3fv), + TABLE_ENTRY(UniformMatrix2x4fv), + TABLE_ENTRY(UniformMatrix3x2fv), + TABLE_ENTRY(UniformMatrix3x4fv), + TABLE_ENTRY(UniformMatrix4x2fv), + TABLE_ENTRY(UniformMatrix4x3fv), TABLE_ENTRY(LoadTransposeMatrixdARB), TABLE_ENTRY(LoadTransposeMatrixfARB), TABLE_ENTRY(MultTransposeMatrixdARB), @@ -5516,30 +6059,14 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetAttribLocationARB), TABLE_ENTRY(DrawBuffersARB), TABLE_ENTRY(PolygonOffsetEXT), - TABLE_ENTRY(_dispatch_stub_543), - TABLE_ENTRY(_dispatch_stub_544), - TABLE_ENTRY(_dispatch_stub_545), - TABLE_ENTRY(_dispatch_stub_546), - TABLE_ENTRY(_dispatch_stub_547), - TABLE_ENTRY(_dispatch_stub_548), - TABLE_ENTRY(_dispatch_stub_549), - TABLE_ENTRY(_dispatch_stub_550), - TABLE_ENTRY(_dispatch_stub_551), - TABLE_ENTRY(_dispatch_stub_552), - TABLE_ENTRY(_dispatch_stub_553), - TABLE_ENTRY(_dispatch_stub_554), - TABLE_ENTRY(_dispatch_stub_555), - TABLE_ENTRY(_dispatch_stub_556), - TABLE_ENTRY(_dispatch_stub_557), - TABLE_ENTRY(_dispatch_stub_558), - TABLE_ENTRY(_dispatch_stub_559), - TABLE_ENTRY(_dispatch_stub_560), - TABLE_ENTRY(_dispatch_stub_561), - TABLE_ENTRY(AreTexturesResidentEXT), - TABLE_ENTRY(GenTexturesEXT), - TABLE_ENTRY(IsTextureEXT), + TABLE_ENTRY(_dispatch_stub_562), + TABLE_ENTRY(_dispatch_stub_563), + TABLE_ENTRY(_dispatch_stub_564), TABLE_ENTRY(_dispatch_stub_565), TABLE_ENTRY(_dispatch_stub_566), + TABLE_ENTRY(_dispatch_stub_567), + TABLE_ENTRY(_dispatch_stub_568), + TABLE_ENTRY(_dispatch_stub_569), TABLE_ENTRY(ColorPointerEXT), TABLE_ENTRY(EdgeFlagPointerEXT), TABLE_ENTRY(IndexPointerEXT), @@ -5550,8 +6077,8 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(PointParameterfvEXT), TABLE_ENTRY(LockArraysEXT), TABLE_ENTRY(UnlockArraysEXT), - TABLE_ENTRY(_dispatch_stub_577), - TABLE_ENTRY(_dispatch_stub_578), + TABLE_ENTRY(_dispatch_stub_580), + TABLE_ENTRY(_dispatch_stub_581), TABLE_ENTRY(SecondaryColor3bEXT), TABLE_ENTRY(SecondaryColor3bvEXT), TABLE_ENTRY(SecondaryColor3dEXT), @@ -5576,7 +6103,7 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(FogCoorddvEXT), TABLE_ENTRY(FogCoordfEXT), TABLE_ENTRY(FogCoordfvEXT), - TABLE_ENTRY(_dispatch_stub_603), + TABLE_ENTRY(_dispatch_stub_606), TABLE_ENTRY(BlendFuncSeparateEXT), TABLE_ENTRY(FlushVertexArrayRangeNV), TABLE_ENTRY(VertexArrayRangeNV), @@ -5618,15 +6145,15 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(WindowPos4ivMESA), TABLE_ENTRY(WindowPos4sMESA), TABLE_ENTRY(WindowPos4svMESA), - TABLE_ENTRY(_dispatch_stub_645), - TABLE_ENTRY(_dispatch_stub_646), - TABLE_ENTRY(_dispatch_stub_647), TABLE_ENTRY(_dispatch_stub_648), TABLE_ENTRY(_dispatch_stub_649), TABLE_ENTRY(_dispatch_stub_650), TABLE_ENTRY(_dispatch_stub_651), TABLE_ENTRY(_dispatch_stub_652), TABLE_ENTRY(_dispatch_stub_653), + TABLE_ENTRY(_dispatch_stub_654), + TABLE_ENTRY(_dispatch_stub_655), + TABLE_ENTRY(_dispatch_stub_656), TABLE_ENTRY(AreProgramsResidentNV), TABLE_ENTRY(BindProgramNV), TABLE_ENTRY(DeleteProgramsNV), @@ -5707,19 +6234,19 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(SetFragmentShaderConstantATI), TABLE_ENTRY(PointParameteriNV), TABLE_ENTRY(PointParameterivNV), - TABLE_ENTRY(_dispatch_stub_734), - TABLE_ENTRY(_dispatch_stub_735), - TABLE_ENTRY(_dispatch_stub_736), TABLE_ENTRY(_dispatch_stub_737), TABLE_ENTRY(_dispatch_stub_738), + TABLE_ENTRY(_dispatch_stub_739), + TABLE_ENTRY(_dispatch_stub_740), + TABLE_ENTRY(_dispatch_stub_741), TABLE_ENTRY(GetProgramNamedParameterdvNV), TABLE_ENTRY(GetProgramNamedParameterfvNV), TABLE_ENTRY(ProgramNamedParameter4dNV), TABLE_ENTRY(ProgramNamedParameter4dvNV), TABLE_ENTRY(ProgramNamedParameter4fNV), TABLE_ENTRY(ProgramNamedParameter4fvNV), - TABLE_ENTRY(_dispatch_stub_745), - TABLE_ENTRY(_dispatch_stub_746), + TABLE_ENTRY(_dispatch_stub_748), + TABLE_ENTRY(_dispatch_stub_749), TABLE_ENTRY(BindFramebufferEXT), TABLE_ENTRY(BindRenderbufferEXT), TABLE_ENTRY(CheckFramebufferStatusEXT), @@ -5733,15 +6260,16 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GenRenderbuffersEXT), TABLE_ENTRY(GenerateMipmapEXT), TABLE_ENTRY(GetFramebufferAttachmentParameterivEXT), - TABLE_ENTRY(_dispatch_stub_760), - TABLE_ENTRY(_dispatch_stub_761), TABLE_ENTRY(GetRenderbufferParameterivEXT), TABLE_ENTRY(IsFramebufferEXT), TABLE_ENTRY(IsRenderbufferEXT), TABLE_ENTRY(RenderbufferStorageEXT), - TABLE_ENTRY(_dispatch_stub_766), TABLE_ENTRY(_dispatch_stub_767), TABLE_ENTRY(_dispatch_stub_768), + TABLE_ENTRY(_dispatch_stub_769), + TABLE_ENTRY(_dispatch_stub_770), + TABLE_ENTRY(_dispatch_stub_771), + TABLE_ENTRY(_dispatch_stub_772), /* A whole bunch of no-op functions. These might be called * when someone tries to call a dynamically-registered * extension function without a current rendering context. @@ -5858,12 +6386,23 @@ static _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(ArrayElementEXT), TABLE_ENTRY(BindTextureEXT), TABLE_ENTRY(DrawArraysEXT), +#ifndef GLX_INDIRECT_RENDERING + TABLE_ENTRY(AreTexturesResidentEXT), +#endif TABLE_ENTRY(CopyTexImage1DEXT), TABLE_ENTRY(CopyTexImage2DEXT), TABLE_ENTRY(CopyTexSubImage1DEXT), TABLE_ENTRY(CopyTexSubImage2DEXT), +#ifndef GLX_INDIRECT_RENDERING TABLE_ENTRY(DeleteTexturesEXT), +#endif +#ifndef GLX_INDIRECT_RENDERING + TABLE_ENTRY(GenTexturesEXT), +#endif TABLE_ENTRY(GetPointervEXT), +#ifndef GLX_INDIRECT_RENDERING + TABLE_ENTRY(IsTextureEXT), +#endif TABLE_ENTRY(PrioritizeTexturesEXT), TABLE_ENTRY(TexSubImage1DEXT), TABLE_ENTRY(TexSubImage2DEXT), @@ -5871,6 +6410,15 @@ static _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(BlendEquationEXT), TABLE_ENTRY(DrawRangeElementsEXT), TABLE_ENTRY(ColorTableEXT), +#ifndef GLX_INDIRECT_RENDERING + TABLE_ENTRY(GetColorTableEXT), +#endif +#ifndef GLX_INDIRECT_RENDERING + TABLE_ENTRY(GetColorTableParameterfvEXT), +#endif +#ifndef GLX_INDIRECT_RENDERING + TABLE_ENTRY(GetColorTableParameterivEXT), +#endif TABLE_ENTRY(TexImage3DEXT), TABLE_ENTRY(TexSubImage3DEXT), TABLE_ENTRY(CopyTexSubImage3DEXT), @@ -5920,6 +6468,48 @@ static _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(CompressedTexSubImage2D), TABLE_ENTRY(CompressedTexSubImage3D), TABLE_ENTRY(GetCompressedTexImage), + TABLE_ENTRY(DisableVertexAttribArray), + TABLE_ENTRY(EnableVertexAttribArray), + TABLE_ENTRY(GetVertexAttribdv), + TABLE_ENTRY(GetVertexAttribfv), + TABLE_ENTRY(GetVertexAttribiv), + TABLE_ENTRY(VertexAttrib1d), + TABLE_ENTRY(VertexAttrib1dv), + TABLE_ENTRY(VertexAttrib1f), + TABLE_ENTRY(VertexAttrib1fv), + TABLE_ENTRY(VertexAttrib1s), + TABLE_ENTRY(VertexAttrib1sv), + TABLE_ENTRY(VertexAttrib2d), + TABLE_ENTRY(VertexAttrib2dv), + TABLE_ENTRY(VertexAttrib2f), + TABLE_ENTRY(VertexAttrib2fv), + TABLE_ENTRY(VertexAttrib2s), + TABLE_ENTRY(VertexAttrib2sv), + TABLE_ENTRY(VertexAttrib3d), + TABLE_ENTRY(VertexAttrib3dv), + TABLE_ENTRY(VertexAttrib3f), + TABLE_ENTRY(VertexAttrib3fv), + TABLE_ENTRY(VertexAttrib3s), + TABLE_ENTRY(VertexAttrib3sv), + TABLE_ENTRY(VertexAttrib4Nbv), + TABLE_ENTRY(VertexAttrib4Niv), + TABLE_ENTRY(VertexAttrib4Nsv), + TABLE_ENTRY(VertexAttrib4Nub), + TABLE_ENTRY(VertexAttrib4Nubv), + TABLE_ENTRY(VertexAttrib4Nuiv), + TABLE_ENTRY(VertexAttrib4Nusv), + TABLE_ENTRY(VertexAttrib4bv), + TABLE_ENTRY(VertexAttrib4d), + TABLE_ENTRY(VertexAttrib4dv), + TABLE_ENTRY(VertexAttrib4f), + TABLE_ENTRY(VertexAttrib4fv), + TABLE_ENTRY(VertexAttrib4iv), + TABLE_ENTRY(VertexAttrib4s), + TABLE_ENTRY(VertexAttrib4sv), + TABLE_ENTRY(VertexAttrib4ubv), + TABLE_ENTRY(VertexAttrib4uiv), + TABLE_ENTRY(VertexAttrib4usv), + TABLE_ENTRY(VertexAttribPointer), TABLE_ENTRY(BindBuffer), TABLE_ENTRY(BufferData), TABLE_ENTRY(BufferSubData), @@ -5939,11 +6529,40 @@ static _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(GetQueryObjectuiv), TABLE_ENTRY(GetQueryiv), TABLE_ENTRY(IsQuery), + TABLE_ENTRY(CompileShader), + TABLE_ENTRY(GetActiveUniform), + TABLE_ENTRY(GetShaderSource), + TABLE_ENTRY(GetUniformLocation), + TABLE_ENTRY(GetUniformfv), + TABLE_ENTRY(GetUniformiv), + TABLE_ENTRY(LinkProgram), + TABLE_ENTRY(ShaderSource), + TABLE_ENTRY(Uniform1f), + TABLE_ENTRY(Uniform1fv), + TABLE_ENTRY(Uniform1i), + TABLE_ENTRY(Uniform1iv), + TABLE_ENTRY(Uniform2f), + TABLE_ENTRY(Uniform2fv), + TABLE_ENTRY(Uniform2i), + TABLE_ENTRY(Uniform2iv), + TABLE_ENTRY(Uniform3f), + TABLE_ENTRY(Uniform3fv), + TABLE_ENTRY(Uniform3i), + TABLE_ENTRY(Uniform3iv), + TABLE_ENTRY(Uniform4f), + TABLE_ENTRY(Uniform4fv), + TABLE_ENTRY(Uniform4i), + TABLE_ENTRY(Uniform4iv), + TABLE_ENTRY(UniformMatrix2fv), + TABLE_ENTRY(UniformMatrix3fv), + TABLE_ENTRY(UniformMatrix4fv), + TABLE_ENTRY(UseProgram), + TABLE_ENTRY(ValidateProgram), + TABLE_ENTRY(BindAttribLocation), + TABLE_ENTRY(GetActiveAttrib), + TABLE_ENTRY(GetAttribLocation), TABLE_ENTRY(DrawBuffers), TABLE_ENTRY(DrawBuffersATI), - TABLE_ENTRY(GetColorTableParameterfvEXT), - TABLE_ENTRY(GetColorTableParameterivEXT), - TABLE_ENTRY(GetColorTableEXT), TABLE_ENTRY(PointParameterf), TABLE_ENTRY(PointParameterfARB), TABLE_ENTRY(PointParameterfv), @@ -6008,6 +6627,7 @@ static _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(BindProgramARB), TABLE_ENTRY(DeleteProgramsARB), TABLE_ENTRY(GenProgramsARB), + TABLE_ENTRY(GetVertexAttribPointerv), TABLE_ENTRY(GetVertexAttribPointervARB), TABLE_ENTRY(IsProgramARB), TABLE_ENTRY(PointParameteri), diff --git a/dist/Mesa/src/mesa/glapi/glprocs.h b/dist/Mesa/src/mesa/glapi/glprocs.h index 635438fc0..bc0dc4f9a 100644 --- a/dist/Mesa/src/mesa/glapi/glprocs.h +++ b/dist/Mesa/src/mesa/glapi/glprocs.h @@ -2,7 +2,7 @@ /* * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. - * (C) Copyright IBM Corporation 2004 + * (C) Copyright IBM Corporation 2004, 2006 * All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a @@ -26,25 +26,31 @@ * SOFTWARE. */ + /* This file is only included by glapi.c and is used for * the GetProcAddress() function */ typedef struct { GLint Name_offset; -#ifdef NEED_FUNCTION_POINTER +#if defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) _glapi_proc Address; #endif GLuint Offset; } glprocs_table_t; -#ifdef NEED_FUNCTION_POINTER -# define NAME_FUNC_OFFSET(n,f,o) { n , (_glapi_proc) f , o } -#else -# define NAME_FUNC_OFFSET(n,f,o) { n , o } +#if !defined(NEED_FUNCTION_POINTER) && !defined(GLX_INDIRECT_RENDERING) +# define NAME_FUNC_OFFSET(n,f1,f2,f3,o) { n , o } +#elif defined(NEED_FUNCTION_POINTER) && !defined(GLX_INDIRECT_RENDERING) +# define NAME_FUNC_OFFSET(n,f1,f2,f3,o) { n , (_glapi_proc) f1 , o } +#elif defined(NEED_FUNCTION_POINTER) && defined(GLX_INDIRECT_RENDERING) +# define NAME_FUNC_OFFSET(n,f1,f2,f3,o) { n , (_glapi_proc) f2 , o } +#elif !defined(NEED_FUNCTION_POINTER) && defined(GLX_INDIRECT_RENDERING) +# define NAME_FUNC_OFFSET(n,f1,f2,f3,o) { n , (_glapi_proc) f3 , o } #endif + static const char gl_string_table[] = "glNewList\0" "glEndList\0" @@ -454,9 +460,28 @@ static const char gl_string_table[] = "glMultiTexCoord4ivARB\0" "glMultiTexCoord4sARB\0" "glMultiTexCoord4svARB\0" + "glAttachShader\0" + "glCreateProgram\0" + "glCreateShader\0" + "glDeleteProgram\0" + "glDeleteShader\0" + "glDetachShader\0" + "glGetAttachedShaders\0" + "glGetProgramInfoLog\0" + "glGetProgramiv\0" + "glGetShaderInfoLog\0" + "glGetShaderiv\0" + "glIsProgram\0" + "glIsShader\0" "glStencilFuncSeparate\0" "glStencilMaskSeparate\0" "glStencilOpSeparate\0" + "glUniformMatrix2x3fv\0" + "glUniformMatrix2x4fv\0" + "glUniformMatrix3x2fv\0" + "glUniformMatrix3x4fv\0" + "glUniformMatrix4x2fv\0" + "glUniformMatrix4x3fv\0" "glLoadTransposeMatrixdARB\0" "glLoadTransposeMatrixfARB\0" "glMultTransposeMatrixdARB\0" @@ -589,28 +614,12 @@ static const char gl_string_table[] = "glGetAttribLocationARB\0" "glDrawBuffersARB\0" "glPolygonOffsetEXT\0" - "glGetHistogramEXT\0" - "glGetHistogramParameterfvEXT\0" - "glGetHistogramParameterivEXT\0" - "glGetMinmaxEXT\0" - "glGetMinmaxParameterfvEXT\0" - "glGetMinmaxParameterivEXT\0" - "glGetConvolutionFilterEXT\0" - "glGetConvolutionParameterfvEXT\0" - "glGetConvolutionParameterivEXT\0" - "glGetSeparableFilterEXT\0" - "glGetColorTableParameterfvSGI\0" - "glGetColorTableParameterivSGI\0" - "glGetColorTableSGI\0" "glGetPixelTexGenParameterfvSGIS\0" "glGetPixelTexGenParameterivSGIS\0" "glPixelTexGenParameterfSGIS\0" "glPixelTexGenParameterfvSGIS\0" "glPixelTexGenParameteriSGIS\0" "glPixelTexGenParameterivSGIS\0" - "glAreTexturesResidentEXT\0" - "glGenTexturesEXT\0" - "glIsTextureEXT\0" "glSampleMaskSGIS\0" "glSamplePatternSGIS\0" "glColorPointerEXT\0" @@ -806,24 +815,28 @@ static const char gl_string_table[] = "glGenRenderbuffersEXT\0" "glGenerateMipmapEXT\0" "glGetFramebufferAttachmentParameterivEXT\0" - "glGetQueryObjecti64vEXT\0" - "glGetQueryObjectui64vEXT\0" "glGetRenderbufferParameterivEXT\0" "glIsFramebufferEXT\0" "glIsRenderbufferEXT\0" "glRenderbufferStorageEXT\0" "glBlitFramebufferEXT\0" + "glStencilFuncSeparateATI\0" "glProgramEnvParameters4fvEXT\0" "glProgramLocalParameters4fvEXT\0" + "glGetQueryObjecti64vEXT\0" + "glGetQueryObjectui64vEXT\0" "glArrayElementEXT\0" "glBindTextureEXT\0" "glDrawArraysEXT\0" + "glAreTexturesResidentEXT\0" "glCopyTexImage1DEXT\0" "glCopyTexImage2DEXT\0" "glCopyTexSubImage1DEXT\0" "glCopyTexSubImage2DEXT\0" "glDeleteTexturesEXT\0" + "glGenTexturesEXT\0" "glGetPointervEXT\0" + "glIsTextureEXT\0" "glPrioritizeTexturesEXT\0" "glTexSubImage1DEXT\0" "glTexSubImage2DEXT\0" @@ -835,6 +848,12 @@ static const char gl_string_table[] = "glColorTableParameterfvSGI\0" "glColorTableParameterivSGI\0" "glCopyColorTableSGI\0" + "glGetColorTableSGI\0" + "glGetColorTableEXT\0" + "glGetColorTableParameterfvSGI\0" + "glGetColorTableParameterfvEXT\0" + "glGetColorTableParameterivSGI\0" + "glGetColorTableParameterivEXT\0" "glColorSubTableEXT\0" "glCopyColorSubTableEXT\0" "glConvolutionFilter1DEXT\0" @@ -845,7 +864,17 @@ static const char gl_string_table[] = "glConvolutionParameterivEXT\0" "glCopyConvolutionFilter1DEXT\0" "glCopyConvolutionFilter2DEXT\0" + "glGetConvolutionFilterEXT\0" + "glGetConvolutionParameterfvEXT\0" + "glGetConvolutionParameterivEXT\0" + "glGetSeparableFilterEXT\0" "glSeparableFilter2DEXT\0" + "glGetHistogramEXT\0" + "glGetHistogramParameterfvEXT\0" + "glGetHistogramParameterivEXT\0" + "glGetMinmaxEXT\0" + "glGetMinmaxParameterfvEXT\0" + "glGetMinmaxParameterivEXT\0" "glHistogramEXT\0" "glMinmaxEXT\0" "glResetHistogramEXT\0" @@ -887,6 +916,7 @@ static const char gl_string_table[] = "glMultiTexCoord4iv\0" "glMultiTexCoord4s\0" "glMultiTexCoord4sv\0" + "glStencilOpSeparateATI\0" "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixf\0" "glMultTransposeMatrixd\0" @@ -899,6 +929,48 @@ static const char gl_string_table[] = "glCompressedTexSubImage2D\0" "glCompressedTexSubImage3D\0" "glGetCompressedTexImage\0" + "glDisableVertexAttribArray\0" + "glEnableVertexAttribArray\0" + "glGetVertexAttribdv\0" + "glGetVertexAttribfv\0" + "glGetVertexAttribiv\0" + "glVertexAttrib1d\0" + "glVertexAttrib1dv\0" + "glVertexAttrib1f\0" + "glVertexAttrib1fv\0" + "glVertexAttrib1s\0" + "glVertexAttrib1sv\0" + "glVertexAttrib2d\0" + "glVertexAttrib2dv\0" + "glVertexAttrib2f\0" + "glVertexAttrib2fv\0" + "glVertexAttrib2s\0" + "glVertexAttrib2sv\0" + "glVertexAttrib3d\0" + "glVertexAttrib3dv\0" + "glVertexAttrib3f\0" + "glVertexAttrib3fv\0" + "glVertexAttrib3s\0" + "glVertexAttrib3sv\0" + "glVertexAttrib4Nbv\0" + "glVertexAttrib4Niv\0" + "glVertexAttrib4Nsv\0" + "glVertexAttrib4Nub\0" + "glVertexAttrib4Nubv\0" + "glVertexAttrib4Nuiv\0" + "glVertexAttrib4Nusv\0" + "glVertexAttrib4bv\0" + "glVertexAttrib4d\0" + "glVertexAttrib4dv\0" + "glVertexAttrib4f\0" + "glVertexAttrib4fv\0" + "glVertexAttrib4iv\0" + "glVertexAttrib4s\0" + "glVertexAttrib4sv\0" + "glVertexAttrib4ubv\0" + "glVertexAttrib4uiv\0" + "glVertexAttrib4usv\0" + "glVertexAttribPointer\0" "glBindBuffer\0" "glBufferData\0" "glBufferSubData\0" @@ -918,11 +990,40 @@ static const char gl_string_table[] = "glGetQueryObjectuiv\0" "glGetQueryiv\0" "glIsQuery\0" + "glCompileShader\0" + "glGetActiveUniform\0" + "glGetShaderSource\0" + "glGetUniformLocation\0" + "glGetUniformfv\0" + "glGetUniformiv\0" + "glLinkProgram\0" + "glShaderSource\0" + "glUniform1f\0" + "glUniform1fv\0" + "glUniform1i\0" + "glUniform1iv\0" + "glUniform2f\0" + "glUniform2fv\0" + "glUniform2i\0" + "glUniform2iv\0" + "glUniform3f\0" + "glUniform3fv\0" + "glUniform3i\0" + "glUniform3iv\0" + "glUniform4f\0" + "glUniform4fv\0" + "glUniform4i\0" + "glUniform4iv\0" + "glUniformMatrix2fv\0" + "glUniformMatrix3fv\0" + "glUniformMatrix4fv\0" + "glUseProgram\0" + "glValidateProgram\0" + "glBindAttribLocation\0" + "glGetActiveAttrib\0" + "glGetAttribLocation\0" "glDrawBuffers\0" "glDrawBuffersATI\0" - "glGetColorTableParameterfvEXT\0" - "glGetColorTableParameterivEXT\0" - "glGetColorTableEXT\0" "glSampleMaskEXT\0" "glSamplePatternEXT\0" "glPointParameterf\0" @@ -992,6 +1093,7 @@ static const char gl_string_table[] = "glBindProgramARB\0" "glDeleteProgramsARB\0" "glGenProgramsARB\0" + "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glIsProgramARB\0" "glPointParameteri\0" @@ -1000,1009 +1102,1157 @@ static const char gl_string_table[] = "glBlendEquationSeparateATI\0" ; + +#ifdef USE_MGL_NAMESPACE +#define gl_dispatch_stub_343 mgl_dispatch_stub_343 +#define gl_dispatch_stub_344 mgl_dispatch_stub_344 +#define gl_dispatch_stub_345 mgl_dispatch_stub_345 +#define gl_dispatch_stub_356 mgl_dispatch_stub_356 +#define gl_dispatch_stub_357 mgl_dispatch_stub_357 +#define gl_dispatch_stub_358 mgl_dispatch_stub_358 +#define gl_dispatch_stub_359 mgl_dispatch_stub_359 +#define gl_dispatch_stub_361 mgl_dispatch_stub_361 +#define gl_dispatch_stub_362 mgl_dispatch_stub_362 +#define gl_dispatch_stub_363 mgl_dispatch_stub_363 +#define gl_dispatch_stub_364 mgl_dispatch_stub_364 +#define gl_dispatch_stub_365 mgl_dispatch_stub_365 +#define gl_dispatch_stub_366 mgl_dispatch_stub_366 +#define gl_dispatch_stub_562 mgl_dispatch_stub_562 +#define gl_dispatch_stub_563 mgl_dispatch_stub_563 +#define gl_dispatch_stub_564 mgl_dispatch_stub_564 +#define gl_dispatch_stub_565 mgl_dispatch_stub_565 +#define gl_dispatch_stub_566 mgl_dispatch_stub_566 +#define gl_dispatch_stub_567 mgl_dispatch_stub_567 +#define gl_dispatch_stub_568 mgl_dispatch_stub_568 +#define gl_dispatch_stub_569 mgl_dispatch_stub_569 +#define gl_dispatch_stub_580 mgl_dispatch_stub_580 +#define gl_dispatch_stub_581 mgl_dispatch_stub_581 +#define gl_dispatch_stub_606 mgl_dispatch_stub_606 +#define gl_dispatch_stub_648 mgl_dispatch_stub_648 +#define gl_dispatch_stub_649 mgl_dispatch_stub_649 +#define gl_dispatch_stub_650 mgl_dispatch_stub_650 +#define gl_dispatch_stub_651 mgl_dispatch_stub_651 +#define gl_dispatch_stub_652 mgl_dispatch_stub_652 +#define gl_dispatch_stub_653 mgl_dispatch_stub_653 +#define gl_dispatch_stub_654 mgl_dispatch_stub_654 +#define gl_dispatch_stub_655 mgl_dispatch_stub_655 +#define gl_dispatch_stub_656 mgl_dispatch_stub_656 +#define gl_dispatch_stub_737 mgl_dispatch_stub_737 +#define gl_dispatch_stub_738 mgl_dispatch_stub_738 +#define gl_dispatch_stub_739 mgl_dispatch_stub_739 +#define gl_dispatch_stub_740 mgl_dispatch_stub_740 +#define gl_dispatch_stub_741 mgl_dispatch_stub_741 +#define gl_dispatch_stub_748 mgl_dispatch_stub_748 +#define gl_dispatch_stub_749 mgl_dispatch_stub_749 +#define gl_dispatch_stub_767 mgl_dispatch_stub_767 +#define gl_dispatch_stub_768 mgl_dispatch_stub_768 +#define gl_dispatch_stub_769 mgl_dispatch_stub_769 +#define gl_dispatch_stub_770 mgl_dispatch_stub_770 +#define gl_dispatch_stub_771 mgl_dispatch_stub_771 +#define gl_dispatch_stub_772 mgl_dispatch_stub_772 +#endif /* USE_MGL_NAMESPACE */ + + /* FIXME: Having these (incorrect) prototypes here is ugly. */ -#ifdef NEED_FUNCTION_POINTER -extern void gl_dispatch_stub_543(void); -extern void gl_dispatch_stub_544(void); -extern void gl_dispatch_stub_545(void); -extern void gl_dispatch_stub_546(void); -extern void gl_dispatch_stub_547(void); -extern void gl_dispatch_stub_548(void); -extern void gl_dispatch_stub_549(void); -extern void gl_dispatch_stub_550(void); -extern void gl_dispatch_stub_551(void); -extern void gl_dispatch_stub_552(void); -extern void gl_dispatch_stub_553(void); -extern void gl_dispatch_stub_554(void); -extern void gl_dispatch_stub_555(void); -extern void gl_dispatch_stub_556(void); -extern void gl_dispatch_stub_557(void); -extern void gl_dispatch_stub_558(void); -extern void gl_dispatch_stub_559(void); -extern void gl_dispatch_stub_560(void); -extern void gl_dispatch_stub_561(void); +#if defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) +extern void gl_dispatch_stub_343(void); +extern void gl_dispatch_stub_344(void); +extern void gl_dispatch_stub_345(void); +extern void gl_dispatch_stub_356(void); +extern void gl_dispatch_stub_357(void); +extern void gl_dispatch_stub_358(void); +extern void gl_dispatch_stub_359(void); +extern void gl_dispatch_stub_361(void); +extern void gl_dispatch_stub_362(void); +extern void gl_dispatch_stub_363(void); +extern void gl_dispatch_stub_364(void); +extern void gl_dispatch_stub_365(void); +extern void gl_dispatch_stub_366(void); +extern void gl_dispatch_stub_562(void); +extern void gl_dispatch_stub_563(void); +extern void gl_dispatch_stub_564(void); extern void gl_dispatch_stub_565(void); extern void gl_dispatch_stub_566(void); -extern void gl_dispatch_stub_577(void); -extern void gl_dispatch_stub_578(void); -extern void gl_dispatch_stub_603(void); -extern void gl_dispatch_stub_645(void); -extern void gl_dispatch_stub_646(void); -extern void gl_dispatch_stub_647(void); +extern void gl_dispatch_stub_567(void); +extern void gl_dispatch_stub_568(void); +extern void gl_dispatch_stub_569(void); +extern void gl_dispatch_stub_580(void); +extern void gl_dispatch_stub_581(void); +extern void gl_dispatch_stub_606(void); extern void gl_dispatch_stub_648(void); extern void gl_dispatch_stub_649(void); extern void gl_dispatch_stub_650(void); extern void gl_dispatch_stub_651(void); extern void gl_dispatch_stub_652(void); extern void gl_dispatch_stub_653(void); -extern void gl_dispatch_stub_734(void); -extern void gl_dispatch_stub_735(void); -extern void gl_dispatch_stub_736(void); +extern void gl_dispatch_stub_654(void); +extern void gl_dispatch_stub_655(void); +extern void gl_dispatch_stub_656(void); extern void gl_dispatch_stub_737(void); extern void gl_dispatch_stub_738(void); -extern void gl_dispatch_stub_745(void); -extern void gl_dispatch_stub_746(void); -extern void gl_dispatch_stub_760(void); -extern void gl_dispatch_stub_761(void); -extern void gl_dispatch_stub_766(void); +extern void gl_dispatch_stub_739(void); +extern void gl_dispatch_stub_740(void); +extern void gl_dispatch_stub_741(void); +extern void gl_dispatch_stub_748(void); +extern void gl_dispatch_stub_749(void); extern void gl_dispatch_stub_767(void); extern void gl_dispatch_stub_768(void); -#endif /* NEED_FUNCTION_POINTER */ +extern void gl_dispatch_stub_769(void); +extern void gl_dispatch_stub_770(void); +extern void gl_dispatch_stub_771(void); +extern void gl_dispatch_stub_772(void); +#endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ static const glprocs_table_t static_functions[] = { - NAME_FUNC_OFFSET( 0, glNewList, _gloffset_NewList ), - NAME_FUNC_OFFSET( 10, glEndList, _gloffset_EndList ), - NAME_FUNC_OFFSET( 20, glCallList, _gloffset_CallList ), - NAME_FUNC_OFFSET( 31, glCallLists, _gloffset_CallLists ), - NAME_FUNC_OFFSET( 43, glDeleteLists, _gloffset_DeleteLists ), - NAME_FUNC_OFFSET( 57, glGenLists, _gloffset_GenLists ), - NAME_FUNC_OFFSET( 68, glListBase, _gloffset_ListBase ), - NAME_FUNC_OFFSET( 79, glBegin, _gloffset_Begin ), - NAME_FUNC_OFFSET( 87, glBitmap, _gloffset_Bitmap ), - NAME_FUNC_OFFSET( 96, glColor3b, _gloffset_Color3b ), - NAME_FUNC_OFFSET( 106, glColor3bv, _gloffset_Color3bv ), - NAME_FUNC_OFFSET( 117, glColor3d, _gloffset_Color3d ), - NAME_FUNC_OFFSET( 127, glColor3dv, _gloffset_Color3dv ), - NAME_FUNC_OFFSET( 138, glColor3f, _gloffset_Color3f ), - NAME_FUNC_OFFSET( 148, glColor3fv, _gloffset_Color3fv ), - NAME_FUNC_OFFSET( 159, glColor3i, _gloffset_Color3i ), - NAME_FUNC_OFFSET( 169, glColor3iv, _gloffset_Color3iv ), - NAME_FUNC_OFFSET( 180, glColor3s, _gloffset_Color3s ), - NAME_FUNC_OFFSET( 190, glColor3sv, _gloffset_Color3sv ), - NAME_FUNC_OFFSET( 201, glColor3ub, _gloffset_Color3ub ), - NAME_FUNC_OFFSET( 212, glColor3ubv, _gloffset_Color3ubv ), - NAME_FUNC_OFFSET( 224, glColor3ui, _gloffset_Color3ui ), - NAME_FUNC_OFFSET( 235, glColor3uiv, _gloffset_Color3uiv ), - NAME_FUNC_OFFSET( 247, glColor3us, _gloffset_Color3us ), - NAME_FUNC_OFFSET( 258, glColor3usv, _gloffset_Color3usv ), - NAME_FUNC_OFFSET( 270, glColor4b, _gloffset_Color4b ), - NAME_FUNC_OFFSET( 280, glColor4bv, _gloffset_Color4bv ), - NAME_FUNC_OFFSET( 291, glColor4d, _gloffset_Color4d ), - NAME_FUNC_OFFSET( 301, glColor4dv, _gloffset_Color4dv ), - NAME_FUNC_OFFSET( 312, glColor4f, _gloffset_Color4f ), - NAME_FUNC_OFFSET( 322, glColor4fv, _gloffset_Color4fv ), - NAME_FUNC_OFFSET( 333, glColor4i, _gloffset_Color4i ), - NAME_FUNC_OFFSET( 343, glColor4iv, _gloffset_Color4iv ), - NAME_FUNC_OFFSET( 354, glColor4s, _gloffset_Color4s ), - NAME_FUNC_OFFSET( 364, glColor4sv, _gloffset_Color4sv ), - NAME_FUNC_OFFSET( 375, glColor4ub, _gloffset_Color4ub ), - NAME_FUNC_OFFSET( 386, glColor4ubv, _gloffset_Color4ubv ), - NAME_FUNC_OFFSET( 398, glColor4ui, _gloffset_Color4ui ), - NAME_FUNC_OFFSET( 409, glColor4uiv, _gloffset_Color4uiv ), - NAME_FUNC_OFFSET( 421, glColor4us, _gloffset_Color4us ), - NAME_FUNC_OFFSET( 432, glColor4usv, _gloffset_Color4usv ), - NAME_FUNC_OFFSET( 444, glEdgeFlag, _gloffset_EdgeFlag ), - NAME_FUNC_OFFSET( 455, glEdgeFlagv, _gloffset_EdgeFlagv ), - NAME_FUNC_OFFSET( 467, glEnd, _gloffset_End ), - NAME_FUNC_OFFSET( 473, glIndexd, _gloffset_Indexd ), - NAME_FUNC_OFFSET( 482, glIndexdv, _gloffset_Indexdv ), - NAME_FUNC_OFFSET( 492, glIndexf, _gloffset_Indexf ), - NAME_FUNC_OFFSET( 501, glIndexfv, _gloffset_Indexfv ), - NAME_FUNC_OFFSET( 511, glIndexi, _gloffset_Indexi ), - NAME_FUNC_OFFSET( 520, glIndexiv, _gloffset_Indexiv ), - NAME_FUNC_OFFSET( 530, glIndexs, _gloffset_Indexs ), - NAME_FUNC_OFFSET( 539, glIndexsv, _gloffset_Indexsv ), - NAME_FUNC_OFFSET( 549, glNormal3b, _gloffset_Normal3b ), - NAME_FUNC_OFFSET( 560, glNormal3bv, _gloffset_Normal3bv ), - NAME_FUNC_OFFSET( 572, glNormal3d, _gloffset_Normal3d ), - NAME_FUNC_OFFSET( 583, glNormal3dv, _gloffset_Normal3dv ), - NAME_FUNC_OFFSET( 595, glNormal3f, _gloffset_Normal3f ), - NAME_FUNC_OFFSET( 606, glNormal3fv, _gloffset_Normal3fv ), - NAME_FUNC_OFFSET( 618, glNormal3i, _gloffset_Normal3i ), - NAME_FUNC_OFFSET( 629, glNormal3iv, _gloffset_Normal3iv ), - NAME_FUNC_OFFSET( 641, glNormal3s, _gloffset_Normal3s ), - NAME_FUNC_OFFSET( 652, glNormal3sv, _gloffset_Normal3sv ), - NAME_FUNC_OFFSET( 664, glRasterPos2d, _gloffset_RasterPos2d ), - NAME_FUNC_OFFSET( 678, glRasterPos2dv, _gloffset_RasterPos2dv ), - NAME_FUNC_OFFSET( 693, glRasterPos2f, _gloffset_RasterPos2f ), - NAME_FUNC_OFFSET( 707, glRasterPos2fv, _gloffset_RasterPos2fv ), - NAME_FUNC_OFFSET( 722, glRasterPos2i, _gloffset_RasterPos2i ), - NAME_FUNC_OFFSET( 736, glRasterPos2iv, _gloffset_RasterPos2iv ), - NAME_FUNC_OFFSET( 751, glRasterPos2s, _gloffset_RasterPos2s ), - NAME_FUNC_OFFSET( 765, glRasterPos2sv, _gloffset_RasterPos2sv ), - NAME_FUNC_OFFSET( 780, glRasterPos3d, _gloffset_RasterPos3d ), - NAME_FUNC_OFFSET( 794, glRasterPos3dv, _gloffset_RasterPos3dv ), - NAME_FUNC_OFFSET( 809, glRasterPos3f, _gloffset_RasterPos3f ), - NAME_FUNC_OFFSET( 823, glRasterPos3fv, _gloffset_RasterPos3fv ), - NAME_FUNC_OFFSET( 838, glRasterPos3i, _gloffset_RasterPos3i ), - NAME_FUNC_OFFSET( 852, glRasterPos3iv, _gloffset_RasterPos3iv ), - NAME_FUNC_OFFSET( 867, glRasterPos3s, _gloffset_RasterPos3s ), - NAME_FUNC_OFFSET( 881, glRasterPos3sv, _gloffset_RasterPos3sv ), - NAME_FUNC_OFFSET( 896, glRasterPos4d, _gloffset_RasterPos4d ), - NAME_FUNC_OFFSET( 910, glRasterPos4dv, _gloffset_RasterPos4dv ), - NAME_FUNC_OFFSET( 925, glRasterPos4f, _gloffset_RasterPos4f ), - NAME_FUNC_OFFSET( 939, glRasterPos4fv, _gloffset_RasterPos4fv ), - NAME_FUNC_OFFSET( 954, glRasterPos4i, _gloffset_RasterPos4i ), - NAME_FUNC_OFFSET( 968, glRasterPos4iv, _gloffset_RasterPos4iv ), - NAME_FUNC_OFFSET( 983, glRasterPos4s, _gloffset_RasterPos4s ), - NAME_FUNC_OFFSET( 997, glRasterPos4sv, _gloffset_RasterPos4sv ), - NAME_FUNC_OFFSET( 1012, glRectd, _gloffset_Rectd ), - NAME_FUNC_OFFSET( 1020, glRectdv, _gloffset_Rectdv ), - NAME_FUNC_OFFSET( 1029, glRectf, _gloffset_Rectf ), - NAME_FUNC_OFFSET( 1037, glRectfv, _gloffset_Rectfv ), - NAME_FUNC_OFFSET( 1046, glRecti, _gloffset_Recti ), - NAME_FUNC_OFFSET( 1054, glRectiv, _gloffset_Rectiv ), - NAME_FUNC_OFFSET( 1063, glRects, _gloffset_Rects ), - NAME_FUNC_OFFSET( 1071, glRectsv, _gloffset_Rectsv ), - NAME_FUNC_OFFSET( 1080, glTexCoord1d, _gloffset_TexCoord1d ), - NAME_FUNC_OFFSET( 1093, glTexCoord1dv, _gloffset_TexCoord1dv ), - NAME_FUNC_OFFSET( 1107, glTexCoord1f, _gloffset_TexCoord1f ), - NAME_FUNC_OFFSET( 1120, glTexCoord1fv, _gloffset_TexCoord1fv ), - NAME_FUNC_OFFSET( 1134, glTexCoord1i, _gloffset_TexCoord1i ), - NAME_FUNC_OFFSET( 1147, glTexCoord1iv, _gloffset_TexCoord1iv ), - NAME_FUNC_OFFSET( 1161, glTexCoord1s, _gloffset_TexCoord1s ), - NAME_FUNC_OFFSET( 1174, glTexCoord1sv, _gloffset_TexCoord1sv ), - NAME_FUNC_OFFSET( 1188, glTexCoord2d, _gloffset_TexCoord2d ), - NAME_FUNC_OFFSET( 1201, glTexCoord2dv, _gloffset_TexCoord2dv ), - NAME_FUNC_OFFSET( 1215, glTexCoord2f, _gloffset_TexCoord2f ), - NAME_FUNC_OFFSET( 1228, glTexCoord2fv, _gloffset_TexCoord2fv ), - NAME_FUNC_OFFSET( 1242, glTexCoord2i, _gloffset_TexCoord2i ), - NAME_FUNC_OFFSET( 1255, glTexCoord2iv, _gloffset_TexCoord2iv ), - NAME_FUNC_OFFSET( 1269, glTexCoord2s, _gloffset_TexCoord2s ), - NAME_FUNC_OFFSET( 1282, glTexCoord2sv, _gloffset_TexCoord2sv ), - NAME_FUNC_OFFSET( 1296, glTexCoord3d, _gloffset_TexCoord3d ), - NAME_FUNC_OFFSET( 1309, glTexCoord3dv, _gloffset_TexCoord3dv ), - NAME_FUNC_OFFSET( 1323, glTexCoord3f, _gloffset_TexCoord3f ), - NAME_FUNC_OFFSET( 1336, glTexCoord3fv, _gloffset_TexCoord3fv ), - NAME_FUNC_OFFSET( 1350, glTexCoord3i, _gloffset_TexCoord3i ), - NAME_FUNC_OFFSET( 1363, glTexCoord3iv, _gloffset_TexCoord3iv ), - NAME_FUNC_OFFSET( 1377, glTexCoord3s, _gloffset_TexCoord3s ), - NAME_FUNC_OFFSET( 1390, glTexCoord3sv, _gloffset_TexCoord3sv ), - NAME_FUNC_OFFSET( 1404, glTexCoord4d, _gloffset_TexCoord4d ), - NAME_FUNC_OFFSET( 1417, glTexCoord4dv, _gloffset_TexCoord4dv ), - NAME_FUNC_OFFSET( 1431, glTexCoord4f, _gloffset_TexCoord4f ), - NAME_FUNC_OFFSET( 1444, glTexCoord4fv, _gloffset_TexCoord4fv ), - NAME_FUNC_OFFSET( 1458, glTexCoord4i, _gloffset_TexCoord4i ), - NAME_FUNC_OFFSET( 1471, glTexCoord4iv, _gloffset_TexCoord4iv ), - NAME_FUNC_OFFSET( 1485, glTexCoord4s, _gloffset_TexCoord4s ), - NAME_FUNC_OFFSET( 1498, glTexCoord4sv, _gloffset_TexCoord4sv ), - NAME_FUNC_OFFSET( 1512, glVertex2d, _gloffset_Vertex2d ), - NAME_FUNC_OFFSET( 1523, glVertex2dv, _gloffset_Vertex2dv ), - NAME_FUNC_OFFSET( 1535, glVertex2f, _gloffset_Vertex2f ), - NAME_FUNC_OFFSET( 1546, glVertex2fv, _gloffset_Vertex2fv ), - NAME_FUNC_OFFSET( 1558, glVertex2i, _gloffset_Vertex2i ), - NAME_FUNC_OFFSET( 1569, glVertex2iv, _gloffset_Vertex2iv ), - NAME_FUNC_OFFSET( 1581, glVertex2s, _gloffset_Vertex2s ), - NAME_FUNC_OFFSET( 1592, glVertex2sv, _gloffset_Vertex2sv ), - NAME_FUNC_OFFSET( 1604, glVertex3d, _gloffset_Vertex3d ), - NAME_FUNC_OFFSET( 1615, glVertex3dv, _gloffset_Vertex3dv ), - NAME_FUNC_OFFSET( 1627, glVertex3f, _gloffset_Vertex3f ), - NAME_FUNC_OFFSET( 1638, glVertex3fv, _gloffset_Vertex3fv ), - NAME_FUNC_OFFSET( 1650, glVertex3i, _gloffset_Vertex3i ), - NAME_FUNC_OFFSET( 1661, glVertex3iv, _gloffset_Vertex3iv ), - NAME_FUNC_OFFSET( 1673, glVertex3s, _gloffset_Vertex3s ), - NAME_FUNC_OFFSET( 1684, glVertex3sv, _gloffset_Vertex3sv ), - NAME_FUNC_OFFSET( 1696, glVertex4d, _gloffset_Vertex4d ), - NAME_FUNC_OFFSET( 1707, glVertex4dv, _gloffset_Vertex4dv ), - NAME_FUNC_OFFSET( 1719, glVertex4f, _gloffset_Vertex4f ), - NAME_FUNC_OFFSET( 1730, glVertex4fv, _gloffset_Vertex4fv ), - NAME_FUNC_OFFSET( 1742, glVertex4i, _gloffset_Vertex4i ), - NAME_FUNC_OFFSET( 1753, glVertex4iv, _gloffset_Vertex4iv ), - NAME_FUNC_OFFSET( 1765, glVertex4s, _gloffset_Vertex4s ), - NAME_FUNC_OFFSET( 1776, glVertex4sv, _gloffset_Vertex4sv ), - NAME_FUNC_OFFSET( 1788, glClipPlane, _gloffset_ClipPlane ), - NAME_FUNC_OFFSET( 1800, glColorMaterial, _gloffset_ColorMaterial ), - NAME_FUNC_OFFSET( 1816, glCullFace, _gloffset_CullFace ), - NAME_FUNC_OFFSET( 1827, glFogf, _gloffset_Fogf ), - NAME_FUNC_OFFSET( 1834, glFogfv, _gloffset_Fogfv ), - NAME_FUNC_OFFSET( 1842, glFogi, _gloffset_Fogi ), - NAME_FUNC_OFFSET( 1849, glFogiv, _gloffset_Fogiv ), - NAME_FUNC_OFFSET( 1857, glFrontFace, _gloffset_FrontFace ), - NAME_FUNC_OFFSET( 1869, glHint, _gloffset_Hint ), - NAME_FUNC_OFFSET( 1876, glLightf, _gloffset_Lightf ), - NAME_FUNC_OFFSET( 1885, glLightfv, _gloffset_Lightfv ), - NAME_FUNC_OFFSET( 1895, glLighti, _gloffset_Lighti ), - NAME_FUNC_OFFSET( 1904, glLightiv, _gloffset_Lightiv ), - NAME_FUNC_OFFSET( 1914, glLightModelf, _gloffset_LightModelf ), - NAME_FUNC_OFFSET( 1928, glLightModelfv, _gloffset_LightModelfv ), - NAME_FUNC_OFFSET( 1943, glLightModeli, _gloffset_LightModeli ), - NAME_FUNC_OFFSET( 1957, glLightModeliv, _gloffset_LightModeliv ), - NAME_FUNC_OFFSET( 1972, glLineStipple, _gloffset_LineStipple ), - NAME_FUNC_OFFSET( 1986, glLineWidth, _gloffset_LineWidth ), - NAME_FUNC_OFFSET( 1998, glMaterialf, _gloffset_Materialf ), - NAME_FUNC_OFFSET( 2010, glMaterialfv, _gloffset_Materialfv ), - NAME_FUNC_OFFSET( 2023, glMateriali, _gloffset_Materiali ), - NAME_FUNC_OFFSET( 2035, glMaterialiv, _gloffset_Materialiv ), - NAME_FUNC_OFFSET( 2048, glPointSize, _gloffset_PointSize ), - NAME_FUNC_OFFSET( 2060, glPolygonMode, _gloffset_PolygonMode ), - NAME_FUNC_OFFSET( 2074, glPolygonStipple, _gloffset_PolygonStipple ), - NAME_FUNC_OFFSET( 2091, glScissor, _gloffset_Scissor ), - NAME_FUNC_OFFSET( 2101, glShadeModel, _gloffset_ShadeModel ), - NAME_FUNC_OFFSET( 2114, glTexParameterf, _gloffset_TexParameterf ), - NAME_FUNC_OFFSET( 2130, glTexParameterfv, _gloffset_TexParameterfv ), - NAME_FUNC_OFFSET( 2147, glTexParameteri, _gloffset_TexParameteri ), - NAME_FUNC_OFFSET( 2163, glTexParameteriv, _gloffset_TexParameteriv ), - NAME_FUNC_OFFSET( 2180, glTexImage1D, _gloffset_TexImage1D ), - NAME_FUNC_OFFSET( 2193, glTexImage2D, _gloffset_TexImage2D ), - NAME_FUNC_OFFSET( 2206, glTexEnvf, _gloffset_TexEnvf ), - NAME_FUNC_OFFSET( 2216, glTexEnvfv, _gloffset_TexEnvfv ), - NAME_FUNC_OFFSET( 2227, glTexEnvi, _gloffset_TexEnvi ), - NAME_FUNC_OFFSET( 2237, glTexEnviv, _gloffset_TexEnviv ), - NAME_FUNC_OFFSET( 2248, glTexGend, _gloffset_TexGend ), - NAME_FUNC_OFFSET( 2258, glTexGendv, _gloffset_TexGendv ), - NAME_FUNC_OFFSET( 2269, glTexGenf, _gloffset_TexGenf ), - NAME_FUNC_OFFSET( 2279, glTexGenfv, _gloffset_TexGenfv ), - NAME_FUNC_OFFSET( 2290, glTexGeni, _gloffset_TexGeni ), - NAME_FUNC_OFFSET( 2300, glTexGeniv, _gloffset_TexGeniv ), - NAME_FUNC_OFFSET( 2311, glFeedbackBuffer, _gloffset_FeedbackBuffer ), - NAME_FUNC_OFFSET( 2328, glSelectBuffer, _gloffset_SelectBuffer ), - NAME_FUNC_OFFSET( 2343, glRenderMode, _gloffset_RenderMode ), - NAME_FUNC_OFFSET( 2356, glInitNames, _gloffset_InitNames ), - NAME_FUNC_OFFSET( 2368, glLoadName, _gloffset_LoadName ), - NAME_FUNC_OFFSET( 2379, glPassThrough, _gloffset_PassThrough ), - NAME_FUNC_OFFSET( 2393, glPopName, _gloffset_PopName ), - NAME_FUNC_OFFSET( 2403, glPushName, _gloffset_PushName ), - NAME_FUNC_OFFSET( 2414, glDrawBuffer, _gloffset_DrawBuffer ), - NAME_FUNC_OFFSET( 2427, glClear, _gloffset_Clear ), - NAME_FUNC_OFFSET( 2435, glClearAccum, _gloffset_ClearAccum ), - NAME_FUNC_OFFSET( 2448, glClearIndex, _gloffset_ClearIndex ), - NAME_FUNC_OFFSET( 2461, glClearColor, _gloffset_ClearColor ), - NAME_FUNC_OFFSET( 2474, glClearStencil, _gloffset_ClearStencil ), - NAME_FUNC_OFFSET( 2489, glClearDepth, _gloffset_ClearDepth ), - NAME_FUNC_OFFSET( 2502, glStencilMask, _gloffset_StencilMask ), - NAME_FUNC_OFFSET( 2516, glColorMask, _gloffset_ColorMask ), - NAME_FUNC_OFFSET( 2528, glDepthMask, _gloffset_DepthMask ), - NAME_FUNC_OFFSET( 2540, glIndexMask, _gloffset_IndexMask ), - NAME_FUNC_OFFSET( 2552, glAccum, _gloffset_Accum ), - NAME_FUNC_OFFSET( 2560, glDisable, _gloffset_Disable ), - NAME_FUNC_OFFSET( 2570, glEnable, _gloffset_Enable ), - NAME_FUNC_OFFSET( 2579, glFinish, _gloffset_Finish ), - NAME_FUNC_OFFSET( 2588, glFlush, _gloffset_Flush ), - NAME_FUNC_OFFSET( 2596, glPopAttrib, _gloffset_PopAttrib ), - NAME_FUNC_OFFSET( 2608, glPushAttrib, _gloffset_PushAttrib ), - NAME_FUNC_OFFSET( 2621, glMap1d, _gloffset_Map1d ), - NAME_FUNC_OFFSET( 2629, glMap1f, _gloffset_Map1f ), - NAME_FUNC_OFFSET( 2637, glMap2d, _gloffset_Map2d ), - NAME_FUNC_OFFSET( 2645, glMap2f, _gloffset_Map2f ), - NAME_FUNC_OFFSET( 2653, glMapGrid1d, _gloffset_MapGrid1d ), - NAME_FUNC_OFFSET( 2665, glMapGrid1f, _gloffset_MapGrid1f ), - NAME_FUNC_OFFSET( 2677, glMapGrid2d, _gloffset_MapGrid2d ), - NAME_FUNC_OFFSET( 2689, glMapGrid2f, _gloffset_MapGrid2f ), - NAME_FUNC_OFFSET( 2701, glEvalCoord1d, _gloffset_EvalCoord1d ), - NAME_FUNC_OFFSET( 2715, glEvalCoord1dv, _gloffset_EvalCoord1dv ), - NAME_FUNC_OFFSET( 2730, glEvalCoord1f, _gloffset_EvalCoord1f ), - NAME_FUNC_OFFSET( 2744, glEvalCoord1fv, _gloffset_EvalCoord1fv ), - NAME_FUNC_OFFSET( 2759, glEvalCoord2d, _gloffset_EvalCoord2d ), - NAME_FUNC_OFFSET( 2773, glEvalCoord2dv, _gloffset_EvalCoord2dv ), - NAME_FUNC_OFFSET( 2788, glEvalCoord2f, _gloffset_EvalCoord2f ), - NAME_FUNC_OFFSET( 2802, glEvalCoord2fv, _gloffset_EvalCoord2fv ), - NAME_FUNC_OFFSET( 2817, glEvalMesh1, _gloffset_EvalMesh1 ), - NAME_FUNC_OFFSET( 2829, glEvalPoint1, _gloffset_EvalPoint1 ), - NAME_FUNC_OFFSET( 2842, glEvalMesh2, _gloffset_EvalMesh2 ), - NAME_FUNC_OFFSET( 2854, glEvalPoint2, _gloffset_EvalPoint2 ), - NAME_FUNC_OFFSET( 2867, glAlphaFunc, _gloffset_AlphaFunc ), - NAME_FUNC_OFFSET( 2879, glBlendFunc, _gloffset_BlendFunc ), - NAME_FUNC_OFFSET( 2891, glLogicOp, _gloffset_LogicOp ), - NAME_FUNC_OFFSET( 2901, glStencilFunc, _gloffset_StencilFunc ), - NAME_FUNC_OFFSET( 2915, glStencilOp, _gloffset_StencilOp ), - NAME_FUNC_OFFSET( 2927, glDepthFunc, _gloffset_DepthFunc ), - NAME_FUNC_OFFSET( 2939, glPixelZoom, _gloffset_PixelZoom ), - NAME_FUNC_OFFSET( 2951, glPixelTransferf, _gloffset_PixelTransferf ), - NAME_FUNC_OFFSET( 2968, glPixelTransferi, _gloffset_PixelTransferi ), - NAME_FUNC_OFFSET( 2985, glPixelStoref, _gloffset_PixelStoref ), - NAME_FUNC_OFFSET( 2999, glPixelStorei, _gloffset_PixelStorei ), - NAME_FUNC_OFFSET( 3013, glPixelMapfv, _gloffset_PixelMapfv ), - NAME_FUNC_OFFSET( 3026, glPixelMapuiv, _gloffset_PixelMapuiv ), - NAME_FUNC_OFFSET( 3040, glPixelMapusv, _gloffset_PixelMapusv ), - NAME_FUNC_OFFSET( 3054, glReadBuffer, _gloffset_ReadBuffer ), - NAME_FUNC_OFFSET( 3067, glCopyPixels, _gloffset_CopyPixels ), - NAME_FUNC_OFFSET( 3080, glReadPixels, _gloffset_ReadPixels ), - NAME_FUNC_OFFSET( 3093, glDrawPixels, _gloffset_DrawPixels ), - NAME_FUNC_OFFSET( 3106, glGetBooleanv, _gloffset_GetBooleanv ), - NAME_FUNC_OFFSET( 3120, glGetClipPlane, _gloffset_GetClipPlane ), - NAME_FUNC_OFFSET( 3135, glGetDoublev, _gloffset_GetDoublev ), - NAME_FUNC_OFFSET( 3148, glGetError, _gloffset_GetError ), - NAME_FUNC_OFFSET( 3159, glGetFloatv, _gloffset_GetFloatv ), - NAME_FUNC_OFFSET( 3171, glGetIntegerv, _gloffset_GetIntegerv ), - NAME_FUNC_OFFSET( 3185, glGetLightfv, _gloffset_GetLightfv ), - NAME_FUNC_OFFSET( 3198, glGetLightiv, _gloffset_GetLightiv ), - NAME_FUNC_OFFSET( 3211, glGetMapdv, _gloffset_GetMapdv ), - NAME_FUNC_OFFSET( 3222, glGetMapfv, _gloffset_GetMapfv ), - NAME_FUNC_OFFSET( 3233, glGetMapiv, _gloffset_GetMapiv ), - NAME_FUNC_OFFSET( 3244, glGetMaterialfv, _gloffset_GetMaterialfv ), - NAME_FUNC_OFFSET( 3260, glGetMaterialiv, _gloffset_GetMaterialiv ), - NAME_FUNC_OFFSET( 3276, glGetPixelMapfv, _gloffset_GetPixelMapfv ), - NAME_FUNC_OFFSET( 3292, glGetPixelMapuiv, _gloffset_GetPixelMapuiv ), - NAME_FUNC_OFFSET( 3309, glGetPixelMapusv, _gloffset_GetPixelMapusv ), - NAME_FUNC_OFFSET( 3326, glGetPolygonStipple, _gloffset_GetPolygonStipple ), - NAME_FUNC_OFFSET( 3346, glGetString, _gloffset_GetString ), - NAME_FUNC_OFFSET( 3358, glGetTexEnvfv, _gloffset_GetTexEnvfv ), - NAME_FUNC_OFFSET( 3372, glGetTexEnviv, _gloffset_GetTexEnviv ), - NAME_FUNC_OFFSET( 3386, glGetTexGendv, _gloffset_GetTexGendv ), - NAME_FUNC_OFFSET( 3400, glGetTexGenfv, _gloffset_GetTexGenfv ), - NAME_FUNC_OFFSET( 3414, glGetTexGeniv, _gloffset_GetTexGeniv ), - NAME_FUNC_OFFSET( 3428, glGetTexImage, _gloffset_GetTexImage ), - NAME_FUNC_OFFSET( 3442, glGetTexParameterfv, _gloffset_GetTexParameterfv ), - NAME_FUNC_OFFSET( 3462, glGetTexParameteriv, _gloffset_GetTexParameteriv ), - NAME_FUNC_OFFSET( 3482, glGetTexLevelParameterfv, _gloffset_GetTexLevelParameterfv ), - NAME_FUNC_OFFSET( 3507, glGetTexLevelParameteriv, _gloffset_GetTexLevelParameteriv ), - NAME_FUNC_OFFSET( 3532, glIsEnabled, _gloffset_IsEnabled ), - NAME_FUNC_OFFSET( 3544, glIsList, _gloffset_IsList ), - NAME_FUNC_OFFSET( 3553, glDepthRange, _gloffset_DepthRange ), - NAME_FUNC_OFFSET( 3566, glFrustum, _gloffset_Frustum ), - NAME_FUNC_OFFSET( 3576, glLoadIdentity, _gloffset_LoadIdentity ), - NAME_FUNC_OFFSET( 3591, glLoadMatrixf, _gloffset_LoadMatrixf ), - NAME_FUNC_OFFSET( 3605, glLoadMatrixd, _gloffset_LoadMatrixd ), - NAME_FUNC_OFFSET( 3619, glMatrixMode, _gloffset_MatrixMode ), - NAME_FUNC_OFFSET( 3632, glMultMatrixf, _gloffset_MultMatrixf ), - NAME_FUNC_OFFSET( 3646, glMultMatrixd, _gloffset_MultMatrixd ), - NAME_FUNC_OFFSET( 3660, glOrtho, _gloffset_Ortho ), - NAME_FUNC_OFFSET( 3668, glPopMatrix, _gloffset_PopMatrix ), - NAME_FUNC_OFFSET( 3680, glPushMatrix, _gloffset_PushMatrix ), - NAME_FUNC_OFFSET( 3693, glRotated, _gloffset_Rotated ), - NAME_FUNC_OFFSET( 3703, glRotatef, _gloffset_Rotatef ), - NAME_FUNC_OFFSET( 3713, glScaled, _gloffset_Scaled ), - NAME_FUNC_OFFSET( 3722, glScalef, _gloffset_Scalef ), - NAME_FUNC_OFFSET( 3731, glTranslated, _gloffset_Translated ), - NAME_FUNC_OFFSET( 3744, glTranslatef, _gloffset_Translatef ), - NAME_FUNC_OFFSET( 3757, glViewport, _gloffset_Viewport ), - NAME_FUNC_OFFSET( 3768, glArrayElement, _gloffset_ArrayElement ), - NAME_FUNC_OFFSET( 3783, glBindTexture, _gloffset_BindTexture ), - NAME_FUNC_OFFSET( 3797, glColorPointer, _gloffset_ColorPointer ), - NAME_FUNC_OFFSET( 3812, glDisableClientState, _gloffset_DisableClientState ), - NAME_FUNC_OFFSET( 3833, glDrawArrays, _gloffset_DrawArrays ), - NAME_FUNC_OFFSET( 3846, glDrawElements, _gloffset_DrawElements ), - NAME_FUNC_OFFSET( 3861, glEdgeFlagPointer, _gloffset_EdgeFlagPointer ), - NAME_FUNC_OFFSET( 3879, glEnableClientState, _gloffset_EnableClientState ), - NAME_FUNC_OFFSET( 3899, glIndexPointer, _gloffset_IndexPointer ), - NAME_FUNC_OFFSET( 3914, glIndexub, _gloffset_Indexub ), - NAME_FUNC_OFFSET( 3924, glIndexubv, _gloffset_Indexubv ), - NAME_FUNC_OFFSET( 3935, glInterleavedArrays, _gloffset_InterleavedArrays ), - NAME_FUNC_OFFSET( 3955, glNormalPointer, _gloffset_NormalPointer ), - NAME_FUNC_OFFSET( 3971, glPolygonOffset, _gloffset_PolygonOffset ), - NAME_FUNC_OFFSET( 3987, glTexCoordPointer, _gloffset_TexCoordPointer ), - NAME_FUNC_OFFSET( 4005, glVertexPointer, _gloffset_VertexPointer ), - NAME_FUNC_OFFSET( 4021, glAreTexturesResident, _gloffset_AreTexturesResident ), - NAME_FUNC_OFFSET( 4043, glCopyTexImage1D, _gloffset_CopyTexImage1D ), - NAME_FUNC_OFFSET( 4060, glCopyTexImage2D, _gloffset_CopyTexImage2D ), - NAME_FUNC_OFFSET( 4077, glCopyTexSubImage1D, _gloffset_CopyTexSubImage1D ), - NAME_FUNC_OFFSET( 4097, glCopyTexSubImage2D, _gloffset_CopyTexSubImage2D ), - NAME_FUNC_OFFSET( 4117, glDeleteTextures, _gloffset_DeleteTextures ), - NAME_FUNC_OFFSET( 4134, glGenTextures, _gloffset_GenTextures ), - NAME_FUNC_OFFSET( 4148, glGetPointerv, _gloffset_GetPointerv ), - NAME_FUNC_OFFSET( 4162, glIsTexture, _gloffset_IsTexture ), - NAME_FUNC_OFFSET( 4174, glPrioritizeTextures, _gloffset_PrioritizeTextures ), - NAME_FUNC_OFFSET( 4195, glTexSubImage1D, _gloffset_TexSubImage1D ), - NAME_FUNC_OFFSET( 4211, glTexSubImage2D, _gloffset_TexSubImage2D ), - NAME_FUNC_OFFSET( 4227, glPopClientAttrib, _gloffset_PopClientAttrib ), - NAME_FUNC_OFFSET( 4245, glPushClientAttrib, _gloffset_PushClientAttrib ), - NAME_FUNC_OFFSET( 4264, glBlendColor, _gloffset_BlendColor ), - NAME_FUNC_OFFSET( 4277, glBlendEquation, _gloffset_BlendEquation ), - NAME_FUNC_OFFSET( 4293, glDrawRangeElements, _gloffset_DrawRangeElements ), - NAME_FUNC_OFFSET( 4313, glColorTable, _gloffset_ColorTable ), - NAME_FUNC_OFFSET( 4326, glColorTableParameterfv, _gloffset_ColorTableParameterfv ), - NAME_FUNC_OFFSET( 4350, glColorTableParameteriv, _gloffset_ColorTableParameteriv ), - NAME_FUNC_OFFSET( 4374, glCopyColorTable, _gloffset_CopyColorTable ), - NAME_FUNC_OFFSET( 4391, glGetColorTable, _gloffset_GetColorTable ), - NAME_FUNC_OFFSET( 4407, glGetColorTableParameterfv, _gloffset_GetColorTableParameterfv ), - NAME_FUNC_OFFSET( 4434, glGetColorTableParameteriv, _gloffset_GetColorTableParameteriv ), - NAME_FUNC_OFFSET( 4461, glColorSubTable, _gloffset_ColorSubTable ), - NAME_FUNC_OFFSET( 4477, glCopyColorSubTable, _gloffset_CopyColorSubTable ), - NAME_FUNC_OFFSET( 4497, glConvolutionFilter1D, _gloffset_ConvolutionFilter1D ), - NAME_FUNC_OFFSET( 4519, glConvolutionFilter2D, _gloffset_ConvolutionFilter2D ), - NAME_FUNC_OFFSET( 4541, glConvolutionParameterf, _gloffset_ConvolutionParameterf ), - NAME_FUNC_OFFSET( 4565, glConvolutionParameterfv, _gloffset_ConvolutionParameterfv ), - NAME_FUNC_OFFSET( 4590, glConvolutionParameteri, _gloffset_ConvolutionParameteri ), - NAME_FUNC_OFFSET( 4614, glConvolutionParameteriv, _gloffset_ConvolutionParameteriv ), - NAME_FUNC_OFFSET( 4639, glCopyConvolutionFilter1D, _gloffset_CopyConvolutionFilter1D ), - NAME_FUNC_OFFSET( 4665, glCopyConvolutionFilter2D, _gloffset_CopyConvolutionFilter2D ), - NAME_FUNC_OFFSET( 4691, glGetConvolutionFilter, _gloffset_GetConvolutionFilter ), - NAME_FUNC_OFFSET( 4714, glGetConvolutionParameterfv, _gloffset_GetConvolutionParameterfv ), - NAME_FUNC_OFFSET( 4742, glGetConvolutionParameteriv, _gloffset_GetConvolutionParameteriv ), - NAME_FUNC_OFFSET( 4770, glGetSeparableFilter, _gloffset_GetSeparableFilter ), - NAME_FUNC_OFFSET( 4791, glSeparableFilter2D, _gloffset_SeparableFilter2D ), - NAME_FUNC_OFFSET( 4811, glGetHistogram, _gloffset_GetHistogram ), - NAME_FUNC_OFFSET( 4826, glGetHistogramParameterfv, _gloffset_GetHistogramParameterfv ), - NAME_FUNC_OFFSET( 4852, glGetHistogramParameteriv, _gloffset_GetHistogramParameteriv ), - NAME_FUNC_OFFSET( 4878, glGetMinmax, _gloffset_GetMinmax ), - NAME_FUNC_OFFSET( 4890, glGetMinmaxParameterfv, _gloffset_GetMinmaxParameterfv ), - NAME_FUNC_OFFSET( 4913, glGetMinmaxParameteriv, _gloffset_GetMinmaxParameteriv ), - NAME_FUNC_OFFSET( 4936, glHistogram, _gloffset_Histogram ), - NAME_FUNC_OFFSET( 4948, glMinmax, _gloffset_Minmax ), - NAME_FUNC_OFFSET( 4957, glResetHistogram, _gloffset_ResetHistogram ), - NAME_FUNC_OFFSET( 4974, glResetMinmax, _gloffset_ResetMinmax ), - NAME_FUNC_OFFSET( 4988, glTexImage3D, _gloffset_TexImage3D ), - NAME_FUNC_OFFSET( 5001, glTexSubImage3D, _gloffset_TexSubImage3D ), - NAME_FUNC_OFFSET( 5017, glCopyTexSubImage3D, _gloffset_CopyTexSubImage3D ), - NAME_FUNC_OFFSET( 5037, glActiveTextureARB, _gloffset_ActiveTextureARB ), - NAME_FUNC_OFFSET( 5056, glClientActiveTextureARB, _gloffset_ClientActiveTextureARB ), - NAME_FUNC_OFFSET( 5081, glMultiTexCoord1dARB, _gloffset_MultiTexCoord1dARB ), - NAME_FUNC_OFFSET( 5102, glMultiTexCoord1dvARB, _gloffset_MultiTexCoord1dvARB ), - NAME_FUNC_OFFSET( 5124, glMultiTexCoord1fARB, _gloffset_MultiTexCoord1fARB ), - NAME_FUNC_OFFSET( 5145, glMultiTexCoord1fvARB, _gloffset_MultiTexCoord1fvARB ), - NAME_FUNC_OFFSET( 5167, glMultiTexCoord1iARB, _gloffset_MultiTexCoord1iARB ), - NAME_FUNC_OFFSET( 5188, glMultiTexCoord1ivARB, _gloffset_MultiTexCoord1ivARB ), - NAME_FUNC_OFFSET( 5210, glMultiTexCoord1sARB, _gloffset_MultiTexCoord1sARB ), - NAME_FUNC_OFFSET( 5231, glMultiTexCoord1svARB, _gloffset_MultiTexCoord1svARB ), - NAME_FUNC_OFFSET( 5253, glMultiTexCoord2dARB, _gloffset_MultiTexCoord2dARB ), - NAME_FUNC_OFFSET( 5274, glMultiTexCoord2dvARB, _gloffset_MultiTexCoord2dvARB ), - NAME_FUNC_OFFSET( 5296, glMultiTexCoord2fARB, _gloffset_MultiTexCoord2fARB ), - NAME_FUNC_OFFSET( 5317, glMultiTexCoord2fvARB, _gloffset_MultiTexCoord2fvARB ), - NAME_FUNC_OFFSET( 5339, glMultiTexCoord2iARB, _gloffset_MultiTexCoord2iARB ), - NAME_FUNC_OFFSET( 5360, glMultiTexCoord2ivARB, _gloffset_MultiTexCoord2ivARB ), - NAME_FUNC_OFFSET( 5382, glMultiTexCoord2sARB, _gloffset_MultiTexCoord2sARB ), - NAME_FUNC_OFFSET( 5403, glMultiTexCoord2svARB, _gloffset_MultiTexCoord2svARB ), - NAME_FUNC_OFFSET( 5425, glMultiTexCoord3dARB, _gloffset_MultiTexCoord3dARB ), - NAME_FUNC_OFFSET( 5446, glMultiTexCoord3dvARB, _gloffset_MultiTexCoord3dvARB ), - NAME_FUNC_OFFSET( 5468, glMultiTexCoord3fARB, _gloffset_MultiTexCoord3fARB ), - NAME_FUNC_OFFSET( 5489, glMultiTexCoord3fvARB, _gloffset_MultiTexCoord3fvARB ), - NAME_FUNC_OFFSET( 5511, glMultiTexCoord3iARB, _gloffset_MultiTexCoord3iARB ), - NAME_FUNC_OFFSET( 5532, glMultiTexCoord3ivARB, _gloffset_MultiTexCoord3ivARB ), - NAME_FUNC_OFFSET( 5554, glMultiTexCoord3sARB, _gloffset_MultiTexCoord3sARB ), - NAME_FUNC_OFFSET( 5575, glMultiTexCoord3svARB, _gloffset_MultiTexCoord3svARB ), - NAME_FUNC_OFFSET( 5597, glMultiTexCoord4dARB, _gloffset_MultiTexCoord4dARB ), - NAME_FUNC_OFFSET( 5618, glMultiTexCoord4dvARB, _gloffset_MultiTexCoord4dvARB ), - NAME_FUNC_OFFSET( 5640, glMultiTexCoord4fARB, _gloffset_MultiTexCoord4fARB ), - NAME_FUNC_OFFSET( 5661, glMultiTexCoord4fvARB, _gloffset_MultiTexCoord4fvARB ), - NAME_FUNC_OFFSET( 5683, glMultiTexCoord4iARB, _gloffset_MultiTexCoord4iARB ), - NAME_FUNC_OFFSET( 5704, glMultiTexCoord4ivARB, _gloffset_MultiTexCoord4ivARB ), - NAME_FUNC_OFFSET( 5726, glMultiTexCoord4sARB, _gloffset_MultiTexCoord4sARB ), - NAME_FUNC_OFFSET( 5747, glMultiTexCoord4svARB, _gloffset_MultiTexCoord4svARB ), - NAME_FUNC_OFFSET( 5769, glStencilFuncSeparate, _gloffset_StencilFuncSeparate ), - NAME_FUNC_OFFSET( 5791, glStencilMaskSeparate, _gloffset_StencilMaskSeparate ), - NAME_FUNC_OFFSET( 5813, glStencilOpSeparate, _gloffset_StencilOpSeparate ), - NAME_FUNC_OFFSET( 5833, glLoadTransposeMatrixdARB, _gloffset_LoadTransposeMatrixdARB ), - NAME_FUNC_OFFSET( 5859, glLoadTransposeMatrixfARB, _gloffset_LoadTransposeMatrixfARB ), - NAME_FUNC_OFFSET( 5885, glMultTransposeMatrixdARB, _gloffset_MultTransposeMatrixdARB ), - NAME_FUNC_OFFSET( 5911, glMultTransposeMatrixfARB, _gloffset_MultTransposeMatrixfARB ), - NAME_FUNC_OFFSET( 5937, glSampleCoverageARB, _gloffset_SampleCoverageARB ), - NAME_FUNC_OFFSET( 5957, glCompressedTexImage1DARB, _gloffset_CompressedTexImage1DARB ), - NAME_FUNC_OFFSET( 5983, glCompressedTexImage2DARB, _gloffset_CompressedTexImage2DARB ), - NAME_FUNC_OFFSET( 6009, glCompressedTexImage3DARB, _gloffset_CompressedTexImage3DARB ), - NAME_FUNC_OFFSET( 6035, glCompressedTexSubImage1DARB, _gloffset_CompressedTexSubImage1DARB ), - NAME_FUNC_OFFSET( 6064, glCompressedTexSubImage2DARB, _gloffset_CompressedTexSubImage2DARB ), - NAME_FUNC_OFFSET( 6093, glCompressedTexSubImage3DARB, _gloffset_CompressedTexSubImage3DARB ), - NAME_FUNC_OFFSET( 6122, glGetCompressedTexImageARB, _gloffset_GetCompressedTexImageARB ), - NAME_FUNC_OFFSET( 6149, glDisableVertexAttribArrayARB, _gloffset_DisableVertexAttribArrayARB ), - NAME_FUNC_OFFSET( 6179, glEnableVertexAttribArrayARB, _gloffset_EnableVertexAttribArrayARB ), - NAME_FUNC_OFFSET( 6208, glGetProgramEnvParameterdvARB, _gloffset_GetProgramEnvParameterdvARB ), - NAME_FUNC_OFFSET( 6238, glGetProgramEnvParameterfvARB, _gloffset_GetProgramEnvParameterfvARB ), - NAME_FUNC_OFFSET( 6268, glGetProgramLocalParameterdvARB, _gloffset_GetProgramLocalParameterdvARB ), - NAME_FUNC_OFFSET( 6300, glGetProgramLocalParameterfvARB, _gloffset_GetProgramLocalParameterfvARB ), - NAME_FUNC_OFFSET( 6332, glGetProgramStringARB, _gloffset_GetProgramStringARB ), - NAME_FUNC_OFFSET( 6354, glGetProgramivARB, _gloffset_GetProgramivARB ), - NAME_FUNC_OFFSET( 6372, glGetVertexAttribdvARB, _gloffset_GetVertexAttribdvARB ), - NAME_FUNC_OFFSET( 6395, glGetVertexAttribfvARB, _gloffset_GetVertexAttribfvARB ), - NAME_FUNC_OFFSET( 6418, glGetVertexAttribivARB, _gloffset_GetVertexAttribivARB ), - NAME_FUNC_OFFSET( 6441, glProgramEnvParameter4dARB, _gloffset_ProgramEnvParameter4dARB ), - NAME_FUNC_OFFSET( 6468, glProgramEnvParameter4dvARB, _gloffset_ProgramEnvParameter4dvARB ), - NAME_FUNC_OFFSET( 6496, glProgramEnvParameter4fARB, _gloffset_ProgramEnvParameter4fARB ), - NAME_FUNC_OFFSET( 6523, glProgramEnvParameter4fvARB, _gloffset_ProgramEnvParameter4fvARB ), - NAME_FUNC_OFFSET( 6551, glProgramLocalParameter4dARB, _gloffset_ProgramLocalParameter4dARB ), - NAME_FUNC_OFFSET( 6580, glProgramLocalParameter4dvARB, _gloffset_ProgramLocalParameter4dvARB ), - NAME_FUNC_OFFSET( 6610, glProgramLocalParameter4fARB, _gloffset_ProgramLocalParameter4fARB ), - NAME_FUNC_OFFSET( 6639, glProgramLocalParameter4fvARB, _gloffset_ProgramLocalParameter4fvARB ), - NAME_FUNC_OFFSET( 6669, glProgramStringARB, _gloffset_ProgramStringARB ), - NAME_FUNC_OFFSET( 6688, glVertexAttrib1dARB, _gloffset_VertexAttrib1dARB ), - NAME_FUNC_OFFSET( 6708, glVertexAttrib1dvARB, _gloffset_VertexAttrib1dvARB ), - NAME_FUNC_OFFSET( 6729, glVertexAttrib1fARB, _gloffset_VertexAttrib1fARB ), - NAME_FUNC_OFFSET( 6749, glVertexAttrib1fvARB, _gloffset_VertexAttrib1fvARB ), - NAME_FUNC_OFFSET( 6770, glVertexAttrib1sARB, _gloffset_VertexAttrib1sARB ), - NAME_FUNC_OFFSET( 6790, glVertexAttrib1svARB, _gloffset_VertexAttrib1svARB ), - NAME_FUNC_OFFSET( 6811, glVertexAttrib2dARB, _gloffset_VertexAttrib2dARB ), - NAME_FUNC_OFFSET( 6831, glVertexAttrib2dvARB, _gloffset_VertexAttrib2dvARB ), - NAME_FUNC_OFFSET( 6852, glVertexAttrib2fARB, _gloffset_VertexAttrib2fARB ), - NAME_FUNC_OFFSET( 6872, glVertexAttrib2fvARB, _gloffset_VertexAttrib2fvARB ), - NAME_FUNC_OFFSET( 6893, glVertexAttrib2sARB, _gloffset_VertexAttrib2sARB ), - NAME_FUNC_OFFSET( 6913, glVertexAttrib2svARB, _gloffset_VertexAttrib2svARB ), - NAME_FUNC_OFFSET( 6934, glVertexAttrib3dARB, _gloffset_VertexAttrib3dARB ), - NAME_FUNC_OFFSET( 6954, glVertexAttrib3dvARB, _gloffset_VertexAttrib3dvARB ), - NAME_FUNC_OFFSET( 6975, glVertexAttrib3fARB, _gloffset_VertexAttrib3fARB ), - NAME_FUNC_OFFSET( 6995, glVertexAttrib3fvARB, _gloffset_VertexAttrib3fvARB ), - NAME_FUNC_OFFSET( 7016, glVertexAttrib3sARB, _gloffset_VertexAttrib3sARB ), - NAME_FUNC_OFFSET( 7036, glVertexAttrib3svARB, _gloffset_VertexAttrib3svARB ), - NAME_FUNC_OFFSET( 7057, glVertexAttrib4NbvARB, _gloffset_VertexAttrib4NbvARB ), - NAME_FUNC_OFFSET( 7079, glVertexAttrib4NivARB, _gloffset_VertexAttrib4NivARB ), - NAME_FUNC_OFFSET( 7101, glVertexAttrib4NsvARB, _gloffset_VertexAttrib4NsvARB ), - NAME_FUNC_OFFSET( 7123, glVertexAttrib4NubARB, _gloffset_VertexAttrib4NubARB ), - NAME_FUNC_OFFSET( 7145, glVertexAttrib4NubvARB, _gloffset_VertexAttrib4NubvARB ), - NAME_FUNC_OFFSET( 7168, glVertexAttrib4NuivARB, _gloffset_VertexAttrib4NuivARB ), - NAME_FUNC_OFFSET( 7191, glVertexAttrib4NusvARB, _gloffset_VertexAttrib4NusvARB ), - NAME_FUNC_OFFSET( 7214, glVertexAttrib4bvARB, _gloffset_VertexAttrib4bvARB ), - NAME_FUNC_OFFSET( 7235, glVertexAttrib4dARB, _gloffset_VertexAttrib4dARB ), - NAME_FUNC_OFFSET( 7255, glVertexAttrib4dvARB, _gloffset_VertexAttrib4dvARB ), - NAME_FUNC_OFFSET( 7276, glVertexAttrib4fARB, _gloffset_VertexAttrib4fARB ), - NAME_FUNC_OFFSET( 7296, glVertexAttrib4fvARB, _gloffset_VertexAttrib4fvARB ), - NAME_FUNC_OFFSET( 7317, glVertexAttrib4ivARB, _gloffset_VertexAttrib4ivARB ), - NAME_FUNC_OFFSET( 7338, glVertexAttrib4sARB, _gloffset_VertexAttrib4sARB ), - NAME_FUNC_OFFSET( 7358, glVertexAttrib4svARB, _gloffset_VertexAttrib4svARB ), - NAME_FUNC_OFFSET( 7379, glVertexAttrib4ubvARB, _gloffset_VertexAttrib4ubvARB ), - NAME_FUNC_OFFSET( 7401, glVertexAttrib4uivARB, _gloffset_VertexAttrib4uivARB ), - NAME_FUNC_OFFSET( 7423, glVertexAttrib4usvARB, _gloffset_VertexAttrib4usvARB ), - NAME_FUNC_OFFSET( 7445, glVertexAttribPointerARB, _gloffset_VertexAttribPointerARB ), - NAME_FUNC_OFFSET( 7470, glBindBufferARB, _gloffset_BindBufferARB ), - NAME_FUNC_OFFSET( 7486, glBufferDataARB, _gloffset_BufferDataARB ), - NAME_FUNC_OFFSET( 7502, glBufferSubDataARB, _gloffset_BufferSubDataARB ), - NAME_FUNC_OFFSET( 7521, glDeleteBuffersARB, _gloffset_DeleteBuffersARB ), - NAME_FUNC_OFFSET( 7540, glGenBuffersARB, _gloffset_GenBuffersARB ), - NAME_FUNC_OFFSET( 7556, glGetBufferParameterivARB, _gloffset_GetBufferParameterivARB ), - NAME_FUNC_OFFSET( 7582, glGetBufferPointervARB, _gloffset_GetBufferPointervARB ), - NAME_FUNC_OFFSET( 7605, glGetBufferSubDataARB, _gloffset_GetBufferSubDataARB ), - NAME_FUNC_OFFSET( 7627, glIsBufferARB, _gloffset_IsBufferARB ), - NAME_FUNC_OFFSET( 7641, glMapBufferARB, _gloffset_MapBufferARB ), - NAME_FUNC_OFFSET( 7656, glUnmapBufferARB, _gloffset_UnmapBufferARB ), - NAME_FUNC_OFFSET( 7673, glBeginQueryARB, _gloffset_BeginQueryARB ), - NAME_FUNC_OFFSET( 7689, glDeleteQueriesARB, _gloffset_DeleteQueriesARB ), - NAME_FUNC_OFFSET( 7708, glEndQueryARB, _gloffset_EndQueryARB ), - NAME_FUNC_OFFSET( 7722, glGenQueriesARB, _gloffset_GenQueriesARB ), - NAME_FUNC_OFFSET( 7738, glGetQueryObjectivARB, _gloffset_GetQueryObjectivARB ), - NAME_FUNC_OFFSET( 7760, glGetQueryObjectuivARB, _gloffset_GetQueryObjectuivARB ), - NAME_FUNC_OFFSET( 7783, glGetQueryivARB, _gloffset_GetQueryivARB ), - NAME_FUNC_OFFSET( 7799, glIsQueryARB, _gloffset_IsQueryARB ), - NAME_FUNC_OFFSET( 7812, glAttachObjectARB, _gloffset_AttachObjectARB ), - NAME_FUNC_OFFSET( 7830, glCompileShaderARB, _gloffset_CompileShaderARB ), - NAME_FUNC_OFFSET( 7849, glCreateProgramObjectARB, _gloffset_CreateProgramObjectARB ), - NAME_FUNC_OFFSET( 7874, glCreateShaderObjectARB, _gloffset_CreateShaderObjectARB ), - NAME_FUNC_OFFSET( 7898, glDeleteObjectARB, _gloffset_DeleteObjectARB ), - NAME_FUNC_OFFSET( 7916, glDetachObjectARB, _gloffset_DetachObjectARB ), - NAME_FUNC_OFFSET( 7934, glGetActiveUniformARB, _gloffset_GetActiveUniformARB ), - NAME_FUNC_OFFSET( 7956, glGetAttachedObjectsARB, _gloffset_GetAttachedObjectsARB ), - NAME_FUNC_OFFSET( 7980, glGetHandleARB, _gloffset_GetHandleARB ), - NAME_FUNC_OFFSET( 7995, glGetInfoLogARB, _gloffset_GetInfoLogARB ), - NAME_FUNC_OFFSET( 8011, glGetObjectParameterfvARB, _gloffset_GetObjectParameterfvARB ), - NAME_FUNC_OFFSET( 8037, glGetObjectParameterivARB, _gloffset_GetObjectParameterivARB ), - NAME_FUNC_OFFSET( 8063, glGetShaderSourceARB, _gloffset_GetShaderSourceARB ), - NAME_FUNC_OFFSET( 8084, glGetUniformLocationARB, _gloffset_GetUniformLocationARB ), - NAME_FUNC_OFFSET( 8108, glGetUniformfvARB, _gloffset_GetUniformfvARB ), - NAME_FUNC_OFFSET( 8126, glGetUniformivARB, _gloffset_GetUniformivARB ), - NAME_FUNC_OFFSET( 8144, glLinkProgramARB, _gloffset_LinkProgramARB ), - NAME_FUNC_OFFSET( 8161, glShaderSourceARB, _gloffset_ShaderSourceARB ), - NAME_FUNC_OFFSET( 8179, glUniform1fARB, _gloffset_Uniform1fARB ), - NAME_FUNC_OFFSET( 8194, glUniform1fvARB, _gloffset_Uniform1fvARB ), - NAME_FUNC_OFFSET( 8210, glUniform1iARB, _gloffset_Uniform1iARB ), - NAME_FUNC_OFFSET( 8225, glUniform1ivARB, _gloffset_Uniform1ivARB ), - NAME_FUNC_OFFSET( 8241, glUniform2fARB, _gloffset_Uniform2fARB ), - NAME_FUNC_OFFSET( 8256, glUniform2fvARB, _gloffset_Uniform2fvARB ), - NAME_FUNC_OFFSET( 8272, glUniform2iARB, _gloffset_Uniform2iARB ), - NAME_FUNC_OFFSET( 8287, glUniform2ivARB, _gloffset_Uniform2ivARB ), - NAME_FUNC_OFFSET( 8303, glUniform3fARB, _gloffset_Uniform3fARB ), - NAME_FUNC_OFFSET( 8318, glUniform3fvARB, _gloffset_Uniform3fvARB ), - NAME_FUNC_OFFSET( 8334, glUniform3iARB, _gloffset_Uniform3iARB ), - NAME_FUNC_OFFSET( 8349, glUniform3ivARB, _gloffset_Uniform3ivARB ), - NAME_FUNC_OFFSET( 8365, glUniform4fARB, _gloffset_Uniform4fARB ), - NAME_FUNC_OFFSET( 8380, glUniform4fvARB, _gloffset_Uniform4fvARB ), - NAME_FUNC_OFFSET( 8396, glUniform4iARB, _gloffset_Uniform4iARB ), - NAME_FUNC_OFFSET( 8411, glUniform4ivARB, _gloffset_Uniform4ivARB ), - NAME_FUNC_OFFSET( 8427, glUniformMatrix2fvARB, _gloffset_UniformMatrix2fvARB ), - NAME_FUNC_OFFSET( 8449, glUniformMatrix3fvARB, _gloffset_UniformMatrix3fvARB ), - NAME_FUNC_OFFSET( 8471, glUniformMatrix4fvARB, _gloffset_UniformMatrix4fvARB ), - NAME_FUNC_OFFSET( 8493, glUseProgramObjectARB, _gloffset_UseProgramObjectARB ), - NAME_FUNC_OFFSET( 8515, glValidateProgramARB, _gloffset_ValidateProgramARB ), - NAME_FUNC_OFFSET( 8536, glBindAttribLocationARB, _gloffset_BindAttribLocationARB ), - NAME_FUNC_OFFSET( 8560, glGetActiveAttribARB, _gloffset_GetActiveAttribARB ), - NAME_FUNC_OFFSET( 8581, glGetAttribLocationARB, _gloffset_GetAttribLocationARB ), - NAME_FUNC_OFFSET( 8604, glDrawBuffersARB, _gloffset_DrawBuffersARB ), - NAME_FUNC_OFFSET( 8621, glPolygonOffsetEXT, _gloffset_PolygonOffsetEXT ), - NAME_FUNC_OFFSET( 8640, gl_dispatch_stub_543, _gloffset_GetHistogramEXT ), - NAME_FUNC_OFFSET( 8658, gl_dispatch_stub_544, _gloffset_GetHistogramParameterfvEXT ), - NAME_FUNC_OFFSET( 8687, gl_dispatch_stub_545, _gloffset_GetHistogramParameterivEXT ), - NAME_FUNC_OFFSET( 8716, gl_dispatch_stub_546, _gloffset_GetMinmaxEXT ), - NAME_FUNC_OFFSET( 8731, gl_dispatch_stub_547, _gloffset_GetMinmaxParameterfvEXT ), - NAME_FUNC_OFFSET( 8757, gl_dispatch_stub_548, _gloffset_GetMinmaxParameterivEXT ), - NAME_FUNC_OFFSET( 8783, gl_dispatch_stub_549, _gloffset_GetConvolutionFilterEXT ), - NAME_FUNC_OFFSET( 8809, gl_dispatch_stub_550, _gloffset_GetConvolutionParameterfvEXT ), - NAME_FUNC_OFFSET( 8840, gl_dispatch_stub_551, _gloffset_GetConvolutionParameterivEXT ), - NAME_FUNC_OFFSET( 8871, gl_dispatch_stub_552, _gloffset_GetSeparableFilterEXT ), - NAME_FUNC_OFFSET( 8895, gl_dispatch_stub_553, _gloffset_GetColorTableParameterfvSGI ), - NAME_FUNC_OFFSET( 8925, gl_dispatch_stub_554, _gloffset_GetColorTableParameterivSGI ), - NAME_FUNC_OFFSET( 8955, gl_dispatch_stub_555, _gloffset_GetColorTableSGI ), - NAME_FUNC_OFFSET( 8974, gl_dispatch_stub_556, _gloffset_GetPixelTexGenParameterfvSGIS ), - NAME_FUNC_OFFSET( 9006, gl_dispatch_stub_557, _gloffset_GetPixelTexGenParameterivSGIS ), - NAME_FUNC_OFFSET( 9038, gl_dispatch_stub_558, _gloffset_PixelTexGenParameterfSGIS ), - NAME_FUNC_OFFSET( 9066, gl_dispatch_stub_559, _gloffset_PixelTexGenParameterfvSGIS ), - NAME_FUNC_OFFSET( 9095, gl_dispatch_stub_560, _gloffset_PixelTexGenParameteriSGIS ), - NAME_FUNC_OFFSET( 9123, gl_dispatch_stub_561, _gloffset_PixelTexGenParameterivSGIS ), - NAME_FUNC_OFFSET( 9152, glAreTexturesResidentEXT, _gloffset_AreTexturesResidentEXT ), - NAME_FUNC_OFFSET( 9177, glGenTexturesEXT, _gloffset_GenTexturesEXT ), - NAME_FUNC_OFFSET( 9194, glIsTextureEXT, _gloffset_IsTextureEXT ), - NAME_FUNC_OFFSET( 9209, gl_dispatch_stub_565, _gloffset_SampleMaskSGIS ), - NAME_FUNC_OFFSET( 9226, gl_dispatch_stub_566, _gloffset_SamplePatternSGIS ), - NAME_FUNC_OFFSET( 9246, glColorPointerEXT, _gloffset_ColorPointerEXT ), - NAME_FUNC_OFFSET( 9264, glEdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT ), - NAME_FUNC_OFFSET( 9285, glIndexPointerEXT, _gloffset_IndexPointerEXT ), - NAME_FUNC_OFFSET( 9303, glNormalPointerEXT, _gloffset_NormalPointerEXT ), - NAME_FUNC_OFFSET( 9322, glTexCoordPointerEXT, _gloffset_TexCoordPointerEXT ), - NAME_FUNC_OFFSET( 9343, glVertexPointerEXT, _gloffset_VertexPointerEXT ), - NAME_FUNC_OFFSET( 9362, glPointParameterfEXT, _gloffset_PointParameterfEXT ), - NAME_FUNC_OFFSET( 9383, glPointParameterfvEXT, _gloffset_PointParameterfvEXT ), - NAME_FUNC_OFFSET( 9405, glLockArraysEXT, _gloffset_LockArraysEXT ), - NAME_FUNC_OFFSET( 9421, glUnlockArraysEXT, _gloffset_UnlockArraysEXT ), - NAME_FUNC_OFFSET( 9439, gl_dispatch_stub_577, _gloffset_CullParameterdvEXT ), - NAME_FUNC_OFFSET( 9460, gl_dispatch_stub_578, _gloffset_CullParameterfvEXT ), - NAME_FUNC_OFFSET( 9481, glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT ), - NAME_FUNC_OFFSET( 9503, glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT ), - NAME_FUNC_OFFSET( 9526, glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT ), - NAME_FUNC_OFFSET( 9548, glSecondaryColor3dvEXT, _gloffset_SecondaryColor3dvEXT ), - NAME_FUNC_OFFSET( 9571, glSecondaryColor3fEXT, _gloffset_SecondaryColor3fEXT ), - NAME_FUNC_OFFSET( 9593, glSecondaryColor3fvEXT, _gloffset_SecondaryColor3fvEXT ), - NAME_FUNC_OFFSET( 9616, glSecondaryColor3iEXT, _gloffset_SecondaryColor3iEXT ), - NAME_FUNC_OFFSET( 9638, glSecondaryColor3ivEXT, _gloffset_SecondaryColor3ivEXT ), - NAME_FUNC_OFFSET( 9661, glSecondaryColor3sEXT, _gloffset_SecondaryColor3sEXT ), - NAME_FUNC_OFFSET( 9683, glSecondaryColor3svEXT, _gloffset_SecondaryColor3svEXT ), - NAME_FUNC_OFFSET( 9706, glSecondaryColor3ubEXT, _gloffset_SecondaryColor3ubEXT ), - NAME_FUNC_OFFSET( 9729, glSecondaryColor3ubvEXT, _gloffset_SecondaryColor3ubvEXT ), - NAME_FUNC_OFFSET( 9753, glSecondaryColor3uiEXT, _gloffset_SecondaryColor3uiEXT ), - NAME_FUNC_OFFSET( 9776, glSecondaryColor3uivEXT, _gloffset_SecondaryColor3uivEXT ), - NAME_FUNC_OFFSET( 9800, glSecondaryColor3usEXT, _gloffset_SecondaryColor3usEXT ), - NAME_FUNC_OFFSET( 9823, glSecondaryColor3usvEXT, _gloffset_SecondaryColor3usvEXT ), - NAME_FUNC_OFFSET( 9847, glSecondaryColorPointerEXT, _gloffset_SecondaryColorPointerEXT ), - NAME_FUNC_OFFSET( 9874, glMultiDrawArraysEXT, _gloffset_MultiDrawArraysEXT ), - NAME_FUNC_OFFSET( 9895, glMultiDrawElementsEXT, _gloffset_MultiDrawElementsEXT ), - NAME_FUNC_OFFSET( 9918, glFogCoordPointerEXT, _gloffset_FogCoordPointerEXT ), - NAME_FUNC_OFFSET( 9939, glFogCoorddEXT, _gloffset_FogCoorddEXT ), - NAME_FUNC_OFFSET( 9954, glFogCoorddvEXT, _gloffset_FogCoorddvEXT ), - NAME_FUNC_OFFSET( 9970, glFogCoordfEXT, _gloffset_FogCoordfEXT ), - NAME_FUNC_OFFSET( 9985, glFogCoordfvEXT, _gloffset_FogCoordfvEXT ), - NAME_FUNC_OFFSET( 10001, gl_dispatch_stub_603, _gloffset_PixelTexGenSGIX ), - NAME_FUNC_OFFSET( 10019, glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT ), - NAME_FUNC_OFFSET( 10042, glFlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV ), - NAME_FUNC_OFFSET( 10068, glVertexArrayRangeNV, _gloffset_VertexArrayRangeNV ), - NAME_FUNC_OFFSET( 10089, glCombinerInputNV, _gloffset_CombinerInputNV ), - NAME_FUNC_OFFSET( 10107, glCombinerOutputNV, _gloffset_CombinerOutputNV ), - NAME_FUNC_OFFSET( 10126, glCombinerParameterfNV, _gloffset_CombinerParameterfNV ), - NAME_FUNC_OFFSET( 10149, glCombinerParameterfvNV, _gloffset_CombinerParameterfvNV ), - NAME_FUNC_OFFSET( 10173, glCombinerParameteriNV, _gloffset_CombinerParameteriNV ), - NAME_FUNC_OFFSET( 10196, glCombinerParameterivNV, _gloffset_CombinerParameterivNV ), - NAME_FUNC_OFFSET( 10220, glFinalCombinerInputNV, _gloffset_FinalCombinerInputNV ), - NAME_FUNC_OFFSET( 10243, glGetCombinerInputParameterfvNV, _gloffset_GetCombinerInputParameterfvNV ), - NAME_FUNC_OFFSET( 10275, glGetCombinerInputParameterivNV, _gloffset_GetCombinerInputParameterivNV ), - NAME_FUNC_OFFSET( 10307, glGetCombinerOutputParameterfvNV, _gloffset_GetCombinerOutputParameterfvNV ), - NAME_FUNC_OFFSET( 10340, glGetCombinerOutputParameterivNV, _gloffset_GetCombinerOutputParameterivNV ), - NAME_FUNC_OFFSET( 10373, glGetFinalCombinerInputParameterfvNV, _gloffset_GetFinalCombinerInputParameterfvNV ), - NAME_FUNC_OFFSET( 10410, glGetFinalCombinerInputParameterivNV, _gloffset_GetFinalCombinerInputParameterivNV ), - NAME_FUNC_OFFSET( 10447, glResizeBuffersMESA, _gloffset_ResizeBuffersMESA ), - NAME_FUNC_OFFSET( 10467, glWindowPos2dMESA, _gloffset_WindowPos2dMESA ), - NAME_FUNC_OFFSET( 10485, glWindowPos2dvMESA, _gloffset_WindowPos2dvMESA ), - NAME_FUNC_OFFSET( 10504, glWindowPos2fMESA, _gloffset_WindowPos2fMESA ), - NAME_FUNC_OFFSET( 10522, glWindowPos2fvMESA, _gloffset_WindowPos2fvMESA ), - NAME_FUNC_OFFSET( 10541, glWindowPos2iMESA, _gloffset_WindowPos2iMESA ), - NAME_FUNC_OFFSET( 10559, glWindowPos2ivMESA, _gloffset_WindowPos2ivMESA ), - NAME_FUNC_OFFSET( 10578, glWindowPos2sMESA, _gloffset_WindowPos2sMESA ), - NAME_FUNC_OFFSET( 10596, glWindowPos2svMESA, _gloffset_WindowPos2svMESA ), - NAME_FUNC_OFFSET( 10615, glWindowPos3dMESA, _gloffset_WindowPos3dMESA ), - NAME_FUNC_OFFSET( 10633, glWindowPos3dvMESA, _gloffset_WindowPos3dvMESA ), - NAME_FUNC_OFFSET( 10652, glWindowPos3fMESA, _gloffset_WindowPos3fMESA ), - NAME_FUNC_OFFSET( 10670, glWindowPos3fvMESA, _gloffset_WindowPos3fvMESA ), - NAME_FUNC_OFFSET( 10689, glWindowPos3iMESA, _gloffset_WindowPos3iMESA ), - NAME_FUNC_OFFSET( 10707, glWindowPos3ivMESA, _gloffset_WindowPos3ivMESA ), - NAME_FUNC_OFFSET( 10726, glWindowPos3sMESA, _gloffset_WindowPos3sMESA ), - NAME_FUNC_OFFSET( 10744, glWindowPos3svMESA, _gloffset_WindowPos3svMESA ), - NAME_FUNC_OFFSET( 10763, glWindowPos4dMESA, _gloffset_WindowPos4dMESA ), - NAME_FUNC_OFFSET( 10781, glWindowPos4dvMESA, _gloffset_WindowPos4dvMESA ), - NAME_FUNC_OFFSET( 10800, glWindowPos4fMESA, _gloffset_WindowPos4fMESA ), - NAME_FUNC_OFFSET( 10818, glWindowPos4fvMESA, _gloffset_WindowPos4fvMESA ), - NAME_FUNC_OFFSET( 10837, glWindowPos4iMESA, _gloffset_WindowPos4iMESA ), - NAME_FUNC_OFFSET( 10855, glWindowPos4ivMESA, _gloffset_WindowPos4ivMESA ), - NAME_FUNC_OFFSET( 10874, glWindowPos4sMESA, _gloffset_WindowPos4sMESA ), - NAME_FUNC_OFFSET( 10892, glWindowPos4svMESA, _gloffset_WindowPos4svMESA ), - NAME_FUNC_OFFSET( 10911, gl_dispatch_stub_645, _gloffset_MultiModeDrawArraysIBM ), - NAME_FUNC_OFFSET( 10936, gl_dispatch_stub_646, _gloffset_MultiModeDrawElementsIBM ), - NAME_FUNC_OFFSET( 10963, gl_dispatch_stub_647, _gloffset_DeleteFencesNV ), - NAME_FUNC_OFFSET( 10980, gl_dispatch_stub_648, _gloffset_FinishFenceNV ), - NAME_FUNC_OFFSET( 10996, gl_dispatch_stub_649, _gloffset_GenFencesNV ), - NAME_FUNC_OFFSET( 11010, gl_dispatch_stub_650, _gloffset_GetFenceivNV ), - NAME_FUNC_OFFSET( 11025, gl_dispatch_stub_651, _gloffset_IsFenceNV ), - NAME_FUNC_OFFSET( 11037, gl_dispatch_stub_652, _gloffset_SetFenceNV ), - NAME_FUNC_OFFSET( 11050, gl_dispatch_stub_653, _gloffset_TestFenceNV ), - NAME_FUNC_OFFSET( 11064, glAreProgramsResidentNV, _gloffset_AreProgramsResidentNV ), - NAME_FUNC_OFFSET( 11088, glBindProgramNV, _gloffset_BindProgramNV ), - NAME_FUNC_OFFSET( 11104, glDeleteProgramsNV, _gloffset_DeleteProgramsNV ), - NAME_FUNC_OFFSET( 11123, glExecuteProgramNV, _gloffset_ExecuteProgramNV ), - NAME_FUNC_OFFSET( 11142, glGenProgramsNV, _gloffset_GenProgramsNV ), - NAME_FUNC_OFFSET( 11158, glGetProgramParameterdvNV, _gloffset_GetProgramParameterdvNV ), - NAME_FUNC_OFFSET( 11184, glGetProgramParameterfvNV, _gloffset_GetProgramParameterfvNV ), - NAME_FUNC_OFFSET( 11210, glGetProgramStringNV, _gloffset_GetProgramStringNV ), - NAME_FUNC_OFFSET( 11231, glGetProgramivNV, _gloffset_GetProgramivNV ), - NAME_FUNC_OFFSET( 11248, glGetTrackMatrixivNV, _gloffset_GetTrackMatrixivNV ), - NAME_FUNC_OFFSET( 11269, glGetVertexAttribPointervNV, _gloffset_GetVertexAttribPointervNV ), - NAME_FUNC_OFFSET( 11297, glGetVertexAttribdvNV, _gloffset_GetVertexAttribdvNV ), - NAME_FUNC_OFFSET( 11319, glGetVertexAttribfvNV, _gloffset_GetVertexAttribfvNV ), - NAME_FUNC_OFFSET( 11341, glGetVertexAttribivNV, _gloffset_GetVertexAttribivNV ), - NAME_FUNC_OFFSET( 11363, glIsProgramNV, _gloffset_IsProgramNV ), - NAME_FUNC_OFFSET( 11377, glLoadProgramNV, _gloffset_LoadProgramNV ), - NAME_FUNC_OFFSET( 11393, glProgramParameter4dNV, _gloffset_ProgramParameter4dNV ), - NAME_FUNC_OFFSET( 11416, glProgramParameter4dvNV, _gloffset_ProgramParameter4dvNV ), - NAME_FUNC_OFFSET( 11440, glProgramParameter4fNV, _gloffset_ProgramParameter4fNV ), - NAME_FUNC_OFFSET( 11463, glProgramParameter4fvNV, _gloffset_ProgramParameter4fvNV ), - NAME_FUNC_OFFSET( 11487, glProgramParameters4dvNV, _gloffset_ProgramParameters4dvNV ), - NAME_FUNC_OFFSET( 11512, glProgramParameters4fvNV, _gloffset_ProgramParameters4fvNV ), - NAME_FUNC_OFFSET( 11537, glRequestResidentProgramsNV, _gloffset_RequestResidentProgramsNV ), - NAME_FUNC_OFFSET( 11565, glTrackMatrixNV, _gloffset_TrackMatrixNV ), - NAME_FUNC_OFFSET( 11581, glVertexAttrib1dNV, _gloffset_VertexAttrib1dNV ), - NAME_FUNC_OFFSET( 11600, glVertexAttrib1dvNV, _gloffset_VertexAttrib1dvNV ), - NAME_FUNC_OFFSET( 11620, glVertexAttrib1fNV, _gloffset_VertexAttrib1fNV ), - NAME_FUNC_OFFSET( 11639, glVertexAttrib1fvNV, _gloffset_VertexAttrib1fvNV ), - NAME_FUNC_OFFSET( 11659, glVertexAttrib1sNV, _gloffset_VertexAttrib1sNV ), - NAME_FUNC_OFFSET( 11678, glVertexAttrib1svNV, _gloffset_VertexAttrib1svNV ), - NAME_FUNC_OFFSET( 11698, glVertexAttrib2dNV, _gloffset_VertexAttrib2dNV ), - NAME_FUNC_OFFSET( 11717, glVertexAttrib2dvNV, _gloffset_VertexAttrib2dvNV ), - NAME_FUNC_OFFSET( 11737, glVertexAttrib2fNV, _gloffset_VertexAttrib2fNV ), - NAME_FUNC_OFFSET( 11756, glVertexAttrib2fvNV, _gloffset_VertexAttrib2fvNV ), - NAME_FUNC_OFFSET( 11776, glVertexAttrib2sNV, _gloffset_VertexAttrib2sNV ), - NAME_FUNC_OFFSET( 11795, glVertexAttrib2svNV, _gloffset_VertexAttrib2svNV ), - NAME_FUNC_OFFSET( 11815, glVertexAttrib3dNV, _gloffset_VertexAttrib3dNV ), - NAME_FUNC_OFFSET( 11834, glVertexAttrib3dvNV, _gloffset_VertexAttrib3dvNV ), - NAME_FUNC_OFFSET( 11854, glVertexAttrib3fNV, _gloffset_VertexAttrib3fNV ), - NAME_FUNC_OFFSET( 11873, glVertexAttrib3fvNV, _gloffset_VertexAttrib3fvNV ), - NAME_FUNC_OFFSET( 11893, glVertexAttrib3sNV, _gloffset_VertexAttrib3sNV ), - NAME_FUNC_OFFSET( 11912, glVertexAttrib3svNV, _gloffset_VertexAttrib3svNV ), - NAME_FUNC_OFFSET( 11932, glVertexAttrib4dNV, _gloffset_VertexAttrib4dNV ), - NAME_FUNC_OFFSET( 11951, glVertexAttrib4dvNV, _gloffset_VertexAttrib4dvNV ), - NAME_FUNC_OFFSET( 11971, glVertexAttrib4fNV, _gloffset_VertexAttrib4fNV ), - NAME_FUNC_OFFSET( 11990, glVertexAttrib4fvNV, _gloffset_VertexAttrib4fvNV ), - NAME_FUNC_OFFSET( 12010, glVertexAttrib4sNV, _gloffset_VertexAttrib4sNV ), - NAME_FUNC_OFFSET( 12029, glVertexAttrib4svNV, _gloffset_VertexAttrib4svNV ), - NAME_FUNC_OFFSET( 12049, glVertexAttrib4ubNV, _gloffset_VertexAttrib4ubNV ), - NAME_FUNC_OFFSET( 12069, glVertexAttrib4ubvNV, _gloffset_VertexAttrib4ubvNV ), - NAME_FUNC_OFFSET( 12090, glVertexAttribPointerNV, _gloffset_VertexAttribPointerNV ), - NAME_FUNC_OFFSET( 12114, glVertexAttribs1dvNV, _gloffset_VertexAttribs1dvNV ), - NAME_FUNC_OFFSET( 12135, glVertexAttribs1fvNV, _gloffset_VertexAttribs1fvNV ), - NAME_FUNC_OFFSET( 12156, glVertexAttribs1svNV, _gloffset_VertexAttribs1svNV ), - NAME_FUNC_OFFSET( 12177, glVertexAttribs2dvNV, _gloffset_VertexAttribs2dvNV ), - NAME_FUNC_OFFSET( 12198, glVertexAttribs2fvNV, _gloffset_VertexAttribs2fvNV ), - NAME_FUNC_OFFSET( 12219, glVertexAttribs2svNV, _gloffset_VertexAttribs2svNV ), - NAME_FUNC_OFFSET( 12240, glVertexAttribs3dvNV, _gloffset_VertexAttribs3dvNV ), - NAME_FUNC_OFFSET( 12261, glVertexAttribs3fvNV, _gloffset_VertexAttribs3fvNV ), - NAME_FUNC_OFFSET( 12282, glVertexAttribs3svNV, _gloffset_VertexAttribs3svNV ), - NAME_FUNC_OFFSET( 12303, glVertexAttribs4dvNV, _gloffset_VertexAttribs4dvNV ), - NAME_FUNC_OFFSET( 12324, glVertexAttribs4fvNV, _gloffset_VertexAttribs4fvNV ), - NAME_FUNC_OFFSET( 12345, glVertexAttribs4svNV, _gloffset_VertexAttribs4svNV ), - NAME_FUNC_OFFSET( 12366, glVertexAttribs4ubvNV, _gloffset_VertexAttribs4ubvNV ), - NAME_FUNC_OFFSET( 12388, glAlphaFragmentOp1ATI, _gloffset_AlphaFragmentOp1ATI ), - NAME_FUNC_OFFSET( 12410, glAlphaFragmentOp2ATI, _gloffset_AlphaFragmentOp2ATI ), - NAME_FUNC_OFFSET( 12432, glAlphaFragmentOp3ATI, _gloffset_AlphaFragmentOp3ATI ), - NAME_FUNC_OFFSET( 12454, glBeginFragmentShaderATI, _gloffset_BeginFragmentShaderATI ), - NAME_FUNC_OFFSET( 12479, glBindFragmentShaderATI, _gloffset_BindFragmentShaderATI ), - NAME_FUNC_OFFSET( 12503, glColorFragmentOp1ATI, _gloffset_ColorFragmentOp1ATI ), - NAME_FUNC_OFFSET( 12525, glColorFragmentOp2ATI, _gloffset_ColorFragmentOp2ATI ), - NAME_FUNC_OFFSET( 12547, glColorFragmentOp3ATI, _gloffset_ColorFragmentOp3ATI ), - NAME_FUNC_OFFSET( 12569, glDeleteFragmentShaderATI, _gloffset_DeleteFragmentShaderATI ), - NAME_FUNC_OFFSET( 12595, glEndFragmentShaderATI, _gloffset_EndFragmentShaderATI ), - NAME_FUNC_OFFSET( 12618, glGenFragmentShadersATI, _gloffset_GenFragmentShadersATI ), - NAME_FUNC_OFFSET( 12642, glPassTexCoordATI, _gloffset_PassTexCoordATI ), - NAME_FUNC_OFFSET( 12660, glSampleMapATI, _gloffset_SampleMapATI ), - NAME_FUNC_OFFSET( 12675, glSetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI ), - NAME_FUNC_OFFSET( 12706, glPointParameteriNV, _gloffset_PointParameteriNV ), - NAME_FUNC_OFFSET( 12726, glPointParameterivNV, _gloffset_PointParameterivNV ), - NAME_FUNC_OFFSET( 12747, gl_dispatch_stub_734, _gloffset_ActiveStencilFaceEXT ), - NAME_FUNC_OFFSET( 12770, gl_dispatch_stub_735, _gloffset_BindVertexArrayAPPLE ), - NAME_FUNC_OFFSET( 12793, gl_dispatch_stub_736, _gloffset_DeleteVertexArraysAPPLE ), - NAME_FUNC_OFFSET( 12819, gl_dispatch_stub_737, _gloffset_GenVertexArraysAPPLE ), - NAME_FUNC_OFFSET( 12842, gl_dispatch_stub_738, _gloffset_IsVertexArrayAPPLE ), - NAME_FUNC_OFFSET( 12863, glGetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV ), - NAME_FUNC_OFFSET( 12894, glGetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV ), - NAME_FUNC_OFFSET( 12925, glProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV ), - NAME_FUNC_OFFSET( 12953, glProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV ), - NAME_FUNC_OFFSET( 12982, glProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV ), - NAME_FUNC_OFFSET( 13010, glProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV ), - NAME_FUNC_OFFSET( 13039, gl_dispatch_stub_745, _gloffset_DepthBoundsEXT ), - NAME_FUNC_OFFSET( 13056, gl_dispatch_stub_746, _gloffset_BlendEquationSeparateEXT ), - NAME_FUNC_OFFSET( 13083, glBindFramebufferEXT, _gloffset_BindFramebufferEXT ), - NAME_FUNC_OFFSET( 13104, glBindRenderbufferEXT, _gloffset_BindRenderbufferEXT ), - NAME_FUNC_OFFSET( 13126, glCheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT ), - NAME_FUNC_OFFSET( 13154, glDeleteFramebuffersEXT, _gloffset_DeleteFramebuffersEXT ), - NAME_FUNC_OFFSET( 13178, glDeleteRenderbuffersEXT, _gloffset_DeleteRenderbuffersEXT ), - NAME_FUNC_OFFSET( 13203, glFramebufferRenderbufferEXT, _gloffset_FramebufferRenderbufferEXT ), - NAME_FUNC_OFFSET( 13232, glFramebufferTexture1DEXT, _gloffset_FramebufferTexture1DEXT ), - NAME_FUNC_OFFSET( 13258, glFramebufferTexture2DEXT, _gloffset_FramebufferTexture2DEXT ), - NAME_FUNC_OFFSET( 13284, glFramebufferTexture3DEXT, _gloffset_FramebufferTexture3DEXT ), - NAME_FUNC_OFFSET( 13310, glGenFramebuffersEXT, _gloffset_GenFramebuffersEXT ), - NAME_FUNC_OFFSET( 13331, glGenRenderbuffersEXT, _gloffset_GenRenderbuffersEXT ), - NAME_FUNC_OFFSET( 13353, glGenerateMipmapEXT, _gloffset_GenerateMipmapEXT ), - NAME_FUNC_OFFSET( 13373, glGetFramebufferAttachmentParameterivEXT, _gloffset_GetFramebufferAttachmentParameterivEXT ), - NAME_FUNC_OFFSET( 13414, gl_dispatch_stub_760, _gloffset_GetQueryObjecti64vEXT ), - NAME_FUNC_OFFSET( 13438, gl_dispatch_stub_761, _gloffset_GetQueryObjectui64vEXT ), - NAME_FUNC_OFFSET( 13463, glGetRenderbufferParameterivEXT, _gloffset_GetRenderbufferParameterivEXT ), - NAME_FUNC_OFFSET( 13495, glIsFramebufferEXT, _gloffset_IsFramebufferEXT ), - NAME_FUNC_OFFSET( 13514, glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT ), - NAME_FUNC_OFFSET( 13534, glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT ), - NAME_FUNC_OFFSET( 13559, gl_dispatch_stub_766, _gloffset_BlitFramebufferEXT ), - NAME_FUNC_OFFSET( 13580, gl_dispatch_stub_767, _gloffset_ProgramEnvParameters4fvEXT ), - NAME_FUNC_OFFSET( 13609, gl_dispatch_stub_768, _gloffset_ProgramLocalParameters4fvEXT ), - NAME_FUNC_OFFSET( 13640, glArrayElement, _gloffset_ArrayElement ), - NAME_FUNC_OFFSET( 13658, glBindTexture, _gloffset_BindTexture ), - NAME_FUNC_OFFSET( 13675, glDrawArrays, _gloffset_DrawArrays ), - NAME_FUNC_OFFSET( 13691, glCopyTexImage1D, _gloffset_CopyTexImage1D ), - NAME_FUNC_OFFSET( 13711, glCopyTexImage2D, _gloffset_CopyTexImage2D ), - NAME_FUNC_OFFSET( 13731, glCopyTexSubImage1D, _gloffset_CopyTexSubImage1D ), - NAME_FUNC_OFFSET( 13754, glCopyTexSubImage2D, _gloffset_CopyTexSubImage2D ), - NAME_FUNC_OFFSET( 13777, glDeleteTextures, _gloffset_DeleteTextures ), - NAME_FUNC_OFFSET( 13797, glGetPointerv, _gloffset_GetPointerv ), - NAME_FUNC_OFFSET( 13814, glPrioritizeTextures, _gloffset_PrioritizeTextures ), - NAME_FUNC_OFFSET( 13838, glTexSubImage1D, _gloffset_TexSubImage1D ), - NAME_FUNC_OFFSET( 13857, glTexSubImage2D, _gloffset_TexSubImage2D ), - NAME_FUNC_OFFSET( 13876, glBlendColor, _gloffset_BlendColor ), - NAME_FUNC_OFFSET( 13892, glBlendEquation, _gloffset_BlendEquation ), - NAME_FUNC_OFFSET( 13911, glDrawRangeElements, _gloffset_DrawRangeElements ), - NAME_FUNC_OFFSET( 13934, glColorTable, _gloffset_ColorTable ), - NAME_FUNC_OFFSET( 13950, glColorTable, _gloffset_ColorTable ), - NAME_FUNC_OFFSET( 13966, glColorTableParameterfv, _gloffset_ColorTableParameterfv ), - NAME_FUNC_OFFSET( 13993, glColorTableParameteriv, _gloffset_ColorTableParameteriv ), - NAME_FUNC_OFFSET( 14020, glCopyColorTable, _gloffset_CopyColorTable ), - NAME_FUNC_OFFSET( 14040, glColorSubTable, _gloffset_ColorSubTable ), - NAME_FUNC_OFFSET( 14059, glCopyColorSubTable, _gloffset_CopyColorSubTable ), - NAME_FUNC_OFFSET( 14082, glConvolutionFilter1D, _gloffset_ConvolutionFilter1D ), - NAME_FUNC_OFFSET( 14107, glConvolutionFilter2D, _gloffset_ConvolutionFilter2D ), - NAME_FUNC_OFFSET( 14132, glConvolutionParameterf, _gloffset_ConvolutionParameterf ), - NAME_FUNC_OFFSET( 14159, glConvolutionParameterfv, _gloffset_ConvolutionParameterfv ), - NAME_FUNC_OFFSET( 14187, glConvolutionParameteri, _gloffset_ConvolutionParameteri ), - NAME_FUNC_OFFSET( 14214, glConvolutionParameteriv, _gloffset_ConvolutionParameteriv ), - NAME_FUNC_OFFSET( 14242, glCopyConvolutionFilter1D, _gloffset_CopyConvolutionFilter1D ), - NAME_FUNC_OFFSET( 14271, glCopyConvolutionFilter2D, _gloffset_CopyConvolutionFilter2D ), - NAME_FUNC_OFFSET( 14300, glSeparableFilter2D, _gloffset_SeparableFilter2D ), - NAME_FUNC_OFFSET( 14323, glHistogram, _gloffset_Histogram ), - NAME_FUNC_OFFSET( 14338, glMinmax, _gloffset_Minmax ), - NAME_FUNC_OFFSET( 14350, glResetHistogram, _gloffset_ResetHistogram ), - NAME_FUNC_OFFSET( 14370, glResetMinmax, _gloffset_ResetMinmax ), - NAME_FUNC_OFFSET( 14387, glTexImage3D, _gloffset_TexImage3D ), - NAME_FUNC_OFFSET( 14403, glTexSubImage3D, _gloffset_TexSubImage3D ), - NAME_FUNC_OFFSET( 14422, glCopyTexSubImage3D, _gloffset_CopyTexSubImage3D ), - NAME_FUNC_OFFSET( 14445, glActiveTextureARB, _gloffset_ActiveTextureARB ), - NAME_FUNC_OFFSET( 14461, glClientActiveTextureARB, _gloffset_ClientActiveTextureARB ), - NAME_FUNC_OFFSET( 14483, glMultiTexCoord1dARB, _gloffset_MultiTexCoord1dARB ), - NAME_FUNC_OFFSET( 14501, glMultiTexCoord1dvARB, _gloffset_MultiTexCoord1dvARB ), - NAME_FUNC_OFFSET( 14520, glMultiTexCoord1fARB, _gloffset_MultiTexCoord1fARB ), - NAME_FUNC_OFFSET( 14538, glMultiTexCoord1fvARB, _gloffset_MultiTexCoord1fvARB ), - NAME_FUNC_OFFSET( 14557, glMultiTexCoord1iARB, _gloffset_MultiTexCoord1iARB ), - NAME_FUNC_OFFSET( 14575, glMultiTexCoord1ivARB, _gloffset_MultiTexCoord1ivARB ), - NAME_FUNC_OFFSET( 14594, glMultiTexCoord1sARB, _gloffset_MultiTexCoord1sARB ), - NAME_FUNC_OFFSET( 14612, glMultiTexCoord1svARB, _gloffset_MultiTexCoord1svARB ), - NAME_FUNC_OFFSET( 14631, glMultiTexCoord2dARB, _gloffset_MultiTexCoord2dARB ), - NAME_FUNC_OFFSET( 14649, glMultiTexCoord2dvARB, _gloffset_MultiTexCoord2dvARB ), - NAME_FUNC_OFFSET( 14668, glMultiTexCoord2fARB, _gloffset_MultiTexCoord2fARB ), - NAME_FUNC_OFFSET( 14686, glMultiTexCoord2fvARB, _gloffset_MultiTexCoord2fvARB ), - NAME_FUNC_OFFSET( 14705, glMultiTexCoord2iARB, _gloffset_MultiTexCoord2iARB ), - NAME_FUNC_OFFSET( 14723, glMultiTexCoord2ivARB, _gloffset_MultiTexCoord2ivARB ), - NAME_FUNC_OFFSET( 14742, glMultiTexCoord2sARB, _gloffset_MultiTexCoord2sARB ), - NAME_FUNC_OFFSET( 14760, glMultiTexCoord2svARB, _gloffset_MultiTexCoord2svARB ), - NAME_FUNC_OFFSET( 14779, glMultiTexCoord3dARB, _gloffset_MultiTexCoord3dARB ), - NAME_FUNC_OFFSET( 14797, glMultiTexCoord3dvARB, _gloffset_MultiTexCoord3dvARB ), - NAME_FUNC_OFFSET( 14816, glMultiTexCoord3fARB, _gloffset_MultiTexCoord3fARB ), - NAME_FUNC_OFFSET( 14834, glMultiTexCoord3fvARB, _gloffset_MultiTexCoord3fvARB ), - NAME_FUNC_OFFSET( 14853, glMultiTexCoord3iARB, _gloffset_MultiTexCoord3iARB ), - NAME_FUNC_OFFSET( 14871, glMultiTexCoord3ivARB, _gloffset_MultiTexCoord3ivARB ), - NAME_FUNC_OFFSET( 14890, glMultiTexCoord3sARB, _gloffset_MultiTexCoord3sARB ), - NAME_FUNC_OFFSET( 14908, glMultiTexCoord3svARB, _gloffset_MultiTexCoord3svARB ), - NAME_FUNC_OFFSET( 14927, glMultiTexCoord4dARB, _gloffset_MultiTexCoord4dARB ), - NAME_FUNC_OFFSET( 14945, glMultiTexCoord4dvARB, _gloffset_MultiTexCoord4dvARB ), - NAME_FUNC_OFFSET( 14964, glMultiTexCoord4fARB, _gloffset_MultiTexCoord4fARB ), - NAME_FUNC_OFFSET( 14982, glMultiTexCoord4fvARB, _gloffset_MultiTexCoord4fvARB ), - NAME_FUNC_OFFSET( 15001, glMultiTexCoord4iARB, _gloffset_MultiTexCoord4iARB ), - NAME_FUNC_OFFSET( 15019, glMultiTexCoord4ivARB, _gloffset_MultiTexCoord4ivARB ), - NAME_FUNC_OFFSET( 15038, glMultiTexCoord4sARB, _gloffset_MultiTexCoord4sARB ), - NAME_FUNC_OFFSET( 15056, glMultiTexCoord4svARB, _gloffset_MultiTexCoord4svARB ), - NAME_FUNC_OFFSET( 15075, glLoadTransposeMatrixdARB, _gloffset_LoadTransposeMatrixdARB ), - NAME_FUNC_OFFSET( 15098, glLoadTransposeMatrixfARB, _gloffset_LoadTransposeMatrixfARB ), - NAME_FUNC_OFFSET( 15121, glMultTransposeMatrixdARB, _gloffset_MultTransposeMatrixdARB ), - NAME_FUNC_OFFSET( 15144, glMultTransposeMatrixfARB, _gloffset_MultTransposeMatrixfARB ), - NAME_FUNC_OFFSET( 15167, glSampleCoverageARB, _gloffset_SampleCoverageARB ), - NAME_FUNC_OFFSET( 15184, glCompressedTexImage1DARB, _gloffset_CompressedTexImage1DARB ), - NAME_FUNC_OFFSET( 15207, glCompressedTexImage2DARB, _gloffset_CompressedTexImage2DARB ), - NAME_FUNC_OFFSET( 15230, glCompressedTexImage3DARB, _gloffset_CompressedTexImage3DARB ), - NAME_FUNC_OFFSET( 15253, glCompressedTexSubImage1DARB, _gloffset_CompressedTexSubImage1DARB ), - NAME_FUNC_OFFSET( 15279, glCompressedTexSubImage2DARB, _gloffset_CompressedTexSubImage2DARB ), - NAME_FUNC_OFFSET( 15305, glCompressedTexSubImage3DARB, _gloffset_CompressedTexSubImage3DARB ), - NAME_FUNC_OFFSET( 15331, glGetCompressedTexImageARB, _gloffset_GetCompressedTexImageARB ), - NAME_FUNC_OFFSET( 15355, glBindBufferARB, _gloffset_BindBufferARB ), - NAME_FUNC_OFFSET( 15368, glBufferDataARB, _gloffset_BufferDataARB ), - NAME_FUNC_OFFSET( 15381, glBufferSubDataARB, _gloffset_BufferSubDataARB ), - NAME_FUNC_OFFSET( 15397, glDeleteBuffersARB, _gloffset_DeleteBuffersARB ), - NAME_FUNC_OFFSET( 15413, glGenBuffersARB, _gloffset_GenBuffersARB ), - NAME_FUNC_OFFSET( 15426, glGetBufferParameterivARB, _gloffset_GetBufferParameterivARB ), - NAME_FUNC_OFFSET( 15449, glGetBufferPointervARB, _gloffset_GetBufferPointervARB ), - NAME_FUNC_OFFSET( 15469, glGetBufferSubDataARB, _gloffset_GetBufferSubDataARB ), - NAME_FUNC_OFFSET( 15488, glIsBufferARB, _gloffset_IsBufferARB ), - NAME_FUNC_OFFSET( 15499, glMapBufferARB, _gloffset_MapBufferARB ), - NAME_FUNC_OFFSET( 15511, glUnmapBufferARB, _gloffset_UnmapBufferARB ), - NAME_FUNC_OFFSET( 15525, glBeginQueryARB, _gloffset_BeginQueryARB ), - NAME_FUNC_OFFSET( 15538, glDeleteQueriesARB, _gloffset_DeleteQueriesARB ), - NAME_FUNC_OFFSET( 15554, glEndQueryARB, _gloffset_EndQueryARB ), - NAME_FUNC_OFFSET( 15565, glGenQueriesARB, _gloffset_GenQueriesARB ), - NAME_FUNC_OFFSET( 15578, glGetQueryObjectivARB, _gloffset_GetQueryObjectivARB ), - NAME_FUNC_OFFSET( 15597, glGetQueryObjectuivARB, _gloffset_GetQueryObjectuivARB ), - NAME_FUNC_OFFSET( 15617, glGetQueryivARB, _gloffset_GetQueryivARB ), - NAME_FUNC_OFFSET( 15630, glIsQueryARB, _gloffset_IsQueryARB ), - NAME_FUNC_OFFSET( 15640, glDrawBuffersARB, _gloffset_DrawBuffersARB ), - NAME_FUNC_OFFSET( 15654, glDrawBuffersARB, _gloffset_DrawBuffersARB ), - NAME_FUNC_OFFSET( 15671, gl_dispatch_stub_553, _gloffset_GetColorTableParameterfvSGI ), - NAME_FUNC_OFFSET( 15701, gl_dispatch_stub_554, _gloffset_GetColorTableParameterivSGI ), - NAME_FUNC_OFFSET( 15731, gl_dispatch_stub_555, _gloffset_GetColorTableSGI ), - NAME_FUNC_OFFSET( 15750, gl_dispatch_stub_565, _gloffset_SampleMaskSGIS ), - NAME_FUNC_OFFSET( 15766, gl_dispatch_stub_566, _gloffset_SamplePatternSGIS ), - NAME_FUNC_OFFSET( 15785, glPointParameterfEXT, _gloffset_PointParameterfEXT ), - NAME_FUNC_OFFSET( 15803, glPointParameterfEXT, _gloffset_PointParameterfEXT ), - NAME_FUNC_OFFSET( 15824, glPointParameterfEXT, _gloffset_PointParameterfEXT ), - NAME_FUNC_OFFSET( 15846, glPointParameterfvEXT, _gloffset_PointParameterfvEXT ), - NAME_FUNC_OFFSET( 15865, glPointParameterfvEXT, _gloffset_PointParameterfvEXT ), - NAME_FUNC_OFFSET( 15887, glPointParameterfvEXT, _gloffset_PointParameterfvEXT ), - NAME_FUNC_OFFSET( 15910, glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT ), - NAME_FUNC_OFFSET( 15929, glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT ), - NAME_FUNC_OFFSET( 15949, glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT ), - NAME_FUNC_OFFSET( 15968, glSecondaryColor3dvEXT, _gloffset_SecondaryColor3dvEXT ), - NAME_FUNC_OFFSET( 15988, glSecondaryColor3fEXT, _gloffset_SecondaryColor3fEXT ), - NAME_FUNC_OFFSET( 16007, glSecondaryColor3fvEXT, _gloffset_SecondaryColor3fvEXT ), - NAME_FUNC_OFFSET( 16027, glSecondaryColor3iEXT, _gloffset_SecondaryColor3iEXT ), - NAME_FUNC_OFFSET( 16046, glSecondaryColor3ivEXT, _gloffset_SecondaryColor3ivEXT ), - NAME_FUNC_OFFSET( 16066, glSecondaryColor3sEXT, _gloffset_SecondaryColor3sEXT ), - NAME_FUNC_OFFSET( 16085, glSecondaryColor3svEXT, _gloffset_SecondaryColor3svEXT ), - NAME_FUNC_OFFSET( 16105, glSecondaryColor3ubEXT, _gloffset_SecondaryColor3ubEXT ), - NAME_FUNC_OFFSET( 16125, glSecondaryColor3ubvEXT, _gloffset_SecondaryColor3ubvEXT ), - NAME_FUNC_OFFSET( 16146, glSecondaryColor3uiEXT, _gloffset_SecondaryColor3uiEXT ), - NAME_FUNC_OFFSET( 16166, glSecondaryColor3uivEXT, _gloffset_SecondaryColor3uivEXT ), - NAME_FUNC_OFFSET( 16187, glSecondaryColor3usEXT, _gloffset_SecondaryColor3usEXT ), - NAME_FUNC_OFFSET( 16207, glSecondaryColor3usvEXT, _gloffset_SecondaryColor3usvEXT ), - NAME_FUNC_OFFSET( 16228, glSecondaryColorPointerEXT, _gloffset_SecondaryColorPointerEXT ), - NAME_FUNC_OFFSET( 16252, glMultiDrawArraysEXT, _gloffset_MultiDrawArraysEXT ), - NAME_FUNC_OFFSET( 16270, glMultiDrawElementsEXT, _gloffset_MultiDrawElementsEXT ), - NAME_FUNC_OFFSET( 16290, glFogCoordPointerEXT, _gloffset_FogCoordPointerEXT ), - NAME_FUNC_OFFSET( 16308, glFogCoorddEXT, _gloffset_FogCoorddEXT ), - NAME_FUNC_OFFSET( 16320, glFogCoorddvEXT, _gloffset_FogCoorddvEXT ), - NAME_FUNC_OFFSET( 16333, glFogCoordfEXT, _gloffset_FogCoordfEXT ), - NAME_FUNC_OFFSET( 16345, glFogCoordfvEXT, _gloffset_FogCoordfvEXT ), - NAME_FUNC_OFFSET( 16358, glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT ), - NAME_FUNC_OFFSET( 16378, glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT ), - NAME_FUNC_OFFSET( 16402, glWindowPos2dMESA, _gloffset_WindowPos2dMESA ), - NAME_FUNC_OFFSET( 16416, glWindowPos2dMESA, _gloffset_WindowPos2dMESA ), - NAME_FUNC_OFFSET( 16433, glWindowPos2dvMESA, _gloffset_WindowPos2dvMESA ), - NAME_FUNC_OFFSET( 16448, glWindowPos2dvMESA, _gloffset_WindowPos2dvMESA ), - NAME_FUNC_OFFSET( 16466, glWindowPos2fMESA, _gloffset_WindowPos2fMESA ), - NAME_FUNC_OFFSET( 16480, glWindowPos2fMESA, _gloffset_WindowPos2fMESA ), - NAME_FUNC_OFFSET( 16497, glWindowPos2fvMESA, _gloffset_WindowPos2fvMESA ), - NAME_FUNC_OFFSET( 16512, glWindowPos2fvMESA, _gloffset_WindowPos2fvMESA ), - NAME_FUNC_OFFSET( 16530, glWindowPos2iMESA, _gloffset_WindowPos2iMESA ), - NAME_FUNC_OFFSET( 16544, glWindowPos2iMESA, _gloffset_WindowPos2iMESA ), - NAME_FUNC_OFFSET( 16561, glWindowPos2ivMESA, _gloffset_WindowPos2ivMESA ), - NAME_FUNC_OFFSET( 16576, glWindowPos2ivMESA, _gloffset_WindowPos2ivMESA ), - NAME_FUNC_OFFSET( 16594, glWindowPos2sMESA, _gloffset_WindowPos2sMESA ), - NAME_FUNC_OFFSET( 16608, glWindowPos2sMESA, _gloffset_WindowPos2sMESA ), - NAME_FUNC_OFFSET( 16625, glWindowPos2svMESA, _gloffset_WindowPos2svMESA ), - NAME_FUNC_OFFSET( 16640, glWindowPos2svMESA, _gloffset_WindowPos2svMESA ), - NAME_FUNC_OFFSET( 16658, glWindowPos3dMESA, _gloffset_WindowPos3dMESA ), - NAME_FUNC_OFFSET( 16672, glWindowPos3dMESA, _gloffset_WindowPos3dMESA ), - NAME_FUNC_OFFSET( 16689, glWindowPos3dvMESA, _gloffset_WindowPos3dvMESA ), - NAME_FUNC_OFFSET( 16704, glWindowPos3dvMESA, _gloffset_WindowPos3dvMESA ), - NAME_FUNC_OFFSET( 16722, glWindowPos3fMESA, _gloffset_WindowPos3fMESA ), - NAME_FUNC_OFFSET( 16736, glWindowPos3fMESA, _gloffset_WindowPos3fMESA ), - NAME_FUNC_OFFSET( 16753, glWindowPos3fvMESA, _gloffset_WindowPos3fvMESA ), - NAME_FUNC_OFFSET( 16768, glWindowPos3fvMESA, _gloffset_WindowPos3fvMESA ), - NAME_FUNC_OFFSET( 16786, glWindowPos3iMESA, _gloffset_WindowPos3iMESA ), - NAME_FUNC_OFFSET( 16800, glWindowPos3iMESA, _gloffset_WindowPos3iMESA ), - NAME_FUNC_OFFSET( 16817, glWindowPos3ivMESA, _gloffset_WindowPos3ivMESA ), - NAME_FUNC_OFFSET( 16832, glWindowPos3ivMESA, _gloffset_WindowPos3ivMESA ), - NAME_FUNC_OFFSET( 16850, glWindowPos3sMESA, _gloffset_WindowPos3sMESA ), - NAME_FUNC_OFFSET( 16864, glWindowPos3sMESA, _gloffset_WindowPos3sMESA ), - NAME_FUNC_OFFSET( 16881, glWindowPos3svMESA, _gloffset_WindowPos3svMESA ), - NAME_FUNC_OFFSET( 16896, glWindowPos3svMESA, _gloffset_WindowPos3svMESA ), - NAME_FUNC_OFFSET( 16914, glBindProgramNV, _gloffset_BindProgramNV ), - NAME_FUNC_OFFSET( 16931, glDeleteProgramsNV, _gloffset_DeleteProgramsNV ), - NAME_FUNC_OFFSET( 16951, glGenProgramsNV, _gloffset_GenProgramsNV ), - NAME_FUNC_OFFSET( 16968, glGetVertexAttribPointervNV, _gloffset_GetVertexAttribPointervNV ), - NAME_FUNC_OFFSET( 16997, glIsProgramNV, _gloffset_IsProgramNV ), - NAME_FUNC_OFFSET( 17012, glPointParameteriNV, _gloffset_PointParameteriNV ), - NAME_FUNC_OFFSET( 17030, glPointParameterivNV, _gloffset_PointParameterivNV ), - NAME_FUNC_OFFSET( 17049, gl_dispatch_stub_746, _gloffset_BlendEquationSeparateEXT ), - NAME_FUNC_OFFSET( 17073, gl_dispatch_stub_746, _gloffset_BlendEquationSeparateEXT ), - NAME_FUNC_OFFSET( -1, NULL, 0 ) + NAME_FUNC_OFFSET( 0, glNewList, glNewList, NULL, _gloffset_NewList), + NAME_FUNC_OFFSET( 10, glEndList, glEndList, NULL, _gloffset_EndList), + NAME_FUNC_OFFSET( 20, glCallList, glCallList, NULL, _gloffset_CallList), + NAME_FUNC_OFFSET( 31, glCallLists, glCallLists, NULL, _gloffset_CallLists), + NAME_FUNC_OFFSET( 43, glDeleteLists, glDeleteLists, NULL, _gloffset_DeleteLists), + NAME_FUNC_OFFSET( 57, glGenLists, glGenLists, NULL, _gloffset_GenLists), + NAME_FUNC_OFFSET( 68, glListBase, glListBase, NULL, _gloffset_ListBase), + NAME_FUNC_OFFSET( 79, glBegin, glBegin, NULL, _gloffset_Begin), + NAME_FUNC_OFFSET( 87, glBitmap, glBitmap, NULL, _gloffset_Bitmap), + NAME_FUNC_OFFSET( 96, glColor3b, glColor3b, NULL, _gloffset_Color3b), + NAME_FUNC_OFFSET( 106, glColor3bv, glColor3bv, NULL, _gloffset_Color3bv), + NAME_FUNC_OFFSET( 117, glColor3d, glColor3d, NULL, _gloffset_Color3d), + NAME_FUNC_OFFSET( 127, glColor3dv, glColor3dv, NULL, _gloffset_Color3dv), + NAME_FUNC_OFFSET( 138, glColor3f, glColor3f, NULL, _gloffset_Color3f), + NAME_FUNC_OFFSET( 148, glColor3fv, glColor3fv, NULL, _gloffset_Color3fv), + NAME_FUNC_OFFSET( 159, glColor3i, glColor3i, NULL, _gloffset_Color3i), + NAME_FUNC_OFFSET( 169, glColor3iv, glColor3iv, NULL, _gloffset_Color3iv), + NAME_FUNC_OFFSET( 180, glColor3s, glColor3s, NULL, _gloffset_Color3s), + NAME_FUNC_OFFSET( 190, glColor3sv, glColor3sv, NULL, _gloffset_Color3sv), + NAME_FUNC_OFFSET( 201, glColor3ub, glColor3ub, NULL, _gloffset_Color3ub), + NAME_FUNC_OFFSET( 212, glColor3ubv, glColor3ubv, NULL, _gloffset_Color3ubv), + NAME_FUNC_OFFSET( 224, glColor3ui, glColor3ui, NULL, _gloffset_Color3ui), + NAME_FUNC_OFFSET( 235, glColor3uiv, glColor3uiv, NULL, _gloffset_Color3uiv), + NAME_FUNC_OFFSET( 247, glColor3us, glColor3us, NULL, _gloffset_Color3us), + NAME_FUNC_OFFSET( 258, glColor3usv, glColor3usv, NULL, _gloffset_Color3usv), + NAME_FUNC_OFFSET( 270, glColor4b, glColor4b, NULL, _gloffset_Color4b), + NAME_FUNC_OFFSET( 280, glColor4bv, glColor4bv, NULL, _gloffset_Color4bv), + NAME_FUNC_OFFSET( 291, glColor4d, glColor4d, NULL, _gloffset_Color4d), + NAME_FUNC_OFFSET( 301, glColor4dv, glColor4dv, NULL, _gloffset_Color4dv), + NAME_FUNC_OFFSET( 312, glColor4f, glColor4f, NULL, _gloffset_Color4f), + NAME_FUNC_OFFSET( 322, glColor4fv, glColor4fv, NULL, _gloffset_Color4fv), + NAME_FUNC_OFFSET( 333, glColor4i, glColor4i, NULL, _gloffset_Color4i), + NAME_FUNC_OFFSET( 343, glColor4iv, glColor4iv, NULL, _gloffset_Color4iv), + NAME_FUNC_OFFSET( 354, glColor4s, glColor4s, NULL, _gloffset_Color4s), + NAME_FUNC_OFFSET( 364, glColor4sv, glColor4sv, NULL, _gloffset_Color4sv), + NAME_FUNC_OFFSET( 375, glColor4ub, glColor4ub, NULL, _gloffset_Color4ub), + NAME_FUNC_OFFSET( 386, glColor4ubv, glColor4ubv, NULL, _gloffset_Color4ubv), + NAME_FUNC_OFFSET( 398, glColor4ui, glColor4ui, NULL, _gloffset_Color4ui), + NAME_FUNC_OFFSET( 409, glColor4uiv, glColor4uiv, NULL, _gloffset_Color4uiv), + NAME_FUNC_OFFSET( 421, glColor4us, glColor4us, NULL, _gloffset_Color4us), + NAME_FUNC_OFFSET( 432, glColor4usv, glColor4usv, NULL, _gloffset_Color4usv), + NAME_FUNC_OFFSET( 444, glEdgeFlag, glEdgeFlag, NULL, _gloffset_EdgeFlag), + NAME_FUNC_OFFSET( 455, glEdgeFlagv, glEdgeFlagv, NULL, _gloffset_EdgeFlagv), + NAME_FUNC_OFFSET( 467, glEnd, glEnd, NULL, _gloffset_End), + NAME_FUNC_OFFSET( 473, glIndexd, glIndexd, NULL, _gloffset_Indexd), + NAME_FUNC_OFFSET( 482, glIndexdv, glIndexdv, NULL, _gloffset_Indexdv), + NAME_FUNC_OFFSET( 492, glIndexf, glIndexf, NULL, _gloffset_Indexf), + NAME_FUNC_OFFSET( 501, glIndexfv, glIndexfv, NULL, _gloffset_Indexfv), + NAME_FUNC_OFFSET( 511, glIndexi, glIndexi, NULL, _gloffset_Indexi), + NAME_FUNC_OFFSET( 520, glIndexiv, glIndexiv, NULL, _gloffset_Indexiv), + NAME_FUNC_OFFSET( 530, glIndexs, glIndexs, NULL, _gloffset_Indexs), + NAME_FUNC_OFFSET( 539, glIndexsv, glIndexsv, NULL, _gloffset_Indexsv), + NAME_FUNC_OFFSET( 549, glNormal3b, glNormal3b, NULL, _gloffset_Normal3b), + NAME_FUNC_OFFSET( 560, glNormal3bv, glNormal3bv, NULL, _gloffset_Normal3bv), + NAME_FUNC_OFFSET( 572, glNormal3d, glNormal3d, NULL, _gloffset_Normal3d), + NAME_FUNC_OFFSET( 583, glNormal3dv, glNormal3dv, NULL, _gloffset_Normal3dv), + NAME_FUNC_OFFSET( 595, glNormal3f, glNormal3f, NULL, _gloffset_Normal3f), + NAME_FUNC_OFFSET( 606, glNormal3fv, glNormal3fv, NULL, _gloffset_Normal3fv), + NAME_FUNC_OFFSET( 618, glNormal3i, glNormal3i, NULL, _gloffset_Normal3i), + NAME_FUNC_OFFSET( 629, glNormal3iv, glNormal3iv, NULL, _gloffset_Normal3iv), + NAME_FUNC_OFFSET( 641, glNormal3s, glNormal3s, NULL, _gloffset_Normal3s), + NAME_FUNC_OFFSET( 652, glNormal3sv, glNormal3sv, NULL, _gloffset_Normal3sv), + NAME_FUNC_OFFSET( 664, glRasterPos2d, glRasterPos2d, NULL, _gloffset_RasterPos2d), + NAME_FUNC_OFFSET( 678, glRasterPos2dv, glRasterPos2dv, NULL, _gloffset_RasterPos2dv), + NAME_FUNC_OFFSET( 693, glRasterPos2f, glRasterPos2f, NULL, _gloffset_RasterPos2f), + NAME_FUNC_OFFSET( 707, glRasterPos2fv, glRasterPos2fv, NULL, _gloffset_RasterPos2fv), + NAME_FUNC_OFFSET( 722, glRasterPos2i, glRasterPos2i, NULL, _gloffset_RasterPos2i), + NAME_FUNC_OFFSET( 736, glRasterPos2iv, glRasterPos2iv, NULL, _gloffset_RasterPos2iv), + NAME_FUNC_OFFSET( 751, glRasterPos2s, glRasterPos2s, NULL, _gloffset_RasterPos2s), + NAME_FUNC_OFFSET( 765, glRasterPos2sv, glRasterPos2sv, NULL, _gloffset_RasterPos2sv), + NAME_FUNC_OFFSET( 780, glRasterPos3d, glRasterPos3d, NULL, _gloffset_RasterPos3d), + NAME_FUNC_OFFSET( 794, glRasterPos3dv, glRasterPos3dv, NULL, _gloffset_RasterPos3dv), + NAME_FUNC_OFFSET( 809, glRasterPos3f, glRasterPos3f, NULL, _gloffset_RasterPos3f), + NAME_FUNC_OFFSET( 823, glRasterPos3fv, glRasterPos3fv, NULL, _gloffset_RasterPos3fv), + NAME_FUNC_OFFSET( 838, glRasterPos3i, glRasterPos3i, NULL, _gloffset_RasterPos3i), + NAME_FUNC_OFFSET( 852, glRasterPos3iv, glRasterPos3iv, NULL, _gloffset_RasterPos3iv), + NAME_FUNC_OFFSET( 867, glRasterPos3s, glRasterPos3s, NULL, _gloffset_RasterPos3s), + NAME_FUNC_OFFSET( 881, glRasterPos3sv, glRasterPos3sv, NULL, _gloffset_RasterPos3sv), + NAME_FUNC_OFFSET( 896, glRasterPos4d, glRasterPos4d, NULL, _gloffset_RasterPos4d), + NAME_FUNC_OFFSET( 910, glRasterPos4dv, glRasterPos4dv, NULL, _gloffset_RasterPos4dv), + NAME_FUNC_OFFSET( 925, glRasterPos4f, glRasterPos4f, NULL, _gloffset_RasterPos4f), + NAME_FUNC_OFFSET( 939, glRasterPos4fv, glRasterPos4fv, NULL, _gloffset_RasterPos4fv), + NAME_FUNC_OFFSET( 954, glRasterPos4i, glRasterPos4i, NULL, _gloffset_RasterPos4i), + NAME_FUNC_OFFSET( 968, glRasterPos4iv, glRasterPos4iv, NULL, _gloffset_RasterPos4iv), + NAME_FUNC_OFFSET( 983, glRasterPos4s, glRasterPos4s, NULL, _gloffset_RasterPos4s), + NAME_FUNC_OFFSET( 997, glRasterPos4sv, glRasterPos4sv, NULL, _gloffset_RasterPos4sv), + NAME_FUNC_OFFSET( 1012, glRectd, glRectd, NULL, _gloffset_Rectd), + NAME_FUNC_OFFSET( 1020, glRectdv, glRectdv, NULL, _gloffset_Rectdv), + NAME_FUNC_OFFSET( 1029, glRectf, glRectf, NULL, _gloffset_Rectf), + NAME_FUNC_OFFSET( 1037, glRectfv, glRectfv, NULL, _gloffset_Rectfv), + NAME_FUNC_OFFSET( 1046, glRecti, glRecti, NULL, _gloffset_Recti), + NAME_FUNC_OFFSET( 1054, glRectiv, glRectiv, NULL, _gloffset_Rectiv), + NAME_FUNC_OFFSET( 1063, glRects, glRects, NULL, _gloffset_Rects), + NAME_FUNC_OFFSET( 1071, glRectsv, glRectsv, NULL, _gloffset_Rectsv), + NAME_FUNC_OFFSET( 1080, glTexCoord1d, glTexCoord1d, NULL, _gloffset_TexCoord1d), + NAME_FUNC_OFFSET( 1093, glTexCoord1dv, glTexCoord1dv, NULL, _gloffset_TexCoord1dv), + NAME_FUNC_OFFSET( 1107, glTexCoord1f, glTexCoord1f, NULL, _gloffset_TexCoord1f), + NAME_FUNC_OFFSET( 1120, glTexCoord1fv, glTexCoord1fv, NULL, _gloffset_TexCoord1fv), + NAME_FUNC_OFFSET( 1134, glTexCoord1i, glTexCoord1i, NULL, _gloffset_TexCoord1i), + NAME_FUNC_OFFSET( 1147, glTexCoord1iv, glTexCoord1iv, NULL, _gloffset_TexCoord1iv), + NAME_FUNC_OFFSET( 1161, glTexCoord1s, glTexCoord1s, NULL, _gloffset_TexCoord1s), + NAME_FUNC_OFFSET( 1174, glTexCoord1sv, glTexCoord1sv, NULL, _gloffset_TexCoord1sv), + NAME_FUNC_OFFSET( 1188, glTexCoord2d, glTexCoord2d, NULL, _gloffset_TexCoord2d), + NAME_FUNC_OFFSET( 1201, glTexCoord2dv, glTexCoord2dv, NULL, _gloffset_TexCoord2dv), + NAME_FUNC_OFFSET( 1215, glTexCoord2f, glTexCoord2f, NULL, _gloffset_TexCoord2f), + NAME_FUNC_OFFSET( 1228, glTexCoord2fv, glTexCoord2fv, NULL, _gloffset_TexCoord2fv), + NAME_FUNC_OFFSET( 1242, glTexCoord2i, glTexCoord2i, NULL, _gloffset_TexCoord2i), + NAME_FUNC_OFFSET( 1255, glTexCoord2iv, glTexCoord2iv, NULL, _gloffset_TexCoord2iv), + NAME_FUNC_OFFSET( 1269, glTexCoord2s, glTexCoord2s, NULL, _gloffset_TexCoord2s), + NAME_FUNC_OFFSET( 1282, glTexCoord2sv, glTexCoord2sv, NULL, _gloffset_TexCoord2sv), + NAME_FUNC_OFFSET( 1296, glTexCoord3d, glTexCoord3d, NULL, _gloffset_TexCoord3d), + NAME_FUNC_OFFSET( 1309, glTexCoord3dv, glTexCoord3dv, NULL, _gloffset_TexCoord3dv), + NAME_FUNC_OFFSET( 1323, glTexCoord3f, glTexCoord3f, NULL, _gloffset_TexCoord3f), + NAME_FUNC_OFFSET( 1336, glTexCoord3fv, glTexCoord3fv, NULL, _gloffset_TexCoord3fv), + NAME_FUNC_OFFSET( 1350, glTexCoord3i, glTexCoord3i, NULL, _gloffset_TexCoord3i), + NAME_FUNC_OFFSET( 1363, glTexCoord3iv, glTexCoord3iv, NULL, _gloffset_TexCoord3iv), + NAME_FUNC_OFFSET( 1377, glTexCoord3s, glTexCoord3s, NULL, _gloffset_TexCoord3s), + NAME_FUNC_OFFSET( 1390, glTexCoord3sv, glTexCoord3sv, NULL, _gloffset_TexCoord3sv), + NAME_FUNC_OFFSET( 1404, glTexCoord4d, glTexCoord4d, NULL, _gloffset_TexCoord4d), + NAME_FUNC_OFFSET( 1417, glTexCoord4dv, glTexCoord4dv, NULL, _gloffset_TexCoord4dv), + NAME_FUNC_OFFSET( 1431, glTexCoord4f, glTexCoord4f, NULL, _gloffset_TexCoord4f), + NAME_FUNC_OFFSET( 1444, glTexCoord4fv, glTexCoord4fv, NULL, _gloffset_TexCoord4fv), + NAME_FUNC_OFFSET( 1458, glTexCoord4i, glTexCoord4i, NULL, _gloffset_TexCoord4i), + NAME_FUNC_OFFSET( 1471, glTexCoord4iv, glTexCoord4iv, NULL, _gloffset_TexCoord4iv), + NAME_FUNC_OFFSET( 1485, glTexCoord4s, glTexCoord4s, NULL, _gloffset_TexCoord4s), + NAME_FUNC_OFFSET( 1498, glTexCoord4sv, glTexCoord4sv, NULL, _gloffset_TexCoord4sv), + NAME_FUNC_OFFSET( 1512, glVertex2d, glVertex2d, NULL, _gloffset_Vertex2d), + NAME_FUNC_OFFSET( 1523, glVertex2dv, glVertex2dv, NULL, _gloffset_Vertex2dv), + NAME_FUNC_OFFSET( 1535, glVertex2f, glVertex2f, NULL, _gloffset_Vertex2f), + NAME_FUNC_OFFSET( 1546, glVertex2fv, glVertex2fv, NULL, _gloffset_Vertex2fv), + NAME_FUNC_OFFSET( 1558, glVertex2i, glVertex2i, NULL, _gloffset_Vertex2i), + NAME_FUNC_OFFSET( 1569, glVertex2iv, glVertex2iv, NULL, _gloffset_Vertex2iv), + NAME_FUNC_OFFSET( 1581, glVertex2s, glVertex2s, NULL, _gloffset_Vertex2s), + NAME_FUNC_OFFSET( 1592, glVertex2sv, glVertex2sv, NULL, _gloffset_Vertex2sv), + NAME_FUNC_OFFSET( 1604, glVertex3d, glVertex3d, NULL, _gloffset_Vertex3d), + NAME_FUNC_OFFSET( 1615, glVertex3dv, glVertex3dv, NULL, _gloffset_Vertex3dv), + NAME_FUNC_OFFSET( 1627, glVertex3f, glVertex3f, NULL, _gloffset_Vertex3f), + NAME_FUNC_OFFSET( 1638, glVertex3fv, glVertex3fv, NULL, _gloffset_Vertex3fv), + NAME_FUNC_OFFSET( 1650, glVertex3i, glVertex3i, NULL, _gloffset_Vertex3i), + NAME_FUNC_OFFSET( 1661, glVertex3iv, glVertex3iv, NULL, _gloffset_Vertex3iv), + NAME_FUNC_OFFSET( 1673, glVertex3s, glVertex3s, NULL, _gloffset_Vertex3s), + NAME_FUNC_OFFSET( 1684, glVertex3sv, glVertex3sv, NULL, _gloffset_Vertex3sv), + NAME_FUNC_OFFSET( 1696, glVertex4d, glVertex4d, NULL, _gloffset_Vertex4d), + NAME_FUNC_OFFSET( 1707, glVertex4dv, glVertex4dv, NULL, _gloffset_Vertex4dv), + NAME_FUNC_OFFSET( 1719, glVertex4f, glVertex4f, NULL, _gloffset_Vertex4f), + NAME_FUNC_OFFSET( 1730, glVertex4fv, glVertex4fv, NULL, _gloffset_Vertex4fv), + NAME_FUNC_OFFSET( 1742, glVertex4i, glVertex4i, NULL, _gloffset_Vertex4i), + NAME_FUNC_OFFSET( 1753, glVertex4iv, glVertex4iv, NULL, _gloffset_Vertex4iv), + NAME_FUNC_OFFSET( 1765, glVertex4s, glVertex4s, NULL, _gloffset_Vertex4s), + NAME_FUNC_OFFSET( 1776, glVertex4sv, glVertex4sv, NULL, _gloffset_Vertex4sv), + NAME_FUNC_OFFSET( 1788, glClipPlane, glClipPlane, NULL, _gloffset_ClipPlane), + NAME_FUNC_OFFSET( 1800, glColorMaterial, glColorMaterial, NULL, _gloffset_ColorMaterial), + NAME_FUNC_OFFSET( 1816, glCullFace, glCullFace, NULL, _gloffset_CullFace), + NAME_FUNC_OFFSET( 1827, glFogf, glFogf, NULL, _gloffset_Fogf), + NAME_FUNC_OFFSET( 1834, glFogfv, glFogfv, NULL, _gloffset_Fogfv), + NAME_FUNC_OFFSET( 1842, glFogi, glFogi, NULL, _gloffset_Fogi), + NAME_FUNC_OFFSET( 1849, glFogiv, glFogiv, NULL, _gloffset_Fogiv), + NAME_FUNC_OFFSET( 1857, glFrontFace, glFrontFace, NULL, _gloffset_FrontFace), + NAME_FUNC_OFFSET( 1869, glHint, glHint, NULL, _gloffset_Hint), + NAME_FUNC_OFFSET( 1876, glLightf, glLightf, NULL, _gloffset_Lightf), + NAME_FUNC_OFFSET( 1885, glLightfv, glLightfv, NULL, _gloffset_Lightfv), + NAME_FUNC_OFFSET( 1895, glLighti, glLighti, NULL, _gloffset_Lighti), + NAME_FUNC_OFFSET( 1904, glLightiv, glLightiv, NULL, _gloffset_Lightiv), + NAME_FUNC_OFFSET( 1914, glLightModelf, glLightModelf, NULL, _gloffset_LightModelf), + NAME_FUNC_OFFSET( 1928, glLightModelfv, glLightModelfv, NULL, _gloffset_LightModelfv), + NAME_FUNC_OFFSET( 1943, glLightModeli, glLightModeli, NULL, _gloffset_LightModeli), + NAME_FUNC_OFFSET( 1957, glLightModeliv, glLightModeliv, NULL, _gloffset_LightModeliv), + NAME_FUNC_OFFSET( 1972, glLineStipple, glLineStipple, NULL, _gloffset_LineStipple), + NAME_FUNC_OFFSET( 1986, glLineWidth, glLineWidth, NULL, _gloffset_LineWidth), + NAME_FUNC_OFFSET( 1998, glMaterialf, glMaterialf, NULL, _gloffset_Materialf), + NAME_FUNC_OFFSET( 2010, glMaterialfv, glMaterialfv, NULL, _gloffset_Materialfv), + NAME_FUNC_OFFSET( 2023, glMateriali, glMateriali, NULL, _gloffset_Materiali), + NAME_FUNC_OFFSET( 2035, glMaterialiv, glMaterialiv, NULL, _gloffset_Materialiv), + NAME_FUNC_OFFSET( 2048, glPointSize, glPointSize, NULL, _gloffset_PointSize), + NAME_FUNC_OFFSET( 2060, glPolygonMode, glPolygonMode, NULL, _gloffset_PolygonMode), + NAME_FUNC_OFFSET( 2074, glPolygonStipple, glPolygonStipple, NULL, _gloffset_PolygonStipple), + NAME_FUNC_OFFSET( 2091, glScissor, glScissor, NULL, _gloffset_Scissor), + NAME_FUNC_OFFSET( 2101, glShadeModel, glShadeModel, NULL, _gloffset_ShadeModel), + NAME_FUNC_OFFSET( 2114, glTexParameterf, glTexParameterf, NULL, _gloffset_TexParameterf), + NAME_FUNC_OFFSET( 2130, glTexParameterfv, glTexParameterfv, NULL, _gloffset_TexParameterfv), + NAME_FUNC_OFFSET( 2147, glTexParameteri, glTexParameteri, NULL, _gloffset_TexParameteri), + NAME_FUNC_OFFSET( 2163, glTexParameteriv, glTexParameteriv, NULL, _gloffset_TexParameteriv), + NAME_FUNC_OFFSET( 2180, glTexImage1D, glTexImage1D, NULL, _gloffset_TexImage1D), + NAME_FUNC_OFFSET( 2193, glTexImage2D, glTexImage2D, NULL, _gloffset_TexImage2D), + NAME_FUNC_OFFSET( 2206, glTexEnvf, glTexEnvf, NULL, _gloffset_TexEnvf), + NAME_FUNC_OFFSET( 2216, glTexEnvfv, glTexEnvfv, NULL, _gloffset_TexEnvfv), + NAME_FUNC_OFFSET( 2227, glTexEnvi, glTexEnvi, NULL, _gloffset_TexEnvi), + NAME_FUNC_OFFSET( 2237, glTexEnviv, glTexEnviv, NULL, _gloffset_TexEnviv), + NAME_FUNC_OFFSET( 2248, glTexGend, glTexGend, NULL, _gloffset_TexGend), + NAME_FUNC_OFFSET( 2258, glTexGendv, glTexGendv, NULL, _gloffset_TexGendv), + NAME_FUNC_OFFSET( 2269, glTexGenf, glTexGenf, NULL, _gloffset_TexGenf), + NAME_FUNC_OFFSET( 2279, glTexGenfv, glTexGenfv, NULL, _gloffset_TexGenfv), + NAME_FUNC_OFFSET( 2290, glTexGeni, glTexGeni, NULL, _gloffset_TexGeni), + NAME_FUNC_OFFSET( 2300, glTexGeniv, glTexGeniv, NULL, _gloffset_TexGeniv), + NAME_FUNC_OFFSET( 2311, glFeedbackBuffer, glFeedbackBuffer, NULL, _gloffset_FeedbackBuffer), + NAME_FUNC_OFFSET( 2328, glSelectBuffer, glSelectBuffer, NULL, _gloffset_SelectBuffer), + NAME_FUNC_OFFSET( 2343, glRenderMode, glRenderMode, NULL, _gloffset_RenderMode), + NAME_FUNC_OFFSET( 2356, glInitNames, glInitNames, NULL, _gloffset_InitNames), + NAME_FUNC_OFFSET( 2368, glLoadName, glLoadName, NULL, _gloffset_LoadName), + NAME_FUNC_OFFSET( 2379, glPassThrough, glPassThrough, NULL, _gloffset_PassThrough), + NAME_FUNC_OFFSET( 2393, glPopName, glPopName, NULL, _gloffset_PopName), + NAME_FUNC_OFFSET( 2403, glPushName, glPushName, NULL, _gloffset_PushName), + NAME_FUNC_OFFSET( 2414, glDrawBuffer, glDrawBuffer, NULL, _gloffset_DrawBuffer), + NAME_FUNC_OFFSET( 2427, glClear, glClear, NULL, _gloffset_Clear), + NAME_FUNC_OFFSET( 2435, glClearAccum, glClearAccum, NULL, _gloffset_ClearAccum), + NAME_FUNC_OFFSET( 2448, glClearIndex, glClearIndex, NULL, _gloffset_ClearIndex), + NAME_FUNC_OFFSET( 2461, glClearColor, glClearColor, NULL, _gloffset_ClearColor), + NAME_FUNC_OFFSET( 2474, glClearStencil, glClearStencil, NULL, _gloffset_ClearStencil), + NAME_FUNC_OFFSET( 2489, glClearDepth, glClearDepth, NULL, _gloffset_ClearDepth), + NAME_FUNC_OFFSET( 2502, glStencilMask, glStencilMask, NULL, _gloffset_StencilMask), + NAME_FUNC_OFFSET( 2516, glColorMask, glColorMask, NULL, _gloffset_ColorMask), + NAME_FUNC_OFFSET( 2528, glDepthMask, glDepthMask, NULL, _gloffset_DepthMask), + NAME_FUNC_OFFSET( 2540, glIndexMask, glIndexMask, NULL, _gloffset_IndexMask), + NAME_FUNC_OFFSET( 2552, glAccum, glAccum, NULL, _gloffset_Accum), + NAME_FUNC_OFFSET( 2560, glDisable, glDisable, NULL, _gloffset_Disable), + NAME_FUNC_OFFSET( 2570, glEnable, glEnable, NULL, _gloffset_Enable), + NAME_FUNC_OFFSET( 2579, glFinish, glFinish, NULL, _gloffset_Finish), + NAME_FUNC_OFFSET( 2588, glFlush, glFlush, NULL, _gloffset_Flush), + NAME_FUNC_OFFSET( 2596, glPopAttrib, glPopAttrib, NULL, _gloffset_PopAttrib), + NAME_FUNC_OFFSET( 2608, glPushAttrib, glPushAttrib, NULL, _gloffset_PushAttrib), + NAME_FUNC_OFFSET( 2621, glMap1d, glMap1d, NULL, _gloffset_Map1d), + NAME_FUNC_OFFSET( 2629, glMap1f, glMap1f, NULL, _gloffset_Map1f), + NAME_FUNC_OFFSET( 2637, glMap2d, glMap2d, NULL, _gloffset_Map2d), + NAME_FUNC_OFFSET( 2645, glMap2f, glMap2f, NULL, _gloffset_Map2f), + NAME_FUNC_OFFSET( 2653, glMapGrid1d, glMapGrid1d, NULL, _gloffset_MapGrid1d), + NAME_FUNC_OFFSET( 2665, glMapGrid1f, glMapGrid1f, NULL, _gloffset_MapGrid1f), + NAME_FUNC_OFFSET( 2677, glMapGrid2d, glMapGrid2d, NULL, _gloffset_MapGrid2d), + NAME_FUNC_OFFSET( 2689, glMapGrid2f, glMapGrid2f, NULL, _gloffset_MapGrid2f), + NAME_FUNC_OFFSET( 2701, glEvalCoord1d, glEvalCoord1d, NULL, _gloffset_EvalCoord1d), + NAME_FUNC_OFFSET( 2715, glEvalCoord1dv, glEvalCoord1dv, NULL, _gloffset_EvalCoord1dv), + NAME_FUNC_OFFSET( 2730, glEvalCoord1f, glEvalCoord1f, NULL, _gloffset_EvalCoord1f), + NAME_FUNC_OFFSET( 2744, glEvalCoord1fv, glEvalCoord1fv, NULL, _gloffset_EvalCoord1fv), + NAME_FUNC_OFFSET( 2759, glEvalCoord2d, glEvalCoord2d, NULL, _gloffset_EvalCoord2d), + NAME_FUNC_OFFSET( 2773, glEvalCoord2dv, glEvalCoord2dv, NULL, _gloffset_EvalCoord2dv), + NAME_FUNC_OFFSET( 2788, glEvalCoord2f, glEvalCoord2f, NULL, _gloffset_EvalCoord2f), + NAME_FUNC_OFFSET( 2802, glEvalCoord2fv, glEvalCoord2fv, NULL, _gloffset_EvalCoord2fv), + NAME_FUNC_OFFSET( 2817, glEvalMesh1, glEvalMesh1, NULL, _gloffset_EvalMesh1), + NAME_FUNC_OFFSET( 2829, glEvalPoint1, glEvalPoint1, NULL, _gloffset_EvalPoint1), + NAME_FUNC_OFFSET( 2842, glEvalMesh2, glEvalMesh2, NULL, _gloffset_EvalMesh2), + NAME_FUNC_OFFSET( 2854, glEvalPoint2, glEvalPoint2, NULL, _gloffset_EvalPoint2), + NAME_FUNC_OFFSET( 2867, glAlphaFunc, glAlphaFunc, NULL, _gloffset_AlphaFunc), + NAME_FUNC_OFFSET( 2879, glBlendFunc, glBlendFunc, NULL, _gloffset_BlendFunc), + NAME_FUNC_OFFSET( 2891, glLogicOp, glLogicOp, NULL, _gloffset_LogicOp), + NAME_FUNC_OFFSET( 2901, glStencilFunc, glStencilFunc, NULL, _gloffset_StencilFunc), + NAME_FUNC_OFFSET( 2915, glStencilOp, glStencilOp, NULL, _gloffset_StencilOp), + NAME_FUNC_OFFSET( 2927, glDepthFunc, glDepthFunc, NULL, _gloffset_DepthFunc), + NAME_FUNC_OFFSET( 2939, glPixelZoom, glPixelZoom, NULL, _gloffset_PixelZoom), + NAME_FUNC_OFFSET( 2951, glPixelTransferf, glPixelTransferf, NULL, _gloffset_PixelTransferf), + NAME_FUNC_OFFSET( 2968, glPixelTransferi, glPixelTransferi, NULL, _gloffset_PixelTransferi), + NAME_FUNC_OFFSET( 2985, glPixelStoref, glPixelStoref, NULL, _gloffset_PixelStoref), + NAME_FUNC_OFFSET( 2999, glPixelStorei, glPixelStorei, NULL, _gloffset_PixelStorei), + NAME_FUNC_OFFSET( 3013, glPixelMapfv, glPixelMapfv, NULL, _gloffset_PixelMapfv), + NAME_FUNC_OFFSET( 3026, glPixelMapuiv, glPixelMapuiv, NULL, _gloffset_PixelMapuiv), + NAME_FUNC_OFFSET( 3040, glPixelMapusv, glPixelMapusv, NULL, _gloffset_PixelMapusv), + NAME_FUNC_OFFSET( 3054, glReadBuffer, glReadBuffer, NULL, _gloffset_ReadBuffer), + NAME_FUNC_OFFSET( 3067, glCopyPixels, glCopyPixels, NULL, _gloffset_CopyPixels), + NAME_FUNC_OFFSET( 3080, glReadPixels, glReadPixels, NULL, _gloffset_ReadPixels), + NAME_FUNC_OFFSET( 3093, glDrawPixels, glDrawPixels, NULL, _gloffset_DrawPixels), + NAME_FUNC_OFFSET( 3106, glGetBooleanv, glGetBooleanv, NULL, _gloffset_GetBooleanv), + NAME_FUNC_OFFSET( 3120, glGetClipPlane, glGetClipPlane, NULL, _gloffset_GetClipPlane), + NAME_FUNC_OFFSET( 3135, glGetDoublev, glGetDoublev, NULL, _gloffset_GetDoublev), + NAME_FUNC_OFFSET( 3148, glGetError, glGetError, NULL, _gloffset_GetError), + NAME_FUNC_OFFSET( 3159, glGetFloatv, glGetFloatv, NULL, _gloffset_GetFloatv), + NAME_FUNC_OFFSET( 3171, glGetIntegerv, glGetIntegerv, NULL, _gloffset_GetIntegerv), + NAME_FUNC_OFFSET( 3185, glGetLightfv, glGetLightfv, NULL, _gloffset_GetLightfv), + NAME_FUNC_OFFSET( 3198, glGetLightiv, glGetLightiv, NULL, _gloffset_GetLightiv), + NAME_FUNC_OFFSET( 3211, glGetMapdv, glGetMapdv, NULL, _gloffset_GetMapdv), + NAME_FUNC_OFFSET( 3222, glGetMapfv, glGetMapfv, NULL, _gloffset_GetMapfv), + NAME_FUNC_OFFSET( 3233, glGetMapiv, glGetMapiv, NULL, _gloffset_GetMapiv), + NAME_FUNC_OFFSET( 3244, glGetMaterialfv, glGetMaterialfv, NULL, _gloffset_GetMaterialfv), + NAME_FUNC_OFFSET( 3260, glGetMaterialiv, glGetMaterialiv, NULL, _gloffset_GetMaterialiv), + NAME_FUNC_OFFSET( 3276, glGetPixelMapfv, glGetPixelMapfv, NULL, _gloffset_GetPixelMapfv), + NAME_FUNC_OFFSET( 3292, glGetPixelMapuiv, glGetPixelMapuiv, NULL, _gloffset_GetPixelMapuiv), + NAME_FUNC_OFFSET( 3309, glGetPixelMapusv, glGetPixelMapusv, NULL, _gloffset_GetPixelMapusv), + NAME_FUNC_OFFSET( 3326, glGetPolygonStipple, glGetPolygonStipple, NULL, _gloffset_GetPolygonStipple), + NAME_FUNC_OFFSET( 3346, glGetString, glGetString, NULL, _gloffset_GetString), + NAME_FUNC_OFFSET( 3358, glGetTexEnvfv, glGetTexEnvfv, NULL, _gloffset_GetTexEnvfv), + NAME_FUNC_OFFSET( 3372, glGetTexEnviv, glGetTexEnviv, NULL, _gloffset_GetTexEnviv), + NAME_FUNC_OFFSET( 3386, glGetTexGendv, glGetTexGendv, NULL, _gloffset_GetTexGendv), + NAME_FUNC_OFFSET( 3400, glGetTexGenfv, glGetTexGenfv, NULL, _gloffset_GetTexGenfv), + NAME_FUNC_OFFSET( 3414, glGetTexGeniv, glGetTexGeniv, NULL, _gloffset_GetTexGeniv), + NAME_FUNC_OFFSET( 3428, glGetTexImage, glGetTexImage, NULL, _gloffset_GetTexImage), + NAME_FUNC_OFFSET( 3442, glGetTexParameterfv, glGetTexParameterfv, NULL, _gloffset_GetTexParameterfv), + NAME_FUNC_OFFSET( 3462, glGetTexParameteriv, glGetTexParameteriv, NULL, _gloffset_GetTexParameteriv), + NAME_FUNC_OFFSET( 3482, glGetTexLevelParameterfv, glGetTexLevelParameterfv, NULL, _gloffset_GetTexLevelParameterfv), + NAME_FUNC_OFFSET( 3507, glGetTexLevelParameteriv, glGetTexLevelParameteriv, NULL, _gloffset_GetTexLevelParameteriv), + NAME_FUNC_OFFSET( 3532, glIsEnabled, glIsEnabled, NULL, _gloffset_IsEnabled), + NAME_FUNC_OFFSET( 3544, glIsList, glIsList, NULL, _gloffset_IsList), + NAME_FUNC_OFFSET( 3553, glDepthRange, glDepthRange, NULL, _gloffset_DepthRange), + NAME_FUNC_OFFSET( 3566, glFrustum, glFrustum, NULL, _gloffset_Frustum), + NAME_FUNC_OFFSET( 3576, glLoadIdentity, glLoadIdentity, NULL, _gloffset_LoadIdentity), + NAME_FUNC_OFFSET( 3591, glLoadMatrixf, glLoadMatrixf, NULL, _gloffset_LoadMatrixf), + NAME_FUNC_OFFSET( 3605, glLoadMatrixd, glLoadMatrixd, NULL, _gloffset_LoadMatrixd), + NAME_FUNC_OFFSET( 3619, glMatrixMode, glMatrixMode, NULL, _gloffset_MatrixMode), + NAME_FUNC_OFFSET( 3632, glMultMatrixf, glMultMatrixf, NULL, _gloffset_MultMatrixf), + NAME_FUNC_OFFSET( 3646, glMultMatrixd, glMultMatrixd, NULL, _gloffset_MultMatrixd), + NAME_FUNC_OFFSET( 3660, glOrtho, glOrtho, NULL, _gloffset_Ortho), + NAME_FUNC_OFFSET( 3668, glPopMatrix, glPopMatrix, NULL, _gloffset_PopMatrix), + NAME_FUNC_OFFSET( 3680, glPushMatrix, glPushMatrix, NULL, _gloffset_PushMatrix), + NAME_FUNC_OFFSET( 3693, glRotated, glRotated, NULL, _gloffset_Rotated), + NAME_FUNC_OFFSET( 3703, glRotatef, glRotatef, NULL, _gloffset_Rotatef), + NAME_FUNC_OFFSET( 3713, glScaled, glScaled, NULL, _gloffset_Scaled), + NAME_FUNC_OFFSET( 3722, glScalef, glScalef, NULL, _gloffset_Scalef), + NAME_FUNC_OFFSET( 3731, glTranslated, glTranslated, NULL, _gloffset_Translated), + NAME_FUNC_OFFSET( 3744, glTranslatef, glTranslatef, NULL, _gloffset_Translatef), + NAME_FUNC_OFFSET( 3757, glViewport, glViewport, NULL, _gloffset_Viewport), + NAME_FUNC_OFFSET( 3768, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), + NAME_FUNC_OFFSET( 3783, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), + NAME_FUNC_OFFSET( 3797, glColorPointer, glColorPointer, NULL, _gloffset_ColorPointer), + NAME_FUNC_OFFSET( 3812, glDisableClientState, glDisableClientState, NULL, _gloffset_DisableClientState), + NAME_FUNC_OFFSET( 3833, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), + NAME_FUNC_OFFSET( 3846, glDrawElements, glDrawElements, NULL, _gloffset_DrawElements), + NAME_FUNC_OFFSET( 3861, glEdgeFlagPointer, glEdgeFlagPointer, NULL, _gloffset_EdgeFlagPointer), + NAME_FUNC_OFFSET( 3879, glEnableClientState, glEnableClientState, NULL, _gloffset_EnableClientState), + NAME_FUNC_OFFSET( 3899, glIndexPointer, glIndexPointer, NULL, _gloffset_IndexPointer), + NAME_FUNC_OFFSET( 3914, glIndexub, glIndexub, NULL, _gloffset_Indexub), + NAME_FUNC_OFFSET( 3924, glIndexubv, glIndexubv, NULL, _gloffset_Indexubv), + NAME_FUNC_OFFSET( 3935, glInterleavedArrays, glInterleavedArrays, NULL, _gloffset_InterleavedArrays), + NAME_FUNC_OFFSET( 3955, glNormalPointer, glNormalPointer, NULL, _gloffset_NormalPointer), + NAME_FUNC_OFFSET( 3971, glPolygonOffset, glPolygonOffset, NULL, _gloffset_PolygonOffset), + NAME_FUNC_OFFSET( 3987, glTexCoordPointer, glTexCoordPointer, NULL, _gloffset_TexCoordPointer), + NAME_FUNC_OFFSET( 4005, glVertexPointer, glVertexPointer, NULL, _gloffset_VertexPointer), + NAME_FUNC_OFFSET( 4021, glAreTexturesResident, glAreTexturesResident, NULL, _gloffset_AreTexturesResident), + NAME_FUNC_OFFSET( 4043, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), + NAME_FUNC_OFFSET( 4060, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), + NAME_FUNC_OFFSET( 4077, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), + NAME_FUNC_OFFSET( 4097, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), + NAME_FUNC_OFFSET( 4117, glDeleteTextures, glDeleteTextures, NULL, _gloffset_DeleteTextures), + NAME_FUNC_OFFSET( 4134, glGenTextures, glGenTextures, NULL, _gloffset_GenTextures), + NAME_FUNC_OFFSET( 4148, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), + NAME_FUNC_OFFSET( 4162, glIsTexture, glIsTexture, NULL, _gloffset_IsTexture), + NAME_FUNC_OFFSET( 4174, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), + NAME_FUNC_OFFSET( 4195, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), + NAME_FUNC_OFFSET( 4211, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), + NAME_FUNC_OFFSET( 4227, glPopClientAttrib, glPopClientAttrib, NULL, _gloffset_PopClientAttrib), + NAME_FUNC_OFFSET( 4245, glPushClientAttrib, glPushClientAttrib, NULL, _gloffset_PushClientAttrib), + NAME_FUNC_OFFSET( 4264, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), + NAME_FUNC_OFFSET( 4277, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), + NAME_FUNC_OFFSET( 4293, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), + NAME_FUNC_OFFSET( 4313, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET( 4326, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), + NAME_FUNC_OFFSET( 4350, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), + NAME_FUNC_OFFSET( 4374, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), + NAME_FUNC_OFFSET( 4391, glGetColorTable, glGetColorTable, NULL, _gloffset_GetColorTable), + NAME_FUNC_OFFSET( 4407, glGetColorTableParameterfv, glGetColorTableParameterfv, NULL, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET( 4434, glGetColorTableParameteriv, glGetColorTableParameteriv, NULL, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET( 4461, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), + NAME_FUNC_OFFSET( 4477, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), + NAME_FUNC_OFFSET( 4497, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), + NAME_FUNC_OFFSET( 4519, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), + NAME_FUNC_OFFSET( 4541, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), + NAME_FUNC_OFFSET( 4565, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), + NAME_FUNC_OFFSET( 4590, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), + NAME_FUNC_OFFSET( 4614, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), + NAME_FUNC_OFFSET( 4639, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), + NAME_FUNC_OFFSET( 4665, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), + NAME_FUNC_OFFSET( 4691, glGetConvolutionFilter, glGetConvolutionFilter, NULL, _gloffset_GetConvolutionFilter), + NAME_FUNC_OFFSET( 4714, glGetConvolutionParameterfv, glGetConvolutionParameterfv, NULL, _gloffset_GetConvolutionParameterfv), + NAME_FUNC_OFFSET( 4742, glGetConvolutionParameteriv, glGetConvolutionParameteriv, NULL, _gloffset_GetConvolutionParameteriv), + NAME_FUNC_OFFSET( 4770, glGetSeparableFilter, glGetSeparableFilter, NULL, _gloffset_GetSeparableFilter), + NAME_FUNC_OFFSET( 4791, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), + NAME_FUNC_OFFSET( 4811, glGetHistogram, glGetHistogram, NULL, _gloffset_GetHistogram), + NAME_FUNC_OFFSET( 4826, glGetHistogramParameterfv, glGetHistogramParameterfv, NULL, _gloffset_GetHistogramParameterfv), + NAME_FUNC_OFFSET( 4852, glGetHistogramParameteriv, glGetHistogramParameteriv, NULL, _gloffset_GetHistogramParameteriv), + NAME_FUNC_OFFSET( 4878, glGetMinmax, glGetMinmax, NULL, _gloffset_GetMinmax), + NAME_FUNC_OFFSET( 4890, glGetMinmaxParameterfv, glGetMinmaxParameterfv, NULL, _gloffset_GetMinmaxParameterfv), + NAME_FUNC_OFFSET( 4913, glGetMinmaxParameteriv, glGetMinmaxParameteriv, NULL, _gloffset_GetMinmaxParameteriv), + NAME_FUNC_OFFSET( 4936, glHistogram, glHistogram, NULL, _gloffset_Histogram), + NAME_FUNC_OFFSET( 4948, glMinmax, glMinmax, NULL, _gloffset_Minmax), + NAME_FUNC_OFFSET( 4957, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), + NAME_FUNC_OFFSET( 4974, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), + NAME_FUNC_OFFSET( 4988, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), + NAME_FUNC_OFFSET( 5001, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), + NAME_FUNC_OFFSET( 5017, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), + NAME_FUNC_OFFSET( 5037, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), + NAME_FUNC_OFFSET( 5056, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), + NAME_FUNC_OFFSET( 5081, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), + NAME_FUNC_OFFSET( 5102, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), + NAME_FUNC_OFFSET( 5124, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), + NAME_FUNC_OFFSET( 5145, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), + NAME_FUNC_OFFSET( 5167, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), + NAME_FUNC_OFFSET( 5188, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), + NAME_FUNC_OFFSET( 5210, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), + NAME_FUNC_OFFSET( 5231, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), + NAME_FUNC_OFFSET( 5253, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), + NAME_FUNC_OFFSET( 5274, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), + NAME_FUNC_OFFSET( 5296, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), + NAME_FUNC_OFFSET( 5317, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), + NAME_FUNC_OFFSET( 5339, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), + NAME_FUNC_OFFSET( 5360, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), + NAME_FUNC_OFFSET( 5382, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), + NAME_FUNC_OFFSET( 5403, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), + NAME_FUNC_OFFSET( 5425, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), + NAME_FUNC_OFFSET( 5446, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), + NAME_FUNC_OFFSET( 5468, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), + NAME_FUNC_OFFSET( 5489, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), + NAME_FUNC_OFFSET( 5511, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), + NAME_FUNC_OFFSET( 5532, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), + NAME_FUNC_OFFSET( 5554, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), + NAME_FUNC_OFFSET( 5575, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), + NAME_FUNC_OFFSET( 5597, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), + NAME_FUNC_OFFSET( 5618, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), + NAME_FUNC_OFFSET( 5640, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), + NAME_FUNC_OFFSET( 5661, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), + NAME_FUNC_OFFSET( 5683, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), + NAME_FUNC_OFFSET( 5704, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), + NAME_FUNC_OFFSET( 5726, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), + NAME_FUNC_OFFSET( 5747, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), + NAME_FUNC_OFFSET( 5769, glAttachShader, glAttachShader, NULL, _gloffset_AttachShader), + NAME_FUNC_OFFSET( 5784, glCreateProgram, glCreateProgram, NULL, _gloffset_CreateProgram), + NAME_FUNC_OFFSET( 5800, glCreateShader, glCreateShader, NULL, _gloffset_CreateShader), + NAME_FUNC_OFFSET( 5815, glDeleteProgram, glDeleteProgram, NULL, _gloffset_DeleteProgram), + NAME_FUNC_OFFSET( 5831, glDeleteShader, glDeleteShader, NULL, _gloffset_DeleteShader), + NAME_FUNC_OFFSET( 5846, glDetachShader, glDetachShader, NULL, _gloffset_DetachShader), + NAME_FUNC_OFFSET( 5861, glGetAttachedShaders, glGetAttachedShaders, NULL, _gloffset_GetAttachedShaders), + NAME_FUNC_OFFSET( 5882, glGetProgramInfoLog, glGetProgramInfoLog, NULL, _gloffset_GetProgramInfoLog), + NAME_FUNC_OFFSET( 5902, glGetProgramiv, glGetProgramiv, NULL, _gloffset_GetProgramiv), + NAME_FUNC_OFFSET( 5917, glGetShaderInfoLog, glGetShaderInfoLog, NULL, _gloffset_GetShaderInfoLog), + NAME_FUNC_OFFSET( 5936, glGetShaderiv, glGetShaderiv, NULL, _gloffset_GetShaderiv), + NAME_FUNC_OFFSET( 5950, glIsProgram, glIsProgram, NULL, _gloffset_IsProgram), + NAME_FUNC_OFFSET( 5962, glIsShader, glIsShader, NULL, _gloffset_IsShader), + NAME_FUNC_OFFSET( 5973, glStencilFuncSeparate, glStencilFuncSeparate, NULL, _gloffset_StencilFuncSeparate), + NAME_FUNC_OFFSET( 5995, glStencilMaskSeparate, glStencilMaskSeparate, NULL, _gloffset_StencilMaskSeparate), + NAME_FUNC_OFFSET( 6017, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), + NAME_FUNC_OFFSET( 6037, glUniformMatrix2x3fv, glUniformMatrix2x3fv, NULL, _gloffset_UniformMatrix2x3fv), + NAME_FUNC_OFFSET( 6058, glUniformMatrix2x4fv, glUniformMatrix2x4fv, NULL, _gloffset_UniformMatrix2x4fv), + NAME_FUNC_OFFSET( 6079, glUniformMatrix3x2fv, glUniformMatrix3x2fv, NULL, _gloffset_UniformMatrix3x2fv), + NAME_FUNC_OFFSET( 6100, glUniformMatrix3x4fv, glUniformMatrix3x4fv, NULL, _gloffset_UniformMatrix3x4fv), + NAME_FUNC_OFFSET( 6121, glUniformMatrix4x2fv, glUniformMatrix4x2fv, NULL, _gloffset_UniformMatrix4x2fv), + NAME_FUNC_OFFSET( 6142, glUniformMatrix4x3fv, glUniformMatrix4x3fv, NULL, _gloffset_UniformMatrix4x3fv), + NAME_FUNC_OFFSET( 6163, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), + NAME_FUNC_OFFSET( 6189, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), + NAME_FUNC_OFFSET( 6215, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), + NAME_FUNC_OFFSET( 6241, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), + NAME_FUNC_OFFSET( 6267, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), + NAME_FUNC_OFFSET( 6287, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), + NAME_FUNC_OFFSET( 6313, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), + NAME_FUNC_OFFSET( 6339, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), + NAME_FUNC_OFFSET( 6365, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), + NAME_FUNC_OFFSET( 6394, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), + NAME_FUNC_OFFSET( 6423, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), + NAME_FUNC_OFFSET( 6452, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), + NAME_FUNC_OFFSET( 6479, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), + NAME_FUNC_OFFSET( 6509, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), + NAME_FUNC_OFFSET( 6538, glGetProgramEnvParameterdvARB, glGetProgramEnvParameterdvARB, NULL, _gloffset_GetProgramEnvParameterdvARB), + NAME_FUNC_OFFSET( 6568, glGetProgramEnvParameterfvARB, glGetProgramEnvParameterfvARB, NULL, _gloffset_GetProgramEnvParameterfvARB), + NAME_FUNC_OFFSET( 6598, glGetProgramLocalParameterdvARB, glGetProgramLocalParameterdvARB, NULL, _gloffset_GetProgramLocalParameterdvARB), + NAME_FUNC_OFFSET( 6630, glGetProgramLocalParameterfvARB, glGetProgramLocalParameterfvARB, NULL, _gloffset_GetProgramLocalParameterfvARB), + NAME_FUNC_OFFSET( 6662, glGetProgramStringARB, glGetProgramStringARB, NULL, _gloffset_GetProgramStringARB), + NAME_FUNC_OFFSET( 6684, glGetProgramivARB, glGetProgramivARB, NULL, _gloffset_GetProgramivARB), + NAME_FUNC_OFFSET( 6702, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), + NAME_FUNC_OFFSET( 6725, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), + NAME_FUNC_OFFSET( 6748, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), + NAME_FUNC_OFFSET( 6771, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), + NAME_FUNC_OFFSET( 6798, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), + NAME_FUNC_OFFSET( 6826, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), + NAME_FUNC_OFFSET( 6853, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), + NAME_FUNC_OFFSET( 6881, glProgramLocalParameter4dARB, glProgramLocalParameter4dARB, NULL, _gloffset_ProgramLocalParameter4dARB), + NAME_FUNC_OFFSET( 6910, glProgramLocalParameter4dvARB, glProgramLocalParameter4dvARB, NULL, _gloffset_ProgramLocalParameter4dvARB), + NAME_FUNC_OFFSET( 6940, glProgramLocalParameter4fARB, glProgramLocalParameter4fARB, NULL, _gloffset_ProgramLocalParameter4fARB), + NAME_FUNC_OFFSET( 6969, glProgramLocalParameter4fvARB, glProgramLocalParameter4fvARB, NULL, _gloffset_ProgramLocalParameter4fvARB), + NAME_FUNC_OFFSET( 6999, glProgramStringARB, glProgramStringARB, NULL, _gloffset_ProgramStringARB), + NAME_FUNC_OFFSET( 7018, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), + NAME_FUNC_OFFSET( 7038, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), + NAME_FUNC_OFFSET( 7059, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), + NAME_FUNC_OFFSET( 7079, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), + NAME_FUNC_OFFSET( 7100, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), + NAME_FUNC_OFFSET( 7120, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), + NAME_FUNC_OFFSET( 7141, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), + NAME_FUNC_OFFSET( 7161, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), + NAME_FUNC_OFFSET( 7182, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), + NAME_FUNC_OFFSET( 7202, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), + NAME_FUNC_OFFSET( 7223, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), + NAME_FUNC_OFFSET( 7243, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), + NAME_FUNC_OFFSET( 7264, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), + NAME_FUNC_OFFSET( 7284, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), + NAME_FUNC_OFFSET( 7305, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), + NAME_FUNC_OFFSET( 7325, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), + NAME_FUNC_OFFSET( 7346, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), + NAME_FUNC_OFFSET( 7366, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), + NAME_FUNC_OFFSET( 7387, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), + NAME_FUNC_OFFSET( 7409, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), + NAME_FUNC_OFFSET( 7431, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), + NAME_FUNC_OFFSET( 7453, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), + NAME_FUNC_OFFSET( 7475, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), + NAME_FUNC_OFFSET( 7498, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), + NAME_FUNC_OFFSET( 7521, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), + NAME_FUNC_OFFSET( 7544, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), + NAME_FUNC_OFFSET( 7565, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), + NAME_FUNC_OFFSET( 7585, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), + NAME_FUNC_OFFSET( 7606, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), + NAME_FUNC_OFFSET( 7626, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), + NAME_FUNC_OFFSET( 7647, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), + NAME_FUNC_OFFSET( 7668, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), + NAME_FUNC_OFFSET( 7688, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), + NAME_FUNC_OFFSET( 7709, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), + NAME_FUNC_OFFSET( 7731, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), + NAME_FUNC_OFFSET( 7753, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), + NAME_FUNC_OFFSET( 7775, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), + NAME_FUNC_OFFSET( 7800, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), + NAME_FUNC_OFFSET( 7816, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), + NAME_FUNC_OFFSET( 7832, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), + NAME_FUNC_OFFSET( 7851, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), + NAME_FUNC_OFFSET( 7870, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), + NAME_FUNC_OFFSET( 7886, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), + NAME_FUNC_OFFSET( 7912, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), + NAME_FUNC_OFFSET( 7935, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), + NAME_FUNC_OFFSET( 7957, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), + NAME_FUNC_OFFSET( 7971, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), + NAME_FUNC_OFFSET( 7986, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), + NAME_FUNC_OFFSET( 8003, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), + NAME_FUNC_OFFSET( 8019, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), + NAME_FUNC_OFFSET( 8038, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), + NAME_FUNC_OFFSET( 8052, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), + NAME_FUNC_OFFSET( 8068, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), + NAME_FUNC_OFFSET( 8090, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), + NAME_FUNC_OFFSET( 8113, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), + NAME_FUNC_OFFSET( 8129, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), + NAME_FUNC_OFFSET( 8142, glAttachObjectARB, glAttachObjectARB, NULL, _gloffset_AttachObjectARB), + NAME_FUNC_OFFSET( 8160, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), + NAME_FUNC_OFFSET( 8179, glCreateProgramObjectARB, glCreateProgramObjectARB, NULL, _gloffset_CreateProgramObjectARB), + NAME_FUNC_OFFSET( 8204, glCreateShaderObjectARB, glCreateShaderObjectARB, NULL, _gloffset_CreateShaderObjectARB), + NAME_FUNC_OFFSET( 8228, glDeleteObjectARB, glDeleteObjectARB, NULL, _gloffset_DeleteObjectARB), + NAME_FUNC_OFFSET( 8246, glDetachObjectARB, glDetachObjectARB, NULL, _gloffset_DetachObjectARB), + NAME_FUNC_OFFSET( 8264, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), + NAME_FUNC_OFFSET( 8286, glGetAttachedObjectsARB, glGetAttachedObjectsARB, NULL, _gloffset_GetAttachedObjectsARB), + NAME_FUNC_OFFSET( 8310, glGetHandleARB, glGetHandleARB, NULL, _gloffset_GetHandleARB), + NAME_FUNC_OFFSET( 8325, glGetInfoLogARB, glGetInfoLogARB, NULL, _gloffset_GetInfoLogARB), + NAME_FUNC_OFFSET( 8341, glGetObjectParameterfvARB, glGetObjectParameterfvARB, NULL, _gloffset_GetObjectParameterfvARB), + NAME_FUNC_OFFSET( 8367, glGetObjectParameterivARB, glGetObjectParameterivARB, NULL, _gloffset_GetObjectParameterivARB), + NAME_FUNC_OFFSET( 8393, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), + NAME_FUNC_OFFSET( 8414, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), + NAME_FUNC_OFFSET( 8438, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), + NAME_FUNC_OFFSET( 8456, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), + NAME_FUNC_OFFSET( 8474, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), + NAME_FUNC_OFFSET( 8491, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), + NAME_FUNC_OFFSET( 8509, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), + NAME_FUNC_OFFSET( 8524, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), + NAME_FUNC_OFFSET( 8540, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), + NAME_FUNC_OFFSET( 8555, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), + NAME_FUNC_OFFSET( 8571, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), + NAME_FUNC_OFFSET( 8586, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), + NAME_FUNC_OFFSET( 8602, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), + NAME_FUNC_OFFSET( 8617, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), + NAME_FUNC_OFFSET( 8633, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), + NAME_FUNC_OFFSET( 8648, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), + NAME_FUNC_OFFSET( 8664, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), + NAME_FUNC_OFFSET( 8679, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), + NAME_FUNC_OFFSET( 8695, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), + NAME_FUNC_OFFSET( 8710, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), + NAME_FUNC_OFFSET( 8726, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), + NAME_FUNC_OFFSET( 8741, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), + NAME_FUNC_OFFSET( 8757, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), + NAME_FUNC_OFFSET( 8779, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), + NAME_FUNC_OFFSET( 8801, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), + NAME_FUNC_OFFSET( 8823, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), + NAME_FUNC_OFFSET( 8845, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), + NAME_FUNC_OFFSET( 8866, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), + NAME_FUNC_OFFSET( 8890, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), + NAME_FUNC_OFFSET( 8911, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), + NAME_FUNC_OFFSET( 8934, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET( 8951, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, _gloffset_PolygonOffsetEXT), + NAME_FUNC_OFFSET( 8970, gl_dispatch_stub_562, gl_dispatch_stub_562, NULL, _gloffset_GetPixelTexGenParameterfvSGIS), + NAME_FUNC_OFFSET( 9002, gl_dispatch_stub_563, gl_dispatch_stub_563, NULL, _gloffset_GetPixelTexGenParameterivSGIS), + NAME_FUNC_OFFSET( 9034, gl_dispatch_stub_564, gl_dispatch_stub_564, NULL, _gloffset_PixelTexGenParameterfSGIS), + NAME_FUNC_OFFSET( 9062, gl_dispatch_stub_565, gl_dispatch_stub_565, NULL, _gloffset_PixelTexGenParameterfvSGIS), + NAME_FUNC_OFFSET( 9091, gl_dispatch_stub_566, gl_dispatch_stub_566, NULL, _gloffset_PixelTexGenParameteriSGIS), + NAME_FUNC_OFFSET( 9119, gl_dispatch_stub_567, gl_dispatch_stub_567, NULL, _gloffset_PixelTexGenParameterivSGIS), + NAME_FUNC_OFFSET( 9148, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_SampleMaskSGIS), + NAME_FUNC_OFFSET( 9165, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_SamplePatternSGIS), + NAME_FUNC_OFFSET( 9185, glColorPointerEXT, glColorPointerEXT, NULL, _gloffset_ColorPointerEXT), + NAME_FUNC_OFFSET( 9203, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, _gloffset_EdgeFlagPointerEXT), + NAME_FUNC_OFFSET( 9224, glIndexPointerEXT, glIndexPointerEXT, NULL, _gloffset_IndexPointerEXT), + NAME_FUNC_OFFSET( 9242, glNormalPointerEXT, glNormalPointerEXT, NULL, _gloffset_NormalPointerEXT), + NAME_FUNC_OFFSET( 9261, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, _gloffset_TexCoordPointerEXT), + NAME_FUNC_OFFSET( 9282, glVertexPointerEXT, glVertexPointerEXT, NULL, _gloffset_VertexPointerEXT), + NAME_FUNC_OFFSET( 9301, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET( 9322, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET( 9344, glLockArraysEXT, glLockArraysEXT, NULL, _gloffset_LockArraysEXT), + NAME_FUNC_OFFSET( 9360, glUnlockArraysEXT, glUnlockArraysEXT, NULL, _gloffset_UnlockArraysEXT), + NAME_FUNC_OFFSET( 9378, gl_dispatch_stub_580, gl_dispatch_stub_580, NULL, _gloffset_CullParameterdvEXT), + NAME_FUNC_OFFSET( 9399, gl_dispatch_stub_581, gl_dispatch_stub_581, NULL, _gloffset_CullParameterfvEXT), + NAME_FUNC_OFFSET( 9420, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), + NAME_FUNC_OFFSET( 9442, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), + NAME_FUNC_OFFSET( 9465, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), + NAME_FUNC_OFFSET( 9487, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), + NAME_FUNC_OFFSET( 9510, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), + NAME_FUNC_OFFSET( 9532, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), + NAME_FUNC_OFFSET( 9555, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), + NAME_FUNC_OFFSET( 9577, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), + NAME_FUNC_OFFSET( 9600, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), + NAME_FUNC_OFFSET( 9622, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), + NAME_FUNC_OFFSET( 9645, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), + NAME_FUNC_OFFSET( 9668, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), + NAME_FUNC_OFFSET( 9692, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), + NAME_FUNC_OFFSET( 9715, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), + NAME_FUNC_OFFSET( 9739, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), + NAME_FUNC_OFFSET( 9762, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), + NAME_FUNC_OFFSET( 9786, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), + NAME_FUNC_OFFSET( 9813, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), + NAME_FUNC_OFFSET( 9834, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), + NAME_FUNC_OFFSET( 9857, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), + NAME_FUNC_OFFSET( 9878, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), + NAME_FUNC_OFFSET( 9893, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), + NAME_FUNC_OFFSET( 9909, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), + NAME_FUNC_OFFSET( 9924, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), + NAME_FUNC_OFFSET( 9940, gl_dispatch_stub_606, gl_dispatch_stub_606, NULL, _gloffset_PixelTexGenSGIX), + NAME_FUNC_OFFSET( 9958, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET( 9981, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, _gloffset_FlushVertexArrayRangeNV), + NAME_FUNC_OFFSET(10007, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, _gloffset_VertexArrayRangeNV), + NAME_FUNC_OFFSET(10028, glCombinerInputNV, glCombinerInputNV, NULL, _gloffset_CombinerInputNV), + NAME_FUNC_OFFSET(10046, glCombinerOutputNV, glCombinerOutputNV, NULL, _gloffset_CombinerOutputNV), + NAME_FUNC_OFFSET(10065, glCombinerParameterfNV, glCombinerParameterfNV, NULL, _gloffset_CombinerParameterfNV), + NAME_FUNC_OFFSET(10088, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, _gloffset_CombinerParameterfvNV), + NAME_FUNC_OFFSET(10112, glCombinerParameteriNV, glCombinerParameteriNV, NULL, _gloffset_CombinerParameteriNV), + NAME_FUNC_OFFSET(10135, glCombinerParameterivNV, glCombinerParameterivNV, NULL, _gloffset_CombinerParameterivNV), + NAME_FUNC_OFFSET(10159, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, _gloffset_FinalCombinerInputNV), + NAME_FUNC_OFFSET(10182, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, _gloffset_GetCombinerInputParameterfvNV), + NAME_FUNC_OFFSET(10214, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, _gloffset_GetCombinerInputParameterivNV), + NAME_FUNC_OFFSET(10246, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, _gloffset_GetCombinerOutputParameterfvNV), + NAME_FUNC_OFFSET(10279, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, _gloffset_GetCombinerOutputParameterivNV), + NAME_FUNC_OFFSET(10312, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, _gloffset_GetFinalCombinerInputParameterfvNV), + NAME_FUNC_OFFSET(10349, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, _gloffset_GetFinalCombinerInputParameterivNV), + NAME_FUNC_OFFSET(10386, glResizeBuffersMESA, glResizeBuffersMESA, NULL, _gloffset_ResizeBuffersMESA), + NAME_FUNC_OFFSET(10406, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(10424, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(10443, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(10461, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(10480, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(10498, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(10517, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(10535, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(10554, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(10572, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(10591, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(10609, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(10628, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(10646, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(10665, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(10683, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(10702, glWindowPos4dMESA, glWindowPos4dMESA, NULL, _gloffset_WindowPos4dMESA), + NAME_FUNC_OFFSET(10720, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, _gloffset_WindowPos4dvMESA), + NAME_FUNC_OFFSET(10739, glWindowPos4fMESA, glWindowPos4fMESA, NULL, _gloffset_WindowPos4fMESA), + NAME_FUNC_OFFSET(10757, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, _gloffset_WindowPos4fvMESA), + NAME_FUNC_OFFSET(10776, glWindowPos4iMESA, glWindowPos4iMESA, NULL, _gloffset_WindowPos4iMESA), + NAME_FUNC_OFFSET(10794, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, _gloffset_WindowPos4ivMESA), + NAME_FUNC_OFFSET(10813, glWindowPos4sMESA, glWindowPos4sMESA, NULL, _gloffset_WindowPos4sMESA), + NAME_FUNC_OFFSET(10831, glWindowPos4svMESA, glWindowPos4svMESA, NULL, _gloffset_WindowPos4svMESA), + NAME_FUNC_OFFSET(10850, gl_dispatch_stub_648, gl_dispatch_stub_648, NULL, _gloffset_MultiModeDrawArraysIBM), + NAME_FUNC_OFFSET(10875, gl_dispatch_stub_649, gl_dispatch_stub_649, NULL, _gloffset_MultiModeDrawElementsIBM), + NAME_FUNC_OFFSET(10902, gl_dispatch_stub_650, gl_dispatch_stub_650, NULL, _gloffset_DeleteFencesNV), + NAME_FUNC_OFFSET(10919, gl_dispatch_stub_651, gl_dispatch_stub_651, NULL, _gloffset_FinishFenceNV), + NAME_FUNC_OFFSET(10935, gl_dispatch_stub_652, gl_dispatch_stub_652, NULL, _gloffset_GenFencesNV), + NAME_FUNC_OFFSET(10949, gl_dispatch_stub_653, gl_dispatch_stub_653, NULL, _gloffset_GetFenceivNV), + NAME_FUNC_OFFSET(10964, gl_dispatch_stub_654, gl_dispatch_stub_654, NULL, _gloffset_IsFenceNV), + NAME_FUNC_OFFSET(10976, gl_dispatch_stub_655, gl_dispatch_stub_655, NULL, _gloffset_SetFenceNV), + NAME_FUNC_OFFSET(10989, gl_dispatch_stub_656, gl_dispatch_stub_656, NULL, _gloffset_TestFenceNV), + NAME_FUNC_OFFSET(11003, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, _gloffset_AreProgramsResidentNV), + NAME_FUNC_OFFSET(11027, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), + NAME_FUNC_OFFSET(11043, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), + NAME_FUNC_OFFSET(11062, glExecuteProgramNV, glExecuteProgramNV, NULL, _gloffset_ExecuteProgramNV), + NAME_FUNC_OFFSET(11081, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), + NAME_FUNC_OFFSET(11097, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, _gloffset_GetProgramParameterdvNV), + NAME_FUNC_OFFSET(11123, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, _gloffset_GetProgramParameterfvNV), + NAME_FUNC_OFFSET(11149, glGetProgramStringNV, glGetProgramStringNV, NULL, _gloffset_GetProgramStringNV), + NAME_FUNC_OFFSET(11170, glGetProgramivNV, glGetProgramivNV, NULL, _gloffset_GetProgramivNV), + NAME_FUNC_OFFSET(11187, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, _gloffset_GetTrackMatrixivNV), + NAME_FUNC_OFFSET(11208, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(11236, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, _gloffset_GetVertexAttribdvNV), + NAME_FUNC_OFFSET(11258, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, _gloffset_GetVertexAttribfvNV), + NAME_FUNC_OFFSET(11280, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, _gloffset_GetVertexAttribivNV), + NAME_FUNC_OFFSET(11302, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), + NAME_FUNC_OFFSET(11316, glLoadProgramNV, glLoadProgramNV, NULL, _gloffset_LoadProgramNV), + NAME_FUNC_OFFSET(11332, glProgramParameter4dNV, glProgramParameter4dNV, NULL, _gloffset_ProgramParameter4dNV), + NAME_FUNC_OFFSET(11355, glProgramParameter4dvNV, glProgramParameter4dvNV, NULL, _gloffset_ProgramParameter4dvNV), + NAME_FUNC_OFFSET(11379, glProgramParameter4fNV, glProgramParameter4fNV, NULL, _gloffset_ProgramParameter4fNV), + NAME_FUNC_OFFSET(11402, glProgramParameter4fvNV, glProgramParameter4fvNV, NULL, _gloffset_ProgramParameter4fvNV), + NAME_FUNC_OFFSET(11426, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, _gloffset_ProgramParameters4dvNV), + NAME_FUNC_OFFSET(11451, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, _gloffset_ProgramParameters4fvNV), + NAME_FUNC_OFFSET(11476, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, _gloffset_RequestResidentProgramsNV), + NAME_FUNC_OFFSET(11504, glTrackMatrixNV, glTrackMatrixNV, NULL, _gloffset_TrackMatrixNV), + NAME_FUNC_OFFSET(11520, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, _gloffset_VertexAttrib1dNV), + NAME_FUNC_OFFSET(11539, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, _gloffset_VertexAttrib1dvNV), + NAME_FUNC_OFFSET(11559, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, _gloffset_VertexAttrib1fNV), + NAME_FUNC_OFFSET(11578, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, _gloffset_VertexAttrib1fvNV), + NAME_FUNC_OFFSET(11598, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, _gloffset_VertexAttrib1sNV), + NAME_FUNC_OFFSET(11617, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, _gloffset_VertexAttrib1svNV), + NAME_FUNC_OFFSET(11637, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, _gloffset_VertexAttrib2dNV), + NAME_FUNC_OFFSET(11656, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, _gloffset_VertexAttrib2dvNV), + NAME_FUNC_OFFSET(11676, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, _gloffset_VertexAttrib2fNV), + NAME_FUNC_OFFSET(11695, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, _gloffset_VertexAttrib2fvNV), + NAME_FUNC_OFFSET(11715, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, _gloffset_VertexAttrib2sNV), + NAME_FUNC_OFFSET(11734, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, _gloffset_VertexAttrib2svNV), + NAME_FUNC_OFFSET(11754, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, _gloffset_VertexAttrib3dNV), + NAME_FUNC_OFFSET(11773, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, _gloffset_VertexAttrib3dvNV), + NAME_FUNC_OFFSET(11793, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, _gloffset_VertexAttrib3fNV), + NAME_FUNC_OFFSET(11812, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, _gloffset_VertexAttrib3fvNV), + NAME_FUNC_OFFSET(11832, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, _gloffset_VertexAttrib3sNV), + NAME_FUNC_OFFSET(11851, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, _gloffset_VertexAttrib3svNV), + NAME_FUNC_OFFSET(11871, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, _gloffset_VertexAttrib4dNV), + NAME_FUNC_OFFSET(11890, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, _gloffset_VertexAttrib4dvNV), + NAME_FUNC_OFFSET(11910, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, _gloffset_VertexAttrib4fNV), + NAME_FUNC_OFFSET(11929, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, _gloffset_VertexAttrib4fvNV), + NAME_FUNC_OFFSET(11949, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, _gloffset_VertexAttrib4sNV), + NAME_FUNC_OFFSET(11968, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, _gloffset_VertexAttrib4svNV), + NAME_FUNC_OFFSET(11988, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, _gloffset_VertexAttrib4ubNV), + NAME_FUNC_OFFSET(12008, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, _gloffset_VertexAttrib4ubvNV), + NAME_FUNC_OFFSET(12029, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, _gloffset_VertexAttribPointerNV), + NAME_FUNC_OFFSET(12053, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, _gloffset_VertexAttribs1dvNV), + NAME_FUNC_OFFSET(12074, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, _gloffset_VertexAttribs1fvNV), + NAME_FUNC_OFFSET(12095, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, _gloffset_VertexAttribs1svNV), + NAME_FUNC_OFFSET(12116, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, _gloffset_VertexAttribs2dvNV), + NAME_FUNC_OFFSET(12137, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, _gloffset_VertexAttribs2fvNV), + NAME_FUNC_OFFSET(12158, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, _gloffset_VertexAttribs2svNV), + NAME_FUNC_OFFSET(12179, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, _gloffset_VertexAttribs3dvNV), + NAME_FUNC_OFFSET(12200, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, _gloffset_VertexAttribs3fvNV), + NAME_FUNC_OFFSET(12221, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, _gloffset_VertexAttribs3svNV), + NAME_FUNC_OFFSET(12242, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, _gloffset_VertexAttribs4dvNV), + NAME_FUNC_OFFSET(12263, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, _gloffset_VertexAttribs4fvNV), + NAME_FUNC_OFFSET(12284, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, _gloffset_VertexAttribs4svNV), + NAME_FUNC_OFFSET(12305, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, _gloffset_VertexAttribs4ubvNV), + NAME_FUNC_OFFSET(12327, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, _gloffset_AlphaFragmentOp1ATI), + NAME_FUNC_OFFSET(12349, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, _gloffset_AlphaFragmentOp2ATI), + NAME_FUNC_OFFSET(12371, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, _gloffset_AlphaFragmentOp3ATI), + NAME_FUNC_OFFSET(12393, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, _gloffset_BeginFragmentShaderATI), + NAME_FUNC_OFFSET(12418, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, _gloffset_BindFragmentShaderATI), + NAME_FUNC_OFFSET(12442, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, _gloffset_ColorFragmentOp1ATI), + NAME_FUNC_OFFSET(12464, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, _gloffset_ColorFragmentOp2ATI), + NAME_FUNC_OFFSET(12486, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, _gloffset_ColorFragmentOp3ATI), + NAME_FUNC_OFFSET(12508, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, _gloffset_DeleteFragmentShaderATI), + NAME_FUNC_OFFSET(12534, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, _gloffset_EndFragmentShaderATI), + NAME_FUNC_OFFSET(12557, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, _gloffset_GenFragmentShadersATI), + NAME_FUNC_OFFSET(12581, glPassTexCoordATI, glPassTexCoordATI, NULL, _gloffset_PassTexCoordATI), + NAME_FUNC_OFFSET(12599, glSampleMapATI, glSampleMapATI, NULL, _gloffset_SampleMapATI), + NAME_FUNC_OFFSET(12614, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, _gloffset_SetFragmentShaderConstantATI), + NAME_FUNC_OFFSET(12645, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), + NAME_FUNC_OFFSET(12665, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), + NAME_FUNC_OFFSET(12686, gl_dispatch_stub_737, gl_dispatch_stub_737, NULL, _gloffset_ActiveStencilFaceEXT), + NAME_FUNC_OFFSET(12709, gl_dispatch_stub_738, gl_dispatch_stub_738, NULL, _gloffset_BindVertexArrayAPPLE), + NAME_FUNC_OFFSET(12732, gl_dispatch_stub_739, gl_dispatch_stub_739, NULL, _gloffset_DeleteVertexArraysAPPLE), + NAME_FUNC_OFFSET(12758, gl_dispatch_stub_740, gl_dispatch_stub_740, NULL, _gloffset_GenVertexArraysAPPLE), + NAME_FUNC_OFFSET(12781, gl_dispatch_stub_741, gl_dispatch_stub_741, NULL, _gloffset_IsVertexArrayAPPLE), + NAME_FUNC_OFFSET(12802, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, _gloffset_GetProgramNamedParameterdvNV), + NAME_FUNC_OFFSET(12833, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, _gloffset_GetProgramNamedParameterfvNV), + NAME_FUNC_OFFSET(12864, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, _gloffset_ProgramNamedParameter4dNV), + NAME_FUNC_OFFSET(12892, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, _gloffset_ProgramNamedParameter4dvNV), + NAME_FUNC_OFFSET(12921, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, _gloffset_ProgramNamedParameter4fNV), + NAME_FUNC_OFFSET(12949, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, _gloffset_ProgramNamedParameter4fvNV), + NAME_FUNC_OFFSET(12978, gl_dispatch_stub_748, gl_dispatch_stub_748, NULL, _gloffset_DepthBoundsEXT), + NAME_FUNC_OFFSET(12995, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(13022, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), + NAME_FUNC_OFFSET(13043, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), + NAME_FUNC_OFFSET(13065, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), + NAME_FUNC_OFFSET(13093, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), + NAME_FUNC_OFFSET(13117, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), + NAME_FUNC_OFFSET(13142, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), + NAME_FUNC_OFFSET(13171, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), + NAME_FUNC_OFFSET(13197, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), + NAME_FUNC_OFFSET(13223, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), + NAME_FUNC_OFFSET(13249, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), + NAME_FUNC_OFFSET(13270, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), + NAME_FUNC_OFFSET(13292, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), + NAME_FUNC_OFFSET(13312, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), + NAME_FUNC_OFFSET(13353, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), + NAME_FUNC_OFFSET(13385, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), + NAME_FUNC_OFFSET(13404, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), + NAME_FUNC_OFFSET(13424, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), + NAME_FUNC_OFFSET(13449, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_BlitFramebufferEXT), + NAME_FUNC_OFFSET(13470, gl_dispatch_stub_768, gl_dispatch_stub_768, NULL, _gloffset_StencilFuncSeparateATI), + NAME_FUNC_OFFSET(13495, gl_dispatch_stub_769, gl_dispatch_stub_769, NULL, _gloffset_ProgramEnvParameters4fvEXT), + NAME_FUNC_OFFSET(13524, gl_dispatch_stub_770, gl_dispatch_stub_770, NULL, _gloffset_ProgramLocalParameters4fvEXT), + NAME_FUNC_OFFSET(13555, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, _gloffset_GetQueryObjecti64vEXT), + NAME_FUNC_OFFSET(13579, gl_dispatch_stub_772, gl_dispatch_stub_772, NULL, _gloffset_GetQueryObjectui64vEXT), + NAME_FUNC_OFFSET(13604, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), + NAME_FUNC_OFFSET(13622, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), + NAME_FUNC_OFFSET(13639, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), + NAME_FUNC_OFFSET(13655, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident), + NAME_FUNC_OFFSET(13680, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), + NAME_FUNC_OFFSET(13700, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), + NAME_FUNC_OFFSET(13720, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), + NAME_FUNC_OFFSET(13743, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), + NAME_FUNC_OFFSET(13766, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures), + NAME_FUNC_OFFSET(13786, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures), + NAME_FUNC_OFFSET(13803, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), + NAME_FUNC_OFFSET(13820, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture), + NAME_FUNC_OFFSET(13835, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), + NAME_FUNC_OFFSET(13859, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), + NAME_FUNC_OFFSET(13878, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), + NAME_FUNC_OFFSET(13897, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), + NAME_FUNC_OFFSET(13913, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), + NAME_FUNC_OFFSET(13932, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), + NAME_FUNC_OFFSET(13955, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET(13971, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET(13987, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), + NAME_FUNC_OFFSET(14014, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), + NAME_FUNC_OFFSET(14041, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), + NAME_FUNC_OFFSET(14061, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), + NAME_FUNC_OFFSET(14080, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), + NAME_FUNC_OFFSET(14099, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET(14129, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET(14159, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET(14189, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET(14219, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), + NAME_FUNC_OFFSET(14238, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), + NAME_FUNC_OFFSET(14261, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), + NAME_FUNC_OFFSET(14286, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), + NAME_FUNC_OFFSET(14311, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), + NAME_FUNC_OFFSET(14338, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), + NAME_FUNC_OFFSET(14366, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), + NAME_FUNC_OFFSET(14393, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), + NAME_FUNC_OFFSET(14421, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), + NAME_FUNC_OFFSET(14450, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), + NAME_FUNC_OFFSET(14479, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter), + NAME_FUNC_OFFSET(14505, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv), + NAME_FUNC_OFFSET(14536, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv), + NAME_FUNC_OFFSET(14567, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter), + NAME_FUNC_OFFSET(14591, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), + NAME_FUNC_OFFSET(14614, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram), + NAME_FUNC_OFFSET(14632, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv), + NAME_FUNC_OFFSET(14661, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv), + NAME_FUNC_OFFSET(14690, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax), + NAME_FUNC_OFFSET(14705, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv), + NAME_FUNC_OFFSET(14731, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv), + NAME_FUNC_OFFSET(14757, glHistogram, glHistogram, NULL, _gloffset_Histogram), + NAME_FUNC_OFFSET(14772, glMinmax, glMinmax, NULL, _gloffset_Minmax), + NAME_FUNC_OFFSET(14784, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), + NAME_FUNC_OFFSET(14804, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), + NAME_FUNC_OFFSET(14821, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), + NAME_FUNC_OFFSET(14837, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), + NAME_FUNC_OFFSET(14856, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), + NAME_FUNC_OFFSET(14879, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), + NAME_FUNC_OFFSET(14895, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), + NAME_FUNC_OFFSET(14917, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), + NAME_FUNC_OFFSET(14935, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), + NAME_FUNC_OFFSET(14954, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), + NAME_FUNC_OFFSET(14972, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), + NAME_FUNC_OFFSET(14991, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), + NAME_FUNC_OFFSET(15009, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), + NAME_FUNC_OFFSET(15028, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), + NAME_FUNC_OFFSET(15046, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), + NAME_FUNC_OFFSET(15065, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), + NAME_FUNC_OFFSET(15083, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), + NAME_FUNC_OFFSET(15102, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), + NAME_FUNC_OFFSET(15120, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), + NAME_FUNC_OFFSET(15139, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), + NAME_FUNC_OFFSET(15157, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), + NAME_FUNC_OFFSET(15176, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), + NAME_FUNC_OFFSET(15194, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), + NAME_FUNC_OFFSET(15213, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), + NAME_FUNC_OFFSET(15231, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), + NAME_FUNC_OFFSET(15250, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), + NAME_FUNC_OFFSET(15268, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), + NAME_FUNC_OFFSET(15287, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), + NAME_FUNC_OFFSET(15305, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), + NAME_FUNC_OFFSET(15324, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), + NAME_FUNC_OFFSET(15342, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), + NAME_FUNC_OFFSET(15361, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), + NAME_FUNC_OFFSET(15379, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), + NAME_FUNC_OFFSET(15398, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), + NAME_FUNC_OFFSET(15416, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), + NAME_FUNC_OFFSET(15435, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), + NAME_FUNC_OFFSET(15453, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), + NAME_FUNC_OFFSET(15472, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), + NAME_FUNC_OFFSET(15490, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), + NAME_FUNC_OFFSET(15509, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), + NAME_FUNC_OFFSET(15532, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), + NAME_FUNC_OFFSET(15555, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), + NAME_FUNC_OFFSET(15578, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), + NAME_FUNC_OFFSET(15601, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), + NAME_FUNC_OFFSET(15624, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), + NAME_FUNC_OFFSET(15641, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), + NAME_FUNC_OFFSET(15664, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), + NAME_FUNC_OFFSET(15687, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), + NAME_FUNC_OFFSET(15710, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), + NAME_FUNC_OFFSET(15736, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), + NAME_FUNC_OFFSET(15762, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), + NAME_FUNC_OFFSET(15788, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), + NAME_FUNC_OFFSET(15812, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), + NAME_FUNC_OFFSET(15839, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), + NAME_FUNC_OFFSET(15865, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), + NAME_FUNC_OFFSET(15885, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), + NAME_FUNC_OFFSET(15905, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), + NAME_FUNC_OFFSET(15925, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), + NAME_FUNC_OFFSET(15942, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), + NAME_FUNC_OFFSET(15960, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), + NAME_FUNC_OFFSET(15977, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), + NAME_FUNC_OFFSET(15995, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), + NAME_FUNC_OFFSET(16012, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), + NAME_FUNC_OFFSET(16030, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), + NAME_FUNC_OFFSET(16047, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), + NAME_FUNC_OFFSET(16065, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), + NAME_FUNC_OFFSET(16082, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), + NAME_FUNC_OFFSET(16100, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), + NAME_FUNC_OFFSET(16117, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), + NAME_FUNC_OFFSET(16135, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), + NAME_FUNC_OFFSET(16152, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), + NAME_FUNC_OFFSET(16170, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), + NAME_FUNC_OFFSET(16187, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), + NAME_FUNC_OFFSET(16205, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), + NAME_FUNC_OFFSET(16222, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), + NAME_FUNC_OFFSET(16240, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), + NAME_FUNC_OFFSET(16259, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), + NAME_FUNC_OFFSET(16278, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), + NAME_FUNC_OFFSET(16297, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), + NAME_FUNC_OFFSET(16316, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), + NAME_FUNC_OFFSET(16336, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), + NAME_FUNC_OFFSET(16356, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), + NAME_FUNC_OFFSET(16376, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), + NAME_FUNC_OFFSET(16394, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), + NAME_FUNC_OFFSET(16411, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), + NAME_FUNC_OFFSET(16429, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), + NAME_FUNC_OFFSET(16446, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), + NAME_FUNC_OFFSET(16464, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), + NAME_FUNC_OFFSET(16482, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), + NAME_FUNC_OFFSET(16499, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), + NAME_FUNC_OFFSET(16517, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), + NAME_FUNC_OFFSET(16536, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), + NAME_FUNC_OFFSET(16555, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), + NAME_FUNC_OFFSET(16574, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), + NAME_FUNC_OFFSET(16596, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), + NAME_FUNC_OFFSET(16609, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), + NAME_FUNC_OFFSET(16622, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), + NAME_FUNC_OFFSET(16638, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), + NAME_FUNC_OFFSET(16654, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), + NAME_FUNC_OFFSET(16667, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), + NAME_FUNC_OFFSET(16690, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), + NAME_FUNC_OFFSET(16710, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), + NAME_FUNC_OFFSET(16729, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), + NAME_FUNC_OFFSET(16740, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), + NAME_FUNC_OFFSET(16752, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), + NAME_FUNC_OFFSET(16766, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), + NAME_FUNC_OFFSET(16779, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), + NAME_FUNC_OFFSET(16795, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), + NAME_FUNC_OFFSET(16806, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), + NAME_FUNC_OFFSET(16819, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), + NAME_FUNC_OFFSET(16838, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), + NAME_FUNC_OFFSET(16858, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), + NAME_FUNC_OFFSET(16871, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), + NAME_FUNC_OFFSET(16881, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), + NAME_FUNC_OFFSET(16897, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), + NAME_FUNC_OFFSET(16916, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), + NAME_FUNC_OFFSET(16934, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), + NAME_FUNC_OFFSET(16955, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), + NAME_FUNC_OFFSET(16970, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), + NAME_FUNC_OFFSET(16985, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), + NAME_FUNC_OFFSET(16999, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), + NAME_FUNC_OFFSET(17014, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), + NAME_FUNC_OFFSET(17026, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), + NAME_FUNC_OFFSET(17039, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), + NAME_FUNC_OFFSET(17051, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), + NAME_FUNC_OFFSET(17064, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), + NAME_FUNC_OFFSET(17076, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), + NAME_FUNC_OFFSET(17089, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), + NAME_FUNC_OFFSET(17101, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), + NAME_FUNC_OFFSET(17114, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), + NAME_FUNC_OFFSET(17126, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), + NAME_FUNC_OFFSET(17139, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), + NAME_FUNC_OFFSET(17151, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), + NAME_FUNC_OFFSET(17164, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), + NAME_FUNC_OFFSET(17176, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), + NAME_FUNC_OFFSET(17189, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), + NAME_FUNC_OFFSET(17201, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), + NAME_FUNC_OFFSET(17214, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), + NAME_FUNC_OFFSET(17233, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), + NAME_FUNC_OFFSET(17252, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), + NAME_FUNC_OFFSET(17271, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), + NAME_FUNC_OFFSET(17284, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), + NAME_FUNC_OFFSET(17302, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), + NAME_FUNC_OFFSET(17323, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), + NAME_FUNC_OFFSET(17341, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), + NAME_FUNC_OFFSET(17361, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET(17375, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET(17392, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_SampleMaskSGIS), + NAME_FUNC_OFFSET(17408, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_SamplePatternSGIS), + NAME_FUNC_OFFSET(17427, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(17445, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(17466, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(17488, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(17507, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(17529, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(17552, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), + NAME_FUNC_OFFSET(17571, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), + NAME_FUNC_OFFSET(17591, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), + NAME_FUNC_OFFSET(17610, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), + NAME_FUNC_OFFSET(17630, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), + NAME_FUNC_OFFSET(17649, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), + NAME_FUNC_OFFSET(17669, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), + NAME_FUNC_OFFSET(17688, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), + NAME_FUNC_OFFSET(17708, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), + NAME_FUNC_OFFSET(17727, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), + NAME_FUNC_OFFSET(17747, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), + NAME_FUNC_OFFSET(17767, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), + NAME_FUNC_OFFSET(17788, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), + NAME_FUNC_OFFSET(17808, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), + NAME_FUNC_OFFSET(17829, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), + NAME_FUNC_OFFSET(17849, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), + NAME_FUNC_OFFSET(17870, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), + NAME_FUNC_OFFSET(17894, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), + NAME_FUNC_OFFSET(17912, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), + NAME_FUNC_OFFSET(17932, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), + NAME_FUNC_OFFSET(17950, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), + NAME_FUNC_OFFSET(17962, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), + NAME_FUNC_OFFSET(17975, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), + NAME_FUNC_OFFSET(17987, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), + NAME_FUNC_OFFSET(18000, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(18020, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(18044, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(18058, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(18075, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(18090, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(18108, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(18122, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(18139, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(18154, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(18172, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(18186, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(18203, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(18218, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(18236, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(18250, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(18267, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(18282, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(18300, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(18314, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(18331, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(18346, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(18364, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(18378, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(18395, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(18410, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(18428, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(18442, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(18459, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(18474, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(18492, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(18506, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(18523, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(18538, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(18556, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), + NAME_FUNC_OFFSET(18573, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), + NAME_FUNC_OFFSET(18593, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), + NAME_FUNC_OFFSET(18610, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(18636, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(18665, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), + NAME_FUNC_OFFSET(18680, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), + NAME_FUNC_OFFSET(18698, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), + NAME_FUNC_OFFSET(18717, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(18741, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) }; #undef NAME_FUNC_OFFSET diff --git a/dist/Mesa/src/mesa/main/api_validate.c b/dist/Mesa/src/mesa/main/api_validate.c index 3d20ba7d1..7d75cd796 100644 --- a/dist/Mesa/src/mesa/main/api_validate.c +++ b/dist/Mesa/src/mesa/main/api_validate.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.1 + * Version: 7.0.2 * - * Copyright (C) 1999-2003 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -30,6 +30,55 @@ #include "state.h" +/** + * Find the max index in the given element/index buffer + */ +static GLuint +max_buffer_index(GLcontext *ctx, GLuint count, GLenum type, + const void *indices, + struct gl_buffer_object *elementBuf) +{ + const GLubyte *map = NULL; + GLuint max = 0; + GLint i; + + if (elementBuf->Name) { + /* elements are in a user-defined buffer object. need to map it */ + map = ctx->Driver.MapBuffer(ctx, + GL_ELEMENT_ARRAY_BUFFER_ARB, + GL_READ_ONLY, + elementBuf); + /* Actual address is the sum of pointers */ + indices = (const GLvoid *) ADD_POINTERS(map, (const GLubyte *) indices); + } + + if (type == GL_UNSIGNED_INT) { + for (i = 0; i < count; i++) + if (((GLuint *) indices)[i] > max) + max = ((GLuint *) indices)[i]; + } + else if (type == GL_UNSIGNED_SHORT) { + for (i = 0; i < count; i++) + if (((GLushort *) indices)[i] > max) + max = ((GLushort *) indices)[i]; + } + else { + ASSERT(type == GL_UNSIGNED_BYTE); + for (i = 0; i < count; i++) + if (((GLubyte *) indices)[i] > max) + max = ((GLubyte *) indices)[i]; + } + + if (map) { + ctx->Driver.UnmapBuffer(ctx, + GL_ELEMENT_ARRAY_BUFFER_ARB, + ctx->Array.ElementArrayBufferObj); + } + + return max; +} + + GLboolean _mesa_validate_DrawElements(GLcontext *ctx, GLenum mode, GLsizei count, GLenum type, @@ -61,20 +110,15 @@ _mesa_validate_DrawElements(GLcontext *ctx, /* Always need vertex positions */ if (!ctx->Array.ArrayObj->Vertex.Enabled - && !(ctx->VertexProgram._Enabled && ctx->Array.ArrayObj->VertexAttrib[0].Enabled)) + && !(ctx->VertexProgram._Enabled + && ctx->Array.ArrayObj->VertexAttrib[0].Enabled)) return GL_FALSE; /* Vertex buffer object tests */ if (ctx->Array.ElementArrayBufferObj->Name) { - GLuint indexBytes; - /* use indices in the buffer object */ - if (!ctx->Array.ElementArrayBufferObj->Data) { - _mesa_warning(ctx, "DrawElements with empty vertex elements buffer!"); - return GL_FALSE; - } + GLuint indexBytes; - /* make sure count doesn't go outside buffer bounds */ if (type == GL_UNSIGNED_INT) { indexBytes = count * sizeof(GLuint); } @@ -86,41 +130,22 @@ _mesa_validate_DrawElements(GLcontext *ctx, indexBytes = count * sizeof(GLushort); } - if ((GLubyte *) indices + indexBytes > - ctx->Array.ElementArrayBufferObj->Data + - ctx->Array.ElementArrayBufferObj->Size) { + /* make sure count doesn't go outside buffer bounds */ + if (indexBytes > ctx->Array.ElementArrayBufferObj->Size) { _mesa_warning(ctx, "glDrawElements index out of buffer bounds"); return GL_FALSE; } - - /* Actual address is the sum of pointers. Indices may be used below. */ - if (ctx->Const.CheckArrayBounds) { - indices = (const GLvoid *) - ADD_POINTERS(ctx->Array.ElementArrayBufferObj->Data, - (const GLubyte *) indices); - } + } + else { + /* not using a VBO */ + if (!indices) + return GL_FALSE; } if (ctx->Const.CheckArrayBounds) { /* find max array index */ - GLuint max = 0; - GLint i; - if (type == GL_UNSIGNED_INT) { - for (i = 0; i < count; i++) - if (((GLuint *) indices)[i] > max) - max = ((GLuint *) indices)[i]; - } - else if (type == GL_UNSIGNED_SHORT) { - for (i = 0; i < count; i++) - if (((GLushort *) indices)[i] > max) - max = ((GLushort *) indices)[i]; - } - else { - ASSERT(type == GL_UNSIGNED_BYTE); - for (i = 0; i < count; i++) - if (((GLubyte *) indices)[i] > max) - max = ((GLubyte *) indices)[i]; - } + GLuint max = max_buffer_index(ctx, count, type, indices, + ctx->Array.ElementArrayBufferObj); if (max >= ctx->Array._MaxElement) { /* the max element is out of bounds of one or more enabled arrays */ return GL_FALSE; @@ -167,31 +192,41 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode, /* Always need vertex positions */ if (!ctx->Array.ArrayObj->Vertex.Enabled - && !(ctx->VertexProgram._Enabled && ctx->Array.ArrayObj->VertexAttrib[0].Enabled)) + && !(ctx->VertexProgram._Enabled + && ctx->Array.ArrayObj->VertexAttrib[0].Enabled)) return GL_FALSE; - if (ctx->Const.CheckArrayBounds) { - /* Find max array index. - * We don't trust the user's start and end values. - */ - GLuint max = 0; - GLint i; + /* Vertex buffer object tests */ + if (ctx->Array.ElementArrayBufferObj->Name) { + /* use indices in the buffer object */ + GLuint indexBytes; + if (type == GL_UNSIGNED_INT) { - for (i = 0; i < count; i++) - if (((GLuint *) indices)[i] > max) - max = ((GLuint *) indices)[i]; + indexBytes = count * sizeof(GLuint); } - else if (type == GL_UNSIGNED_SHORT) { - for (i = 0; i < count; i++) - if (((GLushort *) indices)[i] > max) - max = ((GLushort *) indices)[i]; + else if (type == GL_UNSIGNED_BYTE) { + indexBytes = count * sizeof(GLubyte); } else { - ASSERT(type == GL_UNSIGNED_BYTE); - for (i = 0; i < count; i++) - if (((GLubyte *) indices)[i] > max) - max = ((GLubyte *) indices)[i]; + ASSERT(type == GL_UNSIGNED_SHORT); + indexBytes = count * sizeof(GLushort); } + + /* make sure count doesn't go outside buffer bounds */ + if (indexBytes > ctx->Array.ElementArrayBufferObj->Size) { + _mesa_warning(ctx, "glDrawRangeElements index out of buffer bounds"); + return GL_FALSE; + } + } + else { + /* not using a VBO */ + if (!indices) + return GL_FALSE; + } + + if (ctx->Const.CheckArrayBounds) { + GLuint max = max_buffer_index(ctx, count, type, indices, + ctx->Array.ElementArrayBufferObj); if (max >= ctx->Array._MaxElement) { /* the max element is out of bounds of one or more enabled arrays */ return GL_FALSE; @@ -212,8 +247,9 @@ _mesa_validate_DrawArrays(GLcontext *ctx, { ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); - if (count < 0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glDrawArrays(count)" ); + if (count <= 0) { + if (count < 0) + _mesa_error(ctx, GL_INVALID_VALUE, "glDrawArrays(count)" ); return GL_FALSE; } @@ -226,7 +262,8 @@ _mesa_validate_DrawArrays(GLcontext *ctx, _mesa_update_state(ctx); /* Always need vertex positions */ - if (!ctx->Array.ArrayObj->Vertex.Enabled && !ctx->Array.ArrayObj->VertexAttrib[0].Enabled) + if (!ctx->Array.ArrayObj->Vertex.Enabled + && !ctx->Array.ArrayObj->VertexAttrib[0].Enabled) return GL_FALSE; if (ctx->Const.CheckArrayBounds) { diff --git a/dist/Mesa/src/mesa/main/attrib.c b/dist/Mesa/src/mesa/main/attrib.c index ef970ad9e..8ddfda8ba 100644 --- a/dist/Mesa/src/mesa/main/attrib.c +++ b/dist/Mesa/src/mesa/main/attrib.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 7.0.2 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -52,6 +52,32 @@ /** + * Special struct for saving/restoring texture state (GL_TEXTURE_BIT) + */ +struct texture_state +{ + struct gl_texture_attrib Texture; /**< The usual context state */ + + /** to save per texture object state (wrap modes, filters, etc): */ + struct gl_texture_object Saved1D[MAX_TEXTURE_UNITS]; + struct gl_texture_object Saved2D[MAX_TEXTURE_UNITS]; + struct gl_texture_object Saved3D[MAX_TEXTURE_UNITS]; + struct gl_texture_object SavedCube[MAX_TEXTURE_UNITS]; + struct gl_texture_object SavedRect[MAX_TEXTURE_UNITS]; + + /** + * To save references to texture objects (so they don't get accidentally + * deleted while saved in the attribute stack). + */ + struct gl_texture_object *SavedRef1D[MAX_TEXTURE_UNITS]; + struct gl_texture_object *SavedRef2D[MAX_TEXTURE_UNITS]; + struct gl_texture_object *SavedRef3D[MAX_TEXTURE_UNITS]; + struct gl_texture_object *SavedRefCube[MAX_TEXTURE_UNITS]; + struct gl_texture_object *SavedRefRect[MAX_TEXTURE_UNITS]; +}; + + +/** * Allocate a new attribute state node. These nodes have a * "kind" value and a pointer to a struct of state data. */ @@ -138,9 +164,9 @@ _mesa_PushAttrib(GLbitfield mask) attr->Blend = ctx->Color.BlendEnabled; attr->ClipPlanes = ctx->Transform.ClipPlanesEnabled; attr->ColorMaterial = ctx->Light.ColorMaterialEnabled; - attr->ColorTable = ctx->Pixel.ColorTableEnabled; - attr->PostColorMatrixColorTable = ctx->Pixel.PostColorMatrixColorTableEnabled; - attr->PostConvolutionColorTable = ctx->Pixel.PostConvolutionColorTableEnabled; + for (i = 0; i < COLORTABLE_MAX; i++) { + attr->ColorTable[i] = ctx->Pixel.ColorTableEnabled[i]; + } attr->Convolution1D = ctx->Pixel.Convolution1DEnabled; attr->Convolution2D = ctx->Pixel.Convolution2DEnabled; attr->Separable2D = ctx->Pixel.Separable2DEnabled; @@ -335,35 +361,48 @@ _mesa_PushAttrib(GLbitfield mask) } if (mask & GL_TEXTURE_BIT) { - struct gl_texture_attrib *attr; + struct texture_state *texstate = CALLOC_STRUCT( texture_state ); GLuint u; - /* Bump the texture object reference counts so that they don't - * inadvertantly get deleted. + + if (!texstate) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glPushAttrib(GL_TEXTURE_BIT)"); + goto end; + } + + _mesa_lock_context_textures(ctx); + + /* copy/save the bulk of texture state here */ + _mesa_memcpy(&texstate->Texture, &ctx->Texture, sizeof(ctx->Texture)); + + /* Save references to the currently bound texture objects so they don't + * accidentally get deleted while referenced in the attribute stack. */ for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - ctx->Texture.Unit[u].Current1D->RefCount++; - ctx->Texture.Unit[u].Current2D->RefCount++; - ctx->Texture.Unit[u].Current3D->RefCount++; - ctx->Texture.Unit[u].CurrentCubeMap->RefCount++; - ctx->Texture.Unit[u].CurrentRect->RefCount++; + _mesa_reference_texobj(&texstate->SavedRef1D[u], ctx->Texture.Unit[u].Current1D); + _mesa_reference_texobj(&texstate->SavedRef2D[u], ctx->Texture.Unit[u].Current2D); + _mesa_reference_texobj(&texstate->SavedRef3D[u], ctx->Texture.Unit[u].Current3D); + _mesa_reference_texobj(&texstate->SavedRefCube[u], ctx->Texture.Unit[u].CurrentCubeMap); + _mesa_reference_texobj(&texstate->SavedRefRect[u], ctx->Texture.Unit[u].CurrentRect); } - attr = MALLOC_STRUCT( gl_texture_attrib ); - MEMCPY( attr, &ctx->Texture, sizeof(struct gl_texture_attrib) ); - /* copy state of the currently bound texture objects */ + + /* copy state/contents of the currently bound texture objects */ for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - _mesa_copy_texture_object(&attr->Unit[u].Saved1D, - attr->Unit[u].Current1D); - _mesa_copy_texture_object(&attr->Unit[u].Saved2D, - attr->Unit[u].Current2D); - _mesa_copy_texture_object(&attr->Unit[u].Saved3D, - attr->Unit[u].Current3D); - _mesa_copy_texture_object(&attr->Unit[u].SavedCubeMap, - attr->Unit[u].CurrentCubeMap); - _mesa_copy_texture_object(&attr->Unit[u].SavedRect, - attr->Unit[u].CurrentRect); + _mesa_copy_texture_object(&texstate->Saved1D[u], + ctx->Texture.Unit[u].Current1D); + _mesa_copy_texture_object(&texstate->Saved2D[u], + ctx->Texture.Unit[u].Current2D); + _mesa_copy_texture_object(&texstate->Saved3D[u], + ctx->Texture.Unit[u].Current3D); + _mesa_copy_texture_object(&texstate->SavedCube[u], + ctx->Texture.Unit[u].CurrentCubeMap); + _mesa_copy_texture_object(&texstate->SavedRect[u], + ctx->Texture.Unit[u].CurrentRect); } + + _mesa_unlock_context_textures(ctx); + newnode = new_attrib_node( GL_TEXTURE_BIT ); - newnode->data = attr; + newnode->data = texstate; newnode->next = head; head = newnode; } @@ -399,6 +438,7 @@ _mesa_PushAttrib(GLbitfield mask) head = newnode; } +end: ctx->AttribStack[ctx->AttribStackDepth] = head; ctx->AttribStackDepth++; } @@ -427,14 +467,15 @@ pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable) TEST_AND_UPDATE(ctx->Light.ColorMaterialEnabled, enable->ColorMaterial, GL_COLOR_MATERIAL); - TEST_AND_UPDATE(ctx->Pixel.ColorTableEnabled, enable->ColorTable, + TEST_AND_UPDATE(ctx->Pixel.ColorTableEnabled[COLORTABLE_PRECONVOLUTION], + enable->ColorTable[COLORTABLE_PRECONVOLUTION], GL_COLOR_TABLE); - TEST_AND_UPDATE(ctx->Pixel.PostColorMatrixColorTableEnabled, - enable->PostColorMatrixColorTable, - GL_POST_COLOR_MATRIX_COLOR_TABLE); - TEST_AND_UPDATE(ctx->Pixel.PostConvolutionColorTableEnabled, - enable->PostConvolutionColorTable, + TEST_AND_UPDATE(ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCONVOLUTION], + enable->ColorTable[COLORTABLE_POSTCONVOLUTION], GL_POST_CONVOLUTION_COLOR_TABLE); + TEST_AND_UPDATE(ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCOLORMATRIX], + enable->ColorTable[COLORTABLE_POSTCOLORMATRIX], + GL_POST_COLOR_MATRIX_COLOR_TABLE); TEST_AND_UPDATE(ctx->Polygon.CullFlag, enable->CullFace, GL_CULL_FACE); TEST_AND_UPDATE(ctx->Depth.Test, enable->DepthTest, GL_DEPTH_TEST); TEST_AND_UPDATE(ctx->Color.DitherFlag, enable->Dither, GL_DITHER); @@ -607,14 +648,19 @@ pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable) } +/** + * Pop/restore texture attribute/group state. + */ static void -pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib) +pop_texture_group(GLcontext *ctx, struct texture_state *texstate) { GLuint u; + _mesa_lock_context_textures(ctx); + for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - const struct gl_texture_unit *unit = &texAttrib->Unit[u]; - GLuint i; + const struct gl_texture_unit *unit = &texstate->Texture.Unit[u]; + GLuint tgt; _mesa_ActiveTextureARB(GL_TEXTURE0_ARB + u); _mesa_set_enable(ctx, GL_TEXTURE_1D, @@ -707,41 +753,44 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib) 1 << unit->Combine.ScaleShiftA); } - /* Restore texture object state */ - for (i = 0; i < NUM_TEXTURE_TARGETS; i++) { - GLenum target = 0; + /* Restore texture object state for each target */ + for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++) { const struct gl_texture_object *obj = NULL; GLfloat bordColor[4]; + GLenum target; - switch (i) { - case 0: - target = GL_TEXTURE_1D; - obj = &unit->Saved1D; + switch (tgt) { + case TEXTURE_1D_INDEX: + obj = &texstate->Saved1D[u]; + ASSERT(obj->Target == GL_TEXTURE_1D); break; - case 1: - target = GL_TEXTURE_2D; - obj = &unit->Saved2D; + case TEXTURE_2D_INDEX: + obj = &texstate->Saved2D[u]; + ASSERT(obj->Target == GL_TEXTURE_2D); break; - case 2: - target = GL_TEXTURE_3D; - obj = &unit->Saved3D; + case TEXTURE_3D_INDEX: + obj = &texstate->Saved3D[u]; + ASSERT(obj->Target == GL_TEXTURE_3D); break; - case 3: + case TEXTURE_CUBE_INDEX: if (!ctx->Extensions.ARB_texture_cube_map) continue; - target = GL_TEXTURE_CUBE_MAP_ARB; - obj = &unit->SavedCubeMap; + obj = &texstate->SavedCube[u]; + ASSERT(obj->Target == GL_TEXTURE_CUBE_MAP_ARB); break; - case 4: + case TEXTURE_RECT_INDEX: if (!ctx->Extensions.NV_texture_rectangle) continue; - target = GL_TEXTURE_RECTANGLE_NV; - obj = &unit->SavedRect; + obj = &texstate->SavedRect[u]; + ASSERT(obj->Target == GL_TEXTURE_RECTANGLE_NV); break; default: - ; /* silence warnings */ + _mesa_problem(ctx, "bad texture index in pop_texture_group"); + continue; } + target = obj->Target; + _mesa_BindTexture(target, obj->Name); bordColor[0] = CHAN_TO_FLOAT(obj->BorderColor[0]); @@ -758,8 +807,10 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib) _mesa_TexParameteri(target, GL_TEXTURE_MAG_FILTER, obj->MagFilter); _mesa_TexParameterf(target, GL_TEXTURE_MIN_LOD, obj->MinLod); _mesa_TexParameterf(target, GL_TEXTURE_MAX_LOD, obj->MaxLod); + _mesa_TexParameterf(target, GL_TEXTURE_LOD_BIAS, obj->LodBias); _mesa_TexParameteri(target, GL_TEXTURE_BASE_LEVEL, obj->BaseLevel); - _mesa_TexParameteri(target, GL_TEXTURE_MAX_LEVEL, obj->MaxLevel); + if (target != GL_TEXTURE_RECTANGLE_ARB) + _mesa_TexParameteri(target, GL_TEXTURE_MAX_LEVEL, obj->MaxLevel); if (ctx->Extensions.EXT_texture_filter_anisotropic) { _mesa_TexParameterf(target, GL_TEXTURE_MAX_ANISOTROPY_EXT, obj->MaxAnisotropy); @@ -774,23 +825,19 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib) _mesa_TexParameterf(target, GL_SHADOW_AMBIENT_SGIX, obj->ShadowAmbient); } - } - } - _mesa_ActiveTextureARB(GL_TEXTURE0_ARB - + texAttrib->CurrentUnit); - /* "un-bump" the texture object reference counts. We did that so they - * wouldn't inadvertantly get deleted while they were still referenced - * inside the attribute state stack. - */ - for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - ctx->Texture.Unit[u].Current1D->RefCount--; - ctx->Texture.Unit[u].Current2D->RefCount--; - ctx->Texture.Unit[u].Current3D->RefCount--; - ctx->Texture.Unit[u].CurrentCubeMap->RefCount--; - ctx->Texture.Unit[u].CurrentRect->RefCount--; + /* remove saved references to the texture objects */ + _mesa_reference_texobj(&texstate->SavedRef1D[u], NULL); + _mesa_reference_texobj(&texstate->SavedRef2D[u], NULL); + _mesa_reference_texobj(&texstate->SavedRef3D[u], NULL); + _mesa_reference_texobj(&texstate->SavedRefCube[u], NULL); + _mesa_reference_texobj(&texstate->SavedRefRect[u], NULL); } + + _mesa_ActiveTextureARB(GL_TEXTURE0_ARB + texstate->Texture.CurrentUnit); + + _mesa_unlock_context_textures(ctx); } @@ -1004,9 +1051,6 @@ _mesa_PopAttrib(void) (GLfloat) light->Model.TwoSide); _mesa_LightModelf(GL_LIGHT_MODEL_COLOR_CONTROL, (GLfloat) light->Model.ColorControl); - /* materials */ - MEMCPY(&ctx->Light.Material, &light->Material, - sizeof(struct gl_material)); /* shade model */ _mesa_ShadeModel(light->ShadeModel); /* color material */ @@ -1014,6 +1058,9 @@ _mesa_PopAttrib(void) light->ColorMaterialMode); _mesa_set_enable(ctx, GL_COLOR_MATERIAL, light->ColorMaterialEnabled); + /* materials */ + MEMCPY(&ctx->Light.Material, &light->Material, + sizeof(struct gl_material)); } break; case GL_LINE_BIT: @@ -1059,7 +1106,8 @@ _mesa_PopAttrib(void) (GLint) point->CoordReplace[u]); } _mesa_set_enable(ctx, GL_POINT_SPRITE_NV,point->PointSprite); - _mesa_PointParameteriNV(GL_POINT_SPRITE_R_MODE_NV, + if (ctx->Extensions.NV_point_sprite) + _mesa_PointParameteriNV(GL_POINT_SPRITE_R_MODE_NV, ctx->Point.SpriteRMode); _mesa_PointParameterfEXT(GL_POINT_SPRITE_COORD_ORIGIN, (GLfloat)ctx->Point.SpriteOrigin); @@ -1169,9 +1217,9 @@ _mesa_PopAttrib(void) case GL_TEXTURE_BIT: /* Take care of texture object reference counters */ { - const struct gl_texture_attrib *texture; - texture = (const struct gl_texture_attrib *) attr->data; - pop_texture_group(ctx, texture); + struct texture_state *texstate + = (struct texture_state *) attr->data; + pop_texture_group(ctx, texstate); ctx->NewState |= _NEW_TEXTURE; } break; @@ -1280,6 +1328,12 @@ _mesa_PushClientAttrib(GLbitfield mask) attr = MALLOC_STRUCT( gl_array_attrib ); obj = MALLOC_STRUCT( gl_array_object ); +#if FEATURE_ARB_vertex_buffer_object + /* increment ref counts since we're copying pointers to these objects */ + ctx->Array.ArrayBufferObj->RefCount++; + ctx->Array.ElementArrayBufferObj->RefCount++; +#endif + MEMCPY( attr, &ctx->Array, sizeof(struct gl_array_attrib) ); MEMCPY( obj, ctx->Array.ArrayObj, sizeof(struct gl_array_object) ); @@ -1354,6 +1408,13 @@ _mesa_PopClientAttrib(void) _mesa_BindVertexArrayAPPLE( data->ArrayObj->Name ); +#if FEATURE_ARB_vertex_buffer_object + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, + data->ArrayBufferObj->Name); + _mesa_BindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, + data->ElementArrayBufferObj->Name); +#endif + MEMCPY( ctx->Array.ArrayObj, data->ArrayObj, sizeof( struct gl_array_object ) ); @@ -1380,6 +1441,41 @@ _mesa_PopClientAttrib(void) } +void +_mesa_free_attrib_data(GLcontext *ctx) +{ + while (ctx->AttribStackDepth > 0) { + struct gl_attrib_node *attr, *next; + + ctx->AttribStackDepth--; + attr = ctx->AttribStack[ctx->AttribStackDepth]; + + while (attr) { + if (attr->kind == GL_TEXTURE_BIT) { + struct texture_state *texstate = (struct texture_state*)attr->data; + GLuint u; + /* clear references to the saved texture objects */ + for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { + _mesa_reference_texobj(&texstate->SavedRef1D[u], NULL); + _mesa_reference_texobj(&texstate->SavedRef2D[u], NULL); + _mesa_reference_texobj(&texstate->SavedRef3D[u], NULL); + _mesa_reference_texobj(&texstate->SavedRefCube[u], NULL); + _mesa_reference_texobj(&texstate->SavedRefRect[u], NULL); + } + } + else { + /* any other chunks of state that requires special handling? */ + } + + next = attr->next; + _mesa_free(attr->data); + _mesa_free(attr); + attr = next; + } + } +} + + void _mesa_init_attrib( GLcontext *ctx ) { /* Renderer and client attribute stacks */ diff --git a/dist/Mesa/src/mesa/main/attrib.h b/dist/Mesa/src/mesa/main/attrib.h index 09d75196b..ea28859e9 100644 --- a/dist/Mesa/src/mesa/main/attrib.h +++ b/dist/Mesa/src/mesa/main/attrib.h @@ -58,10 +58,14 @@ _mesa_PopClientAttrib( void ); extern void _mesa_init_attrib( GLcontext *ctx ); +extern void +_mesa_free_attrib_data( GLcontext *ctx ); + #else /** No-op */ #define _mesa_init_attrib( c ) ((void)0) +#define _mesa_free_attrib_data( c ) ((void)0) #endif diff --git a/dist/Mesa/src/mesa/main/context.c b/dist/Mesa/src/mesa/main/context.c index afe6048c8..754b1a7d8 100644 --- a/dist/Mesa/src/mesa/main/context.c +++ b/dist/Mesa/src/mesa/main/context.c @@ -6,9 +6,9 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.0.2 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -95,6 +95,7 @@ #include "fbobject.h" #include "feedback.h" #include "fog.h" +#include "framebuffer.h" #include "get.h" #include "glthread.h" #include "glapioffsets.h" @@ -106,13 +107,13 @@ #include "lines.h" #include "macros.h" #include "matrix.h" -#include "occlude.h" #include "pixel.h" #include "points.h" #include "polygon.h" #if FEATURE_NV_vertex_program || FEATURE_NV_fragment_program #include "program.h" #endif +#include "queryobj.h" #include "rastpos.h" #include "simple_list.h" #include "state.h" @@ -131,7 +132,7 @@ #include "math/m_xform.h" #include "math/mathmod.h" #endif -#include "shaderobjects.h" +#include "shader_api.h" #ifdef USE_SPARC_ASM #include "sparc/sparc.h" @@ -153,171 +154,6 @@ static void free_shared_state( GLcontext *ctx, struct gl_shared_state *ss ); -/**********************************************************************/ -/** \name OpenGL SI-style interface (new in Mesa 3.5) - * - * \if subset - * \note Most of these functions are never called in the Mesa subset. - * \endif - */ -/*@{*/ - -/** - * Destroy context callback. - * - * \param gc context. - * \return GL_TRUE on success, or GL_FALSE on failure. - * - * \ifnot subset - * Called by window system/device driver (via __GLexports::destroyCurrent) when - * the rendering context is to be destroyed. - * \endif - * - * Frees the context data and the context structure. - */ -GLboolean -_mesa_destroyContext(__GLcontext *gc) -{ - if (gc) { - _mesa_free_context_data(gc); - _mesa_free(gc); - } - return GL_TRUE; -} - -/** - * Unbind context callback. - * - * \param gc context. - * \return GL_TRUE on success, or GL_FALSE on failure. - * - * \ifnot subset - * Called by window system/device driver (via __GLexports::loseCurrent) - * when the rendering context is made non-current. - * \endif - * - * No-op - */ -GLboolean -_mesa_loseCurrent(__GLcontext *gc) -{ - /* XXX unbind context from thread */ - (void) gc; - return GL_TRUE; -} - -/** - * Bind context callback. - * - * \param gc context. - * \return GL_TRUE on success, or GL_FALSE on failure. - * - * \ifnot subset - * Called by window system/device driver (via __GLexports::makeCurrent) - * when the rendering context is made current. - * \endif - * - * No-op - */ -GLboolean -_mesa_makeCurrent(__GLcontext *gc) -{ - /* XXX bind context to thread */ - (void) gc; - return GL_TRUE; -} - -/** - * Share context callback. - * - * \param gc context. - * \param gcShare shared context. - * \return GL_TRUE on success, or GL_FALSE on failure. - * - * \ifnot subset - * Called by window system/device driver (via __GLexports::shareContext) - * \endif - * - * Update the shared context reference count, gl_shared_state::RefCount. - */ -GLboolean -_mesa_shareContext(__GLcontext *gc, __GLcontext *gcShare) -{ - if (gc && gcShare && gc->Shared && gcShare->Shared) { - gc->Shared->RefCount--; - if (gc->Shared->RefCount == 0) { - free_shared_state(gc, gc->Shared); - } - gc->Shared = gcShare->Shared; - gc->Shared->RefCount++; - return GL_TRUE; - } - else { - return GL_FALSE; - } -} - - -#if _HAVE_FULL_GL -/** - * Copy context callback. - */ -GLboolean -_mesa_copyContext(__GLcontext *dst, const __GLcontext *src, GLuint mask) -{ - if (dst && src) { - _mesa_copy_context( src, dst, mask ); - return GL_TRUE; - } - else { - return GL_FALSE; - } -} -#endif - -/** No-op */ -GLboolean -_mesa_forceCurrent(__GLcontext *gc) -{ - (void) gc; - return GL_TRUE; -} - -/** - * Windows/buffer resizing notification callback. - * - * \param gc GL context. - * \return GL_TRUE on success, or GL_FALSE on failure. - */ -GLboolean -_mesa_notifyResize(__GLcontext *gc) -{ - GLint x, y; - GLuint width, height; - __GLdrawablePrivate *d = gc->imports.getDrawablePrivate(gc); - if (!d || !d->getDrawableSize) - return GL_FALSE; - d->getDrawableSize( d, &x, &y, &width, &height ); - /* update viewport, resize software buffers, etc. */ - return GL_TRUE; -} - -/** - * Window/buffer destruction notification callback. - * - * \param gc GL context. - * - * Called when the context's window/buffer is going to be destroyed. - * - * No-op - */ -void -_mesa_notifyDestroy(__GLcontext *gc) -{ - /* Unbind from it. */ - (void) gc; -} - /** * Swap buffers notification callback. * @@ -332,105 +168,6 @@ _mesa_notifySwapBuffers(__GLcontext *gc) FLUSH_VERTICES( gc, 0 ); } -/** No-op */ -struct __GLdispatchStateRec * -_mesa_dispatchExec(__GLcontext *gc) -{ - (void) gc; - return NULL; -} - -/** No-op */ -void -_mesa_beginDispatchOverride(__GLcontext *gc) -{ - (void) gc; -} - -/** No-op */ -void -_mesa_endDispatchOverride(__GLcontext *gc) -{ - (void) gc; -} - -/** - * \ifnot subset - * Setup the exports. - * - * The window system will call these functions when it needs Mesa to do - * something. - * - * \note Device drivers should override these functions! For example, - * the Xlib driver should plug in the XMesa*-style functions into this - * structure. The XMesa-style functions should then call the _mesa_* - * version of these functions. This is an approximation to OO design - * (inheritance and virtual functions). - * \endif - * - * \if subset - * No-op. - * - * \endif - */ -static void -_mesa_init_default_exports(__GLexports *exports) -{ -#if _HAVE_FULL_GL - exports->destroyContext = _mesa_destroyContext; - exports->loseCurrent = _mesa_loseCurrent; - exports->makeCurrent = _mesa_makeCurrent; - exports->shareContext = _mesa_shareContext; - exports->copyContext = _mesa_copyContext; - exports->forceCurrent = _mesa_forceCurrent; - exports->notifyResize = _mesa_notifyResize; - exports->notifyDestroy = _mesa_notifyDestroy; - exports->notifySwapBuffers = _mesa_notifySwapBuffers; - exports->dispatchExec = _mesa_dispatchExec; - exports->beginDispatchOverride = _mesa_beginDispatchOverride; - exports->endDispatchOverride = _mesa_endDispatchOverride; -#else - (void) exports; -#endif -} - -/** - * Exported OpenGL SI interface. - */ -__GLcontext * -__glCoreCreateContext(__GLimports *imports, __GLcontextModes *modes) -{ - GLcontext *ctx; - - ctx = (GLcontext *) (*imports->calloc)(NULL, 1, sizeof(GLcontext)); - if (ctx == NULL) { - return NULL; - } - - /* XXX doesn't work at this time */ - _mesa_initialize_context(ctx, modes, NULL, NULL, NULL); - ctx->imports = *imports; - - return ctx; -} - -/** - * Exported OpenGL SI interface. - */ -void -__glCoreNopDispatch(void) -{ -#if 0 - /* SI */ - __gl_dispatch = __glNopDispatchState; -#else - /* Mesa */ - _glapi_set_dispatch(NULL); -#endif -} - -/*@}*/ - /**********************************************************************/ /** \name GL Visual allocation/destruction */ @@ -625,6 +362,8 @@ one_time_init( GLcontext *ctx ) assert( sizeof(GLint) == 4 ); assert( sizeof(GLuint) == 4 ); + _mesa_init_sqrt_table(); + #if _HAVE_FULL_GL _math_init(); @@ -705,7 +444,7 @@ alloc_shared_state( GLcontext *ctx ) ss->ArrayObjects = _mesa_NewHashTable(); #if FEATURE_ARB_shader_objects - ss->GL2Objects = _mesa_NewHashTable (); + ss->ShaderObjects = _mesa_NewHashTable(); #endif ss->Default1D = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_1D); @@ -728,12 +467,11 @@ alloc_shared_state( GLcontext *ctx ) if (!ss->DefaultRect) goto cleanup; - /* Effectively bind the default textures to all texture units */ - ss->Default1D->RefCount += MAX_TEXTURE_IMAGE_UNITS; - ss->Default2D->RefCount += MAX_TEXTURE_IMAGE_UNITS; - ss->Default3D->RefCount += MAX_TEXTURE_IMAGE_UNITS; - ss->DefaultCubeMap->RefCount += MAX_TEXTURE_IMAGE_UNITS; - ss->DefaultRect->RefCount += MAX_TEXTURE_IMAGE_UNITS; + /* sanity check */ + assert(ss->Default1D->RefCount == 1); + + _glthread_INIT_MUTEX(ss->TexMutex); + ss->TextureStateStamp = 0; #if FEATURE_EXT_framebuffer_object ss->FrameBuffers = _mesa_NewHashTable(); @@ -744,10 +482,9 @@ alloc_shared_state( GLcontext *ctx ) goto cleanup; #endif - return GL_TRUE; - cleanup: +cleanup: /* Ran out of memory at some point. Free everything and return NULL */ if (ss->DisplayList) _mesa_DeleteHashTable(ss->DisplayList); @@ -778,8 +515,8 @@ alloc_shared_state( GLcontext *ctx ) _mesa_DeleteHashTable (ss->ArrayObjects); #if FEATURE_ARB_shader_objects - if (ss->GL2Objects) - _mesa_DeleteHashTable (ss->GL2Objects); + if (ss->ShaderObjects) + _mesa_DeleteHashTable (ss->ShaderObjects); #endif #if FEATURE_EXT_framebuffer_object @@ -872,6 +609,52 @@ delete_arrayobj_cb(GLuint id, void *data, void *userData) _mesa_delete_array_object(ctx, arrayObj); } +/** + * Callback for deleting shader and shader programs objects. + * Called by _mesa_HashDeleteAll(). + */ +static void +delete_shader_cb(GLuint id, void *data, void *userData) +{ + GLcontext *ctx = (GLcontext *) userData; + struct gl_shader *sh = (struct gl_shader *) data; + if (sh->Type == GL_FRAGMENT_SHADER || sh->Type == GL_VERTEX_SHADER) { + _mesa_free_shader(ctx, sh); + } + else { + struct gl_shader_program *shProg = (struct gl_shader_program *) data; + ASSERT(shProg->Type == GL_SHADER_PROGRAM_MESA); + _mesa_free_shader_program(ctx, shProg); + } +} + +/** + * Callback for deleting a framebuffer object. Called by _mesa_HashDeleteAll() + */ +static void +delete_framebuffer_cb(GLuint id, void *data, void *userData) +{ + struct gl_framebuffer *fb = (struct gl_framebuffer *) data; + /* The fact that the framebuffer is in the hashtable means its refcount + * is one, but we're removing from the hashtable now. So clear refcount. + */ + /*assert(fb->RefCount == 1);*/ + fb->RefCount = 0; + fb->Delete(fb); +} + +/** + * Callback for deleting a renderbuffer object. Called by _mesa_HashDeleteAll() + */ +static void +delete_renderbuffer_cb(GLuint id, void *data, void *userData) +{ + struct gl_renderbuffer *rb = (struct gl_renderbuffer *) data; + rb->RefCount = 0; /* see comment for FBOs above */ + rb->Delete(rb); +} + + /** * Deallocate a shared state object and all children structures. @@ -894,20 +677,6 @@ free_shared_state( GLcontext *ctx, struct gl_shared_state *ss ) _mesa_HashDeleteAll(ss->DisplayList, delete_displaylist_cb, ctx); _mesa_DeleteHashTable(ss->DisplayList); - /* - * Free texture objects - */ - ASSERT(ctx->Driver.DeleteTexture); - /* the default textures */ - ctx->Driver.DeleteTexture(ctx, ss->Default1D); - ctx->Driver.DeleteTexture(ctx, ss->Default2D); - ctx->Driver.DeleteTexture(ctx, ss->Default3D); - ctx->Driver.DeleteTexture(ctx, ss->DefaultCubeMap); - ctx->Driver.DeleteTexture(ctx, ss->DefaultRect); - /* all other textures */ - _mesa_HashDeleteAll(ss->TexObjects, delete_texture_cb, ctx); - _mesa_DeleteHashTable(ss->TexObjects); - #if defined(FEATURE_NV_vertex_program) || defined(FEATURE_NV_fragment_program) _mesa_HashDeleteAll(ss->Programs, delete_program_cb, ctx); _mesa_DeleteHashTable(ss->Programs); @@ -934,14 +703,32 @@ free_shared_state( GLcontext *ctx, struct gl_shared_state *ss ) _mesa_DeleteHashTable(ss->ArrayObjects); #if FEATURE_ARB_shader_objects - _mesa_DeleteHashTable(ss->GL2Objects); + _mesa_HashDeleteAll(ss->ShaderObjects, delete_shader_cb, ctx); + _mesa_DeleteHashTable(ss->ShaderObjects); #endif #if FEATURE_EXT_framebuffer_object + _mesa_HashDeleteAll(ss->FrameBuffers, delete_framebuffer_cb, ctx); _mesa_DeleteHashTable(ss->FrameBuffers); + _mesa_HashDeleteAll(ss->RenderBuffers, delete_renderbuffer_cb, ctx); _mesa_DeleteHashTable(ss->RenderBuffers); #endif + /* + * Free texture objects (after FBOs since some textures might have + * been bound to FBOs). + */ + ASSERT(ctx->Driver.DeleteTexture); + /* the default textures */ + ctx->Driver.DeleteTexture(ctx, ss->Default1D); + ctx->Driver.DeleteTexture(ctx, ss->Default2D); + ctx->Driver.DeleteTexture(ctx, ss->Default3D); + ctx->Driver.DeleteTexture(ctx, ss->DefaultCubeMap); + ctx->Driver.DeleteTexture(ctx, ss->DefaultRect); + /* all other textures */ + _mesa_HashDeleteAll(ss->TexObjects, delete_texture_cb, ctx); + _mesa_DeleteHashTable(ss->TexObjects); + _glthread_DESTROY_MUTEX(ss->Mutex); _mesa_free(ss); @@ -952,7 +739,7 @@ free_shared_state( GLcontext *ctx, struct gl_shared_state *ss ) * Initialize fields of gl_current_attrib (aka ctx->Current.*) */ static void -_mesa_init_current( GLcontext *ctx ) +_mesa_init_current(GLcontext *ctx) { GLuint i; @@ -966,9 +753,8 @@ _mesa_init_current( GLcontext *ctx ) ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_NORMAL], 0.0, 0.0, 1.0, 1.0 ); ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR0], 1.0, 1.0, 1.0, 1.0 ); ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR1], 0.0, 0.0, 0.0, 1.0 ); - ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_FOG], 0.0, 0.0, 0.0, 0.0 ); - ctx->Current.Attrib[VERT_ATTRIB_COLOR_INDEX][0] = 1.0; - ctx->Current.EdgeFlag = GL_TRUE; + ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR_INDEX], 1.0, 0.0, 0.0, 1.0 ); + ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_EDGEFLAG], 1.0, 0.0, 0.0, 1.0 ); } @@ -995,7 +781,7 @@ init_natives(struct gl_program_constants *prog) * some of these values (such as number of texture units). */ static void -_mesa_init_constants( GLcontext *ctx ) +_mesa_init_constants(GLcontext *ctx) { assert(ctx); @@ -1043,37 +829,34 @@ _mesa_init_constants( GLcontext *ctx ) ctx->Const.VertexProgram.MaxTexInstructions = 0; ctx->Const.VertexProgram.MaxTexIndirections = 0; ctx->Const.VertexProgram.MaxAttribs = MAX_NV_VERTEX_PROGRAM_INPUTS; - ctx->Const.VertexProgram.MaxTemps = MAX_NV_VERTEX_PROGRAM_TEMPS; + ctx->Const.VertexProgram.MaxTemps = MAX_PROGRAM_TEMPS; ctx->Const.VertexProgram.MaxParameters = MAX_NV_VERTEX_PROGRAM_PARAMS; ctx->Const.VertexProgram.MaxLocalParams = MAX_PROGRAM_LOCAL_PARAMS; - ctx->Const.VertexProgram.MaxEnvParams = MAX_NV_VERTEX_PROGRAM_PARAMS; + ctx->Const.VertexProgram.MaxEnvParams = MAX_PROGRAM_ENV_PARAMS; ctx->Const.VertexProgram.MaxAddressRegs = MAX_VERTEX_PROGRAM_ADDRESS_REGS; + ctx->Const.VertexProgram.MaxUniformComponents = 4 * MAX_UNIFORMS; init_natives(&ctx->Const.VertexProgram); #endif + #if FEATURE_ARB_fragment_program ctx->Const.FragmentProgram.MaxInstructions = MAX_NV_FRAGMENT_PROGRAM_INSTRUCTIONS; ctx->Const.FragmentProgram.MaxAluInstructions = MAX_FRAGMENT_PROGRAM_ALU_INSTRUCTIONS; ctx->Const.FragmentProgram.MaxTexInstructions = MAX_FRAGMENT_PROGRAM_TEX_INSTRUCTIONS; ctx->Const.FragmentProgram.MaxTexIndirections = MAX_FRAGMENT_PROGRAM_TEX_INDIRECTIONS; ctx->Const.FragmentProgram.MaxAttribs = MAX_NV_FRAGMENT_PROGRAM_INPUTS; - ctx->Const.FragmentProgram.MaxTemps = MAX_NV_FRAGMENT_PROGRAM_TEMPS; + ctx->Const.FragmentProgram.MaxTemps = MAX_PROGRAM_TEMPS; ctx->Const.FragmentProgram.MaxParameters = MAX_NV_FRAGMENT_PROGRAM_PARAMS; ctx->Const.FragmentProgram.MaxLocalParams = MAX_PROGRAM_LOCAL_PARAMS; - ctx->Const.FragmentProgram.MaxEnvParams = MAX_NV_FRAGMENT_PROGRAM_PARAMS; + ctx->Const.FragmentProgram.MaxEnvParams = MAX_PROGRAM_ENV_PARAMS; ctx->Const.FragmentProgram.MaxAddressRegs = MAX_FRAGMENT_PROGRAM_ADDRESS_REGS; + ctx->Const.FragmentProgram.MaxUniformComponents = 4 * MAX_UNIFORMS; init_natives(&ctx->Const.FragmentProgram); #endif ctx->Const.MaxProgramMatrices = MAX_PROGRAM_MATRICES; ctx->Const.MaxProgramMatrixStackDepth = MAX_PROGRAM_MATRIX_STACK_DEPTH; - /* If we're running in the X server, do bounds checking to prevent - * segfaults and server crashes! - */ -#if defined(XFree86LOADER) && defined(IN_MODULE) - ctx->Const.CheckArrayBounds = GL_TRUE; -#else + /* CheckArrayBounds is overriden by drivers/x11 for X server */ ctx->Const.CheckArrayBounds = GL_FALSE; -#endif /* GL_ARB_draw_buffers */ ctx->Const.MaxDrawBuffers = MAX_DRAW_BUFFERS; @@ -1087,11 +870,21 @@ _mesa_init_constants( GLcontext *ctx ) ctx->Const.MaxRenderbufferSize = MAX_WIDTH; #endif +#if FEATURE_ARB_vertex_shader + ctx->Const.MaxVertexTextureImageUnits = MAX_VERTEX_TEXTURE_IMAGE_UNITS; + ctx->Const.MaxVarying = MAX_VARYING; +#endif + /* sanity checks */ ASSERT(ctx->Const.MaxTextureUnits == MIN2(ctx->Const.MaxTextureImageUnits, ctx->Const.MaxTextureCoordUnits)); ASSERT(ctx->Const.FragmentProgram.MaxLocalParams <= MAX_PROGRAM_LOCAL_PARAMS); ASSERT(ctx->Const.VertexProgram.MaxLocalParams <= MAX_PROGRAM_LOCAL_PARAMS); + + ASSERT(MAX_NV_FRAGMENT_PROGRAM_TEMPS <= MAX_PROGRAM_TEMPS); + ASSERT(MAX_NV_VERTEX_PROGRAM_TEMPS <= MAX_PROGRAM_TEMPS); + ASSERT(MAX_NV_VERTEX_PROGRAM_INPUTS <= VERT_ATTRIB_MAX); + ASSERT(MAX_NV_VERTEX_PROGRAM_OUTPUTS <= VERT_RESULT_MAX); } @@ -1133,7 +926,7 @@ check_context_limits(GLcontext *ctx) * functions for the more complex data structures. */ static GLboolean -init_attrib_groups( GLcontext *ctx ) +init_attrib_groups(GLcontext *ctx) { assert(ctx); @@ -1169,7 +962,7 @@ init_attrib_groups( GLcontext *ctx ) _mesa_init_query( ctx ); _mesa_init_rastpos( ctx ); _mesa_init_scissor( ctx ); - _mesa_init_shaderobjects (ctx); + _mesa_init_shader_state( ctx ); _mesa_init_stencil( ctx ); _mesa_init_transform( ctx ); _mesa_init_varray( ctx ); @@ -1256,24 +1049,16 @@ alloc_dispatch_table(void) * \param driverContext pointer to driver-specific context data */ GLboolean -_mesa_initialize_context( GLcontext *ctx, - const GLvisual *visual, - GLcontext *share_list, - const struct dd_function_table *driverFunctions, - void *driverContext ) +_mesa_initialize_context(GLcontext *ctx, + const GLvisual *visual, + GLcontext *share_list, + const struct dd_function_table *driverFunctions, + void *driverContext) { ASSERT(driverContext); assert(driverFunctions->NewTextureObject); assert(driverFunctions->FreeTexImageData); - /* If the driver wants core Mesa to use special imports, it'll have to - * override these defaults. - */ - _mesa_init_default_imports( &(ctx->imports), driverContext ); - - /* initialize the exports (Mesa functions called by the window system) */ - _mesa_init_default_exports( &(ctx->exports) ); - /* misc one-time initializations */ one_time_init(ctx); @@ -1329,12 +1114,16 @@ _mesa_initialize_context( GLcontext *ctx, ctx->TnlModule.SwapCount = 0; #endif - ctx->_MaintainTexEnvProgram = (_mesa_getenv("MESA_TEX_PROG") != NULL); - ctx->_UseTexEnvProgram = ctx->_MaintainTexEnvProgram; + ctx->FragmentProgram._MaintainTexEnvProgram + = (_mesa_getenv("MESA_TEX_PROG") != NULL); + ctx->FragmentProgram._UseTexEnvProgram = ctx->FragmentProgram._MaintainTexEnvProgram; - ctx->_MaintainTnlProgram = (_mesa_getenv("MESA_TNL_PROG") != NULL); - if (ctx->_MaintainTnlProgram) - ctx->_MaintainTexEnvProgram = 1; /* this is required... */ + ctx->VertexProgram._MaintainTnlProgram + = (_mesa_getenv("MESA_TNL_PROG") != NULL); + if (ctx->VertexProgram._MaintainTnlProgram) { + /* this is required... */ + ctx->FragmentProgram._MaintainTexEnvProgram = GL_TRUE; + } ctx->FirstTimeCurrent = GL_TRUE; @@ -1357,11 +1146,10 @@ _mesa_initialize_context( GLcontext *ctx, * \return pointer to a new __GLcontextRec or NULL if error. */ GLcontext * -_mesa_create_context( const GLvisual *visual, - GLcontext *share_list, - const struct dd_function_table *driverFunctions, - void *driverContext ) - +_mesa_create_context(const GLvisual *visual, + GLcontext *share_list, + const struct dd_function_table *driverFunctions, + void *driverContext) { GLcontext *ctx; @@ -1393,11 +1181,20 @@ _mesa_create_context( const GLvisual *visual, void _mesa_free_context_data( GLcontext *ctx ) { - /* if we're destroying the current context, unbind it first */ - if (ctx == _mesa_get_current_context()) { - _mesa_make_current(NULL, NULL, NULL); + if (!_mesa_get_current_context()){ + /* No current context, but we may need one in order to delete + * texture objs, etc. So temporarily bind the context now. + */ + _mesa_make_current(ctx, NULL, NULL); } + /* unreference WinSysDraw/Read buffers */ + _mesa_unreference_framebuffer(&ctx->WinSysDrawBuffer); + _mesa_unreference_framebuffer(&ctx->WinSysReadBuffer); + _mesa_unreference_framebuffer(&ctx->DrawBuffer); + _mesa_unreference_framebuffer(&ctx->ReadBuffer); + + _mesa_free_attrib_data(ctx); _mesa_free_lighting_data( ctx ); _mesa_free_eval_data( ctx ); _mesa_free_texture_data( ctx ); @@ -1405,6 +1202,7 @@ _mesa_free_context_data( GLcontext *ctx ) _mesa_free_viewport_data( ctx ); _mesa_free_colortables_data( ctx ); _mesa_free_program_data(ctx); + _mesa_free_shader_state(ctx); _mesa_free_query_data(ctx); #if FEATURE_ARB_vertex_buffer_object @@ -1428,6 +1226,11 @@ _mesa_free_context_data( GLcontext *ctx ) if (ctx->Extensions.String) _mesa_free((void *) ctx->Extensions.String); + + /* unbind the context if it's currently bound */ + if (ctx == _mesa_get_current_context()) { + _mesa_make_current(NULL, NULL, NULL); + } } @@ -1610,8 +1413,11 @@ check_compatible(const GLcontext *ctx, const GLframebuffer *buffer) return GL_FALSE; if (ctxvis->blueMask && ctxvis->blueMask != bufvis->blueMask) return GL_FALSE; +#if 0 + /* disabled (see bug 11161) */ if (ctxvis->depthBits && ctxvis->depthBits != bufvis->depthBits) return GL_FALSE; +#endif if (ctxvis->stencilBits && ctxvis->stencilBits != bufvis->stencilBits) return GL_FALSE; @@ -1629,11 +1435,12 @@ static void initialize_framebuffer_size(GLcontext *ctx, GLframebuffer *fb) { GLuint width, height; - ASSERT(ctx->Driver.GetBufferSize); - ctx->Driver.GetBufferSize(fb, &width, &height); - if (ctx->Driver.ResizeBuffers) - ctx->Driver.ResizeBuffers(ctx, fb, width, height); - fb->Initialized = GL_TRUE; + if (ctx->Driver.GetBufferSize) { + ctx->Driver.GetBufferSize(fb, &width, &height); + if (ctx->Driver.ResizeBuffers) + ctx->Driver.ResizeBuffers(ctx, fb, width, height); + fb->Initialized = GL_TRUE; + } } @@ -1690,22 +1497,25 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer, ASSERT(drawBuffer->Name == 0); ASSERT(readBuffer->Name == 0); - newCtx->WinSysDrawBuffer = drawBuffer; - newCtx->WinSysReadBuffer = readBuffer; + _mesa_reference_framebuffer(&newCtx->WinSysDrawBuffer, drawBuffer); + _mesa_reference_framebuffer(&newCtx->WinSysReadBuffer, readBuffer); /* * Only set the context's Draw/ReadBuffer fields if they're NULL * or not bound to a user-created FBO. */ if (!newCtx->DrawBuffer || newCtx->DrawBuffer->Name == 0) { - newCtx->DrawBuffer = drawBuffer; + _mesa_reference_framebuffer(&newCtx->DrawBuffer, drawBuffer); } if (!newCtx->ReadBuffer || newCtx->ReadBuffer->Name == 0) { - newCtx->ReadBuffer = readBuffer; + _mesa_reference_framebuffer(&newCtx->ReadBuffer, readBuffer); } newCtx->NewState |= _NEW_BUFFERS; +#if 1 + /* We want to get rid of these lines: */ + #if _HAVE_FULL_GL if (!drawBuffer->Initialized) { initialize_framebuffer_size(newCtx, drawBuffer); @@ -1713,7 +1523,26 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer, if (readBuffer != drawBuffer && !readBuffer->Initialized) { initialize_framebuffer_size(newCtx, readBuffer); } + + _mesa_resizebuffers(newCtx); +#endif + +#else + /* We want the drawBuffer and readBuffer to be initialized by + * the driver. + * This generally means the Width and Height match the actual + * window size and the renderbuffers (both hardware and software + * based) are allocated to match. The later can generally be + * done with a call to _mesa_resize_framebuffer(). + * + * It's theoretically possible for a buffer to have zero width + * or height, but for now, assert check that the driver did what's + * expected of it. + */ + ASSERT(drawBuffer->Width > 0); + ASSERT(drawBuffer->Height > 0); #endif + if (newCtx->FirstTimeCurrent) { /* set initial viewport and scissor size now */ _mesa_set_viewport(newCtx, 0, 0, @@ -1765,12 +1594,11 @@ _mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare) /** - * Get current context for the calling thread. - * - * \return pointer to the current GL context. + * \return pointer to the current GL context for this thread. * * Calls _glapi_get_context(). This isn't the fastest way to get the current - * context. If you need speed, see the #GET_CURRENT_CONTEXT macro in context.h. + * context. If you need speed, see the #GET_CURRENT_CONTEXT macro in + * context.h. */ GLcontext * _mesa_get_current_context( void ) @@ -1778,6 +1606,7 @@ _mesa_get_current_context( void ) return (GLcontext *) _glapi_get_context(); } + /** * Get context's current API dispatch table. * @@ -1817,7 +1646,7 @@ _mesa_get_dispatch(GLcontext *ctx) * This is called via _mesa_error(). */ void -_mesa_record_error( GLcontext *ctx, GLenum error ) +_mesa_record_error(GLcontext *ctx, GLenum error) { if (!ctx) return; @@ -1828,10 +1657,11 @@ _mesa_record_error( GLcontext *ctx, GLenum error ) /* Call device driver's error handler, if any. This is used on the Mac. */ if (ctx->Driver.Error) { - (*ctx->Driver.Error)( ctx ); + ctx->Driver.Error(ctx); } } + /** * Execute glFinish(). * @@ -1839,15 +1669,16 @@ _mesa_record_error( GLcontext *ctx, GLenum error ) * dd_function_table::Finish driver callback, if not NULL. */ void GLAPIENTRY -_mesa_Finish( void ) +_mesa_Finish(void) { GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); if (ctx->Driver.Finish) { - (*ctx->Driver.Finish)( ctx ); + ctx->Driver.Finish(ctx); } } + /** * Execute glFlush(). * @@ -1855,12 +1686,12 @@ _mesa_Finish( void ) * dd_function_table::Flush driver callback, if not NULL. */ void GLAPIENTRY -_mesa_Flush( void ) +_mesa_Flush(void) { GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); if (ctx->Driver.Flush) { - (*ctx->Driver.Flush)( ctx ); + ctx->Driver.Flush(ctx); } } diff --git a/dist/Mesa/src/mesa/main/dlist.c b/dist/Mesa/src/mesa/main/dlist.c index 8be01cfb7..844db6b9d 100644 --- a/dist/Mesa/src/mesa/main/dlist.c +++ b/dist/Mesa/src/mesa/main/dlist.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 7.0.2 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -66,10 +66,10 @@ #include "dlist.h" #include "macros.h" #include "matrix.h" -#include "occlude.h" #include "pixel.h" #include "points.h" #include "polygon.h" +#include "queryobj.h" #include "state.h" #include "texobj.h" #include "teximage.h" @@ -343,8 +343,6 @@ typedef enum OPCODE_ATTR_3F_ARB, OPCODE_ATTR_4F_ARB, OPCODE_MATERIAL, - OPCODE_INDEX, - OPCODE_EDGEFLAG, OPCODE_BEGIN, OPCODE_END, OPCODE_RECTF, @@ -2718,21 +2716,20 @@ save_PolygonMode(GLenum face, GLenum mode) } -/* - * Polygon stipple must have been upacked already! - */ static void GLAPIENTRY save_PolygonStipple(const GLubyte * pattern) { GET_CURRENT_CONTEXT(ctx); + GLvoid *image = unpack_image(2, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP, + pattern, &ctx->Unpack); Node *n; ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); n = ALLOC_INSTRUCTION(ctx, OPCODE_POLYGON_STIPPLE, 1); if (n) { - void *data; - n[1].data = _mesa_malloc(32 * 4); - data = n[1].data; /* This needed for Acorn compiler */ - MEMCPY(data, pattern, 32 * 4); + n[1].data = image; + } + else if (image) { + _mesa_free(image); } if (ctx->ExecuteFlag) { CALL_PolygonStipple(ctx->Exec, ((GLubyte *) pattern)); @@ -4476,7 +4473,7 @@ save_ProgramLocalParameters4fvEXT(GLenum target, GLuint index, GLsizei count, ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); if (count > 0) { - unsigned i; + GLint i; const GLfloat * p = params; for (i = 0 ; i < count ; i++) { @@ -4710,7 +4707,7 @@ save_ProgramEnvParameters4fvEXT(GLenum target, GLuint index, GLsizei count, ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); if (count > 0) { - unsigned i; + GLint i; const GLfloat * p = params; for (i = 0 ; i < count ; i++) { @@ -5110,45 +5107,19 @@ save_EvalPoint2(GLint x, GLint y) static void GLAPIENTRY save_Indexf(GLfloat x) { - GET_CURRENT_CONTEXT(ctx); - Node *n; - SAVE_FLUSH_VERTICES(ctx); - n = ALLOC_INSTRUCTION(ctx, OPCODE_INDEX, 1); - if (n) { - n[1].f = x; - } - - ctx->ListState.ActiveIndex = 1; - ctx->ListState.CurrentIndex = x; - - if (ctx->ExecuteFlag) { - CALL_Indexf(ctx->Exec, (x)); - } + save_Attr1fNV(VERT_ATTRIB_COLOR_INDEX, x); } static void GLAPIENTRY save_Indexfv(const GLfloat * v) { - save_Indexf(v[0]); + save_Attr1fNV(VERT_ATTRIB_COLOR_INDEX, v[0]); } static void GLAPIENTRY save_EdgeFlag(GLboolean x) { - GET_CURRENT_CONTEXT(ctx); - Node *n; - SAVE_FLUSH_VERTICES(ctx); - n = ALLOC_INSTRUCTION(ctx, OPCODE_EDGEFLAG, 1); - if (n) { - n[1].b = x; - } - - ctx->ListState.ActiveEdgeFlag = 1; - ctx->ListState.CurrentEdgeFlag = x; - - if (ctx->ExecuteFlag) { - CALL_EdgeFlag(ctx->Exec, (x)); - } + save_Attr1fNV(VERT_ATTRIB_EDGEFLAG, x ? 1.0 : 0.0); } static void GLAPIENTRY @@ -5766,7 +5737,7 @@ execute_list(GLcontext *ctx, GLuint list) if (!dlist) return; - ctx->ListState.CallStack[ctx->ListState.CallDepth++] = dlist; + ctx->ListState.CallDepth++; if (ctx->Driver.BeginCallList) ctx->Driver.BeginCallList(ctx, dlist); @@ -6197,7 +6168,12 @@ execute_list(GLcontext *ctx, GLuint list) CALL_PolygonMode(ctx->Exec, (n[1].e, n[2].e)); break; case OPCODE_POLYGON_STIPPLE: - CALL_PolygonStipple(ctx->Exec, ((GLubyte *) n[1].data)); + { + const struct gl_pixelstore_attrib save = ctx->Unpack; + ctx->Unpack = ctx->DefaultPacking; + CALL_PolygonStipple(ctx->Exec, ((GLubyte *) n[1].data)); + ctx->Unpack = save; /* restore */ + } break; case OPCODE_POLYGON_OFFSET: CALL_PolygonOffset(ctx->Exec, (n[1].f, n[2].f)); @@ -6602,12 +6578,6 @@ execute_list(GLcontext *ctx, GLuint list) CALL_Materialfv(ctx->Exec, (n[1].e, n[2].e, f)); } break; - case OPCODE_INDEX: - CALL_Indexf(ctx->Exec, (n[1].f)); - break; - case OPCODE_EDGEFLAG: - CALL_EdgeFlag(ctx->Exec, (n[1].b)); - break; case OPCODE_BEGIN: CALL_Begin(ctx->Exec, (n[1].e)); break; @@ -6659,7 +6629,7 @@ execute_list(GLcontext *ctx, GLuint list) if (ctx->Driver.EndCallList) ctx->Driver.EndCallList(ctx); - ctx->ListState.CallStack[ctx->ListState.CallDepth--] = NULL; + ctx->ListState.CallDepth--; } @@ -6793,9 +6763,6 @@ _mesa_NewList(GLuint list, GLenum mode) for (i = 0; i < MAT_ATTRIB_MAX; i++) ctx->ListState.ActiveMaterialSize[i] = 0; - ctx->ListState.ActiveIndex = 0; - ctx->ListState.ActiveEdgeFlag = 0; - ctx->Driver.CurrentSavePrimitive = PRIM_UNKNOWN; ctx->Driver.NewList(ctx, list, mode); @@ -7869,7 +7836,6 @@ _mesa_init_dlist_table(struct _glapi_table *table) /* GL 1.1 */ SET_AreTexturesResident(table, exec_AreTexturesResident); - SET_AreTexturesResidentEXT(table, exec_AreTexturesResident); SET_BindTexture(table, save_BindTexture); SET_ColorPointer(table, exec_ColorPointer); SET_CopyTexImage1D(table, save_CopyTexImage1D); @@ -7881,12 +7847,10 @@ _mesa_init_dlist_table(struct _glapi_table *table) SET_EdgeFlagPointer(table, exec_EdgeFlagPointer); SET_EnableClientState(table, exec_EnableClientState); SET_GenTextures(table, exec_GenTextures); - SET_GenTexturesEXT(table, exec_GenTextures); SET_GetPointerv(table, exec_GetPointerv); SET_IndexPointer(table, exec_IndexPointer); SET_InterleavedArrays(table, exec_InterleavedArrays); SET_IsTexture(table, exec_IsTexture); - SET_IsTextureEXT(table, exec_IsTexture); SET_NormalPointer(table, exec_NormalPointer); SET_PopClientAttrib(table, exec_PopClientAttrib); SET_PrioritizeTextures(table, save_PrioritizeTextures); @@ -7925,31 +7889,18 @@ _mesa_init_dlist_table(struct _glapi_table *table) SET_CopyConvolutionFilter1D(table, exec_CopyConvolutionFilter1D); SET_CopyConvolutionFilter2D(table, exec_CopyConvolutionFilter2D); SET_GetColorTable(table, exec_GetColorTable); - SET_GetColorTableSGI(table, exec_GetColorTable); SET_GetColorTableParameterfv(table, exec_GetColorTableParameterfv); - SET_GetColorTableParameterfvSGI(table, exec_GetColorTableParameterfv); SET_GetColorTableParameteriv(table, exec_GetColorTableParameteriv); - SET_GetColorTableParameterivSGI(table, exec_GetColorTableParameteriv); SET_GetConvolutionFilter(table, exec_GetConvolutionFilter); - SET_GetConvolutionFilterEXT(table, exec_GetConvolutionFilter); SET_GetConvolutionParameterfv(table, exec_GetConvolutionParameterfv); - SET_GetConvolutionParameterfvEXT(table, exec_GetConvolutionParameterfv); SET_GetConvolutionParameteriv(table, exec_GetConvolutionParameteriv); - SET_GetConvolutionParameterivEXT(table, exec_GetConvolutionParameteriv); SET_GetHistogram(table, exec_GetHistogram); - SET_GetHistogramEXT(table, exec_GetHistogram); SET_GetHistogramParameterfv(table, exec_GetHistogramParameterfv); - SET_GetHistogramParameterfvEXT(table, exec_GetHistogramParameterfv); SET_GetHistogramParameteriv(table, exec_GetHistogramParameteriv); - SET_GetHistogramParameterivEXT(table, exec_GetHistogramParameteriv); SET_GetMinmax(table, exec_GetMinmax); - SET_GetMinmaxEXT(table, exec_GetMinmax); SET_GetMinmaxParameterfv(table, exec_GetMinmaxParameterfv); - SET_GetMinmaxParameterfvEXT(table, exec_GetMinmaxParameterfv); SET_GetMinmaxParameteriv(table, exec_GetMinmaxParameteriv); - SET_GetMinmaxParameterivEXT(table, exec_GetMinmaxParameteriv); SET_GetSeparableFilter(table, exec_GetSeparableFilter); - SET_GetSeparableFilterEXT(table, exec_GetSeparableFilter); SET_Histogram(table, save_Histogram); SET_Minmax(table, save_Minmax); SET_ResetHistogram(table, save_ResetHistogram); @@ -7975,10 +7926,10 @@ _mesa_init_dlist_table(struct _glapi_table *table) #if 0 SET_ColorTableSGI(table, save_ColorTable); SET_ColorSubTableSGI(table, save_ColorSubTable); -#endif SET_GetColorTableSGI(table, exec_GetColorTable); SET_GetColorTableParameterfvSGI(table, exec_GetColorTableParameterfv); SET_GetColorTableParameterivSGI(table, exec_GetColorTableParameteriv); +#endif /* 30. GL_EXT_vertex_array */ SET_ColorPointerEXT(table, exec_ColorPointerEXT); @@ -8068,7 +8019,7 @@ _mesa_init_dlist_table(struct _glapi_table *table) SET_GetVertexAttribfvNV(table, _mesa_GetVertexAttribfvNV); SET_GetVertexAttribivNV(table, _mesa_GetVertexAttribivNV); SET_GetVertexAttribPointervNV(table, _mesa_GetVertexAttribPointervNV); - SET_IsProgramNV(table, _mesa_IsProgram); + SET_IsProgramNV(table, _mesa_IsProgramARB); SET_LoadProgramNV(table, save_LoadProgramNV); SET_ProgramParameter4dNV(table, save_ProgramParameter4dNV); SET_ProgramParameter4dvNV(table, save_ProgramParameter4dvNV); @@ -8161,7 +8112,7 @@ _mesa_init_dlist_table(struct _glapi_table *table) SET_BindProgramNV(table, save_BindProgramNV); SET_DeleteProgramsNV(table, _mesa_DeletePrograms); SET_GenProgramsNV(table, _mesa_GenPrograms); - SET_IsProgramNV(table, _mesa_IsProgram); + SET_IsProgramNV(table, _mesa_IsProgramARB); SET_GetVertexAttribdvNV(table, _mesa_GetVertexAttribdvNV); SET_GetVertexAttribfvNV(table, _mesa_GetVertexAttribfvNV); SET_GetVertexAttribivNV(table, _mesa_GetVertexAttribivNV); @@ -8437,12 +8388,6 @@ print_list(GLcontext *ctx, GLuint list) _mesa_printf("MATERIAL %x %x: %f %f %f %f\n", n[1].i, n[2].i, n[3].f, n[4].f, n[5].f, n[6].f); break; - case OPCODE_INDEX: - _mesa_printf("INDEX: %f\n", n[1].f); - break; - case OPCODE_EDGEFLAG: - _mesa_printf("EDGEFLAG: %d\n", n[1].i); - break; case OPCODE_BEGIN: _mesa_printf("BEGIN %x\n", n[1].i); break; diff --git a/dist/Mesa/src/mesa/main/enable.c b/dist/Mesa/src/mesa/main/enable.c index 91268b596..1c6167b79 100644 --- a/dist/Mesa/src/mesa/main/enable.c +++ b/dist/Mesa/src/mesa/main/enable.c @@ -49,11 +49,14 @@ } +/** + * Helper to enable/disable client-side state. + */ static void -client_state( GLcontext *ctx, GLenum cap, GLboolean state ) +client_state(GLcontext *ctx, GLenum cap, GLboolean state) { GLuint flag; - GLuint *var; + GLboolean *var; switch (cap) { case GL_VERTEX_ARRAY: @@ -134,17 +137,14 @@ client_state( GLcontext *ctx, GLenum cap, GLboolean state ) ctx->Array.ArrayObj->_Enabled &= ~flag; if (ctx->Driver.Enable) { - (*ctx->Driver.Enable)( ctx, cap, state ); + ctx->Driver.Enable( ctx, cap, state ); } } /** * Enable GL capability. - * - * \param cap capability. - * - * \sa glEnable(). + * \param cap state to enable/disable. * * Get's the current context, assures that we're outside glBegin()/glEnd() and * calls client_state(). @@ -160,10 +160,7 @@ _mesa_EnableClientState( GLenum cap ) /** * Disable GL capability. - * - * \param cap capability. - * - * \sa glDisable(). + * \param cap state to enable/disable. * * Get's the current context, assures that we're outside glBegin()/glEnd() and * calls client_state(). @@ -193,12 +190,31 @@ _mesa_DisableClientState( GLenum cap ) } +/** + * Helper function to enable or disable a texture target. + */ +static GLboolean +enable_texture(GLcontext *ctx, GLboolean state, GLbitfield bit) +{ + const GLuint curr = ctx->Texture.CurrentUnit; + struct gl_texture_unit *texUnit = &ctx->Texture.Unit[curr]; + const GLuint newenabled = (!state) + ? (texUnit->Enabled & ~bit) : (texUnit->Enabled | bit); + + if (!ctx->DrawBuffer->Visual.rgbMode || texUnit->Enabled == newenabled) + return GL_FALSE; + + FLUSH_VERTICES(ctx, _NEW_TEXTURE); + texUnit->Enabled = newenabled; + return GL_TRUE; +} + /** - * Perform glEnable() and glDisable() calls. + * Helper function to enable or disable state. * * \param ctx GL context. - * \param cap capability. + * \param cap the state to enable/disable * \param state whether to enable or disable the specified capability. * * Updates the current context and flushes the vertices as needed. For @@ -206,7 +222,8 @@ _mesa_DisableClientState( GLenum cap ) * are effectivly present before updating. Notifies the driver via * dd_function_table::Enable. */ -void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) +void +_mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state) { if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "%s %s (newstate is %x)\n", @@ -285,7 +302,6 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) FLUSH_VERTICES(ctx, _NEW_POLYGON); ctx->Polygon.CullFlag = state; break; - case GL_CULL_VERTEX_EXT: CHECK_EXTENSION(EXT_cull_vertex, cap); if (ctx->Transform.CullVertexFlag == state) @@ -293,13 +309,12 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) FLUSH_VERTICES(ctx, _NEW_TRANSFORM); ctx->Transform.CullVertexFlag = state; break; - case GL_DEPTH_TEST: if (state && ctx->DrawBuffer->Visual.depthBits == 0) { _mesa_warning(ctx,"glEnable(GL_DEPTH_TEST) but no depth buffer"); return; } - if (ctx->Depth.Test==state) + if (ctx->Depth.Test == state) return; FLUSH_VERTICES(ctx, _NEW_DEPTH); ctx->Depth.Test = state; @@ -308,13 +323,13 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) if (ctx->NoDither) { state = GL_FALSE; /* MESA_NO_DITHER env var */ } - if (ctx->Color.DitherFlag==state) + if (ctx->Color.DitherFlag == state) return; FLUSH_VERTICES(ctx, _NEW_COLOR); ctx->Color.DitherFlag = state; break; case GL_FOG: - if (ctx->Fog.Enabled==state) + if (ctx->Fog.Enabled == state) return; FLUSH_VERTICES(ctx, _NEW_FOG); ctx->Fog.Enabled = state; @@ -349,14 +364,12 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) case GL_LIGHTING: if (ctx->Light.Enabled == state) return; - FLUSH_VERTICES(ctx, _NEW_LIGHT); - ctx->Light.Enabled = state; - if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) - ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE; + ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE; else - ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE; - + ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE; + FLUSH_VERTICES(ctx, _NEW_LIGHT); + ctx->Light.Enabled = state; break; case GL_LINE_SMOOTH: if (ctx->Line.SmoothFlag == state) @@ -505,41 +518,41 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) ctx->Transform.Normalize = state; break; case GL_POINT_SMOOTH: - if (ctx->Point.SmoothFlag==state) + if (ctx->Point.SmoothFlag == state) return; FLUSH_VERTICES(ctx, _NEW_POINT); ctx->Point.SmoothFlag = state; ctx->_TriangleCaps ^= DD_POINT_SMOOTH; break; case GL_POLYGON_SMOOTH: - if (ctx->Polygon.SmoothFlag==state) + if (ctx->Polygon.SmoothFlag == state) return; FLUSH_VERTICES(ctx, _NEW_POLYGON); ctx->Polygon.SmoothFlag = state; ctx->_TriangleCaps ^= DD_TRI_SMOOTH; break; case GL_POLYGON_STIPPLE: - if (ctx->Polygon.StippleFlag==state) + if (ctx->Polygon.StippleFlag == state) return; FLUSH_VERTICES(ctx, _NEW_POLYGON); ctx->Polygon.StippleFlag = state; ctx->_TriangleCaps ^= DD_TRI_STIPPLE; break; case GL_POLYGON_OFFSET_POINT: - if (ctx->Polygon.OffsetPoint==state) + if (ctx->Polygon.OffsetPoint == state) return; FLUSH_VERTICES(ctx, _NEW_POLYGON); ctx->Polygon.OffsetPoint = state; break; case GL_POLYGON_OFFSET_LINE: - if (ctx->Polygon.OffsetLine==state) + if (ctx->Polygon.OffsetLine == state) return; FLUSH_VERTICES(ctx, _NEW_POLYGON); ctx->Polygon.OffsetLine = state; break; case GL_POLYGON_OFFSET_FILL: /*case GL_POLYGON_OFFSET_EXT:*/ - if (ctx->Polygon.OffsetFill==state) + if (ctx->Polygon.OffsetFill == state) return; FLUSH_VERTICES(ctx, _NEW_POLYGON); ctx->Polygon.OffsetFill = state; @@ -551,7 +564,7 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) ctx->Transform.RescaleNormals = state; break; case GL_SCISSOR_TEST: - if (ctx->Scissor.Enabled==state) + if (ctx->Scissor.Enabled == state) return; FLUSH_VERTICES(ctx, _NEW_SCISSOR); ctx->Scissor.Enabled = state; @@ -568,50 +581,26 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) "glEnable(GL_STENCIL_TEST) but no stencil buffer"); return; } - if (ctx->Stencil.Enabled==state) + if (ctx->Stencil.Enabled == state) return; FLUSH_VERTICES(ctx, _NEW_STENCIL); ctx->Stencil.Enabled = state; break; - case GL_TEXTURE_1D: { - const GLuint curr = ctx->Texture.CurrentUnit; - struct gl_texture_unit *texUnit = &ctx->Texture.Unit[curr]; - GLuint newenabled = texUnit->Enabled & ~TEXTURE_1D_BIT; - if (state) - newenabled |= TEXTURE_1D_BIT; - if (!ctx->DrawBuffer->Visual.rgbMode - || texUnit->Enabled == newenabled) + case GL_TEXTURE_1D: + if (!enable_texture(ctx, state, TEXTURE_1D_BIT)) { return; - FLUSH_VERTICES(ctx, _NEW_TEXTURE); - texUnit->Enabled = newenabled; + } break; - } - case GL_TEXTURE_2D: { - const GLuint curr = ctx->Texture.CurrentUnit; - struct gl_texture_unit *texUnit = &ctx->Texture.Unit[curr]; - GLuint newenabled = texUnit->Enabled & ~TEXTURE_2D_BIT; - if (state) - newenabled |= TEXTURE_2D_BIT; - if (!ctx->DrawBuffer->Visual.rgbMode - || texUnit->Enabled == newenabled) + case GL_TEXTURE_2D: + if (!enable_texture(ctx, state, TEXTURE_2D_BIT)) { return; - FLUSH_VERTICES(ctx, _NEW_TEXTURE); - texUnit->Enabled = newenabled; + } break; - } - case GL_TEXTURE_3D: { - const GLuint curr = ctx->Texture.CurrentUnit; - struct gl_texture_unit *texUnit = &ctx->Texture.Unit[curr]; - GLuint newenabled = texUnit->Enabled & ~TEXTURE_3D_BIT; - if (state) - newenabled |= TEXTURE_3D_BIT; - if (!ctx->DrawBuffer->Visual.rgbMode - || texUnit->Enabled == newenabled) + case GL_TEXTURE_3D: + if (!enable_texture(ctx, state, TEXTURE_3D_BIT)) { return; - FLUSH_VERTICES(ctx, _NEW_TEXTURE); - texUnit->Enabled = newenabled; + } break; - } case GL_TEXTURE_GEN_Q: { GLuint unit = ctx->Texture.CurrentUnit; struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit]; @@ -678,24 +667,24 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) /* GL_SGI_color_table */ case GL_COLOR_TABLE_SGI: CHECK_EXTENSION(SGI_color_table, cap); - if (ctx->Pixel.ColorTableEnabled == state) + if (ctx->Pixel.ColorTableEnabled[COLORTABLE_PRECONVOLUTION] == state) return; FLUSH_VERTICES(ctx, _NEW_PIXEL); - ctx->Pixel.ColorTableEnabled = state; + ctx->Pixel.ColorTableEnabled[COLORTABLE_PRECONVOLUTION] = state; break; case GL_POST_CONVOLUTION_COLOR_TABLE_SGI: CHECK_EXTENSION(SGI_color_table, cap); - if (ctx->Pixel.PostConvolutionColorTableEnabled == state) + if (ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCONVOLUTION] == state) return; FLUSH_VERTICES(ctx, _NEW_PIXEL); - ctx->Pixel.PostConvolutionColorTableEnabled = state; + ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCONVOLUTION] = state; break; case GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI: CHECK_EXTENSION(SGI_color_table, cap); - if (ctx->Pixel.PostColorMatrixColorTableEnabled == state) + if (ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCOLORMATRIX] == state) return; FLUSH_VERTICES(ctx, _NEW_PIXEL); - ctx->Pixel.PostColorMatrixColorTableEnabled = state; + ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCOLORMATRIX] = state; break; case GL_TEXTURE_COLOR_TABLE_SGI: CHECK_EXTENSION(SGI_texture_color_table, cap); @@ -730,18 +719,9 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) /* GL_ARB_texture_cube_map */ case GL_TEXTURE_CUBE_MAP_ARB: - { - const GLuint curr = ctx->Texture.CurrentUnit; - struct gl_texture_unit *texUnit = &ctx->Texture.Unit[curr]; - GLuint newenabled = texUnit->Enabled & ~TEXTURE_CUBE_BIT; - CHECK_EXTENSION(ARB_texture_cube_map, cap); - if (state) - newenabled |= TEXTURE_CUBE_BIT; - if (!ctx->DrawBuffer->Visual.rgbMode - || texUnit->Enabled == newenabled) - return; - FLUSH_VERTICES(ctx, _NEW_TEXTURE); - texUnit->Enabled = newenabled; + CHECK_EXTENSION(ARB_texture_cube_map, cap); + if (!enable_texture(ctx, state, TEXTURE_CUBE_BIT)) { + return; } break; @@ -894,18 +874,8 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) /* GL_NV_texture_rectangle */ case GL_TEXTURE_RECTANGLE_NV: CHECK_EXTENSION(NV_texture_rectangle, cap); - { - const GLuint curr = ctx->Texture.CurrentUnit; - struct gl_texture_unit *texUnit = &ctx->Texture.Unit[curr]; - GLuint newenabled = texUnit->Enabled & ~TEXTURE_RECT_BIT; - CHECK_EXTENSION(NV_texture_rectangle, cap); - if (state) - newenabled |= TEXTURE_RECT_BIT; - if (!ctx->DrawBuffer->Visual.rgbMode - || texUnit->Enabled == newenabled) - return; - FLUSH_VERTICES(ctx, _NEW_TEXTURE); - texUnit->Enabled = newenabled; + if (!enable_texture(ctx, state, TEXTURE_RECT_BIT)) { + return; } break; @@ -916,11 +886,10 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) return; FLUSH_VERTICES(ctx, _NEW_STENCIL); ctx->Stencil.TestTwoSide = state; - if (state) { + if (state) ctx->_TriangleCaps |= DD_TRI_TWOSTENCIL; - } else { + else ctx->_TriangleCaps &= ~DD_TRI_TWOSTENCIL; - } break; #if FEATURE_ARB_fragment_program @@ -973,20 +942,14 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state ) } if (ctx->Driver.Enable) { - (*ctx->Driver.Enable)( ctx, cap, state ); + ctx->Driver.Enable( ctx, cap, state ); } } /** - * Enable GL capability. - * - * \param cap capability. - * - * \sa glEnable(). - * - * Get's the current context, assures that we're outside glBegin()/glEnd() and - * calls _mesa_set_enable(). + * Enable GL capability. Called by glEnable() + * \param cap state to enable. */ void GLAPIENTRY _mesa_Enable( GLenum cap ) @@ -999,14 +962,8 @@ _mesa_Enable( GLenum cap ) /** - * Disable GL capability. - * - * \param cap capability. - * - * \sa glDisable(). - * - * Get's the current context, assures that we're outside glBegin()/glEnd() and - * calls _mesa_set_enable(). + * Disable GL capability. Called by glDisable() + * \param cap state to disable. */ void GLAPIENTRY _mesa_Disable( GLenum cap ) @@ -1032,10 +989,23 @@ _mesa_Disable( GLenum cap ) return GL_FALSE; \ } + +/** + * Helper function to determine whether a texture target is enabled. + */ +static GLboolean +is_texture_enabled(GLcontext *ctx, GLbitfield bit) +{ + const struct gl_texture_unit *const texUnit = + &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; + return (texUnit->Enabled & bit) ? GL_TRUE : GL_FALSE; +} + + /** - * Test whether a capability is enabled. + * Return simple enable/disable state. * - * \param cap capability. + * \param cap state variable to query. * * Returns the state of the specified capability from the current GL context. * For the capabilities associated with extensions verifies that those @@ -1148,23 +1118,11 @@ _mesa_IsEnabled( GLenum cap ) case GL_STENCIL_TEST: return ctx->Stencil.Enabled; case GL_TEXTURE_1D: - { - const struct gl_texture_unit *texUnit; - texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; - return (texUnit->Enabled & TEXTURE_1D_BIT) ? GL_TRUE : GL_FALSE; - } + return is_texture_enabled(ctx, TEXTURE_1D_BIT); case GL_TEXTURE_2D: - { - const struct gl_texture_unit *texUnit; - texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; - return (texUnit->Enabled & TEXTURE_2D_BIT) ? GL_TRUE : GL_FALSE; - } + return is_texture_enabled(ctx, TEXTURE_2D_BIT); case GL_TEXTURE_3D: - { - const struct gl_texture_unit *texUnit; - texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; - return (texUnit->Enabled & TEXTURE_3D_BIT) ? GL_TRUE : GL_FALSE; - } + return is_texture_enabled(ctx, TEXTURE_3D_BIT); case GL_TEXTURE_GEN_Q: { const struct gl_texture_unit *texUnit; @@ -1223,13 +1181,13 @@ _mesa_IsEnabled( GLenum cap ) /* GL_SGI_color_table */ case GL_COLOR_TABLE_SGI: CHECK_EXTENSION(SGI_color_table); - return ctx->Pixel.ColorTableEnabled; + return ctx->Pixel.ColorTableEnabled[COLORTABLE_PRECONVOLUTION]; case GL_POST_CONVOLUTION_COLOR_TABLE_SGI: CHECK_EXTENSION(SGI_color_table); - return ctx->Pixel.PostConvolutionColorTableEnabled; + return ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCONVOLUTION]; case GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI: CHECK_EXTENSION(SGI_color_table); - return ctx->Pixel.PostColorMatrixColorTableEnabled; + return ctx->Pixel.ColorTableEnabled[COLORTABLE_POSTCOLORMATRIX]; /* GL_SGI_texture_color_table */ case GL_TEXTURE_COLOR_TABLE_SGI: @@ -1250,11 +1208,7 @@ _mesa_IsEnabled( GLenum cap ) /* GL_ARB_texture_cube_map */ case GL_TEXTURE_CUBE_MAP_ARB: CHECK_EXTENSION(ARB_texture_cube_map); - { - const struct gl_texture_unit *texUnit; - texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; - return (texUnit->Enabled & TEXTURE_CUBE_BIT) ? GL_TRUE : GL_FALSE; - } + return is_texture_enabled(ctx, TEXTURE_CUBE_BIT); /* GL_EXT_secondary_color */ case GL_COLOR_SUM_EXT: @@ -1374,11 +1328,7 @@ _mesa_IsEnabled( GLenum cap ) /* GL_NV_texture_rectangle */ case GL_TEXTURE_RECTANGLE_NV: CHECK_EXTENSION(NV_texture_rectangle); - { - const struct gl_texture_unit *texUnit; - texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; - return (texUnit->Enabled & TEXTURE_RECT_BIT) ? GL_TRUE : GL_FALSE; - } + return is_texture_enabled(ctx, TEXTURE_RECT_BIT); /* GL_EXT_stencil_two_side */ case GL_STENCIL_TEST_TWO_SIDE_EXT: diff --git a/dist/Mesa/src/mesa/main/enums.c b/dist/Mesa/src/mesa/main/enums.c index b569d6ad6..e4e8611f4 100644 --- a/dist/Mesa/src/mesa/main/enums.c +++ b/dist/Mesa/src/mesa/main/enums.c @@ -34,7 +34,7 @@ typedef struct { int n; } enum_elt; -static const char enum_string_table[] = +LONGSTRING static const char enum_string_table[] = "GL_2D\0" "GL_2_BYTES\0" "GL_3D\0" @@ -50,9 +50,13 @@ static const char enum_string_table[] = "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_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" @@ -87,6 +91,7 @@ static const char enum_string_table[] = "GL_ARRAY_BUFFER_ARB\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" @@ -112,6 +117,7 @@ static const char enum_string_table[] = "GL_BLEND_DST_ALPHA\0" "GL_BLEND_DST_RGB\0" "GL_BLEND_EQUATION\0" + "GL_BLEND_EQUATION_ALPHA\0" "GL_BLEND_EQUATION_ALPHA_EXT\0" "GL_BLEND_EQUATION_EXT\0" "GL_BLEND_EQUATION_RGB_EXT\0" @@ -122,9 +128,13 @@ static const char enum_string_table[] = "GL_BLUE_BIAS\0" "GL_BLUE_BITS\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" @@ -245,6 +255,7 @@ static const char enum_string_table[] = "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" @@ -289,6 +300,7 @@ static const char enum_string_table[] = "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_COPY\0" @@ -312,6 +324,7 @@ static const char enum_string_table[] = "GL_CURRENT_MATRIX_STACK_DEPTH_NV\0" "GL_CURRENT_NORMAL\0" "GL_CURRENT_PALETTE_MATRIX_ARB\0" + "GL_CURRENT_PROGRAM\0" "GL_CURRENT_QUERY\0" "GL_CURRENT_QUERY_ARB\0" "GL_CURRENT_RASTER_COLOR\0" @@ -322,6 +335,7 @@ static const char enum_string_table[] = "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" @@ -332,6 +346,7 @@ static const char enum_string_table[] = "GL_DECR\0" "GL_DECR_WRAP\0" "GL_DECR_WRAP_EXT\0" + "GL_DELETE_STATUS\0" "GL_DEPTH\0" "GL_DEPTH_ATTACHMENT_EXT\0" "GL_DEPTH_BIAS\0" @@ -374,36 +389,52 @@ static const char enum_string_table[] = "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_BINDING_EXT\0" @@ -448,11 +479,17 @@ static const char enum_string_table[] = "GL_FILL\0" "GL_FLAT\0" "GL_FLOAT\0" + "GL_FLOAT_MAT2\0" "GL_FLOAT_MAT2_ARB\0" + "GL_FLOAT_MAT3\0" "GL_FLOAT_MAT3_ARB\0" + "GL_FLOAT_MAT4\0" "GL_FLOAT_MAT4_ARB\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" @@ -483,7 +520,9 @@ static const char enum_string_table[] = "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_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT\0" "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT\0" "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT\0" @@ -517,6 +556,30 @@ static const char enum_string_table[] = "GL_GENERATE_MIPMAP_HINT_SGIS\0" "GL_GENERATE_MIPMAP_SGIS\0" "GL_GEQUAL\0" + "GL_GL_BLEND_EQUATION_RGB\0" + "GL_GL_COMPRESSED_SLUMINANCE\0" + "GL_GL_COMPRESSED_SLUMINANCE_ALPHA\0" + "GL_GL_COMPRESSED_SRGB\0" + "GL_GL_COMPRESSED_SRGB_ALPHA\0" + "GL_GL_CURRENT_RASTER_SECONDARY_COLOR\0" + "GL_GL_FLOAT_MAT2x3\0" + "GL_GL_FLOAT_MAT2x4\0" + "GL_GL_FLOAT_MAT3x2\0" + "GL_GL_FLOAT_MAT3x4\0" + "GL_GL_FLOAT_MAT4x2\0" + "GL_GL_FLOAT_MAT4x3\0" + "GL_GL_PIXEL_PACK_BUFFER\0" + "GL_GL_PIXEL_PACK_BUFFER_BINDING\0" + "GL_GL_PIXEL_UNPACK_BUFFER\0" + "GL_GL_PIXEL_UNPACK_BUFFER_BINDING\0" + "GL_GL_SLUMINANCE\0" + "GL_GL_SLUMINANCE8\0" + "GL_GL_SLUMINANCE8_ALPHA8\0" + "GL_GL_SLUMINANCE_ALPHA\0" + "GL_GL_SRGB\0" + "GL_GL_SRGB8\0" + "GL_GL_SRGB8_ALPHA8\0" + "GL_GL_SRGB_ALPHA\0" "GL_GREATER\0" "GL_GREEN\0" "GL_GREEN_BIAS\0" @@ -561,6 +624,7 @@ static const char enum_string_table[] = "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" @@ -575,8 +639,11 @@ static const char enum_string_table[] = "GL_INTERPOLATE\0" "GL_INTERPOLATE_ARB\0" "GL_INTERPOLATE_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_EXT\0" @@ -625,6 +692,7 @@ static const char enum_string_table[] = "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" @@ -632,6 +700,7 @@ static const char enum_string_table[] = "GL_LOAD\0" "GL_LOGIC_OP\0" "GL_LOGIC_OP_MODE\0" + "GL_LOWER_LEFT\0" "GL_LUMINANCE\0" "GL_LUMINANCE12\0" "GL_LUMINANCE12_ALPHA12\0" @@ -767,6 +836,7 @@ static const char enum_string_table[] = "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" @@ -774,12 +844,14 @@ static const char enum_string_table[] = "GL_MAX_CONVOLUTION_WIDTH_EXT\0" "GL_MAX_CUBE_MAP_TEXTURE_SIZE\0" "GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB\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_UNIFORM_COMPONENTS\0" "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB\0" "GL_MAX_LIGHTS\0" "GL_MAX_LIST_NESTING\0" @@ -819,7 +891,9 @@ static const char enum_string_table[] = "GL_MAX_RENDERBUFFER_SIZE_EXT\0" "GL_MAX_SHININESS_NV\0" "GL_MAX_SPOT_EXPONENT_NV\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_MAX_ANISOTROPY_EXT\0" @@ -829,9 +903,13 @@ static const char enum_string_table[] = "GL_MAX_TEXTURE_UNITS_ARB\0" "GL_MAX_TRACK_MATRICES_NV\0" "GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV\0" + "GL_MAX_VARYING_FLOATS\0" "GL_MAX_VARYING_FLOATS_ARB\0" + "GL_MAX_VERTEX_ATTRIBS\0" "GL_MAX_VERTEX_ATTRIBS_ARB\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_UNITS_ARB\0" "GL_MAX_VIEWPORT_DIMS\0" @@ -925,7 +1003,7 @@ static const char enum_string_table[] = "GL_NOTEQUAL\0" "GL_NO_ERROR\0" "GL_NUM_COMPRESSED_TEXTURE_FORMATS\0" - "GL_NUM_TEXTURE_COMPRESSED_FORMATS_ARB\0" + "GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB\0" "GL_OBJECT_ACTIVE_ATTRIBUTES_ARB\0" "GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB\0" "GL_OBJECT_ACTIVE_UNIFORMS_ARB\0" @@ -1047,6 +1125,7 @@ static const char enum_string_table[] = "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" @@ -1246,6 +1325,12 @@ static const char enum_string_table[] = "GL_RGB_SCALE_EXT\0" "GL_RIGHT\0" "GL_S\0" + "GL_SAMPLER_1D\0" + "GL_SAMPLER_1D_SHADOW\0" + "GL_SAMPLER_2D\0" + "GL_SAMPLER_2D_SHADOW\0" + "GL_SAMPLER_3D\0" + "GL_SAMPLER_CUBE\0" "GL_SAMPLES\0" "GL_SAMPLES_3DFX\0" "GL_SAMPLES_ARB\0" @@ -1282,7 +1367,10 @@ static const char enum_string_table[] = "GL_SEPARATE_SPECULAR_COLOR_EXT\0" "GL_SET\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" @@ -1339,6 +1427,17 @@ static const char enum_string_table[] = "GL_STATIC_READ_ARB\0" "GL_STENCIL\0" "GL_STENCIL_ATTACHMENT_EXT\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_BIT\0" "GL_STENCIL_CLEAR_VALUE\0" @@ -1601,8 +1700,10 @@ static const char enum_string_table[] = "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" @@ -1631,20 +1732,29 @@ static const char enum_string_table[] = "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_ENABLED\0" "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB\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" @@ -1668,7 +1778,7 @@ static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[1631] = +static const enum_elt all_enums[1741] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -1685,2866 +1795,3013 @@ static const enum_elt all_enums[1631] = { 165, 0x00000B80 }, /* GL_ACCUM_CLEAR_VALUE */ { 186, 0x00000D59 }, /* GL_ACCUM_GREEN_BITS */ { 206, 0x00000D58 }, /* GL_ACCUM_RED_BITS */ - { 224, 0x00008911 }, /* GL_ACTIVE_STENCIL_FACE_EXT */ - { 251, 0x000084E0 }, /* GL_ACTIVE_TEXTURE */ - { 269, 0x000084E0 }, /* GL_ACTIVE_TEXTURE_ARB */ - { 291, 0x000086A5 }, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - { 318, 0x00000104 }, /* GL_ADD */ - { 325, 0x00008574 }, /* GL_ADD_SIGNED */ - { 339, 0x00008574 }, /* GL_ADD_SIGNED_ARB */ - { 357, 0x00008574 }, /* GL_ADD_SIGNED_EXT */ - { 375, 0x0000846E }, /* GL_ALIASED_LINE_WIDTH_RANGE */ - { 403, 0x0000846D }, /* GL_ALIASED_POINT_SIZE_RANGE */ - { 431, 0x000FFFFF }, /* GL_ALL_ATTRIB_BITS */ - { 450, 0xFFFFFFFF }, /* GL_ALL_CLIENT_ATTRIB_BITS */ - { 476, 0x00001906 }, /* GL_ALPHA */ - { 485, 0x0000803D }, /* GL_ALPHA12 */ - { 496, 0x0000803D }, /* GL_ALPHA12_EXT */ - { 511, 0x0000803E }, /* GL_ALPHA16 */ - { 522, 0x0000803E }, /* GL_ALPHA16_EXT */ - { 537, 0x0000803B }, /* GL_ALPHA4 */ - { 547, 0x0000803B }, /* GL_ALPHA4_EXT */ - { 561, 0x0000803C }, /* GL_ALPHA8 */ - { 571, 0x0000803C }, /* GL_ALPHA8_EXT */ - { 585, 0x00000D1D }, /* GL_ALPHA_BIAS */ - { 599, 0x00000D55 }, /* GL_ALPHA_BITS */ - { 613, 0x00000D1C }, /* GL_ALPHA_SCALE */ - { 628, 0x00000BC0 }, /* GL_ALPHA_TEST */ - { 642, 0x00000BC1 }, /* GL_ALPHA_TEST_FUNC */ - { 661, 0x00000BC2 }, /* GL_ALPHA_TEST_REF */ - { 679, 0x00000207 }, /* GL_ALWAYS */ - { 689, 0x00001200 }, /* GL_AMBIENT */ - { 700, 0x00001602 }, /* GL_AMBIENT_AND_DIFFUSE */ - { 723, 0x00001501 }, /* GL_AND */ - { 730, 0x00001504 }, /* GL_AND_INVERTED */ - { 746, 0x00001502 }, /* GL_AND_REVERSE */ - { 761, 0x00008892 }, /* GL_ARRAY_BUFFER */ - { 777, 0x00008892 }, /* GL_ARRAY_BUFFER_ARB */ - { 797, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */ - { 821, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */ - { 849, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */ - { 876, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */ - { 900, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */ - { 926, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */ - { 950, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */ - { 972, 0x00000D80 }, /* GL_AUTO_NORMAL */ - { 987, 0x00000409 }, /* GL_AUX0 */ - { 995, 0x0000040A }, /* GL_AUX1 */ - { 1003, 0x0000040B }, /* GL_AUX2 */ - { 1011, 0x0000040C }, /* GL_AUX3 */ - { 1019, 0x00000C00 }, /* GL_AUX_BUFFERS */ - { 1034, 0x00000405 }, /* GL_BACK */ - { 1042, 0x00000402 }, /* GL_BACK_LEFT */ - { 1055, 0x00000403 }, /* GL_BACK_RIGHT */ - { 1069, 0x000080E0 }, /* GL_BGR */ - { 1076, 0x000080E1 }, /* GL_BGRA */ - { 1084, 0x00001A00 }, /* GL_BITMAP */ - { 1094, 0x00000704 }, /* GL_BITMAP_TOKEN */ - { 1110, 0x00000BE2 }, /* GL_BLEND */ - { 1119, 0x00008005 }, /* GL_BLEND_COLOR */ - { 1134, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ - { 1153, 0x00000BE0 }, /* GL_BLEND_DST */ - { 1166, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ - { 1185, 0x000080C8 }, /* GL_BLEND_DST_RGB */ - { 1202, 0x00008009 }, /* GL_BLEND_EQUATION */ - { 1220, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ - { 1248, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ - { 1270, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ - { 1296, 0x00000BE1 }, /* GL_BLEND_SRC */ - { 1309, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ - { 1328, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ - { 1345, 0x00001905 }, /* GL_BLUE */ - { 1353, 0x00000D1B }, /* GL_BLUE_BIAS */ - { 1366, 0x00000D54 }, /* GL_BLUE_BITS */ - { 1379, 0x00000D1A }, /* GL_BLUE_SCALE */ - { 1393, 0x00008B56 }, /* GL_BOOL_ARB */ - { 1405, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ - { 1422, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ - { 1439, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ - { 1456, 0x000088BB }, /* GL_BUFFER_ACCESS */ - { 1473, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ - { 1494, 0x000088BC }, /* GL_BUFFER_MAPPED */ - { 1511, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ - { 1532, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ - { 1554, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ - { 1580, 0x00008764 }, /* GL_BUFFER_SIZE */ - { 1595, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ - { 1614, 0x00008765 }, /* GL_BUFFER_USAGE */ - { 1630, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ - { 1650, 0x00001400 }, /* GL_BYTE */ - { 1658, 0x00002A24 }, /* GL_C3F_V3F */ - { 1669, 0x00002A26 }, /* GL_C4F_N3F_V3F */ - { 1684, 0x00002A22 }, /* GL_C4UB_V2F */ - { 1696, 0x00002A23 }, /* GL_C4UB_V3F */ - { 1708, 0x00000901 }, /* GL_CCW */ - { 1715, 0x00002900 }, /* GL_CLAMP */ - { 1724, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ - { 1743, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ - { 1766, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ - { 1790, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ - { 1807, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ - { 1829, 0x00001500 }, /* GL_CLEAR */ - { 1838, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ - { 1863, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ - { 1892, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ - { 1918, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ - { 1947, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ - { 1973, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ - { 2000, 0x00003000 }, /* GL_CLIP_PLANE0 */ - { 2015, 0x00003001 }, /* GL_CLIP_PLANE1 */ - { 2030, 0x00003002 }, /* GL_CLIP_PLANE2 */ - { 2045, 0x00003003 }, /* GL_CLIP_PLANE3 */ - { 2060, 0x00003004 }, /* GL_CLIP_PLANE4 */ - { 2075, 0x00003005 }, /* GL_CLIP_PLANE5 */ - { 2090, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - { 2123, 0x00000A00 }, /* GL_COEFF */ - { 2132, 0x00001800 }, /* GL_COLOR */ - { 2141, 0x00008076 }, /* GL_COLOR_ARRAY */ - { 2156, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - { 2186, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 2220, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ - { 2243, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ - { 2263, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ - { 2285, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ - { 2305, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ - { 2330, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ - { 2356, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ - { 2382, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ - { 2408, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ - { 2434, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ - { 2460, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ - { 2486, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ - { 2511, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ - { 2536, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ - { 2561, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ - { 2586, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ - { 2611, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ - { 2636, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ - { 2661, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ - { 2686, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ - { 2711, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ - { 2731, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ - { 2752, 0x00001900 }, /* GL_COLOR_INDEX */ - { 2767, 0x00001603 }, /* GL_COLOR_INDEXES */ - { 2784, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ - { 2802, 0x00000B57 }, /* GL_COLOR_MATERIAL */ - { 2820, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ - { 2843, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ - { 2871, 0x000080B1 }, /* GL_COLOR_MATRIX */ - { 2887, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ - { 2907, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ - { 2935, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 2967, 0x00008458 }, /* GL_COLOR_SUM */ - { 2980, 0x00008458 }, /* GL_COLOR_SUM_ARB */ - { 2997, 0x000080D0 }, /* GL_COLOR_TABLE */ - { 3012, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ - { 3038, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ - { 3068, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ - { 3098, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ - { 3118, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ - { 3142, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ - { 3167, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ - { 3196, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ - { 3225, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ - { 3247, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ - { 3273, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ - { 3299, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ - { 3325, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ - { 3355, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ - { 3385, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ - { 3415, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ - { 3449, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ - { 3483, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ - { 3513, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ - { 3547, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ - { 3581, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ - { 3605, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ - { 3633, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ - { 3661, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ - { 3682, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ - { 3707, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ - { 3728, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ - { 3753, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ - { 3778, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ - { 3797, 0x00008570 }, /* GL_COMBINE */ - { 3808, 0x00008503 }, /* GL_COMBINE4 */ - { 3820, 0x00008572 }, /* GL_COMBINE_ALPHA */ - { 3837, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ - { 3858, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ - { 3879, 0x00008570 }, /* GL_COMBINE_ARB */ - { 3894, 0x00008570 }, /* GL_COMBINE_EXT */ - { 3909, 0x00008571 }, /* GL_COMBINE_RGB */ - { 3924, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ - { 3943, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ - { 3962, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ - { 3986, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ - { 4014, 0x00001300 }, /* GL_COMPILE */ - { 4025, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ - { 4048, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ - { 4068, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ - { 4092, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ - { 4116, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ - { 4144, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ - { 4168, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ - { 4198, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ - { 4232, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ - { 4260, 0x000084ED }, /* GL_COMPRESSED_RGB */ - { 4278, 0x000084EE }, /* GL_COMPRESSED_RGBA */ - { 4297, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ - { 4320, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - { 4349, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ - { 4382, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ - { 4415, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - { 4448, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ - { 4470, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ - { 4498, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ - { 4530, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ - { 4560, 0x00008576 }, /* GL_CONSTANT */ - { 4572, 0x00008003 }, /* GL_CONSTANT_ALPHA */ - { 4590, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ - { 4612, 0x00008576 }, /* GL_CONSTANT_ARB */ - { 4628, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ - { 4652, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ - { 4674, 0x00008001 }, /* GL_CONSTANT_COLOR */ - { 4692, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ - { 4714, 0x00008576 }, /* GL_CONSTANT_EXT */ - { 4730, 0x00008010 }, /* GL_CONVOLUTION_1D */ - { 4748, 0x00008011 }, /* GL_CONVOLUTION_2D */ - { 4766, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ - { 4794, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ - { 4825, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ - { 4852, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ - { 4883, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ - { 4910, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ - { 4941, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ - { 4969, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ - { 5001, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ - { 5023, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ - { 5049, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ - { 5071, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ - { 5097, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ - { 5118, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ - { 5143, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ - { 5164, 0x00008862 }, /* GL_COORD_REPLACE_NV */ - { 5184, 0x00001503 }, /* GL_COPY */ - { 5192, 0x0000150C }, /* GL_COPY_INVERTED */ - { 5209, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ - { 5229, 0x00000B44 }, /* GL_CULL_FACE */ - { 5242, 0x00000B45 }, /* GL_CULL_FACE_MODE */ - { 5260, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ - { 5279, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - { 5311, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ - { 5346, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ - { 5367, 0x00000001 }, /* GL_CURRENT_BIT */ - { 5382, 0x00000B00 }, /* GL_CURRENT_COLOR */ - { 5399, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ - { 5420, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ - { 5446, 0x00000B01 }, /* GL_CURRENT_INDEX */ - { 5463, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ - { 5485, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ - { 5513, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ - { 5534, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ - { 5568, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ - { 5601, 0x00000B02 }, /* GL_CURRENT_NORMAL */ - { 5619, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - { 5649, 0x00008865 }, /* GL_CURRENT_QUERY */ - { 5666, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ - { 5687, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ - { 5711, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ - { 5738, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ - { 5762, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ - { 5789, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ - { 5822, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ - { 5855, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ - { 5882, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ - { 5908, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ - { 5937, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ - { 5959, 0x00000900 }, /* GL_CW */ - { 5965, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ - { 5986, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ - { 6007, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ - { 6027, 0x00002101 }, /* GL_DECAL */ - { 6036, 0x00001E03 }, /* GL_DECR */ - { 6044, 0x00008508 }, /* GL_DECR_WRAP */ - { 6057, 0x00008508 }, /* GL_DECR_WRAP_EXT */ - { 6074, 0x00001801 }, /* GL_DEPTH */ - { 6083, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ - { 6107, 0x00000D1F }, /* GL_DEPTH_BIAS */ - { 6121, 0x00000D56 }, /* GL_DEPTH_BITS */ - { 6135, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ - { 6155, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ - { 6180, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ - { 6200, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ - { 6218, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ - { 6239, 0x00001902 }, /* GL_DEPTH_COMPONENT */ - { 6258, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ - { 6279, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ - { 6304, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ - { 6330, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ - { 6351, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ - { 6376, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ - { 6402, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ - { 6423, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ - { 6448, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ - { 6474, 0x00000B74 }, /* GL_DEPTH_FUNC */ - { 6488, 0x00000B70 }, /* GL_DEPTH_RANGE */ - { 6503, 0x00000D1E }, /* GL_DEPTH_SCALE */ - { 6518, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ - { 6538, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - { 6566, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - { 6594, 0x00000B71 }, /* GL_DEPTH_TEST */ - { 6608, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ - { 6630, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ - { 6656, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ - { 6675, 0x00001201 }, /* GL_DIFFUSE */ - { 6686, 0x00000BD0 }, /* GL_DITHER */ - { 6696, 0x00000A02 }, /* GL_DOMAIN */ - { 6706, 0x00001100 }, /* GL_DONT_CARE */ - { 6719, 0x000086AE }, /* GL_DOT3_RGB */ - { 6731, 0x000086AF }, /* GL_DOT3_RGBA */ - { 6744, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ - { 6761, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ - { 6778, 0x000086AE }, /* GL_DOT3_RGB_ARB */ - { 6794, 0x00008740 }, /* GL_DOT3_RGB_EXT */ - { 6810, 0x0000140A }, /* GL_DOUBLE */ - { 6820, 0x00000C32 }, /* GL_DOUBLEBUFFER */ - { 6836, 0x00000C01 }, /* GL_DRAW_BUFFER */ - { 6851, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ - { 6871, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ - { 6891, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ - { 6912, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ - { 6933, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ - { 6954, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ - { 6975, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ - { 6996, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ - { 7017, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ - { 7038, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ - { 7059, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ - { 7080, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ - { 7101, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ - { 7122, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ - { 7143, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ - { 7163, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ - { 7183, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ - { 7203, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ - { 7223, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ - { 7243, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ - { 7263, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ - { 7283, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ - { 7303, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ - { 7323, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ - { 7343, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ - { 7363, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ - { 7383, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ - { 7403, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ - { 7423, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ - { 7443, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ - { 7463, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ - { 7483, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ - { 7503, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - { 7535, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ - { 7559, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ - { 7579, 0x00000304 }, /* GL_DST_ALPHA */ - { 7592, 0x00000306 }, /* GL_DST_COLOR */ - { 7605, 0x000088EA }, /* GL_DYNAMIC_COPY */ - { 7621, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ - { 7641, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ - { 7657, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ - { 7677, 0x000088E9 }, /* GL_DYNAMIC_READ */ - { 7693, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ - { 7713, 0x00000B43 }, /* GL_EDGE_FLAG */ - { 7726, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ - { 7745, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - { 7779, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ - { 7817, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ - { 7844, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - { 7870, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ - { 7894, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER_ARB */ - { 7922, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - { 7954, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ - { 7990, 0x00001600 }, /* GL_EMISSION */ - { 8002, 0x00002000 }, /* GL_ENABLE_BIT */ - { 8016, 0x00000202 }, /* GL_EQUAL */ - { 8025, 0x00001509 }, /* GL_EQUIV */ - { 8034, 0x00010000 }, /* GL_EVAL_BIT */ - { 8046, 0x00000800 }, /* GL_EXP */ - { 8053, 0x00000801 }, /* GL_EXP2 */ - { 8061, 0x00001F03 }, /* GL_EXTENSIONS */ - { 8075, 0x00002400 }, /* GL_EYE_LINEAR */ - { 8089, 0x00002502 }, /* GL_EYE_PLANE */ - { 8102, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ - { 8127, 0x0000855B }, /* GL_EYE_RADIAL_NV */ - { 8144, 0x00000000 }, /* GL_FALSE */ - { 8153, 0x00001101 }, /* GL_FASTEST */ - { 8164, 0x00001C01 }, /* GL_FEEDBACK */ - { 8176, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ - { 8203, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ - { 8227, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ - { 8251, 0x00001B02 }, /* GL_FILL */ - { 8259, 0x00001D00 }, /* GL_FLAT */ - { 8267, 0x00001406 }, /* GL_FLOAT */ - { 8276, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ - { 8294, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ - { 8312, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ - { 8330, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ - { 8348, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ - { 8366, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ - { 8384, 0x00000B60 }, /* GL_FOG */ - { 8391, 0x00000080 }, /* GL_FOG_BIT */ - { 8402, 0x00000B66 }, /* GL_FOG_COLOR */ - { 8415, 0x00008451 }, /* GL_FOG_COORD */ - { 8428, 0x00008451 }, /* GL_FOG_COORDINATE */ - { 8446, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ - { 8470, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - { 8509, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ - { 8552, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - { 8584, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - { 8615, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - { 8644, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ - { 8669, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ - { 8688, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ - { 8722, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ - { 8749, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ - { 8775, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ - { 8799, 0x00008450 }, /* GL_FOG_COORD_SRC */ - { 8816, 0x00000B62 }, /* GL_FOG_DENSITY */ - { 8831, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ - { 8855, 0x00000B64 }, /* GL_FOG_END */ - { 8866, 0x00000C54 }, /* GL_FOG_HINT */ - { 8878, 0x00000B61 }, /* GL_FOG_INDEX */ - { 8891, 0x00000B65 }, /* GL_FOG_MODE */ - { 8903, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ - { 8922, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ - { 8947, 0x00000B63 }, /* GL_FOG_START */ - { 8960, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ - { 8978, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ - { 9002, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ - { 9025, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ - { 9067, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ - { 9109, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ - { 9158, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ - { 9210, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ - { 9254, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ - { 9281, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ - { 9309, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ - { 9328, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ - { 9369, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - { 9410, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - { 9452, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - { 9503, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - { 9541, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ - { 9590, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - { 9632, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - { 9664, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ - { 9695, 0x00000404 }, /* GL_FRONT */ - { 9704, 0x00000408 }, /* GL_FRONT_AND_BACK */ - { 9722, 0x00000B46 }, /* GL_FRONT_FACE */ - { 9736, 0x00000400 }, /* GL_FRONT_LEFT */ - { 9750, 0x00000401 }, /* GL_FRONT_RIGHT */ - { 9765, 0x00008006 }, /* GL_FUNC_ADD */ - { 9777, 0x00008006 }, /* GL_FUNC_ADD_EXT */ - { 9793, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ - { 9818, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ - { 9847, 0x0000800A }, /* GL_FUNC_SUBTRACT */ - { 9864, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ - { 9885, 0x00008191 }, /* GL_GENERATE_MIPMAP */ - { 9904, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ - { 9928, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ - { 9957, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ - { 9981, 0x00000206 }, /* GL_GEQUAL */ - { 9991, 0x00000204 }, /* GL_GREATER */ - { 10002, 0x00001904 }, /* GL_GREEN */ - { 10011, 0x00000D19 }, /* GL_GREEN_BIAS */ - { 10025, 0x00000D53 }, /* GL_GREEN_BITS */ - { 10039, 0x00000D18 }, /* GL_GREEN_SCALE */ - { 10054, 0x00008000 }, /* GL_HINT_BIT */ - { 10066, 0x00008024 }, /* GL_HISTOGRAM */ - { 10079, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ - { 10103, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ - { 10131, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ - { 10154, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ - { 10181, 0x00008024 }, /* GL_HISTOGRAM_EXT */ - { 10198, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ - { 10218, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ - { 10242, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ - { 10266, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ - { 10294, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - { 10322, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ - { 10354, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ - { 10376, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ - { 10402, 0x0000802D }, /* GL_HISTOGRAM_SINK */ - { 10420, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ - { 10442, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ - { 10461, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ - { 10484, 0x0000862A }, /* GL_IDENTITY_NV */ - { 10499, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ - { 10519, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - { 10559, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - { 10597, 0x00001E02 }, /* GL_INCR */ - { 10605, 0x00008507 }, /* GL_INCR_WRAP */ - { 10618, 0x00008507 }, /* GL_INCR_WRAP_EXT */ - { 10635, 0x00008077 }, /* GL_INDEX_ARRAY */ - { 10650, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - { 10680, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ - { 10714, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ - { 10737, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ - { 10759, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ - { 10779, 0x00000D51 }, /* GL_INDEX_BITS */ - { 10793, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ - { 10814, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ - { 10832, 0x00000C30 }, /* GL_INDEX_MODE */ - { 10846, 0x00000D13 }, /* GL_INDEX_OFFSET */ - { 10862, 0x00000D12 }, /* GL_INDEX_SHIFT */ - { 10877, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ - { 10896, 0x00001404 }, /* GL_INT */ - { 10903, 0x00008049 }, /* GL_INTENSITY */ - { 10916, 0x0000804C }, /* GL_INTENSITY12 */ - { 10931, 0x0000804C }, /* GL_INTENSITY12_EXT */ - { 10950, 0x0000804D }, /* GL_INTENSITY16 */ - { 10965, 0x0000804D }, /* GL_INTENSITY16_EXT */ - { 10984, 0x0000804A }, /* GL_INTENSITY4 */ - { 10998, 0x0000804A }, /* GL_INTENSITY4_EXT */ - { 11016, 0x0000804B }, /* GL_INTENSITY8 */ - { 11030, 0x0000804B }, /* GL_INTENSITY8_EXT */ - { 11048, 0x00008049 }, /* GL_INTENSITY_EXT */ - { 11065, 0x00008575 }, /* GL_INTERPOLATE */ - { 11080, 0x00008575 }, /* GL_INTERPOLATE_ARB */ - { 11099, 0x00008575 }, /* GL_INTERPOLATE_EXT */ - { 11118, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 11134, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 11150, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 11166, 0x00000500 }, /* GL_INVALID_ENUM */ - { 11182, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 11219, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 11240, 0x00000501 }, /* GL_INVALID_VALUE */ - { 11257, 0x0000862B }, /* GL_INVERSE_NV */ - { 11271, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 11295, 0x0000150A }, /* GL_INVERT */ - { 11305, 0x00001E00 }, /* GL_KEEP */ - { 11313, 0x00000406 }, /* GL_LEFT */ - { 11321, 0x00000203 }, /* GL_LEQUAL */ - { 11331, 0x00000201 }, /* GL_LESS */ - { 11339, 0x00004000 }, /* GL_LIGHT0 */ - { 11349, 0x00004001 }, /* GL_LIGHT1 */ - { 11359, 0x00004002 }, /* GL_LIGHT2 */ - { 11369, 0x00004003 }, /* GL_LIGHT3 */ - { 11379, 0x00004004 }, /* GL_LIGHT4 */ - { 11389, 0x00004005 }, /* GL_LIGHT5 */ - { 11399, 0x00004006 }, /* GL_LIGHT6 */ - { 11409, 0x00004007 }, /* GL_LIGHT7 */ - { 11419, 0x00000B50 }, /* GL_LIGHTING */ - { 11431, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 11447, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 11470, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 11499, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 11532, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 11560, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 11584, 0x00001B01 }, /* GL_LINE */ - { 11592, 0x00002601 }, /* GL_LINEAR */ - { 11602, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 11624, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 11654, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 11685, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 11709, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 11734, 0x00000001 }, /* GL_LINES */ - { 11743, 0x00000004 }, /* GL_LINE_BIT */ - { 11755, 0x00000002 }, /* GL_LINE_LOOP */ - { 11768, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 11788, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 11803, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 11823, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 11839, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 11863, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 11886, 0x00000003 }, /* GL_LINE_STRIP */ - { 11900, 0x00000702 }, /* GL_LINE_TOKEN */ - { 11914, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 11928, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 11954, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 11974, 0x00000B32 }, /* GL_LIST_BASE */ - { 11987, 0x00020000 }, /* GL_LIST_BIT */ - { 11999, 0x00000B33 }, /* GL_LIST_INDEX */ - { 12013, 0x00000B30 }, /* GL_LIST_MODE */ - { 12026, 0x00000101 }, /* GL_LOAD */ - { 12034, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 12046, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 12063, 0x00001909 }, /* GL_LUMINANCE */ - { 12076, 0x00008041 }, /* GL_LUMINANCE12 */ - { 12091, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 12114, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 12141, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 12163, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 12189, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 12208, 0x00008042 }, /* GL_LUMINANCE16 */ - { 12223, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 12246, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 12273, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 12292, 0x0000803F }, /* GL_LUMINANCE4 */ - { 12306, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 12327, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 12352, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 12370, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 12391, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 12416, 0x00008040 }, /* GL_LUMINANCE8 */ - { 12430, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 12451, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 12476, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 12494, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 12513, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 12529, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 12549, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 12571, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 12585, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 12600, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 12624, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 12648, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 12672, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 12696, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 12713, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 12730, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 12758, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 12787, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 12816, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 12845, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 12874, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 12903, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 12932, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 12960, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 12988, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 13016, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 13044, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 13072, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 13100, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 13128, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 13156, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 13184, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 13200, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 13220, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 13242, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 13256, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 13271, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 13295, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 13319, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 13343, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 13367, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 13384, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 13401, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 13429, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 13458, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 13487, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 13516, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 13545, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 13574, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 13603, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 13631, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 13659, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 13687, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 13715, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 13743, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 13771, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 13799, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 13827, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 13855, 0x00000D10 }, /* GL_MAP_COLOR */ - { 13868, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 13883, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 13898, 0x00008630 }, /* GL_MATRIX0_NV */ - { 13912, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 13928, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 13944, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 13960, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 13976, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 13992, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 14008, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 14024, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 14040, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 14056, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 14072, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 14087, 0x00008631 }, /* GL_MATRIX1_NV */ - { 14101, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 14117, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 14133, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 14149, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 14165, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 14181, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 14197, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 14213, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 14229, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 14245, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 14261, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 14276, 0x00008632 }, /* GL_MATRIX2_NV */ - { 14290, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 14306, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 14322, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 14337, 0x00008633 }, /* GL_MATRIX3_NV */ - { 14351, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 14366, 0x00008634 }, /* GL_MATRIX4_NV */ - { 14380, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 14395, 0x00008635 }, /* GL_MATRIX5_NV */ - { 14409, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 14424, 0x00008636 }, /* GL_MATRIX6_NV */ - { 14438, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 14453, 0x00008637 }, /* GL_MATRIX7_NV */ - { 14467, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 14482, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 14497, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 14523, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 14557, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 14588, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 14621, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 14652, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 14667, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 14689, 0x00008008 }, /* GL_MAX */ - { 14696, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 14719, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 14745, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 14778, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 14804, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 14838, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 14857, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 14886, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 14918, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 14954, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 14994, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 15020, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 15050, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 15075, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 15104, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 15133, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 15166, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 15190, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 15214, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 15238, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 15263, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 15281, 0x00008008 }, /* GL_MAX_EXT */ - { 15292, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 15331, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 15345, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 15365, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 15403, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 15432, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 15456, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 15484, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 15507, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 15544, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 15580, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 15607, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 15636, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 15670, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 15706, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 15733, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 15765, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 15801, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 15830, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 15859, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 15887, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 15925, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 15969, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 16012, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 16046, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 16085, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 16122, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 16160, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 16203, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 16246, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 16276, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 16307, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 16343, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 16379, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 16409, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 16443, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 16476, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 16505, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 16525, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 16549, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 16575, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 16606, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 16630, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 16664, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 16684, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 16711, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 16732, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 16757, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 16782, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 16817, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 16843, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 16869, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 16907, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 16944, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 16968, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 16989, 0x00008007 }, /* GL_MIN */ - { 16996, 0x0000802E }, /* GL_MINMAX */ - { 17006, 0x0000802E }, /* GL_MINMAX_EXT */ - { 17020, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 17037, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 17058, 0x00008030 }, /* GL_MINMAX_SINK */ - { 17073, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 17092, 0x00008007 }, /* GL_MIN_EXT */ - { 17103, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 17122, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 17145, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 17168, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 17188, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 17208, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 17238, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 17266, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 17294, 0x00001700 }, /* GL_MODELVIEW */ - { 17307, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 17325, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 17344, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 17363, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 17382, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 17401, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 17420, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 17439, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 17458, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 17477, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 17496, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 17515, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 17533, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 17552, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 17571, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 17590, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 17609, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 17628, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 17647, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 17666, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 17685, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 17704, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 17723, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 17741, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 17760, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 17779, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 17797, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 17815, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 17833, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 17851, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 17869, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 17887, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 17905, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 17925, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 17952, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 17977, 0x00002100 }, /* GL_MODULATE */ - { 17989, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 18009, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 18036, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 18061, 0x00000103 }, /* GL_MULT */ - { 18069, 0x0000809D }, /* GL_MULTISAMPLE */ - { 18084, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 18104, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 18123, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 18142, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 18166, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 18189, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 18219, 0x00002A25 }, /* GL_N3F_V3F */ - { 18230, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 18250, 0x0000150E }, /* GL_NAND */ - { 18258, 0x00002600 }, /* GL_NEAREST */ - { 18269, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 18300, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 18332, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 18357, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 18383, 0x00000200 }, /* GL_NEVER */ - { 18392, 0x00001102 }, /* GL_NICEST */ - { 18402, 0x00000000 }, /* GL_NONE */ - { 18410, 0x00001505 }, /* GL_NOOP */ - { 18418, 0x00001508 }, /* GL_NOR */ - { 18425, 0x00000BA1 }, /* GL_NORMALIZE */ - { 18438, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 18454, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 18485, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 18520, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 18544, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 18567, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 18588, 0x00008511 }, /* GL_NORMAL_MAP */ - { 18602, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 18620, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 18637, 0x00000205 }, /* GL_NOTEQUAL */ - { 18649, 0x00000000 }, /* GL_NO_ERROR */ - { 18661, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 18695, 0x000086A2 }, /* GL_NUM_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 18733, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 18765, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 18807, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 18837, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 18877, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 18908, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 18937, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 18965, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 18995, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 19012, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 19038, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 19054, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 19089, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 19111, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 19130, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 19160, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 19181, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 19209, 0x00000001 }, /* GL_ONE */ - { 19216, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 19244, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 19276, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 19304, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 19336, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 19359, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 19382, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 19405, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 19428, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 19446, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 19468, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 19490, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 19506, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 19526, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 19546, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 19564, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 19586, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 19608, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 19624, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 19644, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 19664, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 19682, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 19704, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 19726, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 19742, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 19762, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 19782, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 19803, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 19822, 0x00001507 }, /* GL_OR */ - { 19828, 0x00000A01 }, /* GL_ORDER */ - { 19837, 0x0000150D }, /* GL_OR_INVERTED */ - { 19852, 0x0000150B }, /* GL_OR_REVERSE */ - { 19866, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 19883, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 19901, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 19922, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 19942, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 19960, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 19979, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 19999, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 20019, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 20037, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 20056, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 20081, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 20105, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 20126, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 20148, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 20170, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 20195, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 20219, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 20240, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 20262, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 20284, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 20306, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 20337, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 20357, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 20382, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 20402, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 20427, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 20447, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 20472, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 20492, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 20517, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 20537, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 20562, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 20582, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 20607, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 20627, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 20652, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 20672, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 20697, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 20717, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 20742, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 20762, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 20787, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 20805, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 20838, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 20863, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 20898, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 20925, 0x00001B00 }, /* GL_POINT */ - { 20934, 0x00000000 }, /* GL_POINTS */ - { 20944, 0x00000002 }, /* GL_POINT_BIT */ - { 20957, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 20987, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 21021, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 21055, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 21090, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 21119, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 21152, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 21185, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 21219, 0x00000B11 }, /* GL_POINT_SIZE */ - { 21233, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 21259, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 21277, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 21299, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 21321, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 21344, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 21362, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 21384, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 21406, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 21429, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 21449, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 21465, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 21486, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 21506, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 21535, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 21554, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 21580, 0x00000701 }, /* GL_POINT_TOKEN */ - { 21595, 0x00000009 }, /* GL_POLYGON */ - { 21606, 0x00000008 }, /* GL_POLYGON_BIT */ - { 21621, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 21637, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 21660, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 21685, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 21708, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 21731, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 21755, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 21779, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 21797, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 21820, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 21839, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 21862, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 21879, 0x00001203 }, /* GL_POSITION */ - { 21891, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 21923, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 21959, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 21992, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 22029, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 22060, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 22095, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 22127, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 22163, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 22196, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 22228, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 22264, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 22297, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 22334, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 22364, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 22398, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 22429, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 22464, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 22495, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 22530, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 22562, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 22598, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 22628, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 22662, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 22693, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 22728, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 22760, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 22791, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 22826, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 22858, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 22894, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 22923, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 22956, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 22986, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 23020, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 23059, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 23092, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 23132, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 23166, 0x00008578 }, /* GL_PREVIOUS */ - { 23178, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 23194, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 23210, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 23227, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 23248, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 23269, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 23302, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 23334, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 23357, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 23380, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 23410, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 23439, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 23467, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 23489, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 23517, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 23545, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 23567, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 23588, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 23628, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 23667, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 23697, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 23732, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 23765, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 23799, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 23838, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 23877, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 23899, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 23925, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 23949, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 23972, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 23994, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 24015, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 24036, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 24063, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 24095, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 24127, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 24162, 0x00001701 }, /* GL_PROJECTION */ - { 24176, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 24197, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 24223, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 24244, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 24263, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 24286, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 24325, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 24363, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 24383, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 24407, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 24427, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 24451, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 24471, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 24504, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 24530, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 24560, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 24591, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 24621, 0x00002003 }, /* GL_Q */ - { 24626, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 24651, 0x00000007 }, /* GL_QUADS */ - { 24660, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 24677, 0x00000008 }, /* GL_QUAD_STRIP */ - { 24691, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 24713, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 24739, 0x00008866 }, /* GL_QUERY_RESULT */ - { 24755, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 24775, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 24801, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 24831, 0x00002002 }, /* GL_R */ - { 24836, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 24848, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 24881, 0x00000C02 }, /* GL_READ_BUFFER */ - { 24896, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 24928, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 24952, 0x000088B8 }, /* GL_READ_ONLY */ - { 24965, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 24982, 0x000088BA }, /* GL_READ_WRITE */ - { 24996, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 25014, 0x00001903 }, /* GL_RED */ - { 25021, 0x00008016 }, /* GL_REDUCE */ - { 25031, 0x00008016 }, /* GL_REDUCE_EXT */ - { 25045, 0x00000D15 }, /* GL_RED_BIAS */ - { 25057, 0x00000D52 }, /* GL_RED_BITS */ - { 25069, 0x00000D14 }, /* GL_RED_SCALE */ - { 25082, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 25100, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 25122, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 25143, 0x00001C00 }, /* GL_RENDER */ - { 25153, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 25181, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 25201, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 25228, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 25264, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 25290, 0x00001F01 }, /* GL_RENDERER */ - { 25302, 0x00000C40 }, /* GL_RENDER_MODE */ - { 25317, 0x00002901 }, /* GL_REPEAT */ - { 25327, 0x00001E01 }, /* GL_REPLACE */ - { 25338, 0x00008062 }, /* GL_REPLACE_EXT */ - { 25353, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 25376, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 25394, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 25416, 0x00000102 }, /* GL_RETURN */ - { 25426, 0x00001907 }, /* GL_RGB */ - { 25433, 0x00008052 }, /* GL_RGB10 */ - { 25442, 0x00008059 }, /* GL_RGB10_A2 */ - { 25454, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 25470, 0x00008052 }, /* GL_RGB10_EXT */ - { 25483, 0x00008053 }, /* GL_RGB12 */ - { 25492, 0x00008053 }, /* GL_RGB12_EXT */ - { 25505, 0x00008054 }, /* GL_RGB16 */ - { 25514, 0x00008054 }, /* GL_RGB16_EXT */ - { 25527, 0x0000804E }, /* GL_RGB2_EXT */ - { 25539, 0x0000804F }, /* GL_RGB4 */ - { 25547, 0x0000804F }, /* GL_RGB4_EXT */ - { 25559, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 25572, 0x00008050 }, /* GL_RGB5 */ - { 25580, 0x00008057 }, /* GL_RGB5_A1 */ - { 25591, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 25606, 0x00008050 }, /* GL_RGB5_EXT */ - { 25618, 0x00008051 }, /* GL_RGB8 */ - { 25626, 0x00008051 }, /* GL_RGB8_EXT */ - { 25638, 0x00001908 }, /* GL_RGBA */ - { 25646, 0x0000805A }, /* GL_RGBA12 */ - { 25656, 0x0000805A }, /* GL_RGBA12_EXT */ - { 25670, 0x0000805B }, /* GL_RGBA16 */ - { 25680, 0x0000805B }, /* GL_RGBA16_EXT */ - { 25694, 0x00008055 }, /* GL_RGBA2 */ - { 25703, 0x00008055 }, /* GL_RGBA2_EXT */ - { 25716, 0x00008056 }, /* GL_RGBA4 */ - { 25725, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 25744, 0x00008056 }, /* GL_RGBA4_EXT */ - { 25757, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 25771, 0x00008058 }, /* GL_RGBA8 */ - { 25780, 0x00008058 }, /* GL_RGBA8_EXT */ - { 25793, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 25811, 0x00000C31 }, /* GL_RGBA_MODE */ - { 25824, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 25837, 0x000083A0 }, /* GL_RGB_S3TC */ - { 25849, 0x00008573 }, /* GL_RGB_SCALE */ - { 25862, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 25879, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 25896, 0x00000407 }, /* GL_RIGHT */ - { 25905, 0x00002000 }, /* GL_S */ - { 25910, 0x000080A9 }, /* GL_SAMPLES */ - { 25921, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 25937, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 25952, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 25970, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 25992, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 26020, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 26052, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 26075, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 26102, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 26120, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 26143, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 26165, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 26184, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 26207, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 26233, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 26263, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 26288, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 26317, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 26332, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 26347, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 26363, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 26388, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 26428, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 26472, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 26505, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 26535, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 26567, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 26597, 0x00001C02 }, /* GL_SELECT */ - { 26607, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 26635, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 26660, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 26676, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 26703, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 26734, 0x0000150F }, /* GL_SET */ - { 26741, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 26762, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 26777, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 26800, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 26830, 0x00001601 }, /* GL_SHININESS */ - { 26843, 0x00001402 }, /* GL_SHORT */ - { 26852, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 26868, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 26888, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 26907, 0x00001D01 }, /* GL_SMOOTH */ - { 26917, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 26950, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 26977, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 27010, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 27037, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 27054, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 27075, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 27096, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 27111, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 27130, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 27149, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 27166, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 27187, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 27208, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 27223, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 27242, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 27261, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 27278, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 27299, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 27320, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 27335, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 27354, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 27373, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 27393, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 27411, 0x00001202 }, /* GL_SPECULAR */ - { 27423, 0x00002402 }, /* GL_SPHERE_MAP */ - { 27437, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 27452, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 27470, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 27487, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 27501, 0x00008580 }, /* GL_SRC0_RGB */ - { 27513, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 27527, 0x00008581 }, /* GL_SRC1_RGB */ - { 27539, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 27553, 0x00008582 }, /* GL_SRC2_RGB */ - { 27565, 0x00000302 }, /* GL_SRC_ALPHA */ - { 27578, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 27600, 0x00000300 }, /* GL_SRC_COLOR */ - { 27613, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 27631, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 27650, 0x000088E6 }, /* GL_STATIC_COPY */ - { 27665, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 27684, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 27699, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 27718, 0x000088E5 }, /* GL_STATIC_READ */ - { 27733, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 27752, 0x00001802 }, /* GL_STENCIL */ - { 27763, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 27789, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 27805, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 27827, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 27850, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 27866, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 27882, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 27899, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 27922, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 27944, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 27966, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 27988, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 28009, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 28036, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 28063, 0x00000B97 }, /* GL_STENCIL_REF */ - { 28078, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 28094, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 28123, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 28145, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 28166, 0x00000C33 }, /* GL_STEREO */ - { 28176, 0x000088E2 }, /* GL_STREAM_COPY */ - { 28191, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 28210, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 28225, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 28244, 0x000088E1 }, /* GL_STREAM_READ */ - { 28259, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 28278, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 28295, 0x000084E7 }, /* GL_SUBTRACT */ - { 28307, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 28323, 0x00002001 }, /* GL_T */ - { 28328, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 28343, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 28362, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 28378, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 28393, 0x00002A27 }, /* GL_T2F_V3F */ - { 28404, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 28423, 0x00002A28 }, /* GL_T4F_V4F */ - { 28434, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 28457, 0x00001702 }, /* GL_TEXTURE */ - { 28468, 0x000084C0 }, /* GL_TEXTURE0 */ - { 28480, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 28496, 0x000084C1 }, /* GL_TEXTURE1 */ - { 28508, 0x000084CA }, /* GL_TEXTURE10 */ - { 28521, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 28538, 0x000084CB }, /* GL_TEXTURE11 */ - { 28551, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 28568, 0x000084CC }, /* GL_TEXTURE12 */ - { 28581, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 28598, 0x000084CD }, /* GL_TEXTURE13 */ - { 28611, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 28628, 0x000084CE }, /* GL_TEXTURE14 */ - { 28641, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 28658, 0x000084CF }, /* GL_TEXTURE15 */ - { 28671, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 28688, 0x000084D0 }, /* GL_TEXTURE16 */ - { 28701, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 28718, 0x000084D1 }, /* GL_TEXTURE17 */ - { 28731, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 28748, 0x000084D2 }, /* GL_TEXTURE18 */ - { 28761, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 28778, 0x000084D3 }, /* GL_TEXTURE19 */ - { 28791, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 28808, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 28824, 0x000084C2 }, /* GL_TEXTURE2 */ - { 28836, 0x000084D4 }, /* GL_TEXTURE20 */ - { 28849, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 28866, 0x000084D5 }, /* GL_TEXTURE21 */ - { 28879, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 28896, 0x000084D6 }, /* GL_TEXTURE22 */ - { 28909, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 28926, 0x000084D7 }, /* GL_TEXTURE23 */ - { 28939, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 28956, 0x000084D8 }, /* GL_TEXTURE24 */ - { 28969, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 28986, 0x000084D9 }, /* GL_TEXTURE25 */ - { 28999, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 29016, 0x000084DA }, /* GL_TEXTURE26 */ - { 29029, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 29046, 0x000084DB }, /* GL_TEXTURE27 */ - { 29059, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 29076, 0x000084DC }, /* GL_TEXTURE28 */ - { 29089, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 29106, 0x000084DD }, /* GL_TEXTURE29 */ - { 29119, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 29136, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 29152, 0x000084C3 }, /* GL_TEXTURE3 */ - { 29164, 0x000084DE }, /* GL_TEXTURE30 */ - { 29177, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 29194, 0x000084DF }, /* GL_TEXTURE31 */ - { 29207, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 29224, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 29240, 0x000084C4 }, /* GL_TEXTURE4 */ - { 29252, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 29268, 0x000084C5 }, /* GL_TEXTURE5 */ - { 29280, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 29296, 0x000084C6 }, /* GL_TEXTURE6 */ - { 29308, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 29324, 0x000084C7 }, /* GL_TEXTURE7 */ - { 29336, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 29352, 0x000084C8 }, /* GL_TEXTURE8 */ - { 29364, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 29380, 0x000084C9 }, /* GL_TEXTURE9 */ - { 29392, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 29408, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 29422, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 29436, 0x0000806F }, /* GL_TEXTURE_3D */ - { 29450, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 29472, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 29498, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 29520, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 29542, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 29564, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 29586, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 29614, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 29646, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 29679, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 29711, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 29726, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 29747, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 29772, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 29790, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 29814, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 29845, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 29875, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 29905, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 29940, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 29971, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 30009, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 30036, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 30068, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 30102, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 30126, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 30154, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 30178, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 30206, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 30239, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 30263, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 30285, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 30307, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 30333, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 30367, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 30400, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 30437, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 30465, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 30497, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 30520, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 30558, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 30600, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 30631, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 30659, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 30689, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 30717, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 30737, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 30761, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 30792, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 30827, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 30858, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 30893, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 30924, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 30959, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 30990, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 31025, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 31056, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 31091, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 31122, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 31157, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 31174, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 31196, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 31222, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 31237, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 31258, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 31278, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 31304, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 31324, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 31341, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 31358, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 31375, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 31392, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 31417, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 31439, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 31465, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 31483, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 31509, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 31535, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 31565, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 31592, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 31617, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 31637, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 31661, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 31688, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 31715, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 31742, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 31768, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 31798, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 31820, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 31838, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 31868, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 31896, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 31924, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 31952, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 31973, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 31992, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 32014, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 32033, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 32053, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 32078, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 32102, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 32122, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 32146, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 32166, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 32189, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 32214, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 32248, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 32265, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 32283, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 32301, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 32319, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 32339, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 32358, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 32387, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 32404, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 32430, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 32460, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 32492, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 32522, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 32556, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 32572, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 32603, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 32638, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 32666, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 32698, 0x00000004 }, /* GL_TRIANGLES */ - { 32711, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 32727, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 32748, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 32766, 0x00000001 }, /* GL_TRUE */ - { 32774, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 32794, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 32817, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 32837, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 32858, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 32880, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 32902, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 32922, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 32943, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 32960, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 32987, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 33010, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 33026, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 33053, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 33077, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 33108, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 33132, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 33160, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 33178, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 33208, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 33234, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 33264, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 33290, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 33314, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 33342, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 33370, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 33397, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 33429, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 33460, 0x00002A20 }, /* GL_V2F */ - { 33467, 0x00002A21 }, /* GL_V3F */ - { 33474, 0x00001F00 }, /* GL_VENDOR */ - { 33484, 0x00001F02 }, /* GL_VERSION */ - { 33495, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 33511, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 33541, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 33572, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 33607, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 33631, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 33652, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 33675, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 33696, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 33723, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 33751, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 33779, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 33807, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 33835, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 33863, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 33891, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 33918, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 33945, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 33972, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 33999, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 34026, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 34053, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 34080, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 34107, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 34134, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 34172, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 34214, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 34249, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 34287, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 34322, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 34354, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 34388, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 34420, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 34440, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 34462, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 34491, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 34512, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 34545, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 34577, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 34608, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 34638, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 34659, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 34686, 0x00000BA2 }, /* GL_VIEWPORT */ - { 34698, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 34714, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 34734, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 34765, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 34800, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 34828, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 34853, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 34880, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 34905, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 34929, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 34948, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 34962, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 34980, 0x00001506 }, /* GL_XOR */ - { 34987, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 35006, 0x00008757 }, /* GL_YCBCR_MESA */ - { 35020, 0x00000000 }, /* GL_ZERO */ - { 35028, 0x00000D16 }, /* GL_ZOOM_X */ - { 35038, 0x00000D17 }, /* GL_ZOOM_Y */ + { 224, 0x00008B89 }, /* GL_ACTIVE_ATTRIBUTES */ + { 245, 0x00008B8A }, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ + { 276, 0x00008911 }, /* GL_ACTIVE_STENCIL_FACE_EXT */ + { 303, 0x000084E0 }, /* GL_ACTIVE_TEXTURE */ + { 321, 0x000084E0 }, /* GL_ACTIVE_TEXTURE_ARB */ + { 343, 0x00008B86 }, /* GL_ACTIVE_UNIFORMS */ + { 362, 0x00008B87 }, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ + { 391, 0x000086A5 }, /* GL_ACTIVE_VERTEX_UNITS_ARB */ + { 418, 0x00000104 }, /* GL_ADD */ + { 425, 0x00008574 }, /* GL_ADD_SIGNED */ + { 439, 0x00008574 }, /* GL_ADD_SIGNED_ARB */ + { 457, 0x00008574 }, /* GL_ADD_SIGNED_EXT */ + { 475, 0x0000846E }, /* GL_ALIASED_LINE_WIDTH_RANGE */ + { 503, 0x0000846D }, /* GL_ALIASED_POINT_SIZE_RANGE */ + { 531, 0x000FFFFF }, /* GL_ALL_ATTRIB_BITS */ + { 550, 0xFFFFFFFF }, /* GL_ALL_CLIENT_ATTRIB_BITS */ + { 576, 0x00001906 }, /* GL_ALPHA */ + { 585, 0x0000803D }, /* GL_ALPHA12 */ + { 596, 0x0000803D }, /* GL_ALPHA12_EXT */ + { 611, 0x0000803E }, /* GL_ALPHA16 */ + { 622, 0x0000803E }, /* GL_ALPHA16_EXT */ + { 637, 0x0000803B }, /* GL_ALPHA4 */ + { 647, 0x0000803B }, /* GL_ALPHA4_EXT */ + { 661, 0x0000803C }, /* GL_ALPHA8 */ + { 671, 0x0000803C }, /* GL_ALPHA8_EXT */ + { 685, 0x00000D1D }, /* GL_ALPHA_BIAS */ + { 699, 0x00000D55 }, /* GL_ALPHA_BITS */ + { 713, 0x00000D1C }, /* GL_ALPHA_SCALE */ + { 728, 0x00000BC0 }, /* GL_ALPHA_TEST */ + { 742, 0x00000BC1 }, /* GL_ALPHA_TEST_FUNC */ + { 761, 0x00000BC2 }, /* GL_ALPHA_TEST_REF */ + { 779, 0x00000207 }, /* GL_ALWAYS */ + { 789, 0x00001200 }, /* GL_AMBIENT */ + { 800, 0x00001602 }, /* GL_AMBIENT_AND_DIFFUSE */ + { 823, 0x00001501 }, /* GL_AND */ + { 830, 0x00001504 }, /* GL_AND_INVERTED */ + { 846, 0x00001502 }, /* GL_AND_REVERSE */ + { 861, 0x00008892 }, /* GL_ARRAY_BUFFER */ + { 877, 0x00008892 }, /* GL_ARRAY_BUFFER_ARB */ + { 897, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */ + { 921, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */ + { 949, 0x00008B85 }, /* GL_ATTACHED_SHADERS */ + { 969, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */ + { 996, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */ + { 1020, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */ + { 1046, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */ + { 1070, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */ + { 1092, 0x00000D80 }, /* GL_AUTO_NORMAL */ + { 1107, 0x00000409 }, /* GL_AUX0 */ + { 1115, 0x0000040A }, /* GL_AUX1 */ + { 1123, 0x0000040B }, /* GL_AUX2 */ + { 1131, 0x0000040C }, /* GL_AUX3 */ + { 1139, 0x00000C00 }, /* GL_AUX_BUFFERS */ + { 1154, 0x00000405 }, /* GL_BACK */ + { 1162, 0x00000402 }, /* GL_BACK_LEFT */ + { 1175, 0x00000403 }, /* GL_BACK_RIGHT */ + { 1189, 0x000080E0 }, /* GL_BGR */ + { 1196, 0x000080E1 }, /* GL_BGRA */ + { 1204, 0x00001A00 }, /* GL_BITMAP */ + { 1214, 0x00000704 }, /* GL_BITMAP_TOKEN */ + { 1230, 0x00000BE2 }, /* GL_BLEND */ + { 1239, 0x00008005 }, /* GL_BLEND_COLOR */ + { 1254, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ + { 1273, 0x00000BE0 }, /* GL_BLEND_DST */ + { 1286, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ + { 1305, 0x000080C8 }, /* GL_BLEND_DST_RGB */ + { 1322, 0x00008009 }, /* GL_BLEND_EQUATION */ + { 1340, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */ + { 1364, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ + { 1392, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ + { 1414, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ + { 1440, 0x00000BE1 }, /* GL_BLEND_SRC */ + { 1453, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ + { 1472, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ + { 1489, 0x00001905 }, /* GL_BLUE */ + { 1497, 0x00000D1B }, /* GL_BLUE_BIAS */ + { 1510, 0x00000D54 }, /* GL_BLUE_BITS */ + { 1523, 0x00000D1A }, /* GL_BLUE_SCALE */ + { 1537, 0x00008B56 }, /* GL_BOOL */ + { 1545, 0x00008B56 }, /* GL_BOOL_ARB */ + { 1557, 0x00008B57 }, /* GL_BOOL_VEC2 */ + { 1570, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ + { 1587, 0x00008B58 }, /* GL_BOOL_VEC3 */ + { 1600, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ + { 1617, 0x00008B59 }, /* GL_BOOL_VEC4 */ + { 1630, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ + { 1647, 0x000088BB }, /* GL_BUFFER_ACCESS */ + { 1664, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ + { 1685, 0x000088BC }, /* GL_BUFFER_MAPPED */ + { 1702, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ + { 1723, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ + { 1745, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ + { 1771, 0x00008764 }, /* GL_BUFFER_SIZE */ + { 1786, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ + { 1805, 0x00008765 }, /* GL_BUFFER_USAGE */ + { 1821, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ + { 1841, 0x00001400 }, /* GL_BYTE */ + { 1849, 0x00002A24 }, /* GL_C3F_V3F */ + { 1860, 0x00002A26 }, /* GL_C4F_N3F_V3F */ + { 1875, 0x00002A22 }, /* GL_C4UB_V2F */ + { 1887, 0x00002A23 }, /* GL_C4UB_V3F */ + { 1899, 0x00000901 }, /* GL_CCW */ + { 1906, 0x00002900 }, /* GL_CLAMP */ + { 1915, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ + { 1934, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ + { 1957, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ + { 1981, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ + { 1998, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ + { 2020, 0x00001500 }, /* GL_CLEAR */ + { 2029, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ + { 2054, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ + { 2083, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ + { 2109, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + { 2138, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ + { 2164, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ + { 2191, 0x00003000 }, /* GL_CLIP_PLANE0 */ + { 2206, 0x00003001 }, /* GL_CLIP_PLANE1 */ + { 2221, 0x00003002 }, /* GL_CLIP_PLANE2 */ + { 2236, 0x00003003 }, /* GL_CLIP_PLANE3 */ + { 2251, 0x00003004 }, /* GL_CLIP_PLANE4 */ + { 2266, 0x00003005 }, /* GL_CLIP_PLANE5 */ + { 2281, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + { 2314, 0x00000A00 }, /* GL_COEFF */ + { 2323, 0x00001800 }, /* GL_COLOR */ + { 2332, 0x00008076 }, /* GL_COLOR_ARRAY */ + { 2347, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + { 2377, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 2411, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ + { 2434, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ + { 2454, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ + { 2476, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ + { 2496, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ + { 2521, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ + { 2547, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ + { 2573, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ + { 2599, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ + { 2625, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ + { 2651, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ + { 2677, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ + { 2702, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ + { 2727, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ + { 2752, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ + { 2777, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ + { 2802, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ + { 2827, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ + { 2852, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ + { 2877, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ + { 2902, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ + { 2922, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ + { 2943, 0x00001900 }, /* GL_COLOR_INDEX */ + { 2958, 0x00001603 }, /* GL_COLOR_INDEXES */ + { 2975, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ + { 2993, 0x00000B57 }, /* GL_COLOR_MATERIAL */ + { 3011, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ + { 3034, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ + { 3062, 0x000080B1 }, /* GL_COLOR_MATRIX */ + { 3078, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ + { 3098, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ + { 3126, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 3158, 0x00008458 }, /* GL_COLOR_SUM */ + { 3171, 0x00008458 }, /* GL_COLOR_SUM_ARB */ + { 3188, 0x000080D0 }, /* GL_COLOR_TABLE */ + { 3203, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ + { 3229, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ + { 3259, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ + { 3289, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ + { 3309, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ + { 3333, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ + { 3358, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ + { 3387, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ + { 3416, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ + { 3438, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ + { 3464, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ + { 3490, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ + { 3516, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ + { 3546, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ + { 3576, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + { 3606, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ + { 3640, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ + { 3674, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + { 3704, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ + { 3738, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ + { 3772, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ + { 3796, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ + { 3824, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ + { 3852, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ + { 3873, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ + { 3898, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ + { 3919, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ + { 3944, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ + { 3969, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ + { 3988, 0x00008570 }, /* GL_COMBINE */ + { 3999, 0x00008503 }, /* GL_COMBINE4 */ + { 4011, 0x00008572 }, /* GL_COMBINE_ALPHA */ + { 4028, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ + { 4049, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ + { 4070, 0x00008570 }, /* GL_COMBINE_ARB */ + { 4085, 0x00008570 }, /* GL_COMBINE_EXT */ + { 4100, 0x00008571 }, /* GL_COMBINE_RGB */ + { 4115, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ + { 4134, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ + { 4153, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ + { 4177, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ + { 4205, 0x00001300 }, /* GL_COMPILE */ + { 4216, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ + { 4239, 0x00008B81 }, /* GL_COMPILE_STATUS */ + { 4257, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ + { 4277, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ + { 4301, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ + { 4325, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ + { 4353, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ + { 4377, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + { 4407, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ + { 4441, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ + { 4469, 0x000084ED }, /* GL_COMPRESSED_RGB */ + { 4487, 0x000084EE }, /* GL_COMPRESSED_RGBA */ + { 4506, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ + { 4529, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + { 4558, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + { 4591, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + { 4624, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + { 4657, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ + { 4679, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + { 4707, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + { 4739, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ + { 4769, 0x00008576 }, /* GL_CONSTANT */ + { 4781, 0x00008003 }, /* GL_CONSTANT_ALPHA */ + { 4799, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ + { 4821, 0x00008576 }, /* GL_CONSTANT_ARB */ + { 4837, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ + { 4861, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ + { 4883, 0x00008001 }, /* GL_CONSTANT_COLOR */ + { 4901, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ + { 4923, 0x00008576 }, /* GL_CONSTANT_EXT */ + { 4939, 0x00008010 }, /* GL_CONVOLUTION_1D */ + { 4957, 0x00008011 }, /* GL_CONVOLUTION_2D */ + { 4975, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ + { 5003, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ + { 5034, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ + { 5061, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ + { 5092, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ + { 5119, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ + { 5150, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ + { 5178, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ + { 5210, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ + { 5232, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ + { 5258, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ + { 5280, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ + { 5306, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ + { 5327, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ + { 5352, 0x00008862 }, /* GL_COORD_REPLACE */ + { 5369, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ + { 5390, 0x00008862 }, /* GL_COORD_REPLACE_NV */ + { 5410, 0x00001503 }, /* GL_COPY */ + { 5418, 0x0000150C }, /* GL_COPY_INVERTED */ + { 5435, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ + { 5455, 0x00000B44 }, /* GL_CULL_FACE */ + { 5468, 0x00000B45 }, /* GL_CULL_FACE_MODE */ + { 5486, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ + { 5505, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + { 5537, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + { 5572, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ + { 5593, 0x00000001 }, /* GL_CURRENT_BIT */ + { 5608, 0x00000B00 }, /* GL_CURRENT_COLOR */ + { 5625, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ + { 5646, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ + { 5672, 0x00000B01 }, /* GL_CURRENT_INDEX */ + { 5689, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ + { 5711, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ + { 5739, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ + { 5760, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + { 5794, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ + { 5827, 0x00000B02 }, /* GL_CURRENT_NORMAL */ + { 5845, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + { 5875, 0x00008B8D }, /* GL_CURRENT_PROGRAM */ + { 5894, 0x00008865 }, /* GL_CURRENT_QUERY */ + { 5911, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ + { 5932, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ + { 5956, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ + { 5983, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ + { 6007, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ + { 6034, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ + { 6067, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + { 6100, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ + { 6127, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ + { 6153, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */ + { 6178, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ + { 6207, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ + { 6229, 0x00000900 }, /* GL_CW */ + { 6235, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ + { 6256, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ + { 6277, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ + { 6297, 0x00002101 }, /* GL_DECAL */ + { 6306, 0x00001E03 }, /* GL_DECR */ + { 6314, 0x00008508 }, /* GL_DECR_WRAP */ + { 6327, 0x00008508 }, /* GL_DECR_WRAP_EXT */ + { 6344, 0x00008B80 }, /* GL_DELETE_STATUS */ + { 6361, 0x00001801 }, /* GL_DEPTH */ + { 6370, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ + { 6394, 0x00000D1F }, /* GL_DEPTH_BIAS */ + { 6408, 0x00000D56 }, /* GL_DEPTH_BITS */ + { 6422, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ + { 6442, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ + { 6467, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ + { 6487, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ + { 6505, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ + { 6526, 0x00001902 }, /* GL_DEPTH_COMPONENT */ + { 6545, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ + { 6566, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ + { 6591, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ + { 6617, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ + { 6638, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ + { 6663, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ + { 6689, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ + { 6710, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ + { 6735, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ + { 6761, 0x00000B74 }, /* GL_DEPTH_FUNC */ + { 6775, 0x00000B70 }, /* GL_DEPTH_RANGE */ + { 6790, 0x00000D1E }, /* GL_DEPTH_SCALE */ + { 6805, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ + { 6825, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + { 6853, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + { 6881, 0x00000B71 }, /* GL_DEPTH_TEST */ + { 6895, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ + { 6917, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ + { 6943, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ + { 6962, 0x00001201 }, /* GL_DIFFUSE */ + { 6973, 0x00000BD0 }, /* GL_DITHER */ + { 6983, 0x00000A02 }, /* GL_DOMAIN */ + { 6993, 0x00001100 }, /* GL_DONT_CARE */ + { 7006, 0x000086AE }, /* GL_DOT3_RGB */ + { 7018, 0x000086AF }, /* GL_DOT3_RGBA */ + { 7031, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ + { 7048, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ + { 7065, 0x000086AE }, /* GL_DOT3_RGB_ARB */ + { 7081, 0x00008740 }, /* GL_DOT3_RGB_EXT */ + { 7097, 0x0000140A }, /* GL_DOUBLE */ + { 7107, 0x00000C32 }, /* GL_DOUBLEBUFFER */ + { 7123, 0x00000C01 }, /* GL_DRAW_BUFFER */ + { 7138, 0x00008825 }, /* GL_DRAW_BUFFER0 */ + { 7154, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ + { 7174, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ + { 7194, 0x00008826 }, /* GL_DRAW_BUFFER1 */ + { 7210, 0x0000882F }, /* GL_DRAW_BUFFER10 */ + { 7227, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ + { 7248, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ + { 7269, 0x00008830 }, /* GL_DRAW_BUFFER11 */ + { 7286, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ + { 7307, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ + { 7328, 0x00008831 }, /* GL_DRAW_BUFFER12 */ + { 7345, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ + { 7366, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ + { 7387, 0x00008832 }, /* GL_DRAW_BUFFER13 */ + { 7404, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ + { 7425, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ + { 7446, 0x00008833 }, /* GL_DRAW_BUFFER14 */ + { 7463, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ + { 7484, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ + { 7505, 0x00008834 }, /* GL_DRAW_BUFFER15 */ + { 7522, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ + { 7543, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ + { 7564, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ + { 7584, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ + { 7604, 0x00008827 }, /* GL_DRAW_BUFFER2 */ + { 7620, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ + { 7640, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ + { 7660, 0x00008828 }, /* GL_DRAW_BUFFER3 */ + { 7676, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ + { 7696, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ + { 7716, 0x00008829 }, /* GL_DRAW_BUFFER4 */ + { 7732, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ + { 7752, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ + { 7772, 0x0000882A }, /* GL_DRAW_BUFFER5 */ + { 7788, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ + { 7808, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ + { 7828, 0x0000882B }, /* GL_DRAW_BUFFER6 */ + { 7844, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ + { 7864, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ + { 7884, 0x0000882C }, /* GL_DRAW_BUFFER7 */ + { 7900, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ + { 7920, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ + { 7940, 0x0000882D }, /* GL_DRAW_BUFFER8 */ + { 7956, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ + { 7976, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ + { 7996, 0x0000882E }, /* GL_DRAW_BUFFER9 */ + { 8012, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ + { 8032, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ + { 8052, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + { 8084, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ + { 8108, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ + { 8128, 0x00000304 }, /* GL_DST_ALPHA */ + { 8141, 0x00000306 }, /* GL_DST_COLOR */ + { 8154, 0x000088EA }, /* GL_DYNAMIC_COPY */ + { 8170, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ + { 8190, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ + { 8206, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ + { 8226, 0x000088E9 }, /* GL_DYNAMIC_READ */ + { 8242, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ + { 8262, 0x00000B43 }, /* GL_EDGE_FLAG */ + { 8275, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ + { 8294, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + { 8328, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ + { 8366, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ + { 8393, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + { 8419, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ + { 8443, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER_ARB */ + { 8471, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + { 8503, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ + { 8539, 0x00001600 }, /* GL_EMISSION */ + { 8551, 0x00002000 }, /* GL_ENABLE_BIT */ + { 8565, 0x00000202 }, /* GL_EQUAL */ + { 8574, 0x00001509 }, /* GL_EQUIV */ + { 8583, 0x00010000 }, /* GL_EVAL_BIT */ + { 8595, 0x00000800 }, /* GL_EXP */ + { 8602, 0x00000801 }, /* GL_EXP2 */ + { 8610, 0x00001F03 }, /* GL_EXTENSIONS */ + { 8624, 0x00002400 }, /* GL_EYE_LINEAR */ + { 8638, 0x00002502 }, /* GL_EYE_PLANE */ + { 8651, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ + { 8676, 0x0000855B }, /* GL_EYE_RADIAL_NV */ + { 8693, 0x00000000 }, /* GL_FALSE */ + { 8702, 0x00001101 }, /* GL_FASTEST */ + { 8713, 0x00001C01 }, /* GL_FEEDBACK */ + { 8725, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ + { 8752, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ + { 8776, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ + { 8800, 0x00001B02 }, /* GL_FILL */ + { 8808, 0x00001D00 }, /* GL_FLAT */ + { 8816, 0x00001406 }, /* GL_FLOAT */ + { 8825, 0x00008B5A }, /* GL_FLOAT_MAT2 */ + { 8839, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ + { 8857, 0x00008B5B }, /* GL_FLOAT_MAT3 */ + { 8871, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ + { 8889, 0x00008B5C }, /* GL_FLOAT_MAT4 */ + { 8903, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ + { 8921, 0x00008B50 }, /* GL_FLOAT_VEC2 */ + { 8935, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ + { 8953, 0x00008B51 }, /* GL_FLOAT_VEC3 */ + { 8967, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ + { 8985, 0x00008B52 }, /* GL_FLOAT_VEC4 */ + { 8999, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ + { 9017, 0x00000B60 }, /* GL_FOG */ + { 9024, 0x00000080 }, /* GL_FOG_BIT */ + { 9035, 0x00000B66 }, /* GL_FOG_COLOR */ + { 9048, 0x00008451 }, /* GL_FOG_COORD */ + { 9061, 0x00008451 }, /* GL_FOG_COORDINATE */ + { 9079, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ + { 9103, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + { 9142, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ + { 9185, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + { 9217, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + { 9248, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + { 9277, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ + { 9302, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ + { 9321, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ + { 9355, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ + { 9382, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ + { 9408, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ + { 9432, 0x00008450 }, /* GL_FOG_COORD_SRC */ + { 9449, 0x00000B62 }, /* GL_FOG_DENSITY */ + { 9464, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ + { 9488, 0x00000B64 }, /* GL_FOG_END */ + { 9499, 0x00000C54 }, /* GL_FOG_HINT */ + { 9511, 0x00000B61 }, /* GL_FOG_INDEX */ + { 9524, 0x00000B65 }, /* GL_FOG_MODE */ + { 9536, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ + { 9555, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ + { 9580, 0x00000B63 }, /* GL_FOG_START */ + { 9593, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ + { 9611, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ + { 9635, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ + { 9654, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ + { 9677, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + { 9712, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + { 9754, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + { 9796, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + { 9845, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + { 9897, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + { 9941, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ + { 9968, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + { 9996, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ + { 10015, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + { 10056, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + { 10097, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + { 10139, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + { 10190, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + { 10228, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + { 10277, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + { 10319, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + { 10351, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + { 10382, 0x00000404 }, /* GL_FRONT */ + { 10391, 0x00000408 }, /* GL_FRONT_AND_BACK */ + { 10409, 0x00000B46 }, /* GL_FRONT_FACE */ + { 10423, 0x00000400 }, /* GL_FRONT_LEFT */ + { 10437, 0x00000401 }, /* GL_FRONT_RIGHT */ + { 10452, 0x00008006 }, /* GL_FUNC_ADD */ + { 10464, 0x00008006 }, /* GL_FUNC_ADD_EXT */ + { 10480, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ + { 10505, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ + { 10534, 0x0000800A }, /* GL_FUNC_SUBTRACT */ + { 10551, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ + { 10572, 0x00008191 }, /* GL_GENERATE_MIPMAP */ + { 10591, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ + { 10615, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ + { 10644, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ + { 10668, 0x00000206 }, /* GL_GEQUAL */ + { 10678, 0x00008009 }, /* GL_GL_BLEND_EQUATION_RGB */ + { 10703, 0x00008C4A }, /* GL_GL_COMPRESSED_SLUMINANCE */ + { 10731, 0x00008C4B }, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */ + { 10765, 0x00008C48 }, /* GL_GL_COMPRESSED_SRGB */ + { 10787, 0x00008C49 }, /* GL_GL_COMPRESSED_SRGB_ALPHA */ + { 10815, 0x0000845F }, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */ + { 10852, 0x00008B65 }, /* GL_GL_FLOAT_MAT2x3 */ + { 10871, 0x00008B66 }, /* GL_GL_FLOAT_MAT2x4 */ + { 10890, 0x00008B67 }, /* GL_GL_FLOAT_MAT3x2 */ + { 10909, 0x00008B68 }, /* GL_GL_FLOAT_MAT3x4 */ + { 10928, 0x00008B69 }, /* GL_GL_FLOAT_MAT4x2 */ + { 10947, 0x00008B6A }, /* GL_GL_FLOAT_MAT4x3 */ + { 10966, 0x000088EB }, /* GL_GL_PIXEL_PACK_BUFFER */ + { 10990, 0x000088ED }, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */ + { 11022, 0x000088EC }, /* GL_GL_PIXEL_UNPACK_BUFFER */ + { 11048, 0x000088EF }, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 11082, 0x00008C46 }, /* GL_GL_SLUMINANCE */ + { 11099, 0x00008C47 }, /* GL_GL_SLUMINANCE8 */ + { 11117, 0x00008C45 }, /* GL_GL_SLUMINANCE8_ALPHA8 */ + { 11142, 0x00008C44 }, /* GL_GL_SLUMINANCE_ALPHA */ + { 11165, 0x00008C40 }, /* GL_GL_SRGB */ + { 11176, 0x00008C41 }, /* GL_GL_SRGB8 */ + { 11188, 0x00008C43 }, /* GL_GL_SRGB8_ALPHA8 */ + { 11207, 0x00008C42 }, /* GL_GL_SRGB_ALPHA */ + { 11224, 0x00000204 }, /* GL_GREATER */ + { 11235, 0x00001904 }, /* GL_GREEN */ + { 11244, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 11258, 0x00000D53 }, /* GL_GREEN_BITS */ + { 11272, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 11287, 0x00008000 }, /* GL_HINT_BIT */ + { 11299, 0x00008024 }, /* GL_HISTOGRAM */ + { 11312, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 11336, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 11364, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 11387, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 11414, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 11431, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 11451, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 11475, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 11499, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 11527, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 11555, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 11587, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 11609, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 11635, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 11653, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 11675, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 11694, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 11717, 0x0000862A }, /* GL_IDENTITY_NV */ + { 11732, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 11752, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 11792, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 11830, 0x00001E02 }, /* GL_INCR */ + { 11838, 0x00008507 }, /* GL_INCR_WRAP */ + { 11851, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 11868, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 11883, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 11913, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 11947, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 11970, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 11992, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 12012, 0x00000D51 }, /* GL_INDEX_BITS */ + { 12026, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 12047, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 12065, 0x00000C30 }, /* GL_INDEX_MODE */ + { 12079, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 12095, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 12110, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 12129, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 12148, 0x00001404 }, /* GL_INT */ + { 12155, 0x00008049 }, /* GL_INTENSITY */ + { 12168, 0x0000804C }, /* GL_INTENSITY12 */ + { 12183, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 12202, 0x0000804D }, /* GL_INTENSITY16 */ + { 12217, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 12236, 0x0000804A }, /* GL_INTENSITY4 */ + { 12250, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 12268, 0x0000804B }, /* GL_INTENSITY8 */ + { 12282, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 12300, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 12317, 0x00008575 }, /* GL_INTERPOLATE */ + { 12332, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 12351, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 12370, 0x00008B53 }, /* GL_INT_VEC2 */ + { 12382, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 12398, 0x00008B54 }, /* GL_INT_VEC3 */ + { 12410, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 12426, 0x00008B55 }, /* GL_INT_VEC4 */ + { 12438, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 12454, 0x00000500 }, /* GL_INVALID_ENUM */ + { 12470, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 12507, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 12528, 0x00000501 }, /* GL_INVALID_VALUE */ + { 12545, 0x0000862B }, /* GL_INVERSE_NV */ + { 12559, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 12583, 0x0000150A }, /* GL_INVERT */ + { 12593, 0x00001E00 }, /* GL_KEEP */ + { 12601, 0x00000406 }, /* GL_LEFT */ + { 12609, 0x00000203 }, /* GL_LEQUAL */ + { 12619, 0x00000201 }, /* GL_LESS */ + { 12627, 0x00004000 }, /* GL_LIGHT0 */ + { 12637, 0x00004001 }, /* GL_LIGHT1 */ + { 12647, 0x00004002 }, /* GL_LIGHT2 */ + { 12657, 0x00004003 }, /* GL_LIGHT3 */ + { 12667, 0x00004004 }, /* GL_LIGHT4 */ + { 12677, 0x00004005 }, /* GL_LIGHT5 */ + { 12687, 0x00004006 }, /* GL_LIGHT6 */ + { 12697, 0x00004007 }, /* GL_LIGHT7 */ + { 12707, 0x00000B50 }, /* GL_LIGHTING */ + { 12719, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 12735, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 12758, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 12787, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 12820, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 12848, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 12872, 0x00001B01 }, /* GL_LINE */ + { 12880, 0x00002601 }, /* GL_LINEAR */ + { 12890, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 12912, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 12942, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 12973, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 12997, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 13022, 0x00000001 }, /* GL_LINES */ + { 13031, 0x00000004 }, /* GL_LINE_BIT */ + { 13043, 0x00000002 }, /* GL_LINE_LOOP */ + { 13056, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 13076, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 13091, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 13111, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 13127, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 13151, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 13174, 0x00000003 }, /* GL_LINE_STRIP */ + { 13188, 0x00000702 }, /* GL_LINE_TOKEN */ + { 13202, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 13216, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 13242, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 13262, 0x00008B82 }, /* GL_LINK_STATUS */ + { 13277, 0x00000B32 }, /* GL_LIST_BASE */ + { 13290, 0x00020000 }, /* GL_LIST_BIT */ + { 13302, 0x00000B33 }, /* GL_LIST_INDEX */ + { 13316, 0x00000B30 }, /* GL_LIST_MODE */ + { 13329, 0x00000101 }, /* GL_LOAD */ + { 13337, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 13349, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 13366, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 13380, 0x00001909 }, /* GL_LUMINANCE */ + { 13393, 0x00008041 }, /* GL_LUMINANCE12 */ + { 13408, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 13431, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 13458, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 13480, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 13506, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 13525, 0x00008042 }, /* GL_LUMINANCE16 */ + { 13540, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 13563, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 13590, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 13609, 0x0000803F }, /* GL_LUMINANCE4 */ + { 13623, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 13644, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 13669, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 13687, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 13708, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 13733, 0x00008040 }, /* GL_LUMINANCE8 */ + { 13747, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 13768, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 13793, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 13811, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 13830, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 13846, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 13866, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 13888, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 13902, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 13917, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 13941, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 13965, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 13989, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 14013, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 14030, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 14047, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 14075, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 14104, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 14133, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 14162, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 14191, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 14220, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 14249, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 14277, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 14305, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 14333, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 14361, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 14389, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 14417, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 14445, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 14473, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 14501, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 14517, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 14537, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 14559, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 14573, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 14588, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 14612, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 14636, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 14660, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 14684, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 14701, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 14718, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 14746, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 14775, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 14804, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 14833, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 14862, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 14891, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 14920, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 14948, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 14976, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 15004, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 15032, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 15060, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 15088, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 15116, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 15144, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 15172, 0x00000D10 }, /* GL_MAP_COLOR */ + { 15185, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 15200, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 15215, 0x00008630 }, /* GL_MATRIX0_NV */ + { 15229, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 15245, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 15261, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 15277, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 15293, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 15309, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 15325, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 15341, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 15357, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 15373, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 15389, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 15404, 0x00008631 }, /* GL_MATRIX1_NV */ + { 15418, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 15434, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 15450, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 15466, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 15482, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 15498, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 15514, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 15530, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 15546, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 15562, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 15578, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 15593, 0x00008632 }, /* GL_MATRIX2_NV */ + { 15607, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 15623, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 15639, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 15654, 0x00008633 }, /* GL_MATRIX3_NV */ + { 15668, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 15683, 0x00008634 }, /* GL_MATRIX4_NV */ + { 15697, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 15712, 0x00008635 }, /* GL_MATRIX5_NV */ + { 15726, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 15741, 0x00008636 }, /* GL_MATRIX6_NV */ + { 15755, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 15770, 0x00008637 }, /* GL_MATRIX7_NV */ + { 15784, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 15799, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 15814, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 15840, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 15874, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 15905, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 15938, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 15969, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 15984, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 16006, 0x00008008 }, /* GL_MAX */ + { 16013, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 16036, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 16062, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 16095, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 16121, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 16155, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 16174, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 16203, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 16235, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 16271, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 16307, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 16347, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 16373, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 16403, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 16428, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 16457, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 16486, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 16519, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 16539, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 16563, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 16587, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 16611, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 16636, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 16654, 0x00008008 }, /* GL_MAX_EXT */ + { 16665, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 16700, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 16739, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 16753, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 16773, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 16811, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 16840, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 16864, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 16892, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 16915, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 16952, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 16988, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 17015, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 17044, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 17078, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 17114, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 17141, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 17173, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 17209, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 17238, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 17267, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 17295, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 17333, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 17377, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 17420, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 17454, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 17493, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 17530, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 17568, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 17611, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 17654, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 17684, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 17715, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 17751, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 17787, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 17817, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 17851, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 17884, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 17913, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 17933, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 17957, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 17979, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 18005, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 18032, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 18063, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 18087, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 18121, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 18141, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 18168, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 18189, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 18214, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 18239, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 18274, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 18296, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 18322, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 18344, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 18370, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 18404, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 18442, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 18475, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 18512, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 18536, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 18557, 0x00008007 }, /* GL_MIN */ + { 18564, 0x0000802E }, /* GL_MINMAX */ + { 18574, 0x0000802E }, /* GL_MINMAX_EXT */ + { 18588, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 18605, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 18626, 0x00008030 }, /* GL_MINMAX_SINK */ + { 18641, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 18660, 0x00008007 }, /* GL_MIN_EXT */ + { 18671, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 18690, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 18713, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 18736, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 18756, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 18776, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 18806, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 18834, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 18862, 0x00001700 }, /* GL_MODELVIEW */ + { 18875, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 18893, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 18912, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 18931, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 18950, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 18969, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 18988, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 19007, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 19026, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 19045, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 19064, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 19083, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 19101, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 19120, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 19139, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 19158, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 19177, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 19196, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 19215, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 19234, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 19253, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 19272, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 19291, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 19309, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 19328, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 19347, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 19365, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 19383, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 19401, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 19419, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 19437, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 19455, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 19473, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 19493, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 19520, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 19545, 0x00002100 }, /* GL_MODULATE */ + { 19557, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 19577, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 19604, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 19629, 0x00000103 }, /* GL_MULT */ + { 19637, 0x0000809D }, /* GL_MULTISAMPLE */ + { 19652, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 19672, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 19691, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 19710, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 19734, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 19757, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 19787, 0x00002A25 }, /* GL_N3F_V3F */ + { 19798, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 19818, 0x0000150E }, /* GL_NAND */ + { 19826, 0x00002600 }, /* GL_NEAREST */ + { 19837, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 19868, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 19900, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 19925, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 19951, 0x00000200 }, /* GL_NEVER */ + { 19960, 0x00001102 }, /* GL_NICEST */ + { 19970, 0x00000000 }, /* GL_NONE */ + { 19978, 0x00001505 }, /* GL_NOOP */ + { 19986, 0x00001508 }, /* GL_NOR */ + { 19993, 0x00000BA1 }, /* GL_NORMALIZE */ + { 20006, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 20022, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 20053, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 20088, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 20112, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 20135, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 20156, 0x00008511 }, /* GL_NORMAL_MAP */ + { 20170, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 20188, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 20205, 0x00000205 }, /* GL_NOTEQUAL */ + { 20217, 0x00000000 }, /* GL_NO_ERROR */ + { 20229, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 20263, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 20301, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 20333, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 20375, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 20405, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 20445, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 20476, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 20505, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 20533, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 20563, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 20580, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 20606, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 20622, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 20657, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 20679, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 20698, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 20728, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 20749, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 20777, 0x00000001 }, /* GL_ONE */ + { 20784, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 20812, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 20844, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 20872, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 20904, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 20927, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 20950, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 20973, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 20996, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 21014, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 21036, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 21058, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 21074, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 21094, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 21114, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 21132, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 21154, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 21176, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 21192, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 21212, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 21232, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 21250, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 21272, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 21294, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 21310, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 21330, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 21350, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 21371, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 21390, 0x00001507 }, /* GL_OR */ + { 21396, 0x00000A01 }, /* GL_ORDER */ + { 21405, 0x0000150D }, /* GL_OR_INVERTED */ + { 21420, 0x0000150B }, /* GL_OR_REVERSE */ + { 21434, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 21451, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 21469, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 21490, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 21510, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 21528, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 21547, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 21567, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 21587, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 21605, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 21624, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 21649, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 21673, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 21694, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 21716, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 21738, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 21763, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 21787, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 21808, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 21830, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 21852, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 21874, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 21905, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 21925, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 21950, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 21970, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 21995, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 22015, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 22040, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 22060, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 22085, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 22105, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 22130, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 22150, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 22175, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 22195, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 22220, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 22240, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 22265, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 22285, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 22310, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 22330, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 22355, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 22373, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 22406, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 22431, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 22466, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 22493, 0x00001B00 }, /* GL_POINT */ + { 22502, 0x00000000 }, /* GL_POINTS */ + { 22512, 0x00000002 }, /* GL_POINT_BIT */ + { 22525, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 22555, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 22589, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 22623, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 22658, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 22687, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 22720, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 22753, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 22787, 0x00000B11 }, /* GL_POINT_SIZE */ + { 22801, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 22827, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 22845, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 22867, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 22889, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 22912, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 22930, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 22952, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 22974, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 22997, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 23017, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 23033, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 23054, 0x00008861 }, /* GL_POINT_SPRITE */ + { 23070, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 23090, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 23119, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 23138, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 23164, 0x00000701 }, /* GL_POINT_TOKEN */ + { 23179, 0x00000009 }, /* GL_POLYGON */ + { 23190, 0x00000008 }, /* GL_POLYGON_BIT */ + { 23205, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 23221, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 23244, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 23269, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 23292, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 23315, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 23339, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 23363, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 23381, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 23404, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 23423, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 23446, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 23463, 0x00001203 }, /* GL_POSITION */ + { 23475, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 23507, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 23543, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 23576, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 23613, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 23644, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 23679, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 23711, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 23747, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 23780, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 23812, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 23848, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 23881, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 23918, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 23948, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 23982, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 24013, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 24048, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 24079, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 24114, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 24146, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 24182, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 24212, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 24246, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 24277, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 24312, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 24344, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 24375, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 24410, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 24442, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 24478, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 24507, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 24540, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 24570, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 24604, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 24643, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 24676, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 24716, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 24750, 0x00008578 }, /* GL_PREVIOUS */ + { 24762, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 24778, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 24794, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 24811, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 24832, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 24853, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 24886, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 24918, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 24941, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 24964, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 24994, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 25023, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 25051, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 25073, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 25101, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 25129, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 25151, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 25172, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 25212, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 25251, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 25281, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 25316, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 25349, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 25383, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 25422, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 25461, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 25483, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 25509, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 25533, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 25556, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 25578, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 25599, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 25620, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 25647, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 25679, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 25711, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 25746, 0x00001701 }, /* GL_PROJECTION */ + { 25760, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 25781, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 25807, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 25828, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 25847, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 25870, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 25909, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 25947, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 25967, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 25991, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 26011, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 26035, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 26055, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 26088, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 26114, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 26144, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 26175, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 26205, 0x00002003 }, /* GL_Q */ + { 26210, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 26235, 0x00000007 }, /* GL_QUADS */ + { 26244, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 26261, 0x00000008 }, /* GL_QUAD_STRIP */ + { 26275, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 26297, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 26323, 0x00008866 }, /* GL_QUERY_RESULT */ + { 26339, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 26359, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 26385, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 26415, 0x00002002 }, /* GL_R */ + { 26420, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 26432, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 26465, 0x00000C02 }, /* GL_READ_BUFFER */ + { 26480, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 26512, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 26536, 0x000088B8 }, /* GL_READ_ONLY */ + { 26549, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 26566, 0x000088BA }, /* GL_READ_WRITE */ + { 26580, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 26598, 0x00001903 }, /* GL_RED */ + { 26605, 0x00008016 }, /* GL_REDUCE */ + { 26615, 0x00008016 }, /* GL_REDUCE_EXT */ + { 26629, 0x00000D15 }, /* GL_RED_BIAS */ + { 26641, 0x00000D52 }, /* GL_RED_BITS */ + { 26653, 0x00000D14 }, /* GL_RED_SCALE */ + { 26666, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 26684, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 26706, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 26727, 0x00001C00 }, /* GL_RENDER */ + { 26737, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 26765, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 26785, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 26812, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 26848, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 26874, 0x00001F01 }, /* GL_RENDERER */ + { 26886, 0x00000C40 }, /* GL_RENDER_MODE */ + { 26901, 0x00002901 }, /* GL_REPEAT */ + { 26911, 0x00001E01 }, /* GL_REPLACE */ + { 26922, 0x00008062 }, /* GL_REPLACE_EXT */ + { 26937, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 26960, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 26978, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 27000, 0x00000102 }, /* GL_RETURN */ + { 27010, 0x00001907 }, /* GL_RGB */ + { 27017, 0x00008052 }, /* GL_RGB10 */ + { 27026, 0x00008059 }, /* GL_RGB10_A2 */ + { 27038, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 27054, 0x00008052 }, /* GL_RGB10_EXT */ + { 27067, 0x00008053 }, /* GL_RGB12 */ + { 27076, 0x00008053 }, /* GL_RGB12_EXT */ + { 27089, 0x00008054 }, /* GL_RGB16 */ + { 27098, 0x00008054 }, /* GL_RGB16_EXT */ + { 27111, 0x0000804E }, /* GL_RGB2_EXT */ + { 27123, 0x0000804F }, /* GL_RGB4 */ + { 27131, 0x0000804F }, /* GL_RGB4_EXT */ + { 27143, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 27156, 0x00008050 }, /* GL_RGB5 */ + { 27164, 0x00008057 }, /* GL_RGB5_A1 */ + { 27175, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 27190, 0x00008050 }, /* GL_RGB5_EXT */ + { 27202, 0x00008051 }, /* GL_RGB8 */ + { 27210, 0x00008051 }, /* GL_RGB8_EXT */ + { 27222, 0x00001908 }, /* GL_RGBA */ + { 27230, 0x0000805A }, /* GL_RGBA12 */ + { 27240, 0x0000805A }, /* GL_RGBA12_EXT */ + { 27254, 0x0000805B }, /* GL_RGBA16 */ + { 27264, 0x0000805B }, /* GL_RGBA16_EXT */ + { 27278, 0x00008055 }, /* GL_RGBA2 */ + { 27287, 0x00008055 }, /* GL_RGBA2_EXT */ + { 27300, 0x00008056 }, /* GL_RGBA4 */ + { 27309, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 27328, 0x00008056 }, /* GL_RGBA4_EXT */ + { 27341, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 27355, 0x00008058 }, /* GL_RGBA8 */ + { 27364, 0x00008058 }, /* GL_RGBA8_EXT */ + { 27377, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 27395, 0x00000C31 }, /* GL_RGBA_MODE */ + { 27408, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 27421, 0x000083A0 }, /* GL_RGB_S3TC */ + { 27433, 0x00008573 }, /* GL_RGB_SCALE */ + { 27446, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 27463, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 27480, 0x00000407 }, /* GL_RIGHT */ + { 27489, 0x00002000 }, /* GL_S */ + { 27494, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 27508, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 27529, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 27543, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 27564, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 27578, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 27594, 0x000080A9 }, /* GL_SAMPLES */ + { 27605, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 27621, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 27636, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 27654, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 27676, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 27704, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 27736, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 27759, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 27786, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 27804, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 27827, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 27849, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 27868, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 27891, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 27917, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 27947, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 27972, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 28001, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 28016, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 28031, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 28047, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 28072, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 28112, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 28156, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 28189, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 28219, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 28251, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 28281, 0x00001C02 }, /* GL_SELECT */ + { 28291, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 28319, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 28344, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 28360, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 28387, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 28418, 0x0000150F }, /* GL_SET */ + { 28425, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 28446, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 28470, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 28485, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 28500, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 28528, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 28551, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 28581, 0x00001601 }, /* GL_SHININESS */ + { 28594, 0x00001402 }, /* GL_SHORT */ + { 28603, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 28619, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 28639, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 28658, 0x00001D01 }, /* GL_SMOOTH */ + { 28668, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 28701, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 28728, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 28761, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 28788, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 28805, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 28826, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 28847, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 28862, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 28881, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 28900, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 28917, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 28938, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 28959, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 28974, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 28993, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 29012, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 29029, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 29050, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 29071, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 29086, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 29105, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 29124, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 29144, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 29162, 0x00001202 }, /* GL_SPECULAR */ + { 29174, 0x00002402 }, /* GL_SPHERE_MAP */ + { 29188, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 29203, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 29221, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 29238, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 29252, 0x00008580 }, /* GL_SRC0_RGB */ + { 29264, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 29278, 0x00008581 }, /* GL_SRC1_RGB */ + { 29290, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 29304, 0x00008582 }, /* GL_SRC2_RGB */ + { 29316, 0x00000302 }, /* GL_SRC_ALPHA */ + { 29329, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 29351, 0x00000300 }, /* GL_SRC_COLOR */ + { 29364, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 29382, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 29401, 0x000088E6 }, /* GL_STATIC_COPY */ + { 29416, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 29435, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 29450, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 29469, 0x000088E5 }, /* GL_STATIC_READ */ + { 29484, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 29503, 0x00001802 }, /* GL_STENCIL */ + { 29514, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 29540, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 29561, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 29586, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 29607, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 29632, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 29664, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 29700, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 29732, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 29768, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 29788, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 29815, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 29841, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 29857, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 29879, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 29902, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 29918, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 29934, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 29951, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 29974, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 29996, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 30018, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 30040, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 30061, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 30088, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 30115, 0x00000B97 }, /* GL_STENCIL_REF */ + { 30130, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 30146, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 30175, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 30197, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 30218, 0x00000C33 }, /* GL_STEREO */ + { 30228, 0x000088E2 }, /* GL_STREAM_COPY */ + { 30243, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 30262, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 30277, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 30296, 0x000088E1 }, /* GL_STREAM_READ */ + { 30311, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 30330, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 30347, 0x000084E7 }, /* GL_SUBTRACT */ + { 30359, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 30375, 0x00002001 }, /* GL_T */ + { 30380, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 30395, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 30414, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 30430, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 30445, 0x00002A27 }, /* GL_T2F_V3F */ + { 30456, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 30475, 0x00002A28 }, /* GL_T4F_V4F */ + { 30486, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 30509, 0x00001702 }, /* GL_TEXTURE */ + { 30520, 0x000084C0 }, /* GL_TEXTURE0 */ + { 30532, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 30548, 0x000084C1 }, /* GL_TEXTURE1 */ + { 30560, 0x000084CA }, /* GL_TEXTURE10 */ + { 30573, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 30590, 0x000084CB }, /* GL_TEXTURE11 */ + { 30603, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 30620, 0x000084CC }, /* GL_TEXTURE12 */ + { 30633, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 30650, 0x000084CD }, /* GL_TEXTURE13 */ + { 30663, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 30680, 0x000084CE }, /* GL_TEXTURE14 */ + { 30693, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 30710, 0x000084CF }, /* GL_TEXTURE15 */ + { 30723, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 30740, 0x000084D0 }, /* GL_TEXTURE16 */ + { 30753, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 30770, 0x000084D1 }, /* GL_TEXTURE17 */ + { 30783, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 30800, 0x000084D2 }, /* GL_TEXTURE18 */ + { 30813, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 30830, 0x000084D3 }, /* GL_TEXTURE19 */ + { 30843, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 30860, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 30876, 0x000084C2 }, /* GL_TEXTURE2 */ + { 30888, 0x000084D4 }, /* GL_TEXTURE20 */ + { 30901, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 30918, 0x000084D5 }, /* GL_TEXTURE21 */ + { 30931, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 30948, 0x000084D6 }, /* GL_TEXTURE22 */ + { 30961, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 30978, 0x000084D7 }, /* GL_TEXTURE23 */ + { 30991, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 31008, 0x000084D8 }, /* GL_TEXTURE24 */ + { 31021, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 31038, 0x000084D9 }, /* GL_TEXTURE25 */ + { 31051, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 31068, 0x000084DA }, /* GL_TEXTURE26 */ + { 31081, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 31098, 0x000084DB }, /* GL_TEXTURE27 */ + { 31111, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 31128, 0x000084DC }, /* GL_TEXTURE28 */ + { 31141, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 31158, 0x000084DD }, /* GL_TEXTURE29 */ + { 31171, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 31188, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 31204, 0x000084C3 }, /* GL_TEXTURE3 */ + { 31216, 0x000084DE }, /* GL_TEXTURE30 */ + { 31229, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 31246, 0x000084DF }, /* GL_TEXTURE31 */ + { 31259, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 31276, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 31292, 0x000084C4 }, /* GL_TEXTURE4 */ + { 31304, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 31320, 0x000084C5 }, /* GL_TEXTURE5 */ + { 31332, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 31348, 0x000084C6 }, /* GL_TEXTURE6 */ + { 31360, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 31376, 0x000084C7 }, /* GL_TEXTURE7 */ + { 31388, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 31404, 0x000084C8 }, /* GL_TEXTURE8 */ + { 31416, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 31432, 0x000084C9 }, /* GL_TEXTURE9 */ + { 31444, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 31460, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 31474, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 31488, 0x0000806F }, /* GL_TEXTURE_3D */ + { 31502, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 31524, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 31550, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 31572, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 31594, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 31616, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 31638, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 31666, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 31698, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 31731, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 31763, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 31778, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 31799, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 31824, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 31842, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 31866, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 31897, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 31927, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 31957, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 31992, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 32023, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 32061, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 32088, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 32120, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 32154, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 32178, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 32206, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 32230, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 32258, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 32291, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 32315, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 32337, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 32359, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 32385, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 32419, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 32452, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 32489, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 32517, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 32549, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 32572, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 32610, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 32652, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 32683, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 32711, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 32741, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 32769, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 32789, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 32813, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 32844, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 32879, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 32910, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 32945, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 32976, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 33011, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 33042, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 33077, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 33108, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 33143, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 33174, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 33209, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 33226, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 33248, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 33274, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 33289, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 33310, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 33330, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 33356, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 33376, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 33393, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 33410, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 33427, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 33444, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 33469, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 33491, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 33517, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 33535, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 33561, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 33587, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 33617, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 33644, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 33669, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 33689, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 33713, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 33740, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 33767, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 33794, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 33820, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 33850, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 33872, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 33890, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 33920, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 33948, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 33976, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 34004, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 34025, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 34044, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 34066, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 34085, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 34105, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 34130, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 34154, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 34174, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 34198, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 34218, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 34241, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 34266, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 34300, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 34317, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 34335, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 34353, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 34371, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 34391, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 34410, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 34439, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 34456, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 34482, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 34512, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 34544, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 34574, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 34608, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 34624, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 34655, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 34690, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 34718, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 34750, 0x00000004 }, /* GL_TRIANGLES */ + { 34763, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 34779, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 34800, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 34818, 0x00000001 }, /* GL_TRUE */ + { 34826, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 34846, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 34869, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 34889, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 34910, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 34932, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 34954, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 34974, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 34995, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 35012, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 35039, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 35062, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 35078, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 35105, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 35129, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 35160, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 35184, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 35212, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 35230, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 35260, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 35286, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 35316, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 35342, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 35366, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 35394, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 35422, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 35449, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 35481, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 35512, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 35526, 0x00002A20 }, /* GL_V2F */ + { 35533, 0x00002A21 }, /* GL_V3F */ + { 35540, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 35559, 0x00001F00 }, /* GL_VENDOR */ + { 35569, 0x00001F02 }, /* GL_VERSION */ + { 35580, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 35596, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 35626, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 35657, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 35692, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 35716, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 35737, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 35760, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 35781, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 35808, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 35836, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 35864, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 35892, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 35920, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 35948, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 35976, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 36003, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 36030, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 36057, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 36084, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 36111, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 36138, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 36165, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 36192, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 36219, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 36257, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 36299, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 36330, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 36365, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 36399, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 36437, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 36468, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 36503, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 36531, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 36563, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 36593, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 36627, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 36655, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 36687, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 36707, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 36729, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 36758, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 36779, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 36808, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 36841, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 36873, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 36900, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 36931, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 36961, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 36978, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 36999, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 37026, 0x00000BA2 }, /* GL_VIEWPORT */ + { 37038, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 37054, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 37074, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 37105, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 37140, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 37168, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 37193, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 37220, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 37245, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 37269, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 37288, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 37302, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 37320, 0x00001506 }, /* GL_XOR */ + { 37327, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 37346, 0x00008757 }, /* GL_YCBCR_MESA */ + { 37360, 0x00000000 }, /* GL_ZERO */ + { 37368, 0x00000D16 }, /* GL_ZOOM_X */ + { 37378, 0x00000D17 }, /* GL_ZOOM_Y */ }; -static const unsigned reduced_enums[1240] = +static const unsigned reduced_enums[1277] = { - 404, /* GL_FALSE */ - 576, /* GL_LINES */ - 578, /* GL_LINE_LOOP */ - 585, /* GL_LINE_STRIP */ - 1533, /* GL_TRIANGLES */ - 1536, /* GL_TRIANGLE_STRIP */ - 1534, /* GL_TRIANGLE_FAN */ - 1127, /* GL_QUADS */ - 1129, /* GL_QUAD_STRIP */ - 1017, /* GL_POLYGON */ - 1029, /* GL_POLYGON_STIPPLE_BIT */ - 983, /* GL_PIXEL_MODE_BIT */ - 563, /* GL_LIGHTING_BIT */ - 420, /* GL_FOG_BIT */ + 435, /* GL_FALSE */ + 643, /* GL_LINES */ + 645, /* GL_LINE_LOOP */ + 652, /* GL_LINE_STRIP */ + 1632, /* GL_TRIANGLES */ + 1635, /* GL_TRIANGLE_STRIP */ + 1633, /* GL_TRIANGLE_FAN */ + 1206, /* GL_QUADS */ + 1208, /* GL_QUAD_STRIP */ + 1096, /* GL_POLYGON */ + 1108, /* GL_POLYGON_STIPPLE_BIT */ + 1061, /* GL_PIXEL_MODE_BIT */ + 630, /* GL_LIGHTING_BIT */ + 457, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 594, /* GL_LOAD */ - 1169, /* GL_RETURN */ - 856, /* GL_MULT */ - 19, /* GL_ADD */ - 872, /* GL_NEVER */ - 553, /* GL_LESS */ - 394, /* GL_EQUAL */ - 552, /* GL_LEQUAL */ - 482, /* GL_GREATER */ - 887, /* GL_NOTEQUAL */ - 481, /* GL_GEQUAL */ - 42, /* GL_ALWAYS */ - 1293, /* GL_SRC_COLOR */ - 916, /* GL_ONE_MINUS_SRC_COLOR */ - 1291, /* GL_SRC_ALPHA */ - 915, /* GL_ONE_MINUS_SRC_ALPHA */ - 374, /* GL_DST_ALPHA */ - 913, /* GL_ONE_MINUS_DST_ALPHA */ - 375, /* GL_DST_COLOR */ - 914, /* GL_ONE_MINUS_DST_COLOR */ - 1292, /* GL_SRC_ALPHA_SATURATE */ - 469, /* GL_FRONT_LEFT */ - 470, /* GL_FRONT_RIGHT */ - 64, /* GL_BACK_LEFT */ - 65, /* GL_BACK_RIGHT */ - 466, /* GL_FRONT */ - 63, /* GL_BACK */ - 551, /* GL_LEFT */ - 1209, /* GL_RIGHT */ - 467, /* GL_FRONT_AND_BACK */ - 58, /* GL_AUX0 */ - 59, /* GL_AUX1 */ - 60, /* GL_AUX2 */ - 61, /* GL_AUX3 */ - 543, /* GL_INVALID_ENUM */ - 546, /* GL_INVALID_VALUE */ - 545, /* GL_INVALID_OPERATION */ - 1294, /* GL_STACK_OVERFLOW */ - 1295, /* GL_STACK_UNDERFLOW */ - 941, /* GL_OUT_OF_MEMORY */ - 544, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + 662, /* GL_LOAD */ + 1248, /* GL_RETURN */ + 934, /* GL_MULT */ + 23, /* GL_ADD */ + 950, /* GL_NEVER */ + 620, /* GL_LESS */ + 425, /* GL_EQUAL */ + 619, /* GL_LEQUAL */ + 545, /* GL_GREATER */ + 965, /* GL_NOTEQUAL */ + 520, /* GL_GEQUAL */ + 46, /* GL_ALWAYS */ + 1381, /* GL_SRC_COLOR */ + 994, /* GL_ONE_MINUS_SRC_COLOR */ + 1379, /* GL_SRC_ALPHA */ + 993, /* GL_ONE_MINUS_SRC_ALPHA */ + 405, /* GL_DST_ALPHA */ + 991, /* GL_ONE_MINUS_DST_ALPHA */ + 406, /* GL_DST_COLOR */ + 992, /* GL_ONE_MINUS_DST_COLOR */ + 1380, /* GL_SRC_ALPHA_SATURATE */ + 508, /* GL_FRONT_LEFT */ + 509, /* GL_FRONT_RIGHT */ + 69, /* GL_BACK_LEFT */ + 70, /* GL_BACK_RIGHT */ + 505, /* GL_FRONT */ + 68, /* GL_BACK */ + 618, /* GL_LEFT */ + 1288, /* GL_RIGHT */ + 506, /* GL_FRONT_AND_BACK */ + 63, /* GL_AUX0 */ + 64, /* GL_AUX1 */ + 65, /* GL_AUX2 */ + 66, /* GL_AUX3 */ + 610, /* GL_INVALID_ENUM */ + 613, /* GL_INVALID_VALUE */ + 612, /* GL_INVALID_OPERATION */ + 1382, /* GL_STACK_OVERFLOW */ + 1383, /* GL_STACK_UNDERFLOW */ + 1019, /* GL_OUT_OF_MEMORY */ + 611, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 961, /* GL_PASS_THROUGH_TOKEN */ - 1016, /* GL_POINT_TOKEN */ - 586, /* GL_LINE_TOKEN */ - 1030, /* GL_POLYGON_TOKEN */ - 69, /* GL_BITMAP_TOKEN */ - 373, /* GL_DRAW_PIXEL_TOKEN */ - 258, /* GL_COPY_PIXEL_TOKEN */ - 579, /* GL_LINE_RESET_TOKEN */ - 397, /* GL_EXP */ - 398, /* GL_EXP2 */ - 289, /* GL_CW */ - 106, /* GL_CCW */ - 127, /* GL_COEFF */ - 938, /* GL_ORDER */ - 328, /* GL_DOMAIN */ - 266, /* GL_CURRENT_COLOR */ - 269, /* GL_CURRENT_INDEX */ - 275, /* GL_CURRENT_NORMAL */ - 286, /* GL_CURRENT_TEXTURE_COORDS */ - 279, /* GL_CURRENT_RASTER_COLOR */ - 281, /* GL_CURRENT_RASTER_INDEX */ - 284, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ - 282, /* GL_CURRENT_RASTER_POSITION */ - 283, /* GL_CURRENT_RASTER_POSITION_VALID */ - 280, /* GL_CURRENT_RASTER_DISTANCE */ - 1010, /* GL_POINT_SMOOTH */ - 999, /* GL_POINT_SIZE */ - 1009, /* GL_POINT_SIZE_RANGE */ - 1000, /* GL_POINT_SIZE_GRANULARITY */ - 580, /* GL_LINE_SMOOTH */ - 587, /* GL_LINE_WIDTH */ - 589, /* GL_LINE_WIDTH_RANGE */ - 588, /* GL_LINE_WIDTH_GRANULARITY */ - 582, /* GL_LINE_STIPPLE */ - 583, /* GL_LINE_STIPPLE_PATTERN */ - 584, /* GL_LINE_STIPPLE_REPEAT */ - 593, /* GL_LIST_MODE */ - 747, /* GL_MAX_LIST_NESTING */ - 590, /* GL_LIST_BASE */ - 592, /* GL_LIST_INDEX */ - 1019, /* GL_POLYGON_MODE */ - 1026, /* GL_POLYGON_SMOOTH */ - 1028, /* GL_POLYGON_STIPPLE */ - 382, /* GL_EDGE_FLAG */ - 259, /* GL_CULL_FACE */ - 260, /* GL_CULL_FACE_MODE */ - 468, /* GL_FRONT_FACE */ - 562, /* GL_LIGHTING */ - 567, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 568, /* GL_LIGHT_MODEL_TWO_SIDE */ - 564, /* GL_LIGHT_MODEL_AMBIENT */ - 1247, /* GL_SHADE_MODEL */ - 158, /* GL_COLOR_MATERIAL_FACE */ - 159, /* GL_COLOR_MATERIAL_PARAMETER */ - 157, /* GL_COLOR_MATERIAL */ - 419, /* GL_FOG */ - 441, /* GL_FOG_INDEX */ - 437, /* GL_FOG_DENSITY */ - 445, /* GL_FOG_START */ - 439, /* GL_FOG_END */ - 442, /* GL_FOG_MODE */ - 421, /* GL_FOG_COLOR */ - 317, /* GL_DEPTH_RANGE */ - 322, /* GL_DEPTH_TEST */ - 325, /* GL_DEPTH_WRITEMASK */ - 305, /* GL_DEPTH_CLEAR_VALUE */ - 316, /* GL_DEPTH_FUNC */ + 1039, /* GL_PASS_THROUGH_TOKEN */ + 1095, /* GL_POINT_TOKEN */ + 653, /* GL_LINE_TOKEN */ + 1109, /* GL_POLYGON_TOKEN */ + 74, /* GL_BITMAP_TOKEN */ + 404, /* GL_DRAW_PIXEL_TOKEN */ + 270, /* GL_COPY_PIXEL_TOKEN */ + 646, /* GL_LINE_RESET_TOKEN */ + 428, /* GL_EXP */ + 429, /* GL_EXP2 */ + 303, /* GL_CW */ + 116, /* GL_CCW */ + 137, /* GL_COEFF */ + 1016, /* GL_ORDER */ + 343, /* GL_DOMAIN */ + 278, /* GL_CURRENT_COLOR */ + 281, /* GL_CURRENT_INDEX */ + 287, /* GL_CURRENT_NORMAL */ + 299, /* GL_CURRENT_TEXTURE_COORDS */ + 292, /* GL_CURRENT_RASTER_COLOR */ + 294, /* GL_CURRENT_RASTER_INDEX */ + 297, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + 295, /* GL_CURRENT_RASTER_POSITION */ + 296, /* GL_CURRENT_RASTER_POSITION_VALID */ + 293, /* GL_CURRENT_RASTER_DISTANCE */ + 1088, /* GL_POINT_SMOOTH */ + 1077, /* GL_POINT_SIZE */ + 1087, /* GL_POINT_SIZE_RANGE */ + 1078, /* GL_POINT_SIZE_GRANULARITY */ + 647, /* GL_LINE_SMOOTH */ + 654, /* GL_LINE_WIDTH */ + 656, /* GL_LINE_WIDTH_RANGE */ + 655, /* GL_LINE_WIDTH_GRANULARITY */ + 649, /* GL_LINE_STIPPLE */ + 650, /* GL_LINE_STIPPLE_PATTERN */ + 651, /* GL_LINE_STIPPLE_REPEAT */ + 661, /* GL_LIST_MODE */ + 819, /* GL_MAX_LIST_NESTING */ + 658, /* GL_LIST_BASE */ + 660, /* GL_LIST_INDEX */ + 1098, /* GL_POLYGON_MODE */ + 1105, /* GL_POLYGON_SMOOTH */ + 1107, /* GL_POLYGON_STIPPLE */ + 413, /* GL_EDGE_FLAG */ + 271, /* GL_CULL_FACE */ + 272, /* GL_CULL_FACE_MODE */ + 507, /* GL_FRONT_FACE */ + 629, /* GL_LIGHTING */ + 634, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 635, /* GL_LIGHT_MODEL_TWO_SIDE */ + 631, /* GL_LIGHT_MODEL_AMBIENT */ + 1334, /* GL_SHADE_MODEL */ + 168, /* GL_COLOR_MATERIAL_FACE */ + 169, /* GL_COLOR_MATERIAL_PARAMETER */ + 167, /* GL_COLOR_MATERIAL */ + 456, /* GL_FOG */ + 478, /* GL_FOG_INDEX */ + 474, /* GL_FOG_DENSITY */ + 482, /* GL_FOG_START */ + 476, /* GL_FOG_END */ + 479, /* GL_FOG_MODE */ + 458, /* GL_FOG_COLOR */ + 332, /* GL_DEPTH_RANGE */ + 337, /* GL_DEPTH_TEST */ + 340, /* GL_DEPTH_WRITEMASK */ + 320, /* GL_DEPTH_CLEAR_VALUE */ + 331, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1318, /* GL_STENCIL_TEST */ - 1306, /* GL_STENCIL_CLEAR_VALUE */ - 1308, /* GL_STENCIL_FUNC */ - 1320, /* GL_STENCIL_VALUE_MASK */ - 1307, /* GL_STENCIL_FAIL */ - 1315, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1316, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1317, /* GL_STENCIL_REF */ - 1321, /* GL_STENCIL_WRITEMASK */ - 720, /* GL_MATRIX_MODE */ - 877, /* GL_NORMALIZE */ - 1612, /* GL_VIEWPORT */ - 851, /* GL_MODELVIEW_STACK_DEPTH */ - 1109, /* GL_PROJECTION_STACK_DEPTH */ - 1512, /* GL_TEXTURE_STACK_DEPTH */ - 849, /* GL_MODELVIEW_MATRIX */ - 1108, /* GL_PROJECTION_MATRIX */ - 1497, /* GL_TEXTURE_MATRIX */ - 56, /* GL_ATTRIB_STACK_DEPTH */ - 117, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ - 39, /* GL_ALPHA_TEST */ - 40, /* GL_ALPHA_TEST_FUNC */ - 41, /* GL_ALPHA_TEST_REF */ - 327, /* GL_DITHER */ - 73, /* GL_BLEND_DST */ - 80, /* GL_BLEND_SRC */ - 70, /* GL_BLEND */ - 596, /* GL_LOGIC_OP_MODE */ - 521, /* GL_INDEX_LOGIC_OP */ - 156, /* GL_COLOR_LOGIC_OP */ - 62, /* GL_AUX_BUFFERS */ - 338, /* GL_DRAW_BUFFER */ - 1139, /* GL_READ_BUFFER */ - 1230, /* GL_SCISSOR_BOX */ - 1231, /* GL_SCISSOR_TEST */ - 520, /* GL_INDEX_CLEAR_VALUE */ - 525, /* GL_INDEX_WRITEMASK */ - 153, /* GL_COLOR_CLEAR_VALUE */ - 195, /* GL_COLOR_WRITEMASK */ - 522, /* GL_INDEX_MODE */ - 1203, /* GL_RGBA_MODE */ - 337, /* GL_DOUBLEBUFFER */ - 1322, /* GL_STEREO */ - 1162, /* GL_RENDER_MODE */ - 962, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1011, /* GL_POINT_SMOOTH_HINT */ - 581, /* GL_LINE_SMOOTH_HINT */ - 1027, /* GL_POLYGON_SMOOTH_HINT */ - 440, /* GL_FOG_HINT */ - 1478, /* GL_TEXTURE_GEN_S */ - 1479, /* GL_TEXTURE_GEN_T */ - 1477, /* GL_TEXTURE_GEN_R */ - 1476, /* GL_TEXTURE_GEN_Q */ - 975, /* GL_PIXEL_MAP_I_TO_I */ - 981, /* GL_PIXEL_MAP_S_TO_S */ - 977, /* GL_PIXEL_MAP_I_TO_R */ - 973, /* GL_PIXEL_MAP_I_TO_G */ - 971, /* GL_PIXEL_MAP_I_TO_B */ - 969, /* GL_PIXEL_MAP_I_TO_A */ - 979, /* GL_PIXEL_MAP_R_TO_R */ - 967, /* GL_PIXEL_MAP_G_TO_G */ - 965, /* GL_PIXEL_MAP_B_TO_B */ - 963, /* GL_PIXEL_MAP_A_TO_A */ - 976, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 982, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 978, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 974, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 972, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 970, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 980, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 968, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 966, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 964, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 1545, /* GL_UNPACK_SWAP_BYTES */ - 1540, /* GL_UNPACK_LSB_FIRST */ - 1541, /* GL_UNPACK_ROW_LENGTH */ - 1544, /* GL_UNPACK_SKIP_ROWS */ - 1543, /* GL_UNPACK_SKIP_PIXELS */ - 1538, /* GL_UNPACK_ALIGNMENT */ - 950, /* GL_PACK_SWAP_BYTES */ - 945, /* GL_PACK_LSB_FIRST */ - 946, /* GL_PACK_ROW_LENGTH */ - 949, /* GL_PACK_SKIP_ROWS */ - 948, /* GL_PACK_SKIP_PIXELS */ - 942, /* GL_PACK_ALIGNMENT */ - 673, /* GL_MAP_COLOR */ - 674, /* GL_MAP_STENCIL */ - 524, /* GL_INDEX_SHIFT */ - 523, /* GL_INDEX_OFFSET */ - 1151, /* GL_RED_SCALE */ - 1149, /* GL_RED_BIAS */ - 1629, /* GL_ZOOM_X */ - 1630, /* GL_ZOOM_Y */ - 486, /* GL_GREEN_SCALE */ - 484, /* GL_GREEN_BIAS */ - 86, /* GL_BLUE_SCALE */ - 84, /* GL_BLUE_BIAS */ - 38, /* GL_ALPHA_SCALE */ - 36, /* GL_ALPHA_BIAS */ - 318, /* GL_DEPTH_SCALE */ - 299, /* GL_DEPTH_BIAS */ - 743, /* GL_MAX_EVAL_ORDER */ - 746, /* GL_MAX_LIGHTS */ - 728, /* GL_MAX_CLIP_PLANES */ - 788, /* GL_MAX_TEXTURE_SIZE */ - 752, /* GL_MAX_PIXEL_MAP_TABLE */ - 724, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 749, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 750, /* GL_MAX_NAME_STACK_DEPTH */ - 778, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 789, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 799, /* GL_MAX_VIEWPORT_DIMS */ - 725, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1329, /* GL_SUBPIXEL_BITS */ - 519, /* GL_INDEX_BITS */ - 1150, /* GL_RED_BITS */ - 485, /* GL_GREEN_BITS */ - 85, /* GL_BLUE_BITS */ - 37, /* GL_ALPHA_BITS */ - 300, /* GL_DEPTH_BITS */ - 1304, /* GL_STENCIL_BITS */ + 1417, /* GL_STENCIL_TEST */ + 1405, /* GL_STENCIL_CLEAR_VALUE */ + 1407, /* GL_STENCIL_FUNC */ + 1419, /* GL_STENCIL_VALUE_MASK */ + 1406, /* GL_STENCIL_FAIL */ + 1414, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1415, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1416, /* GL_STENCIL_REF */ + 1420, /* GL_STENCIL_WRITEMASK */ + 789, /* GL_MATRIX_MODE */ + 955, /* GL_NORMALIZE */ + 1722, /* GL_VIEWPORT */ + 929, /* GL_MODELVIEW_STACK_DEPTH */ + 1188, /* GL_PROJECTION_STACK_DEPTH */ + 1611, /* GL_TEXTURE_STACK_DEPTH */ + 927, /* GL_MODELVIEW_MATRIX */ + 1187, /* GL_PROJECTION_MATRIX */ + 1596, /* GL_TEXTURE_MATRIX */ + 61, /* GL_ATTRIB_STACK_DEPTH */ + 127, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + 43, /* GL_ALPHA_TEST */ + 44, /* GL_ALPHA_TEST_FUNC */ + 45, /* GL_ALPHA_TEST_REF */ + 342, /* GL_DITHER */ + 78, /* GL_BLEND_DST */ + 86, /* GL_BLEND_SRC */ + 75, /* GL_BLEND */ + 664, /* GL_LOGIC_OP_MODE */ + 584, /* GL_INDEX_LOGIC_OP */ + 166, /* GL_COLOR_LOGIC_OP */ + 67, /* GL_AUX_BUFFERS */ + 353, /* GL_DRAW_BUFFER */ + 1218, /* GL_READ_BUFFER */ + 1315, /* GL_SCISSOR_BOX */ + 1316, /* GL_SCISSOR_TEST */ + 583, /* GL_INDEX_CLEAR_VALUE */ + 588, /* GL_INDEX_WRITEMASK */ + 163, /* GL_COLOR_CLEAR_VALUE */ + 205, /* GL_COLOR_WRITEMASK */ + 585, /* GL_INDEX_MODE */ + 1282, /* GL_RGBA_MODE */ + 352, /* GL_DOUBLEBUFFER */ + 1421, /* GL_STEREO */ + 1241, /* GL_RENDER_MODE */ + 1040, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1089, /* GL_POINT_SMOOTH_HINT */ + 648, /* GL_LINE_SMOOTH_HINT */ + 1106, /* GL_POLYGON_SMOOTH_HINT */ + 477, /* GL_FOG_HINT */ + 1577, /* GL_TEXTURE_GEN_S */ + 1578, /* GL_TEXTURE_GEN_T */ + 1576, /* GL_TEXTURE_GEN_R */ + 1575, /* GL_TEXTURE_GEN_Q */ + 1053, /* GL_PIXEL_MAP_I_TO_I */ + 1059, /* GL_PIXEL_MAP_S_TO_S */ + 1055, /* GL_PIXEL_MAP_I_TO_R */ + 1051, /* GL_PIXEL_MAP_I_TO_G */ + 1049, /* GL_PIXEL_MAP_I_TO_B */ + 1047, /* GL_PIXEL_MAP_I_TO_A */ + 1057, /* GL_PIXEL_MAP_R_TO_R */ + 1045, /* GL_PIXEL_MAP_G_TO_G */ + 1043, /* GL_PIXEL_MAP_B_TO_B */ + 1041, /* GL_PIXEL_MAP_A_TO_A */ + 1054, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1060, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1056, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1052, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1050, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1048, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1058, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1046, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1044, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1042, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 1644, /* GL_UNPACK_SWAP_BYTES */ + 1639, /* GL_UNPACK_LSB_FIRST */ + 1640, /* GL_UNPACK_ROW_LENGTH */ + 1643, /* GL_UNPACK_SKIP_ROWS */ + 1642, /* GL_UNPACK_SKIP_PIXELS */ + 1637, /* GL_UNPACK_ALIGNMENT */ + 1028, /* GL_PACK_SWAP_BYTES */ + 1023, /* GL_PACK_LSB_FIRST */ + 1024, /* GL_PACK_ROW_LENGTH */ + 1027, /* GL_PACK_SKIP_ROWS */ + 1026, /* GL_PACK_SKIP_PIXELS */ + 1020, /* GL_PACK_ALIGNMENT */ + 742, /* GL_MAP_COLOR */ + 743, /* GL_MAP_STENCIL */ + 587, /* GL_INDEX_SHIFT */ + 586, /* GL_INDEX_OFFSET */ + 1230, /* GL_RED_SCALE */ + 1228, /* GL_RED_BIAS */ + 1739, /* GL_ZOOM_X */ + 1740, /* GL_ZOOM_Y */ + 549, /* GL_GREEN_SCALE */ + 547, /* GL_GREEN_BIAS */ + 92, /* GL_BLUE_SCALE */ + 90, /* GL_BLUE_BIAS */ + 42, /* GL_ALPHA_SCALE */ + 40, /* GL_ALPHA_BIAS */ + 333, /* GL_DEPTH_SCALE */ + 314, /* GL_DEPTH_BIAS */ + 814, /* GL_MAX_EVAL_ORDER */ + 818, /* GL_MAX_LIGHTS */ + 797, /* GL_MAX_CLIP_PLANES */ + 862, /* GL_MAX_TEXTURE_SIZE */ + 824, /* GL_MAX_PIXEL_MAP_TABLE */ + 793, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 821, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 822, /* GL_MAX_NAME_STACK_DEPTH */ + 850, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 863, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 877, /* GL_MAX_VIEWPORT_DIMS */ + 794, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1428, /* GL_SUBPIXEL_BITS */ + 582, /* GL_INDEX_BITS */ + 1229, /* GL_RED_BITS */ + 548, /* GL_GREEN_BITS */ + 91, /* GL_BLUE_BITS */ + 41, /* GL_ALPHA_BITS */ + 315, /* GL_DEPTH_BITS */ + 1403, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 865, /* GL_NAME_STACK_DEPTH */ - 57, /* GL_AUTO_NORMAL */ - 619, /* GL_MAP1_COLOR_4 */ - 622, /* GL_MAP1_INDEX */ - 623, /* GL_MAP1_NORMAL */ - 624, /* GL_MAP1_TEXTURE_COORD_1 */ - 625, /* GL_MAP1_TEXTURE_COORD_2 */ - 626, /* GL_MAP1_TEXTURE_COORD_3 */ - 627, /* GL_MAP1_TEXTURE_COORD_4 */ - 628, /* GL_MAP1_VERTEX_3 */ - 629, /* GL_MAP1_VERTEX_4 */ - 646, /* GL_MAP2_COLOR_4 */ - 649, /* GL_MAP2_INDEX */ - 650, /* GL_MAP2_NORMAL */ - 651, /* GL_MAP2_TEXTURE_COORD_1 */ - 652, /* GL_MAP2_TEXTURE_COORD_2 */ - 653, /* GL_MAP2_TEXTURE_COORD_3 */ - 654, /* GL_MAP2_TEXTURE_COORD_4 */ - 655, /* GL_MAP2_VERTEX_3 */ - 656, /* GL_MAP2_VERTEX_4 */ - 620, /* GL_MAP1_GRID_DOMAIN */ - 621, /* GL_MAP1_GRID_SEGMENTS */ - 647, /* GL_MAP2_GRID_DOMAIN */ - 648, /* GL_MAP2_GRID_SEGMENTS */ - 1406, /* GL_TEXTURE_1D */ - 1407, /* GL_TEXTURE_2D */ - 407, /* GL_FEEDBACK_BUFFER_POINTER */ - 408, /* GL_FEEDBACK_BUFFER_SIZE */ - 409, /* GL_FEEDBACK_BUFFER_TYPE */ - 1240, /* GL_SELECTION_BUFFER_POINTER */ - 1241, /* GL_SELECTION_BUFFER_SIZE */ - 1515, /* GL_TEXTURE_WIDTH */ - 1483, /* GL_TEXTURE_HEIGHT */ - 1439, /* GL_TEXTURE_COMPONENTS */ - 1423, /* GL_TEXTURE_BORDER_COLOR */ - 1422, /* GL_TEXTURE_BORDER */ - 329, /* GL_DONT_CARE */ - 405, /* GL_FASTEST */ - 873, /* GL_NICEST */ - 43, /* GL_AMBIENT */ - 326, /* GL_DIFFUSE */ - 1280, /* GL_SPECULAR */ - 1031, /* GL_POSITION */ - 1283, /* GL_SPOT_DIRECTION */ - 1284, /* GL_SPOT_EXPONENT */ - 1282, /* GL_SPOT_CUTOFF */ - 233, /* GL_CONSTANT_ATTENUATION */ - 571, /* GL_LINEAR_ATTENUATION */ - 1126, /* GL_QUADRATIC_ATTENUATION */ - 208, /* GL_COMPILE */ - 209, /* GL_COMPILE_AND_EXECUTE */ - 101, /* GL_BYTE */ - 1546, /* GL_UNSIGNED_BYTE */ - 1251, /* GL_SHORT */ - 1555, /* GL_UNSIGNED_SHORT */ - 526, /* GL_INT */ - 1549, /* GL_UNSIGNED_INT */ - 412, /* GL_FLOAT */ + 943, /* GL_NAME_STACK_DEPTH */ + 62, /* GL_AUTO_NORMAL */ + 688, /* GL_MAP1_COLOR_4 */ + 691, /* GL_MAP1_INDEX */ + 692, /* GL_MAP1_NORMAL */ + 693, /* GL_MAP1_TEXTURE_COORD_1 */ + 694, /* GL_MAP1_TEXTURE_COORD_2 */ + 695, /* GL_MAP1_TEXTURE_COORD_3 */ + 696, /* GL_MAP1_TEXTURE_COORD_4 */ + 697, /* GL_MAP1_VERTEX_3 */ + 698, /* GL_MAP1_VERTEX_4 */ + 715, /* GL_MAP2_COLOR_4 */ + 718, /* GL_MAP2_INDEX */ + 719, /* GL_MAP2_NORMAL */ + 720, /* GL_MAP2_TEXTURE_COORD_1 */ + 721, /* GL_MAP2_TEXTURE_COORD_2 */ + 722, /* GL_MAP2_TEXTURE_COORD_3 */ + 723, /* GL_MAP2_TEXTURE_COORD_4 */ + 724, /* GL_MAP2_VERTEX_3 */ + 725, /* GL_MAP2_VERTEX_4 */ + 689, /* GL_MAP1_GRID_DOMAIN */ + 690, /* GL_MAP1_GRID_SEGMENTS */ + 716, /* GL_MAP2_GRID_DOMAIN */ + 717, /* GL_MAP2_GRID_SEGMENTS */ + 1505, /* GL_TEXTURE_1D */ + 1506, /* GL_TEXTURE_2D */ + 438, /* GL_FEEDBACK_BUFFER_POINTER */ + 439, /* GL_FEEDBACK_BUFFER_SIZE */ + 440, /* GL_FEEDBACK_BUFFER_TYPE */ + 1325, /* GL_SELECTION_BUFFER_POINTER */ + 1326, /* GL_SELECTION_BUFFER_SIZE */ + 1614, /* GL_TEXTURE_WIDTH */ + 1582, /* GL_TEXTURE_HEIGHT */ + 1538, /* GL_TEXTURE_COMPONENTS */ + 1522, /* GL_TEXTURE_BORDER_COLOR */ + 1521, /* GL_TEXTURE_BORDER */ + 344, /* GL_DONT_CARE */ + 436, /* GL_FASTEST */ + 951, /* GL_NICEST */ + 47, /* GL_AMBIENT */ + 341, /* GL_DIFFUSE */ + 1368, /* GL_SPECULAR */ + 1110, /* GL_POSITION */ + 1371, /* GL_SPOT_DIRECTION */ + 1372, /* GL_SPOT_EXPONENT */ + 1370, /* GL_SPOT_CUTOFF */ + 244, /* GL_CONSTANT_ATTENUATION */ + 638, /* GL_LINEAR_ATTENUATION */ + 1205, /* GL_QUADRATIC_ATTENUATION */ + 218, /* GL_COMPILE */ + 219, /* GL_COMPILE_AND_EXECUTE */ + 111, /* GL_BYTE */ + 1645, /* GL_UNSIGNED_BYTE */ + 1339, /* GL_SHORT */ + 1654, /* GL_UNSIGNED_SHORT */ + 590, /* GL_INT */ + 1648, /* GL_UNSIGNED_INT */ + 443, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ 7, /* GL_4_BYTES */ - 336, /* GL_DOUBLE */ - 113, /* GL_CLEAR */ - 45, /* GL_AND */ - 47, /* GL_AND_REVERSE */ - 256, /* GL_COPY */ - 46, /* GL_AND_INVERTED */ - 875, /* GL_NOOP */ - 1625, /* GL_XOR */ - 937, /* GL_OR */ - 876, /* GL_NOR */ - 395, /* GL_EQUIV */ - 549, /* GL_INVERT */ - 940, /* GL_OR_REVERSE */ - 257, /* GL_COPY_INVERTED */ - 939, /* GL_OR_INVERTED */ - 866, /* GL_NAND */ - 1245, /* GL_SET */ - 392, /* GL_EMISSION */ - 1250, /* GL_SHININESS */ - 44, /* GL_AMBIENT_AND_DIFFUSE */ - 155, /* GL_COLOR_INDEXES */ - 816, /* GL_MODELVIEW */ - 1107, /* GL_PROJECTION */ - 1341, /* GL_TEXTURE */ - 128, /* GL_COLOR */ - 297, /* GL_DEPTH */ - 1302, /* GL_STENCIL */ - 154, /* GL_COLOR_INDEX */ - 1309, /* GL_STENCIL_INDEX */ - 306, /* GL_DEPTH_COMPONENT */ - 1146, /* GL_RED */ - 483, /* GL_GREEN */ - 83, /* GL_BLUE */ - 27, /* GL_ALPHA */ - 1170, /* GL_RGB */ - 1189, /* GL_RGBA */ - 597, /* GL_LUMINANCE */ - 618, /* GL_LUMINANCE_ALPHA */ - 68, /* GL_BITMAP */ - 988, /* GL_POINT */ - 569, /* GL_LINE */ - 410, /* GL_FILL */ - 1155, /* GL_RENDER */ - 406, /* GL_FEEDBACK */ - 1239, /* GL_SELECT */ - 411, /* GL_FLAT */ - 1255, /* GL_SMOOTH */ - 550, /* GL_KEEP */ - 1164, /* GL_REPLACE */ - 510, /* GL_INCR */ - 294, /* GL_DECR */ - 1568, /* GL_VENDOR */ - 1161, /* GL_RENDERER */ - 1569, /* GL_VERSION */ - 399, /* GL_EXTENSIONS */ - 1210, /* GL_S */ - 1332, /* GL_T */ - 1136, /* GL_R */ - 1125, /* GL_Q */ - 852, /* GL_MODULATE */ - 293, /* GL_DECAL */ - 1473, /* GL_TEXTURE_ENV_MODE */ - 1472, /* GL_TEXTURE_ENV_COLOR */ - 1471, /* GL_TEXTURE_ENV */ - 400, /* GL_EYE_LINEAR */ - 899, /* GL_OBJECT_LINEAR */ - 1281, /* GL_SPHERE_MAP */ - 1475, /* GL_TEXTURE_GEN_MODE */ - 901, /* GL_OBJECT_PLANE */ - 401, /* GL_EYE_PLANE */ - 867, /* GL_NEAREST */ - 570, /* GL_LINEAR */ - 871, /* GL_NEAREST_MIPMAP_NEAREST */ - 575, /* GL_LINEAR_MIPMAP_NEAREST */ - 870, /* GL_NEAREST_MIPMAP_LINEAR */ - 574, /* GL_LINEAR_MIPMAP_LINEAR */ - 1496, /* GL_TEXTURE_MAG_FILTER */ - 1504, /* GL_TEXTURE_MIN_FILTER */ - 1517, /* GL_TEXTURE_WRAP_S */ - 1518, /* GL_TEXTURE_WRAP_T */ - 107, /* GL_CLAMP */ - 1163, /* GL_REPEAT */ - 1025, /* GL_POLYGON_OFFSET_UNITS */ - 1024, /* GL_POLYGON_OFFSET_POINT */ - 1023, /* GL_POLYGON_OFFSET_LINE */ - 1137, /* GL_R3_G3_B2 */ - 1566, /* GL_V2F */ - 1567, /* GL_V3F */ - 104, /* GL_C4UB_V2F */ - 105, /* GL_C4UB_V3F */ - 102, /* GL_C3F_V3F */ - 864, /* GL_N3F_V3F */ - 103, /* GL_C4F_N3F_V3F */ - 1337, /* GL_T2F_V3F */ - 1339, /* GL_T4F_V4F */ - 1335, /* GL_T2F_C4UB_V3F */ - 1333, /* GL_T2F_C3F_V3F */ - 1336, /* GL_T2F_N3F_V3F */ - 1334, /* GL_T2F_C4F_N3F_V3F */ - 1338, /* GL_T4F_C4F_N3F_V4F */ - 120, /* GL_CLIP_PLANE0 */ - 121, /* GL_CLIP_PLANE1 */ - 122, /* GL_CLIP_PLANE2 */ - 123, /* GL_CLIP_PLANE3 */ - 124, /* GL_CLIP_PLANE4 */ - 125, /* GL_CLIP_PLANE5 */ - 554, /* GL_LIGHT0 */ - 555, /* GL_LIGHT1 */ - 556, /* GL_LIGHT2 */ - 557, /* GL_LIGHT3 */ - 558, /* GL_LIGHT4 */ - 559, /* GL_LIGHT5 */ - 560, /* GL_LIGHT6 */ - 561, /* GL_LIGHT7 */ - 487, /* GL_HINT_BIT */ - 235, /* GL_CONSTANT_COLOR */ - 911, /* GL_ONE_MINUS_CONSTANT_COLOR */ - 230, /* GL_CONSTANT_ALPHA */ - 909, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - 71, /* GL_BLEND_COLOR */ - 471, /* GL_FUNC_ADD */ - 800, /* GL_MIN */ - 722, /* GL_MAX */ - 76, /* GL_BLEND_EQUATION */ - 475, /* GL_FUNC_SUBTRACT */ - 473, /* GL_FUNC_REVERSE_SUBTRACT */ - 238, /* GL_CONVOLUTION_1D */ - 239, /* GL_CONVOLUTION_2D */ - 1242, /* GL_SEPARABLE_2D */ - 242, /* GL_CONVOLUTION_BORDER_MODE */ - 246, /* GL_CONVOLUTION_FILTER_SCALE */ - 244, /* GL_CONVOLUTION_FILTER_BIAS */ - 1147, /* GL_REDUCE */ - 248, /* GL_CONVOLUTION_FORMAT */ - 252, /* GL_CONVOLUTION_WIDTH */ - 250, /* GL_CONVOLUTION_HEIGHT */ - 735, /* GL_MAX_CONVOLUTION_WIDTH */ - 733, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1064, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1060, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1055, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1051, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1062, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1058, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1053, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1049, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - 488, /* GL_HISTOGRAM */ - 1111, /* GL_PROXY_HISTOGRAM */ - 504, /* GL_HISTOGRAM_WIDTH */ - 494, /* GL_HISTOGRAM_FORMAT */ - 500, /* GL_HISTOGRAM_RED_SIZE */ - 496, /* GL_HISTOGRAM_GREEN_SIZE */ - 491, /* GL_HISTOGRAM_BLUE_SIZE */ - 489, /* GL_HISTOGRAM_ALPHA_SIZE */ - 498, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - 502, /* GL_HISTOGRAM_SINK */ - 801, /* GL_MINMAX */ - 803, /* GL_MINMAX_FORMAT */ - 805, /* GL_MINMAX_SINK */ - 1340, /* GL_TABLE_TOO_LARGE_EXT */ - 1548, /* GL_UNSIGNED_BYTE_3_3_2 */ - 1557, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 1559, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 1553, /* GL_UNSIGNED_INT_8_8_8_8 */ - 1550, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1022, /* GL_POLYGON_OFFSET_FILL */ - 1021, /* GL_POLYGON_OFFSET_FACTOR */ - 1020, /* GL_POLYGON_OFFSET_BIAS */ - 1167, /* GL_RESCALE_NORMAL */ - 32, /* GL_ALPHA4 */ - 34, /* GL_ALPHA8 */ - 28, /* GL_ALPHA12 */ - 30, /* GL_ALPHA16 */ - 608, /* GL_LUMINANCE4 */ - 614, /* GL_LUMINANCE8 */ - 598, /* GL_LUMINANCE12 */ - 604, /* GL_LUMINANCE16 */ - 609, /* GL_LUMINANCE4_ALPHA4 */ - 612, /* GL_LUMINANCE6_ALPHA2 */ - 615, /* GL_LUMINANCE8_ALPHA8 */ - 601, /* GL_LUMINANCE12_ALPHA4 */ - 599, /* GL_LUMINANCE12_ALPHA12 */ - 605, /* GL_LUMINANCE16_ALPHA16 */ - 527, /* GL_INTENSITY */ - 532, /* GL_INTENSITY4 */ - 534, /* GL_INTENSITY8 */ - 528, /* GL_INTENSITY12 */ - 530, /* GL_INTENSITY16 */ - 1179, /* GL_RGB2_EXT */ - 1180, /* GL_RGB4 */ - 1183, /* GL_RGB5 */ - 1187, /* GL_RGB8 */ - 1171, /* GL_RGB10 */ - 1175, /* GL_RGB12 */ - 1177, /* GL_RGB16 */ - 1194, /* GL_RGBA2 */ - 1196, /* GL_RGBA4 */ - 1184, /* GL_RGB5_A1 */ - 1200, /* GL_RGBA8 */ - 1172, /* GL_RGB10_A2 */ - 1190, /* GL_RGBA12 */ - 1192, /* GL_RGBA16 */ - 1509, /* GL_TEXTURE_RED_SIZE */ - 1481, /* GL_TEXTURE_GREEN_SIZE */ - 1420, /* GL_TEXTURE_BLUE_SIZE */ - 1409, /* GL_TEXTURE_ALPHA_SIZE */ - 1494, /* GL_TEXTURE_LUMINANCE_SIZE */ - 1485, /* GL_TEXTURE_INTENSITY_SIZE */ - 1165, /* GL_REPLACE_EXT */ - 1115, /* GL_PROXY_TEXTURE_1D */ - 1117, /* GL_PROXY_TEXTURE_2D */ - 1513, /* GL_TEXTURE_TOO_LARGE_EXT */ - 1506, /* GL_TEXTURE_PRIORITY */ - 1511, /* GL_TEXTURE_RESIDENT */ - 1412, /* GL_TEXTURE_BINDING_1D */ - 1413, /* GL_TEXTURE_BINDING_2D */ - 1414, /* GL_TEXTURE_BINDING_3D */ - 947, /* GL_PACK_SKIP_IMAGES */ - 943, /* GL_PACK_IMAGE_HEIGHT */ - 1542, /* GL_UNPACK_SKIP_IMAGES */ - 1539, /* GL_UNPACK_IMAGE_HEIGHT */ - 1408, /* GL_TEXTURE_3D */ - 1119, /* GL_PROXY_TEXTURE_3D */ - 1468, /* GL_TEXTURE_DEPTH */ - 1516, /* GL_TEXTURE_WRAP_R */ - 723, /* GL_MAX_3D_TEXTURE_SIZE */ - 1570, /* GL_VERTEX_ARRAY */ - 878, /* GL_NORMAL_ARRAY */ - 129, /* GL_COLOR_ARRAY */ - 513, /* GL_INDEX_ARRAY */ - 1447, /* GL_TEXTURE_COORD_ARRAY */ - 383, /* GL_EDGE_FLAG_ARRAY */ - 1575, /* GL_VERTEX_ARRAY_SIZE */ - 1577, /* GL_VERTEX_ARRAY_TYPE */ - 1576, /* GL_VERTEX_ARRAY_STRIDE */ - 883, /* GL_NORMAL_ARRAY_TYPE */ - 882, /* GL_NORMAL_ARRAY_STRIDE */ - 133, /* GL_COLOR_ARRAY_SIZE */ - 135, /* GL_COLOR_ARRAY_TYPE */ - 134, /* GL_COLOR_ARRAY_STRIDE */ - 518, /* GL_INDEX_ARRAY_TYPE */ - 517, /* GL_INDEX_ARRAY_STRIDE */ - 1451, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 1453, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 1452, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - 387, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 1574, /* GL_VERTEX_ARRAY_POINTER */ - 881, /* GL_NORMAL_ARRAY_POINTER */ - 132, /* GL_COLOR_ARRAY_POINTER */ - 516, /* GL_INDEX_ARRAY_POINTER */ - 1450, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - 386, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 857, /* GL_MULTISAMPLE */ - 1216, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1218, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1223, /* GL_SAMPLE_COVERAGE */ - 1220, /* GL_SAMPLE_BUFFERS */ - 1211, /* GL_SAMPLES */ - 1227, /* GL_SAMPLE_COVERAGE_VALUE */ - 1225, /* GL_SAMPLE_COVERAGE_INVERT */ - 160, /* GL_COLOR_MATRIX */ - 162, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 730, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1047, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1043, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1038, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1034, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1045, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1041, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1036, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1032, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 1430, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1120, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 1432, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - 75, /* GL_BLEND_DST_RGB */ - 82, /* GL_BLEND_SRC_RGB */ - 74, /* GL_BLEND_DST_ALPHA */ - 81, /* GL_BLEND_SRC_ALPHA */ - 166, /* GL_COLOR_TABLE */ - 1057, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1040, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1110, /* GL_PROXY_COLOR_TABLE */ - 1114, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1113, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - 190, /* GL_COLOR_TABLE_SCALE */ - 170, /* GL_COLOR_TABLE_BIAS */ - 175, /* GL_COLOR_TABLE_FORMAT */ - 192, /* GL_COLOR_TABLE_WIDTH */ - 187, /* GL_COLOR_TABLE_RED_SIZE */ - 178, /* GL_COLOR_TABLE_GREEN_SIZE */ - 172, /* GL_COLOR_TABLE_BLUE_SIZE */ - 167, /* GL_COLOR_TABLE_ALPHA_SIZE */ - 184, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ - 181, /* GL_COLOR_TABLE_INTENSITY_SIZE */ - 66, /* GL_BGR */ - 67, /* GL_BGRA */ - 742, /* GL_MAX_ELEMENTS_VERTICES */ - 741, /* GL_MAX_ELEMENTS_INDICES */ - 1484, /* GL_TEXTURE_INDEX_SIZE_EXT */ - 126, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1005, /* GL_POINT_SIZE_MIN */ - 1001, /* GL_POINT_SIZE_MAX */ - 995, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 991, /* GL_POINT_DISTANCE_ATTENUATION */ - 108, /* GL_CLAMP_TO_BORDER */ - 111, /* GL_CLAMP_TO_EDGE */ - 1505, /* GL_TEXTURE_MIN_LOD */ - 1503, /* GL_TEXTURE_MAX_LOD */ - 1411, /* GL_TEXTURE_BASE_LEVEL */ - 1502, /* GL_TEXTURE_MAX_LEVEL */ - 507, /* GL_IGNORE_BORDER_HP */ - 234, /* GL_CONSTANT_BORDER_HP */ - 1166, /* GL_REPLICATE_BORDER_HP */ - 240, /* GL_CONVOLUTION_BORDER_COLOR */ - 906, /* GL_OCCLUSION_TEST_HP */ - 907, /* GL_OCCLUSION_TEST_RESULT_HP */ - 572, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 1424, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 1426, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 1428, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 1429, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1427, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 1425, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 726, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 727, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1067, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1069, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1066, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1068, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 1492, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 1493, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 1491, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - 477, /* GL_GENERATE_MIPMAP */ - 478, /* GL_GENERATE_MIPMAP_HINT */ - 443, /* GL_FOG_OFFSET_SGIX */ - 444, /* GL_FOG_OFFSET_VALUE_SGIX */ - 1438, /* GL_TEXTURE_COMPARE_SGIX */ - 1437, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 1488, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 1480, /* GL_TEXTURE_GEQUAL_R_SGIX */ - 307, /* GL_DEPTH_COMPONENT16 */ - 310, /* GL_DEPTH_COMPONENT24 */ - 313, /* GL_DEPTH_COMPONENT32 */ - 261, /* GL_CULL_VERTEX_EXT */ - 263, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ - 262, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 1622, /* GL_WRAP_BORDER_SUN */ - 1431, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 565, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1252, /* GL_SINGLE_COLOR */ - 1243, /* GL_SEPARATE_SPECULAR_COLOR */ - 1249, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - 1547, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 1560, /* GL_UNSIGNED_SHORT_5_6_5 */ - 1561, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 1558, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 1556, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 1554, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 1552, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 1500, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 1501, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 1499, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 808, /* GL_MIRRORED_REPEAT */ - 1205, /* GL_RGB_S3TC */ - 1182, /* GL_RGB4_S3TC */ - 1204, /* GL_RGBA_S3TC */ - 1199, /* GL_RGBA4_S3TC */ - 1202, /* GL_RGBA_DXT5_S3TC */ - 1197, /* GL_RGBA4_DXT5_S3TC */ - 227, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ - 222, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ - 223, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ - 224, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 869, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 868, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 573, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - 430, /* GL_FOG_COORDINATE_SOURCE */ - 422, /* GL_FOG_COORD */ - 446, /* GL_FRAGMENT_DEPTH */ - 267, /* GL_CURRENT_FOG_COORD */ - 429, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - 428, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - 427, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - 424, /* GL_FOG_COORDINATE_ARRAY */ - 164, /* GL_COLOR_SUM */ - 285, /* GL_CURRENT_SECONDARY_COLOR */ - 1236, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1238, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1237, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1235, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1232, /* GL_SECONDARY_COLOR_ARRAY */ - 24, /* GL_ALIASED_POINT_SIZE_RANGE */ - 23, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1342, /* GL_TEXTURE0 */ - 1344, /* GL_TEXTURE1 */ - 1366, /* GL_TEXTURE2 */ - 1388, /* GL_TEXTURE3 */ - 1394, /* GL_TEXTURE4 */ - 1396, /* GL_TEXTURE5 */ - 1398, /* GL_TEXTURE6 */ - 1400, /* GL_TEXTURE7 */ - 1402, /* GL_TEXTURE8 */ - 1404, /* GL_TEXTURE9 */ - 1345, /* GL_TEXTURE10 */ - 1347, /* GL_TEXTURE11 */ - 1349, /* GL_TEXTURE12 */ - 1351, /* GL_TEXTURE13 */ - 1353, /* GL_TEXTURE14 */ - 1355, /* GL_TEXTURE15 */ - 1357, /* GL_TEXTURE16 */ - 1359, /* GL_TEXTURE17 */ - 1361, /* GL_TEXTURE18 */ - 1363, /* GL_TEXTURE19 */ - 1367, /* GL_TEXTURE20 */ - 1369, /* GL_TEXTURE21 */ - 1371, /* GL_TEXTURE22 */ - 1373, /* GL_TEXTURE23 */ - 1375, /* GL_TEXTURE24 */ - 1377, /* GL_TEXTURE25 */ - 1379, /* GL_TEXTURE26 */ - 1381, /* GL_TEXTURE27 */ - 1383, /* GL_TEXTURE28 */ - 1385, /* GL_TEXTURE29 */ - 1389, /* GL_TEXTURE30 */ - 1391, /* GL_TEXTURE31 */ - 16, /* GL_ACTIVE_TEXTURE */ - 114, /* GL_CLIENT_ACTIVE_TEXTURE */ - 790, /* GL_MAX_TEXTURE_UNITS */ - 1526, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 1529, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 1531, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 1523, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1330, /* GL_SUBTRACT */ - 781, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - 210, /* GL_COMPRESSED_ALPHA */ - 214, /* GL_COMPRESSED_LUMINANCE */ - 215, /* GL_COMPRESSED_LUMINANCE_ALPHA */ - 212, /* GL_COMPRESSED_INTENSITY */ - 218, /* GL_COMPRESSED_RGB */ - 219, /* GL_COMPRESSED_RGBA */ - 1445, /* GL_TEXTURE_COMPRESSION_HINT */ - 1507, /* GL_TEXTURE_RECTANGLE_ARB */ - 1417, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - 1123, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - 779, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - 319, /* GL_DEPTH_STENCIL_NV */ - 1551, /* GL_UNSIGNED_INT_24_8_NV */ - 786, /* GL_MAX_TEXTURE_LOD_BIAS */ - 1498, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 787, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 1474, /* GL_TEXTURE_FILTER_CONTROL */ - 1489, /* GL_TEXTURE_LOD_BIAS */ - 197, /* GL_COMBINE4 */ - 782, /* GL_MAX_SHININESS_NV */ - 783, /* GL_MAX_SPOT_EXPONENT_NV */ - 511, /* GL_INCR_WRAP */ - 295, /* GL_DECR_WRAP */ - 828, /* GL_MODELVIEW1_ARB */ - 884, /* GL_NORMAL_MAP */ - 1152, /* GL_REFLECTION_MAP */ - 1454, /* GL_TEXTURE_CUBE_MAP */ - 1415, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 1462, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 1456, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 1464, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 1458, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 1466, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 1460, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1121, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 737, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 863, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - 438, /* GL_FOG_DISTANCE_MODE_NV */ - 403, /* GL_EYE_RADIAL_NV */ - 402, /* GL_EYE_PLANE_ABSOLUTE_NV */ - 196, /* GL_COMBINE */ - 203, /* GL_COMBINE_RGB */ - 198, /* GL_COMBINE_ALPHA */ - 1206, /* GL_RGB_SCALE */ - 20, /* GL_ADD_SIGNED */ - 537, /* GL_INTERPOLATE */ - 229, /* GL_CONSTANT */ - 1073, /* GL_PRIMARY_COLOR */ - 1070, /* GL_PREVIOUS */ - 1263, /* GL_SOURCE0_RGB */ - 1269, /* GL_SOURCE1_RGB */ - 1275, /* GL_SOURCE2_RGB */ - 1279, /* GL_SOURCE3_RGB_NV */ - 1260, /* GL_SOURCE0_ALPHA */ - 1266, /* GL_SOURCE1_ALPHA */ - 1272, /* GL_SOURCE2_ALPHA */ - 1278, /* GL_SOURCE3_ALPHA_NV */ - 920, /* GL_OPERAND0_RGB */ - 926, /* GL_OPERAND1_RGB */ - 932, /* GL_OPERAND2_RGB */ - 936, /* GL_OPERAND3_RGB_NV */ - 917, /* GL_OPERAND0_ALPHA */ - 923, /* GL_OPERAND1_ALPHA */ - 929, /* GL_OPERAND2_ALPHA */ - 935, /* GL_OPERAND3_ALPHA_NV */ - 1571, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - 1626, /* GL_YCBCR_422_APPLE */ - 1562, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 1564, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 1254, /* GL_SLICE_ACCUM_SUN */ - 1128, /* GL_QUAD_MESH_SUN */ - 1535, /* GL_TRIANGLE_MESH_SUN */ - 1603, /* GL_VERTEX_PROGRAM_ARB */ - 1611, /* GL_VERTEX_STATE_PROGRAM_NV */ - 1596, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - 1599, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - 1600, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - 1601, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - 287, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ - 1086, /* GL_PROGRAM_LENGTH_ARB */ - 1100, /* GL_PROGRAM_STRING_ARB */ - 850, /* GL_MODELVIEW_PROJECTION_NV */ - 506, /* GL_IDENTITY_NV */ - 547, /* GL_INVERSE_NV */ - 1528, /* GL_TRANSPOSE_NV */ - 548, /* GL_INVERSE_TRANSPOSE_NV */ - 765, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 764, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 676, /* GL_MATRIX0_NV */ - 688, /* GL_MATRIX1_NV */ - 700, /* GL_MATRIX2_NV */ - 704, /* GL_MATRIX3_NV */ - 706, /* GL_MATRIX4_NV */ - 708, /* GL_MATRIX5_NV */ - 710, /* GL_MATRIX6_NV */ - 712, /* GL_MATRIX7_NV */ - 273, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ - 270, /* GL_CURRENT_MATRIX_ARB */ - 1606, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - 1608, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - 1098, /* GL_PROGRAM_PARAMETER_NV */ - 1598, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - 1102, /* GL_PROGRAM_TARGET_NV */ - 1099, /* GL_PROGRAM_RESIDENT_NV */ - 1520, /* GL_TRACK_MATRIX_NV */ - 1521, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 1604, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1080, /* GL_PROGRAM_ERROR_POSITION_ARB */ - 304, /* GL_DEPTH_CLAMP_NV */ - 1578, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 1585, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 1586, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 1587, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 1588, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 1589, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 1590, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 1591, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 1592, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 1593, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 1579, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 1580, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 1581, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 1582, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 1583, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 1584, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 630, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 637, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 638, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 639, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 640, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 641, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 642, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 643, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 644, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 645, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 631, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 632, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 633, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 634, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 635, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 636, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 657, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 664, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 665, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 666, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 667, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 668, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 669, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1079, /* GL_PROGRAM_BINDING_ARB */ - 671, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 672, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 658, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 659, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 660, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 661, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 662, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 663, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 1443, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 1440, /* GL_TEXTURE_COMPRESSED */ - 889, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - 228, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 798, /* GL_MAX_VERTEX_UNITS_ARB */ - 18, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 1621, /* GL_WEIGHT_SUM_UNITY_ARB */ - 1602, /* GL_VERTEX_BLEND_ARB */ - 288, /* GL_CURRENT_WEIGHT_ARB */ - 1620, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 1619, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 1618, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 1617, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 1614, /* GL_WEIGHT_ARRAY_ARB */ - 330, /* GL_DOT3_RGB */ - 331, /* GL_DOT3_RGBA */ - 226, /* GL_COMPRESSED_RGB_FXT1_3DFX */ - 221, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 858, /* GL_MULTISAMPLE_3DFX */ - 1221, /* GL_SAMPLE_BUFFERS_3DFX */ - 1212, /* GL_SAMPLES_3DFX */ - 839, /* GL_MODELVIEW2_ARB */ - 842, /* GL_MODELVIEW3_ARB */ - 843, /* GL_MODELVIEW4_ARB */ - 844, /* GL_MODELVIEW5_ARB */ - 845, /* GL_MODELVIEW6_ARB */ - 846, /* GL_MODELVIEW7_ARB */ - 847, /* GL_MODELVIEW8_ARB */ - 848, /* GL_MODELVIEW9_ARB */ - 818, /* GL_MODELVIEW10_ARB */ - 819, /* GL_MODELVIEW11_ARB */ - 820, /* GL_MODELVIEW12_ARB */ - 821, /* GL_MODELVIEW13_ARB */ - 822, /* GL_MODELVIEW14_ARB */ - 823, /* GL_MODELVIEW15_ARB */ - 824, /* GL_MODELVIEW16_ARB */ - 825, /* GL_MODELVIEW17_ARB */ - 826, /* GL_MODELVIEW18_ARB */ - 827, /* GL_MODELVIEW19_ARB */ - 829, /* GL_MODELVIEW20_ARB */ - 830, /* GL_MODELVIEW21_ARB */ - 831, /* GL_MODELVIEW22_ARB */ - 832, /* GL_MODELVIEW23_ARB */ - 833, /* GL_MODELVIEW24_ARB */ - 834, /* GL_MODELVIEW25_ARB */ - 835, /* GL_MODELVIEW26_ARB */ - 836, /* GL_MODELVIEW27_ARB */ - 837, /* GL_MODELVIEW28_ARB */ - 838, /* GL_MODELVIEW29_ARB */ - 840, /* GL_MODELVIEW30_ARB */ - 841, /* GL_MODELVIEW31_ARB */ - 335, /* GL_DOT3_RGB_EXT */ - 333, /* GL_DOT3_RGBA_EXT */ - 812, /* GL_MIRROR_CLAMP_EXT */ - 815, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 853, /* GL_MODULATE_ADD_ATI */ - 854, /* GL_MODULATE_SIGNED_ADD_ATI */ - 855, /* GL_MODULATE_SUBTRACT_ATI */ - 1627, /* GL_YCBCR_MESA */ - 944, /* GL_PACK_INVERT_MESA */ - 291, /* GL_DEBUG_OBJECT_MESA */ - 292, /* GL_DEBUG_PRINT_MESA */ - 290, /* GL_DEBUG_ASSERT_MESA */ - 97, /* GL_BUFFER_SIZE */ - 99, /* GL_BUFFER_USAGE */ - 447, /* GL_FRAGMENT_PROGRAM_ARB */ - 1077, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1105, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1104, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1089, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1095, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1094, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 754, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 777, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 776, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 767, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 773, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 772, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 739, /* GL_MAX_DRAW_BUFFERS_ARB */ - 339, /* GL_DRAW_BUFFER0_ARB */ - 353, /* GL_DRAW_BUFFER1_ARB */ - 355, /* GL_DRAW_BUFFER2_ARB */ - 357, /* GL_DRAW_BUFFER3_ARB */ - 359, /* GL_DRAW_BUFFER4_ARB */ - 361, /* GL_DRAW_BUFFER5_ARB */ - 363, /* GL_DRAW_BUFFER6_ARB */ - 365, /* GL_DRAW_BUFFER7_ARB */ - 367, /* GL_DRAW_BUFFER8_ARB */ - 369, /* GL_DRAW_BUFFER9_ARB */ - 341, /* GL_DRAW_BUFFER10_ARB */ - 343, /* GL_DRAW_BUFFER11_ARB */ - 345, /* GL_DRAW_BUFFER12_ARB */ - 347, /* GL_DRAW_BUFFER13_ARB */ - 349, /* GL_DRAW_BUFFER14_ARB */ - 351, /* GL_DRAW_BUFFER15_ARB */ - 77, /* GL_BLEND_EQUATION_ALPHA_EXT */ - 721, /* GL_MATRIX_PALETTE_ARB */ - 748, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 751, /* GL_MAX_PALETTE_MATRICES_ARB */ - 276, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 715, /* GL_MATRIX_INDEX_ARRAY_ARB */ - 271, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 717, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 719, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 718, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 716, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 1469, /* GL_TEXTURE_DEPTH_SIZE */ - 323, /* GL_DEPTH_TEXTURE_MODE */ - 1435, /* GL_TEXTURE_COMPARE_MODE */ - 1433, /* GL_TEXTURE_COMPARE_FUNC */ - 206, /* GL_COMPARE_R_TO_TEXTURE */ - 1012, /* GL_POINT_SPRITE_ARB */ - 254, /* GL_COORD_REPLACE_ARB */ - 1015, /* GL_POINT_SPRITE_R_MODE_NV */ - 1130, /* GL_QUERY_COUNTER_BITS */ - 277, /* GL_CURRENT_QUERY */ - 1132, /* GL_QUERY_RESULT */ - 1134, /* GL_QUERY_RESULT_AVAILABLE */ - 795, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - 1597, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - 321, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - 320, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 784, /* GL_MAX_TEXTURE_COORDS_ARB */ - 785, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - 1082, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1084, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1083, /* GL_PROGRAM_FORMAT_ARB */ - 1514, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - 302, /* GL_DEPTH_BOUNDS_TEST_EXT */ - 301, /* GL_DEPTH_BOUNDS_EXT */ - 48, /* GL_ARRAY_BUFFER */ - 388, /* GL_ELEMENT_ARRAY_BUFFER */ - 50, /* GL_ARRAY_BUFFER_BINDING */ - 390, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 1572, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 879, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - 130, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - 514, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 1448, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - 384, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1233, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - 425, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 1615, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 1594, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1085, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 760, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1091, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 769, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1103, /* GL_PROGRAM_TEMPORARIES_ARB */ - 775, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1093, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 771, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1097, /* GL_PROGRAM_PARAMETERS_ARB */ - 774, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1092, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 770, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1078, /* GL_PROGRAM_ATTRIBS_ARB */ - 755, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1090, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 768, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1076, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 753, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1088, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 766, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 761, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 757, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1106, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 1525, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1142, /* GL_READ_ONLY */ - 1623, /* GL_WRITE_ONLY */ - 1144, /* GL_READ_WRITE */ - 91, /* GL_BUFFER_ACCESS */ - 93, /* GL_BUFFER_MAPPED */ - 95, /* GL_BUFFER_MAP_POINTER */ - 1519, /* GL_TIME_ELAPSED_EXT */ - 675, /* GL_MATRIX0_ARB */ - 687, /* GL_MATRIX1_ARB */ - 699, /* GL_MATRIX2_ARB */ - 703, /* GL_MATRIX3_ARB */ - 705, /* GL_MATRIX4_ARB */ - 707, /* GL_MATRIX5_ARB */ - 709, /* GL_MATRIX6_ARB */ - 711, /* GL_MATRIX7_ARB */ - 713, /* GL_MATRIX8_ARB */ - 714, /* GL_MATRIX9_ARB */ - 677, /* GL_MATRIX10_ARB */ - 678, /* GL_MATRIX11_ARB */ - 679, /* GL_MATRIX12_ARB */ - 680, /* GL_MATRIX13_ARB */ - 681, /* GL_MATRIX14_ARB */ - 682, /* GL_MATRIX15_ARB */ - 683, /* GL_MATRIX16_ARB */ - 684, /* GL_MATRIX17_ARB */ - 685, /* GL_MATRIX18_ARB */ - 686, /* GL_MATRIX19_ARB */ - 689, /* GL_MATRIX20_ARB */ - 690, /* GL_MATRIX21_ARB */ - 691, /* GL_MATRIX22_ARB */ - 692, /* GL_MATRIX23_ARB */ - 693, /* GL_MATRIX24_ARB */ - 694, /* GL_MATRIX25_ARB */ - 695, /* GL_MATRIX26_ARB */ - 696, /* GL_MATRIX27_ARB */ - 697, /* GL_MATRIX28_ARB */ - 698, /* GL_MATRIX29_ARB */ - 701, /* GL_MATRIX30_ARB */ - 702, /* GL_MATRIX31_ARB */ - 1325, /* GL_STREAM_DRAW */ - 1327, /* GL_STREAM_READ */ - 1323, /* GL_STREAM_COPY */ - 1298, /* GL_STATIC_DRAW */ - 1300, /* GL_STATIC_READ */ - 1296, /* GL_STATIC_COPY */ - 378, /* GL_DYNAMIC_DRAW */ - 380, /* GL_DYNAMIC_READ */ - 376, /* GL_DYNAMIC_COPY */ - 985, /* GL_PIXEL_PACK_BUFFER_EXT */ - 987, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - 984, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - 986, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - 758, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - 756, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 759, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 763, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 762, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 1319, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - 15, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 813, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1214, /* GL_SAMPLES_PASSED */ - 448, /* GL_FRAGMENT_SHADER_ARB */ - 1610, /* GL_VERTEX_SHADER_ARB */ - 1096, /* GL_PROGRAM_OBJECT_ARB */ - 1246, /* GL_SHADER_OBJECT_ARB */ - 745, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - 797, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - 794, /* GL_MAX_VARYING_FLOATS_ARB */ - 796, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - 732, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - 904, /* GL_OBJECT_TYPE_ARB */ - 903, /* GL_OBJECT_SUBTYPE_ARB */ - 416, /* GL_FLOAT_VEC2_ARB */ - 417, /* GL_FLOAT_VEC3_ARB */ - 418, /* GL_FLOAT_VEC4_ARB */ - 540, /* GL_INT_VEC2_ARB */ - 541, /* GL_INT_VEC3_ARB */ - 542, /* GL_INT_VEC4_ARB */ - 87, /* GL_BOOL_ARB */ - 88, /* GL_BOOL_VEC2_ARB */ - 89, /* GL_BOOL_VEC3_ARB */ - 90, /* GL_BOOL_VEC4_ARB */ - 413, /* GL_FLOAT_MAT2_ARB */ - 414, /* GL_FLOAT_MAT3_ARB */ - 415, /* GL_FLOAT_MAT4_ARB */ - 897, /* GL_OBJECT_DELETE_STATUS_ARB */ - 896, /* GL_OBJECT_COMPILE_STATUS_ARB */ - 900, /* GL_OBJECT_LINK_STATUS_ARB */ - 905, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - 898, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - 895, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - 893, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - 894, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - 902, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - 891, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - 892, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - 953, /* GL_PALETTE4_RGB8_OES */ - 955, /* GL_PALETTE4_RGBA8_OES */ - 951, /* GL_PALETTE4_R5_G6_B5_OES */ - 954, /* GL_PALETTE4_RGBA4_OES */ - 952, /* GL_PALETTE4_RGB5_A1_OES */ - 958, /* GL_PALETTE8_RGB8_OES */ - 960, /* GL_PALETTE8_RGBA8_OES */ - 956, /* GL_PALETTE8_R5_G6_B5_OES */ - 959, /* GL_PALETTE8_RGBA4_OES */ - 957, /* GL_PALETTE8_RGB5_A1_OES */ - 509, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - 508, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - 1013, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 371, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - 1156, /* GL_RENDERBUFFER_BINDING_EXT */ - 1141, /* GL_READ_FRAMEBUFFER_EXT */ - 372, /* GL_DRAW_FRAMEBUFFER_EXT */ - 1140, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - 450, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ - 449, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ - 453, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ - 452, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ - 451, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ - 455, /* GL_FRAMEBUFFER_COMPLETE_EXT */ - 457, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ - 462, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ - 460, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - 458, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - 461, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - 459, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - 463, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - 465, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ - 464, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 729, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - 136, /* GL_COLOR_ATTACHMENT0_EXT */ - 143, /* GL_COLOR_ATTACHMENT1_EXT */ - 144, /* GL_COLOR_ATTACHMENT2_EXT */ - 145, /* GL_COLOR_ATTACHMENT3_EXT */ - 146, /* GL_COLOR_ATTACHMENT4_EXT */ - 147, /* GL_COLOR_ATTACHMENT5_EXT */ - 148, /* GL_COLOR_ATTACHMENT6_EXT */ - 149, /* GL_COLOR_ATTACHMENT7_EXT */ - 150, /* GL_COLOR_ATTACHMENT8_EXT */ - 151, /* GL_COLOR_ATTACHMENT9_EXT */ - 137, /* GL_COLOR_ATTACHMENT10_EXT */ - 138, /* GL_COLOR_ATTACHMENT11_EXT */ - 139, /* GL_COLOR_ATTACHMENT12_EXT */ - 140, /* GL_COLOR_ATTACHMENT13_EXT */ - 141, /* GL_COLOR_ATTACHMENT14_EXT */ - 142, /* GL_COLOR_ATTACHMENT15_EXT */ - 298, /* GL_DEPTH_ATTACHMENT_EXT */ - 1303, /* GL_STENCIL_ATTACHMENT_EXT */ - 456, /* GL_FRAMEBUFFER_EXT */ - 1157, /* GL_RENDERBUFFER_EXT */ - 1160, /* GL_RENDERBUFFER_WIDTH_EXT */ - 1158, /* GL_RENDERBUFFER_HEIGHT_EXT */ - 1159, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - 1314, /* GL_STENCIL_INDEX_EXT */ - 1311, /* GL_STENCIL_INDEX1_EXT */ - 1312, /* GL_STENCIL_INDEX4_EXT */ - 1313, /* GL_STENCIL_INDEX8_EXT */ - 1310, /* GL_STENCIL_INDEX16_EXT */ - 396, /* GL_EVAL_BIT */ - 1138, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 591, /* GL_LIST_BIT */ - 1419, /* GL_TEXTURE_BIT */ - 1229, /* GL_SCISSOR_BIT */ - 25, /* GL_ALL_ATTRIB_BITS */ - 860, /* GL_MULTISAMPLE_BIT */ - 26, /* GL_ALL_CLIENT_ATTRIB_BITS */ + 351, /* GL_DOUBLE */ + 123, /* GL_CLEAR */ + 49, /* GL_AND */ + 51, /* GL_AND_REVERSE */ + 268, /* GL_COPY */ + 50, /* GL_AND_INVERTED */ + 953, /* GL_NOOP */ + 1735, /* GL_XOR */ + 1015, /* GL_OR */ + 954, /* GL_NOR */ + 426, /* GL_EQUIV */ + 616, /* GL_INVERT */ + 1018, /* GL_OR_REVERSE */ + 269, /* GL_COPY_INVERTED */ + 1017, /* GL_OR_INVERTED */ + 944, /* GL_NAND */ + 1330, /* GL_SET */ + 423, /* GL_EMISSION */ + 1338, /* GL_SHININESS */ + 48, /* GL_AMBIENT_AND_DIFFUSE */ + 165, /* GL_COLOR_INDEXES */ + 894, /* GL_MODELVIEW */ + 1186, /* GL_PROJECTION */ + 1440, /* GL_TEXTURE */ + 138, /* GL_COLOR */ + 312, /* GL_DEPTH */ + 1390, /* GL_STENCIL */ + 164, /* GL_COLOR_INDEX */ + 1408, /* GL_STENCIL_INDEX */ + 321, /* GL_DEPTH_COMPONENT */ + 1225, /* GL_RED */ + 546, /* GL_GREEN */ + 89, /* GL_BLUE */ + 31, /* GL_ALPHA */ + 1249, /* GL_RGB */ + 1268, /* GL_RGBA */ + 666, /* GL_LUMINANCE */ + 687, /* GL_LUMINANCE_ALPHA */ + 73, /* GL_BITMAP */ + 1066, /* GL_POINT */ + 636, /* GL_LINE */ + 441, /* GL_FILL */ + 1234, /* GL_RENDER */ + 437, /* GL_FEEDBACK */ + 1324, /* GL_SELECT */ + 442, /* GL_FLAT */ + 1343, /* GL_SMOOTH */ + 617, /* GL_KEEP */ + 1243, /* GL_REPLACE */ + 573, /* GL_INCR */ + 308, /* GL_DECR */ + 1669, /* GL_VENDOR */ + 1240, /* GL_RENDERER */ + 1670, /* GL_VERSION */ + 430, /* GL_EXTENSIONS */ + 1289, /* GL_S */ + 1431, /* GL_T */ + 1215, /* GL_R */ + 1204, /* GL_Q */ + 930, /* GL_MODULATE */ + 307, /* GL_DECAL */ + 1572, /* GL_TEXTURE_ENV_MODE */ + 1571, /* GL_TEXTURE_ENV_COLOR */ + 1570, /* GL_TEXTURE_ENV */ + 431, /* GL_EYE_LINEAR */ + 977, /* GL_OBJECT_LINEAR */ + 1369, /* GL_SPHERE_MAP */ + 1574, /* GL_TEXTURE_GEN_MODE */ + 979, /* GL_OBJECT_PLANE */ + 432, /* GL_EYE_PLANE */ + 945, /* GL_NEAREST */ + 637, /* GL_LINEAR */ + 949, /* GL_NEAREST_MIPMAP_NEAREST */ + 642, /* GL_LINEAR_MIPMAP_NEAREST */ + 948, /* GL_NEAREST_MIPMAP_LINEAR */ + 641, /* GL_LINEAR_MIPMAP_LINEAR */ + 1595, /* GL_TEXTURE_MAG_FILTER */ + 1603, /* GL_TEXTURE_MIN_FILTER */ + 1616, /* GL_TEXTURE_WRAP_S */ + 1617, /* GL_TEXTURE_WRAP_T */ + 117, /* GL_CLAMP */ + 1242, /* GL_REPEAT */ + 1104, /* GL_POLYGON_OFFSET_UNITS */ + 1103, /* GL_POLYGON_OFFSET_POINT */ + 1102, /* GL_POLYGON_OFFSET_LINE */ + 1216, /* GL_R3_G3_B2 */ + 1666, /* GL_V2F */ + 1667, /* GL_V3F */ + 114, /* GL_C4UB_V2F */ + 115, /* GL_C4UB_V3F */ + 112, /* GL_C3F_V3F */ + 942, /* GL_N3F_V3F */ + 113, /* GL_C4F_N3F_V3F */ + 1436, /* GL_T2F_V3F */ + 1438, /* GL_T4F_V4F */ + 1434, /* GL_T2F_C4UB_V3F */ + 1432, /* GL_T2F_C3F_V3F */ + 1435, /* GL_T2F_N3F_V3F */ + 1433, /* GL_T2F_C4F_N3F_V3F */ + 1437, /* GL_T4F_C4F_N3F_V4F */ + 130, /* GL_CLIP_PLANE0 */ + 131, /* GL_CLIP_PLANE1 */ + 132, /* GL_CLIP_PLANE2 */ + 133, /* GL_CLIP_PLANE3 */ + 134, /* GL_CLIP_PLANE4 */ + 135, /* GL_CLIP_PLANE5 */ + 621, /* GL_LIGHT0 */ + 622, /* GL_LIGHT1 */ + 623, /* GL_LIGHT2 */ + 624, /* GL_LIGHT3 */ + 625, /* GL_LIGHT4 */ + 626, /* GL_LIGHT5 */ + 627, /* GL_LIGHT6 */ + 628, /* GL_LIGHT7 */ + 550, /* GL_HINT_BIT */ + 246, /* GL_CONSTANT_COLOR */ + 989, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 241, /* GL_CONSTANT_ALPHA */ + 987, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 76, /* GL_BLEND_COLOR */ + 510, /* GL_FUNC_ADD */ + 878, /* GL_MIN */ + 791, /* GL_MAX */ + 81, /* GL_BLEND_EQUATION */ + 514, /* GL_FUNC_SUBTRACT */ + 512, /* GL_FUNC_REVERSE_SUBTRACT */ + 249, /* GL_CONVOLUTION_1D */ + 250, /* GL_CONVOLUTION_2D */ + 1327, /* GL_SEPARABLE_2D */ + 253, /* GL_CONVOLUTION_BORDER_MODE */ + 257, /* GL_CONVOLUTION_FILTER_SCALE */ + 255, /* GL_CONVOLUTION_FILTER_BIAS */ + 1226, /* GL_REDUCE */ + 259, /* GL_CONVOLUTION_FORMAT */ + 263, /* GL_CONVOLUTION_WIDTH */ + 261, /* GL_CONVOLUTION_HEIGHT */ + 805, /* GL_MAX_CONVOLUTION_WIDTH */ + 803, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1143, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1139, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1134, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1130, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1141, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1137, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1132, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1128, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 551, /* GL_HISTOGRAM */ + 1190, /* GL_PROXY_HISTOGRAM */ + 567, /* GL_HISTOGRAM_WIDTH */ + 557, /* GL_HISTOGRAM_FORMAT */ + 563, /* GL_HISTOGRAM_RED_SIZE */ + 559, /* GL_HISTOGRAM_GREEN_SIZE */ + 554, /* GL_HISTOGRAM_BLUE_SIZE */ + 552, /* GL_HISTOGRAM_ALPHA_SIZE */ + 561, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 565, /* GL_HISTOGRAM_SINK */ + 879, /* GL_MINMAX */ + 881, /* GL_MINMAX_FORMAT */ + 883, /* GL_MINMAX_SINK */ + 1439, /* GL_TABLE_TOO_LARGE_EXT */ + 1647, /* GL_UNSIGNED_BYTE_3_3_2 */ + 1656, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 1658, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 1652, /* GL_UNSIGNED_INT_8_8_8_8 */ + 1649, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1101, /* GL_POLYGON_OFFSET_FILL */ + 1100, /* GL_POLYGON_OFFSET_FACTOR */ + 1099, /* GL_POLYGON_OFFSET_BIAS */ + 1246, /* GL_RESCALE_NORMAL */ + 36, /* GL_ALPHA4 */ + 38, /* GL_ALPHA8 */ + 32, /* GL_ALPHA12 */ + 34, /* GL_ALPHA16 */ + 677, /* GL_LUMINANCE4 */ + 683, /* GL_LUMINANCE8 */ + 667, /* GL_LUMINANCE12 */ + 673, /* GL_LUMINANCE16 */ + 678, /* GL_LUMINANCE4_ALPHA4 */ + 681, /* GL_LUMINANCE6_ALPHA2 */ + 684, /* GL_LUMINANCE8_ALPHA8 */ + 670, /* GL_LUMINANCE12_ALPHA4 */ + 668, /* GL_LUMINANCE12_ALPHA12 */ + 674, /* GL_LUMINANCE16_ALPHA16 */ + 591, /* GL_INTENSITY */ + 596, /* GL_INTENSITY4 */ + 598, /* GL_INTENSITY8 */ + 592, /* GL_INTENSITY12 */ + 594, /* GL_INTENSITY16 */ + 1258, /* GL_RGB2_EXT */ + 1259, /* GL_RGB4 */ + 1262, /* GL_RGB5 */ + 1266, /* GL_RGB8 */ + 1250, /* GL_RGB10 */ + 1254, /* GL_RGB12 */ + 1256, /* GL_RGB16 */ + 1273, /* GL_RGBA2 */ + 1275, /* GL_RGBA4 */ + 1263, /* GL_RGB5_A1 */ + 1279, /* GL_RGBA8 */ + 1251, /* GL_RGB10_A2 */ + 1269, /* GL_RGBA12 */ + 1271, /* GL_RGBA16 */ + 1608, /* GL_TEXTURE_RED_SIZE */ + 1580, /* GL_TEXTURE_GREEN_SIZE */ + 1519, /* GL_TEXTURE_BLUE_SIZE */ + 1508, /* GL_TEXTURE_ALPHA_SIZE */ + 1593, /* GL_TEXTURE_LUMINANCE_SIZE */ + 1584, /* GL_TEXTURE_INTENSITY_SIZE */ + 1244, /* GL_REPLACE_EXT */ + 1194, /* GL_PROXY_TEXTURE_1D */ + 1196, /* GL_PROXY_TEXTURE_2D */ + 1612, /* GL_TEXTURE_TOO_LARGE_EXT */ + 1605, /* GL_TEXTURE_PRIORITY */ + 1610, /* GL_TEXTURE_RESIDENT */ + 1511, /* GL_TEXTURE_BINDING_1D */ + 1512, /* GL_TEXTURE_BINDING_2D */ + 1513, /* GL_TEXTURE_BINDING_3D */ + 1025, /* GL_PACK_SKIP_IMAGES */ + 1021, /* GL_PACK_IMAGE_HEIGHT */ + 1641, /* GL_UNPACK_SKIP_IMAGES */ + 1638, /* GL_UNPACK_IMAGE_HEIGHT */ + 1507, /* GL_TEXTURE_3D */ + 1198, /* GL_PROXY_TEXTURE_3D */ + 1567, /* GL_TEXTURE_DEPTH */ + 1615, /* GL_TEXTURE_WRAP_R */ + 792, /* GL_MAX_3D_TEXTURE_SIZE */ + 1671, /* GL_VERTEX_ARRAY */ + 956, /* GL_NORMAL_ARRAY */ + 139, /* GL_COLOR_ARRAY */ + 576, /* GL_INDEX_ARRAY */ + 1546, /* GL_TEXTURE_COORD_ARRAY */ + 414, /* GL_EDGE_FLAG_ARRAY */ + 1676, /* GL_VERTEX_ARRAY_SIZE */ + 1678, /* GL_VERTEX_ARRAY_TYPE */ + 1677, /* GL_VERTEX_ARRAY_STRIDE */ + 961, /* GL_NORMAL_ARRAY_TYPE */ + 960, /* GL_NORMAL_ARRAY_STRIDE */ + 143, /* GL_COLOR_ARRAY_SIZE */ + 145, /* GL_COLOR_ARRAY_TYPE */ + 144, /* GL_COLOR_ARRAY_STRIDE */ + 581, /* GL_INDEX_ARRAY_TYPE */ + 580, /* GL_INDEX_ARRAY_STRIDE */ + 1550, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 1552, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 1551, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 418, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + 1675, /* GL_VERTEX_ARRAY_POINTER */ + 959, /* GL_NORMAL_ARRAY_POINTER */ + 142, /* GL_COLOR_ARRAY_POINTER */ + 579, /* GL_INDEX_ARRAY_POINTER */ + 1549, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 417, /* GL_EDGE_FLAG_ARRAY_POINTER */ + 935, /* GL_MULTISAMPLE */ + 1301, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1303, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1308, /* GL_SAMPLE_COVERAGE */ + 1305, /* GL_SAMPLE_BUFFERS */ + 1296, /* GL_SAMPLES */ + 1312, /* GL_SAMPLE_COVERAGE_VALUE */ + 1310, /* GL_SAMPLE_COVERAGE_INVERT */ + 170, /* GL_COLOR_MATRIX */ + 172, /* GL_COLOR_MATRIX_STACK_DEPTH */ + 799, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1126, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1122, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1117, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1113, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1124, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1120, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1115, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1111, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 1529, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1199, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 1531, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 80, /* GL_BLEND_DST_RGB */ + 88, /* GL_BLEND_SRC_RGB */ + 79, /* GL_BLEND_DST_ALPHA */ + 87, /* GL_BLEND_SRC_ALPHA */ + 176, /* GL_COLOR_TABLE */ + 1136, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1119, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1189, /* GL_PROXY_COLOR_TABLE */ + 1193, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1192, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 200, /* GL_COLOR_TABLE_SCALE */ + 180, /* GL_COLOR_TABLE_BIAS */ + 185, /* GL_COLOR_TABLE_FORMAT */ + 202, /* GL_COLOR_TABLE_WIDTH */ + 197, /* GL_COLOR_TABLE_RED_SIZE */ + 188, /* GL_COLOR_TABLE_GREEN_SIZE */ + 182, /* GL_COLOR_TABLE_BLUE_SIZE */ + 177, /* GL_COLOR_TABLE_ALPHA_SIZE */ + 194, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + 191, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + 71, /* GL_BGR */ + 72, /* GL_BGRA */ + 813, /* GL_MAX_ELEMENTS_VERTICES */ + 812, /* GL_MAX_ELEMENTS_INDICES */ + 1583, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 136, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + 1083, /* GL_POINT_SIZE_MIN */ + 1079, /* GL_POINT_SIZE_MAX */ + 1073, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1069, /* GL_POINT_DISTANCE_ATTENUATION */ + 118, /* GL_CLAMP_TO_BORDER */ + 121, /* GL_CLAMP_TO_EDGE */ + 1604, /* GL_TEXTURE_MIN_LOD */ + 1602, /* GL_TEXTURE_MAX_LOD */ + 1510, /* GL_TEXTURE_BASE_LEVEL */ + 1601, /* GL_TEXTURE_MAX_LEVEL */ + 570, /* GL_IGNORE_BORDER_HP */ + 245, /* GL_CONSTANT_BORDER_HP */ + 1245, /* GL_REPLICATE_BORDER_HP */ + 251, /* GL_CONVOLUTION_BORDER_COLOR */ + 984, /* GL_OCCLUSION_TEST_HP */ + 985, /* GL_OCCLUSION_TEST_RESULT_HP */ + 639, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 1523, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 1525, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 1527, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 1528, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1526, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 1524, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 795, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 796, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1146, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1148, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1145, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1147, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 1591, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 1592, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 1590, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 516, /* GL_GENERATE_MIPMAP */ + 517, /* GL_GENERATE_MIPMAP_HINT */ + 480, /* GL_FOG_OFFSET_SGIX */ + 481, /* GL_FOG_OFFSET_VALUE_SGIX */ + 1537, /* GL_TEXTURE_COMPARE_SGIX */ + 1536, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 1587, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 1579, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 322, /* GL_DEPTH_COMPONENT16 */ + 325, /* GL_DEPTH_COMPONENT24 */ + 328, /* GL_DEPTH_COMPONENT32 */ + 273, /* GL_CULL_VERTEX_EXT */ + 275, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + 274, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + 1732, /* GL_WRAP_BORDER_SUN */ + 1530, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 632, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1340, /* GL_SINGLE_COLOR */ + 1328, /* GL_SEPARATE_SPECULAR_COLOR */ + 1337, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 1646, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 1659, /* GL_UNSIGNED_SHORT_5_6_5 */ + 1660, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 1657, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 1655, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 1653, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 1651, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 1599, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 1600, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 1598, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 886, /* GL_MIRRORED_REPEAT */ + 1284, /* GL_RGB_S3TC */ + 1261, /* GL_RGB4_S3TC */ + 1283, /* GL_RGBA_S3TC */ + 1278, /* GL_RGBA4_S3TC */ + 1281, /* GL_RGBA_DXT5_S3TC */ + 1276, /* GL_RGBA4_DXT5_S3TC */ + 238, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + 233, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + 234, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + 235, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + 947, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 946, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 640, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 467, /* GL_FOG_COORDINATE_SOURCE */ + 459, /* GL_FOG_COORD */ + 483, /* GL_FRAGMENT_DEPTH */ + 279, /* GL_CURRENT_FOG_COORD */ + 466, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + 465, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + 464, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + 461, /* GL_FOG_COORDINATE_ARRAY */ + 174, /* GL_COLOR_SUM */ + 298, /* GL_CURRENT_SECONDARY_COLOR */ + 1321, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1323, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1322, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1320, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1317, /* GL_SECONDARY_COLOR_ARRAY */ + 526, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */ + 28, /* GL_ALIASED_POINT_SIZE_RANGE */ + 27, /* GL_ALIASED_LINE_WIDTH_RANGE */ + 1441, /* GL_TEXTURE0 */ + 1443, /* GL_TEXTURE1 */ + 1465, /* GL_TEXTURE2 */ + 1487, /* GL_TEXTURE3 */ + 1493, /* GL_TEXTURE4 */ + 1495, /* GL_TEXTURE5 */ + 1497, /* GL_TEXTURE6 */ + 1499, /* GL_TEXTURE7 */ + 1501, /* GL_TEXTURE8 */ + 1503, /* GL_TEXTURE9 */ + 1444, /* GL_TEXTURE10 */ + 1446, /* GL_TEXTURE11 */ + 1448, /* GL_TEXTURE12 */ + 1450, /* GL_TEXTURE13 */ + 1452, /* GL_TEXTURE14 */ + 1454, /* GL_TEXTURE15 */ + 1456, /* GL_TEXTURE16 */ + 1458, /* GL_TEXTURE17 */ + 1460, /* GL_TEXTURE18 */ + 1462, /* GL_TEXTURE19 */ + 1466, /* GL_TEXTURE20 */ + 1468, /* GL_TEXTURE21 */ + 1470, /* GL_TEXTURE22 */ + 1472, /* GL_TEXTURE23 */ + 1474, /* GL_TEXTURE24 */ + 1476, /* GL_TEXTURE25 */ + 1478, /* GL_TEXTURE26 */ + 1480, /* GL_TEXTURE27 */ + 1482, /* GL_TEXTURE28 */ + 1484, /* GL_TEXTURE29 */ + 1488, /* GL_TEXTURE30 */ + 1490, /* GL_TEXTURE31 */ + 18, /* GL_ACTIVE_TEXTURE */ + 124, /* GL_CLIENT_ACTIVE_TEXTURE */ + 864, /* GL_MAX_TEXTURE_UNITS */ + 1625, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 1628, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 1630, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 1622, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1429, /* GL_SUBTRACT */ + 853, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + 221, /* GL_COMPRESSED_ALPHA */ + 225, /* GL_COMPRESSED_LUMINANCE */ + 226, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + 223, /* GL_COMPRESSED_INTENSITY */ + 229, /* GL_COMPRESSED_RGB */ + 230, /* GL_COMPRESSED_RGBA */ + 1544, /* GL_TEXTURE_COMPRESSION_HINT */ + 1606, /* GL_TEXTURE_RECTANGLE_ARB */ + 1516, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + 1202, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + 851, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + 334, /* GL_DEPTH_STENCIL_NV */ + 1650, /* GL_UNSIGNED_INT_24_8_NV */ + 860, /* GL_MAX_TEXTURE_LOD_BIAS */ + 1597, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 861, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 1573, /* GL_TEXTURE_FILTER_CONTROL */ + 1588, /* GL_TEXTURE_LOD_BIAS */ + 207, /* GL_COMBINE4 */ + 854, /* GL_MAX_SHININESS_NV */ + 855, /* GL_MAX_SPOT_EXPONENT_NV */ + 574, /* GL_INCR_WRAP */ + 309, /* GL_DECR_WRAP */ + 906, /* GL_MODELVIEW1_ARB */ + 962, /* GL_NORMAL_MAP */ + 1231, /* GL_REFLECTION_MAP */ + 1553, /* GL_TEXTURE_CUBE_MAP */ + 1514, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 1561, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 1555, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 1563, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 1557, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 1565, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 1559, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1200, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 807, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 941, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 475, /* GL_FOG_DISTANCE_MODE_NV */ + 434, /* GL_EYE_RADIAL_NV */ + 433, /* GL_EYE_PLANE_ABSOLUTE_NV */ + 206, /* GL_COMBINE */ + 213, /* GL_COMBINE_RGB */ + 208, /* GL_COMBINE_ALPHA */ + 1285, /* GL_RGB_SCALE */ + 24, /* GL_ADD_SIGNED */ + 601, /* GL_INTERPOLATE */ + 240, /* GL_CONSTANT */ + 1152, /* GL_PRIMARY_COLOR */ + 1149, /* GL_PREVIOUS */ + 1351, /* GL_SOURCE0_RGB */ + 1357, /* GL_SOURCE1_RGB */ + 1363, /* GL_SOURCE2_RGB */ + 1367, /* GL_SOURCE3_RGB_NV */ + 1348, /* GL_SOURCE0_ALPHA */ + 1354, /* GL_SOURCE1_ALPHA */ + 1360, /* GL_SOURCE2_ALPHA */ + 1366, /* GL_SOURCE3_ALPHA_NV */ + 998, /* GL_OPERAND0_RGB */ + 1004, /* GL_OPERAND1_RGB */ + 1010, /* GL_OPERAND2_RGB */ + 1014, /* GL_OPERAND3_RGB_NV */ + 995, /* GL_OPERAND0_ALPHA */ + 1001, /* GL_OPERAND1_ALPHA */ + 1007, /* GL_OPERAND2_ALPHA */ + 1013, /* GL_OPERAND3_ALPHA_NV */ + 1672, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + 1736, /* GL_YCBCR_422_APPLE */ + 1661, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 1663, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 1342, /* GL_SLICE_ACCUM_SUN */ + 1207, /* GL_QUAD_MESH_SUN */ + 1634, /* GL_TRIANGLE_MESH_SUN */ + 1710, /* GL_VERTEX_PROGRAM_ARB */ + 1721, /* GL_VERTEX_STATE_PROGRAM_NV */ + 1697, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 1703, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 1705, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 1707, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 300, /* GL_CURRENT_VERTEX_ATTRIB */ + 1165, /* GL_PROGRAM_LENGTH_ARB */ + 1179, /* GL_PROGRAM_STRING_ARB */ + 928, /* GL_MODELVIEW_PROJECTION_NV */ + 569, /* GL_IDENTITY_NV */ + 614, /* GL_INVERSE_NV */ + 1627, /* GL_TRANSPOSE_NV */ + 615, /* GL_INVERSE_TRANSPOSE_NV */ + 837, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 836, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 745, /* GL_MATRIX0_NV */ + 757, /* GL_MATRIX1_NV */ + 769, /* GL_MATRIX2_NV */ + 773, /* GL_MATRIX3_NV */ + 775, /* GL_MATRIX4_NV */ + 777, /* GL_MATRIX5_NV */ + 779, /* GL_MATRIX6_NV */ + 781, /* GL_MATRIX7_NV */ + 285, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + 282, /* GL_CURRENT_MATRIX_ARB */ + 1713, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + 1716, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1177, /* GL_PROGRAM_PARAMETER_NV */ + 1701, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1181, /* GL_PROGRAM_TARGET_NV */ + 1178, /* GL_PROGRAM_RESIDENT_NV */ + 1619, /* GL_TRACK_MATRIX_NV */ + 1620, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 1711, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1159, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 319, /* GL_DEPTH_CLAMP_NV */ + 1679, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 1686, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 1687, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 1688, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 1689, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 1690, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 1691, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 1692, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 1693, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 1694, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 1680, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 1681, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 1682, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 1683, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 1684, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 1685, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 699, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 706, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 707, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 708, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 709, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 710, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 711, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 712, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 713, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 714, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 700, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 701, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 702, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 703, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 704, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 705, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 726, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 733, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 734, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 735, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 736, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 737, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 738, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1158, /* GL_PROGRAM_BINDING_ARB */ + 740, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 741, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 727, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 728, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 729, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 730, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 731, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 732, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 1542, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 1539, /* GL_TEXTURE_COMPRESSED */ + 967, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 239, /* GL_COMPRESSED_TEXTURE_FORMATS */ + 876, /* GL_MAX_VERTEX_UNITS_ARB */ + 22, /* GL_ACTIVE_VERTEX_UNITS_ARB */ + 1731, /* GL_WEIGHT_SUM_UNITY_ARB */ + 1709, /* GL_VERTEX_BLEND_ARB */ + 302, /* GL_CURRENT_WEIGHT_ARB */ + 1730, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 1729, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 1728, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 1727, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 1724, /* GL_WEIGHT_ARRAY_ARB */ + 345, /* GL_DOT3_RGB */ + 346, /* GL_DOT3_RGBA */ + 237, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + 232, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + 936, /* GL_MULTISAMPLE_3DFX */ + 1306, /* GL_SAMPLE_BUFFERS_3DFX */ + 1297, /* GL_SAMPLES_3DFX */ + 917, /* GL_MODELVIEW2_ARB */ + 920, /* GL_MODELVIEW3_ARB */ + 921, /* GL_MODELVIEW4_ARB */ + 922, /* GL_MODELVIEW5_ARB */ + 923, /* GL_MODELVIEW6_ARB */ + 924, /* GL_MODELVIEW7_ARB */ + 925, /* GL_MODELVIEW8_ARB */ + 926, /* GL_MODELVIEW9_ARB */ + 896, /* GL_MODELVIEW10_ARB */ + 897, /* GL_MODELVIEW11_ARB */ + 898, /* GL_MODELVIEW12_ARB */ + 899, /* GL_MODELVIEW13_ARB */ + 900, /* GL_MODELVIEW14_ARB */ + 901, /* GL_MODELVIEW15_ARB */ + 902, /* GL_MODELVIEW16_ARB */ + 903, /* GL_MODELVIEW17_ARB */ + 904, /* GL_MODELVIEW18_ARB */ + 905, /* GL_MODELVIEW19_ARB */ + 907, /* GL_MODELVIEW20_ARB */ + 908, /* GL_MODELVIEW21_ARB */ + 909, /* GL_MODELVIEW22_ARB */ + 910, /* GL_MODELVIEW23_ARB */ + 911, /* GL_MODELVIEW24_ARB */ + 912, /* GL_MODELVIEW25_ARB */ + 913, /* GL_MODELVIEW26_ARB */ + 914, /* GL_MODELVIEW27_ARB */ + 915, /* GL_MODELVIEW28_ARB */ + 916, /* GL_MODELVIEW29_ARB */ + 918, /* GL_MODELVIEW30_ARB */ + 919, /* GL_MODELVIEW31_ARB */ + 350, /* GL_DOT3_RGB_EXT */ + 348, /* GL_DOT3_RGBA_EXT */ + 890, /* GL_MIRROR_CLAMP_EXT */ + 893, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 931, /* GL_MODULATE_ADD_ATI */ + 932, /* GL_MODULATE_SIGNED_ADD_ATI */ + 933, /* GL_MODULATE_SUBTRACT_ATI */ + 1737, /* GL_YCBCR_MESA */ + 1022, /* GL_PACK_INVERT_MESA */ + 305, /* GL_DEBUG_OBJECT_MESA */ + 306, /* GL_DEBUG_PRINT_MESA */ + 304, /* GL_DEBUG_ASSERT_MESA */ + 107, /* GL_BUFFER_SIZE */ + 109, /* GL_BUFFER_USAGE */ + 1394, /* GL_STENCIL_BACK_FUNC */ + 1392, /* GL_STENCIL_BACK_FAIL */ + 1396, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1398, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 484, /* GL_FRAGMENT_PROGRAM_ARB */ + 1156, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1184, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1183, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1168, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1174, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1173, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 826, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 849, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 848, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 839, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 845, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 844, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 809, /* GL_MAX_DRAW_BUFFERS */ + 354, /* GL_DRAW_BUFFER0 */ + 357, /* GL_DRAW_BUFFER1 */ + 378, /* GL_DRAW_BUFFER2 */ + 381, /* GL_DRAW_BUFFER3 */ + 384, /* GL_DRAW_BUFFER4 */ + 387, /* GL_DRAW_BUFFER5 */ + 390, /* GL_DRAW_BUFFER6 */ + 393, /* GL_DRAW_BUFFER7 */ + 396, /* GL_DRAW_BUFFER8 */ + 399, /* GL_DRAW_BUFFER9 */ + 358, /* GL_DRAW_BUFFER10 */ + 361, /* GL_DRAW_BUFFER11 */ + 364, /* GL_DRAW_BUFFER12 */ + 367, /* GL_DRAW_BUFFER13 */ + 370, /* GL_DRAW_BUFFER14 */ + 373, /* GL_DRAW_BUFFER15 */ + 82, /* GL_BLEND_EQUATION_ALPHA */ + 790, /* GL_MATRIX_PALETTE_ARB */ + 820, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 823, /* GL_MAX_PALETTE_MATRICES_ARB */ + 288, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + 784, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 283, /* GL_CURRENT_MATRIX_INDEX_ARB */ + 786, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 788, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 787, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 785, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 1568, /* GL_TEXTURE_DEPTH_SIZE */ + 338, /* GL_DEPTH_TEXTURE_MODE */ + 1534, /* GL_TEXTURE_COMPARE_MODE */ + 1532, /* GL_TEXTURE_COMPARE_FUNC */ + 216, /* GL_COMPARE_R_TO_TEXTURE */ + 1090, /* GL_POINT_SPRITE */ + 265, /* GL_COORD_REPLACE */ + 1094, /* GL_POINT_SPRITE_R_MODE_NV */ + 1209, /* GL_QUERY_COUNTER_BITS */ + 290, /* GL_CURRENT_QUERY */ + 1211, /* GL_QUERY_RESULT */ + 1213, /* GL_QUERY_RESULT_AVAILABLE */ + 870, /* GL_MAX_VERTEX_ATTRIBS */ + 1699, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 336, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + 335, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + 856, /* GL_MAX_TEXTURE_COORDS */ + 858, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1161, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1163, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1162, /* GL_PROGRAM_FORMAT_ARB */ + 1613, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 317, /* GL_DEPTH_BOUNDS_TEST_EXT */ + 316, /* GL_DEPTH_BOUNDS_EXT */ + 52, /* GL_ARRAY_BUFFER */ + 419, /* GL_ELEMENT_ARRAY_BUFFER */ + 54, /* GL_ARRAY_BUFFER_BINDING */ + 421, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + 1673, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 957, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 140, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + 577, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 1547, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 415, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + 1318, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 462, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + 1725, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 1695, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1164, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 832, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1170, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 841, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1182, /* GL_PROGRAM_TEMPORARIES_ARB */ + 847, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1172, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 843, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1176, /* GL_PROGRAM_PARAMETERS_ARB */ + 846, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1171, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 842, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1157, /* GL_PROGRAM_ATTRIBS_ARB */ + 827, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1169, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 840, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1155, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 825, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1167, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 838, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 833, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 829, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1185, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 1624, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1221, /* GL_READ_ONLY */ + 1733, /* GL_WRITE_ONLY */ + 1223, /* GL_READ_WRITE */ + 101, /* GL_BUFFER_ACCESS */ + 103, /* GL_BUFFER_MAPPED */ + 105, /* GL_BUFFER_MAP_POINTER */ + 1618, /* GL_TIME_ELAPSED_EXT */ + 744, /* GL_MATRIX0_ARB */ + 756, /* GL_MATRIX1_ARB */ + 768, /* GL_MATRIX2_ARB */ + 772, /* GL_MATRIX3_ARB */ + 774, /* GL_MATRIX4_ARB */ + 776, /* GL_MATRIX5_ARB */ + 778, /* GL_MATRIX6_ARB */ + 780, /* GL_MATRIX7_ARB */ + 782, /* GL_MATRIX8_ARB */ + 783, /* GL_MATRIX9_ARB */ + 746, /* GL_MATRIX10_ARB */ + 747, /* GL_MATRIX11_ARB */ + 748, /* GL_MATRIX12_ARB */ + 749, /* GL_MATRIX13_ARB */ + 750, /* GL_MATRIX14_ARB */ + 751, /* GL_MATRIX15_ARB */ + 752, /* GL_MATRIX16_ARB */ + 753, /* GL_MATRIX17_ARB */ + 754, /* GL_MATRIX18_ARB */ + 755, /* GL_MATRIX19_ARB */ + 758, /* GL_MATRIX20_ARB */ + 759, /* GL_MATRIX21_ARB */ + 760, /* GL_MATRIX22_ARB */ + 761, /* GL_MATRIX23_ARB */ + 762, /* GL_MATRIX24_ARB */ + 763, /* GL_MATRIX25_ARB */ + 764, /* GL_MATRIX26_ARB */ + 765, /* GL_MATRIX27_ARB */ + 766, /* GL_MATRIX28_ARB */ + 767, /* GL_MATRIX29_ARB */ + 770, /* GL_MATRIX30_ARB */ + 771, /* GL_MATRIX31_ARB */ + 1424, /* GL_STREAM_DRAW */ + 1426, /* GL_STREAM_READ */ + 1422, /* GL_STREAM_COPY */ + 1386, /* GL_STATIC_DRAW */ + 1388, /* GL_STATIC_READ */ + 1384, /* GL_STATIC_COPY */ + 409, /* GL_DYNAMIC_DRAW */ + 411, /* GL_DYNAMIC_READ */ + 407, /* GL_DYNAMIC_COPY */ + 533, /* GL_GL_PIXEL_PACK_BUFFER */ + 535, /* GL_GL_PIXEL_UNPACK_BUFFER */ + 534, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */ + 536, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */ + 830, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + 828, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 831, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 835, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 834, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 1418, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 17, /* GL_ACTIVE_STENCIL_FACE_EXT */ + 891, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1299, /* GL_SAMPLES_PASSED */ + 485, /* GL_FRAGMENT_SHADER */ + 1719, /* GL_VERTEX_SHADER */ + 1175, /* GL_PROGRAM_OBJECT_ARB */ + 1331, /* GL_SHADER_OBJECT_ARB */ + 816, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 874, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 868, /* GL_MAX_VARYING_FLOATS */ + 872, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 801, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 982, /* GL_OBJECT_TYPE_ARB */ + 1333, /* GL_SHADER_TYPE */ + 450, /* GL_FLOAT_VEC2 */ + 452, /* GL_FLOAT_VEC3 */ + 454, /* GL_FLOAT_VEC4 */ + 604, /* GL_INT_VEC2 */ + 606, /* GL_INT_VEC3 */ + 608, /* GL_INT_VEC4 */ + 93, /* GL_BOOL */ + 95, /* GL_BOOL_VEC2 */ + 97, /* GL_BOOL_VEC3 */ + 99, /* GL_BOOL_VEC4 */ + 444, /* GL_FLOAT_MAT2 */ + 446, /* GL_FLOAT_MAT3 */ + 448, /* GL_FLOAT_MAT4 */ + 1290, /* GL_SAMPLER_1D */ + 1292, /* GL_SAMPLER_2D */ + 1294, /* GL_SAMPLER_3D */ + 1295, /* GL_SAMPLER_CUBE */ + 1291, /* GL_SAMPLER_1D_SHADOW */ + 1293, /* GL_SAMPLER_2D_SHADOW */ + 527, /* GL_GL_FLOAT_MAT2x3 */ + 528, /* GL_GL_FLOAT_MAT2x4 */ + 529, /* GL_GL_FLOAT_MAT3x2 */ + 530, /* GL_GL_FLOAT_MAT3x4 */ + 531, /* GL_GL_FLOAT_MAT4x2 */ + 532, /* GL_GL_FLOAT_MAT4x3 */ + 311, /* GL_DELETE_STATUS */ + 220, /* GL_COMPILE_STATUS */ + 657, /* GL_LINK_STATUS */ + 1668, /* GL_VALIDATE_STATUS */ + 589, /* GL_INFO_LOG_LENGTH */ + 56, /* GL_ATTACHED_SHADERS */ + 20, /* GL_ACTIVE_UNIFORMS */ + 21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ + 1332, /* GL_SHADER_SOURCE_LENGTH */ + 15, /* GL_ACTIVE_ATTRIBUTES */ + 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ + 487, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + 1335, /* GL_SHADING_LANGUAGE_VERSION */ + 289, /* GL_CURRENT_PROGRAM */ + 1031, /* GL_PALETTE4_RGB8_OES */ + 1033, /* GL_PALETTE4_RGBA8_OES */ + 1029, /* GL_PALETTE4_R5_G6_B5_OES */ + 1032, /* GL_PALETTE4_RGBA4_OES */ + 1030, /* GL_PALETTE4_RGB5_A1_OES */ + 1036, /* GL_PALETTE8_RGB8_OES */ + 1038, /* GL_PALETTE8_RGBA8_OES */ + 1034, /* GL_PALETTE8_R5_G6_B5_OES */ + 1037, /* GL_PALETTE8_RGBA4_OES */ + 1035, /* GL_PALETTE8_RGB5_A1_OES */ + 572, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + 571, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + 541, /* GL_GL_SRGB */ + 542, /* GL_GL_SRGB8 */ + 544, /* GL_GL_SRGB_ALPHA */ + 543, /* GL_GL_SRGB8_ALPHA8 */ + 540, /* GL_GL_SLUMINANCE_ALPHA */ + 539, /* GL_GL_SLUMINANCE8_ALPHA8 */ + 537, /* GL_GL_SLUMINANCE */ + 538, /* GL_GL_SLUMINANCE8 */ + 524, /* GL_GL_COMPRESSED_SRGB */ + 525, /* GL_GL_COMPRESSED_SRGB_ALPHA */ + 522, /* GL_GL_COMPRESSED_SLUMINANCE */ + 523, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */ + 1092, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 665, /* GL_LOWER_LEFT */ + 1665, /* GL_UPPER_LEFT */ + 1400, /* GL_STENCIL_BACK_REF */ + 1401, /* GL_STENCIL_BACK_VALUE_MASK */ + 1402, /* GL_STENCIL_BACK_WRITEMASK */ + 402, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + 1235, /* GL_RENDERBUFFER_BINDING_EXT */ + 1220, /* GL_READ_FRAMEBUFFER_EXT */ + 403, /* GL_DRAW_FRAMEBUFFER_EXT */ + 1219, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + 489, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + 488, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + 492, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + 491, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + 490, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + 494, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + 496, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + 501, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + 499, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + 497, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + 500, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + 498, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + 502, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + 504, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + 503, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + 798, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + 146, /* GL_COLOR_ATTACHMENT0_EXT */ + 153, /* GL_COLOR_ATTACHMENT1_EXT */ + 154, /* GL_COLOR_ATTACHMENT2_EXT */ + 155, /* GL_COLOR_ATTACHMENT3_EXT */ + 156, /* GL_COLOR_ATTACHMENT4_EXT */ + 157, /* GL_COLOR_ATTACHMENT5_EXT */ + 158, /* GL_COLOR_ATTACHMENT6_EXT */ + 159, /* GL_COLOR_ATTACHMENT7_EXT */ + 160, /* GL_COLOR_ATTACHMENT8_EXT */ + 161, /* GL_COLOR_ATTACHMENT9_EXT */ + 147, /* GL_COLOR_ATTACHMENT10_EXT */ + 148, /* GL_COLOR_ATTACHMENT11_EXT */ + 149, /* GL_COLOR_ATTACHMENT12_EXT */ + 150, /* GL_COLOR_ATTACHMENT13_EXT */ + 151, /* GL_COLOR_ATTACHMENT14_EXT */ + 152, /* GL_COLOR_ATTACHMENT15_EXT */ + 313, /* GL_DEPTH_ATTACHMENT_EXT */ + 1391, /* GL_STENCIL_ATTACHMENT_EXT */ + 495, /* GL_FRAMEBUFFER_EXT */ + 1236, /* GL_RENDERBUFFER_EXT */ + 1239, /* GL_RENDERBUFFER_WIDTH_EXT */ + 1237, /* GL_RENDERBUFFER_HEIGHT_EXT */ + 1238, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + 1413, /* GL_STENCIL_INDEX_EXT */ + 1410, /* GL_STENCIL_INDEX1_EXT */ + 1411, /* GL_STENCIL_INDEX4_EXT */ + 1412, /* GL_STENCIL_INDEX8_EXT */ + 1409, /* GL_STENCIL_INDEX16_EXT */ + 427, /* GL_EVAL_BIT */ + 1217, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 659, /* GL_LIST_BIT */ + 1518, /* GL_TEXTURE_BIT */ + 1314, /* GL_SCISSOR_BIT */ + 29, /* GL_ALL_ATTRIB_BITS */ + 938, /* GL_MULTISAMPLE_BIT */ + 30, /* GL_ALL_CLIENT_ATTRIB_BITS */ }; #define Elements(x) sizeof(x)/sizeof(*x) diff --git a/dist/Mesa/src/mesa/main/fbobject.c b/dist/Mesa/src/mesa/main/fbobject.c index b6a59336c..8e7d66cb9 100644 --- a/dist/Mesa/src/mesa/main/fbobject.c +++ b/dist/Mesa/src/mesa/main/fbobject.c @@ -33,6 +33,7 @@ #include "fbobject.h" #include "framebuffer.h" #include "hash.h" +#include "mipmap.h" #include "renderbuffer.h" #include "state.h" #include "teximage.h" @@ -149,26 +150,18 @@ _mesa_remove_attachment(GLcontext *ctx, struct gl_renderbuffer_attachment *att) { if (att->Type == GL_TEXTURE) { ASSERT(att->Texture); - att->Texture->RefCount--; - if (att->Texture->RefCount == 0) { - ctx->Driver.DeleteTexture(ctx, att->Texture); + if (ctx->Driver.FinishRenderTexture) { + /* tell driver we're done rendering to this texobj */ + ctx->Driver.FinishRenderTexture(ctx, att); } - else { - /* tell driver that we're done rendering to this texture. */ - if (ctx->Driver.FinishRenderTexture) { - ctx->Driver.FinishRenderTexture(ctx, att); - } - } - att->Texture = NULL; + _mesa_reference_texobj(&att->Texture, NULL); /* unbind */ + ASSERT(!att->Texture); } if (att->Type == GL_TEXTURE || att->Type == GL_RENDERBUFFER_EXT) { ASSERT(att->Renderbuffer); ASSERT(!att->Texture); - att->Renderbuffer->RefCount--; - if (att->Renderbuffer->RefCount == 0) { - att->Renderbuffer->Delete(att->Renderbuffer); - } - att->Renderbuffer = NULL; + _mesa_reference_renderbuffer(&att->Renderbuffer, NULL); /* unbind */ + ASSERT(!att->Renderbuffer); } att->Type = GL_NONE; att->Complete = GL_TRUE; @@ -194,8 +187,8 @@ _mesa_set_texture_attachment(GLcontext *ctx, /* new attachment */ _mesa_remove_attachment(ctx, att); att->Type = GL_TEXTURE; - att->Texture = texObj; - texObj->RefCount++; + assert(!att->Texture); + _mesa_reference_texobj(&att->Texture, texObj); } /* always update these fields */ @@ -227,10 +220,9 @@ _mesa_set_renderbuffer_attachment(GLcontext *ctx, /* XXX check if re-doing same attachment, exit early */ _mesa_remove_attachment(ctx, att); att->Type = GL_RENDERBUFFER_EXT; - att->Renderbuffer = rb; att->Texture = NULL; /* just to be safe */ att->Complete = GL_FALSE; - rb->RefCount++; + _mesa_reference_renderbuffer(&att->Renderbuffer, rb); } @@ -245,12 +237,9 @@ _mesa_framebuffer_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb, struct gl_renderbuffer_attachment *att; _glthread_LOCK_MUTEX(fb->Mutex); - if (rb) - _glthread_LOCK_MUTEX(rb->Mutex); att = _mesa_get_attachment(ctx, fb, attachment); ASSERT(att); - if (rb) { _mesa_set_renderbuffer_attachment(ctx, att, rb); } @@ -258,8 +247,6 @@ _mesa_framebuffer_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb, _mesa_remove_attachment(ctx, att); } - if (rb) - _glthread_UNLOCK_MUTEX(rb->Mutex); _glthread_UNLOCK_MUTEX(fb->Mutex); } @@ -558,7 +545,7 @@ _mesa_IsRenderbufferEXT(GLuint renderbuffer) void GLAPIENTRY _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer) { - struct gl_renderbuffer *newRb, *oldRb; + struct gl_renderbuffer *newRb; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -570,6 +557,12 @@ _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer) } FLUSH_VERTICES(ctx, _NEW_BUFFERS); + /* The above doesn't fully flush the drivers in the way that a + * glFlush does, but that is required here: + */ + if (ctx->Driver.Flush) + ctx->Driver.Flush(ctx); + if (renderbuffer) { newRb = _mesa_lookup_renderbuffer(ctx, renderbuffer); @@ -586,21 +579,16 @@ _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer) } ASSERT(newRb->AllocStorage); _mesa_HashInsert(ctx->Shared->RenderBuffers, renderbuffer, newRb); + newRb->RefCount = 1; /* referenced by hash table */ } - newRb->RefCount++; } else { newRb = NULL; } - oldRb = ctx->CurrentRenderbuffer; - if (oldRb) { - _mesa_dereference_renderbuffer(&oldRb); - } - ASSERT(newRb != &DummyRenderbuffer); - ctx->CurrentRenderbuffer = newRb; + _mesa_reference_renderbuffer(&ctx->CurrentRenderbuffer, newRb); } @@ -625,14 +613,15 @@ _mesa_DeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers) _mesa_BindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0); } - /* remove from hash table immediately, to free the ID */ + /* Remove from hash table immediately, to free the ID. + * But the object will not be freed until it's no longer + * referenced anywhere else. + */ _mesa_HashRemove(ctx->Shared->RenderBuffers, renderbuffers[i]); if (rb != &DummyRenderbuffer) { - /* But the object will not be freed until it's no longer - * bound in any context. - */ - _mesa_dereference_renderbuffer(&rb); + /* no longer referenced by hash table */ + _mesa_reference_renderbuffer(&rb, NULL); } } } @@ -931,7 +920,7 @@ check_end_texture_render(GLcontext *ctx, struct gl_framebuffer *fb) void GLAPIENTRY _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer) { - struct gl_framebuffer *newFb, *oldFb; + struct gl_framebuffer *newFb; GLboolean bindReadBuf, bindDrawBuf; GET_CURRENT_CONTEXT(ctx); @@ -972,7 +961,9 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer) } FLUSH_VERTICES(ctx, _NEW_BUFFERS); - + if (ctx->Driver.Flush) { + ctx->Driver.Flush(ctx); + } if (framebuffer) { /* Binding a user-created framebuffer object */ newFb = _mesa_lookup_framebuffer(ctx, framebuffer); @@ -988,13 +979,8 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer) return; } _mesa_HashInsert(ctx->Shared->FrameBuffers, framebuffer, newFb); + ASSERT(newFb->RefCount == 1); } - _glthread_LOCK_MUTEX(newFb->Mutex); - if (bindReadBuf) - newFb->RefCount++; - if (bindDrawBuf) - newFb->RefCount++; - _glthread_UNLOCK_MUTEX(newFb->Mutex); } else { /* Binding the window system framebuffer (which was originally set @@ -1011,22 +997,16 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer) */ if (bindReadBuf) { - oldFb = ctx->ReadBuffer; - if (oldFb && oldFb->Name != 0) { - _mesa_dereference_framebuffer(&oldFb); - } - ctx->ReadBuffer = newFb; + _mesa_reference_framebuffer(&ctx->ReadBuffer, newFb); } if (bindDrawBuf) { - oldFb = ctx->DrawBuffer; - if (oldFb && oldFb->Name != 0) { - /* check if old FB had any texture attachments */ - check_end_texture_render(ctx, oldFb); - /* check if time to delete this framebuffer */ - _mesa_dereference_framebuffer(&oldFb); - } - ctx->DrawBuffer = newFb; + /* check if old FB had any texture attachments */ + check_end_texture_render(ctx, ctx->DrawBuffer); + + /* bind new drawing buffer */ + _mesa_reference_framebuffer(&ctx->DrawBuffer, newFb); + if (newFb->Name != 0) { /* check if newly bound framebuffer has any texture attachments */ check_begin_texture_render(ctx, newFb); @@ -1047,6 +1027,11 @@ _mesa_DeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers) ASSERT_OUTSIDE_BEGIN_END(ctx); FLUSH_VERTICES(ctx, _NEW_BUFFERS); + /* The above doesn't fully flush the drivers in the way that a + * glFlush does, but that is required here: + */ + if (ctx->Driver.Flush) + ctx->Driver.Flush(ctx); for (i = 0; i < n; i++) { if (framebuffers[i] > 0) { @@ -1069,7 +1054,7 @@ _mesa_DeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers) /* But the object will not be freed until it's no longer * bound in any context. */ - _mesa_dereference_framebuffer(&fb); + _mesa_unreference_framebuffer(&fb); } } } @@ -1158,20 +1143,19 @@ _mesa_CheckFramebufferStatusEXT(GLenum target) * Common code called by glFramebufferTexture1D/2D/3DEXT(). */ static void -framebuffer_texture(GLuint dims, GLenum target, GLenum attachment, - GLenum textarget, GLuint texture, +framebuffer_texture(GLcontext *ctx, const char *caller, GLenum target, + GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { struct gl_renderbuffer_attachment *att; struct gl_texture_object *texObj = NULL; struct gl_framebuffer *fb; - GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); if (target != GL_FRAMEBUFFER_EXT) { _mesa_error(ctx, GL_INVALID_ENUM, - "glFramebufferTexture%dDEXT(target)", dims); + "glFramebufferTexture%sEXT(target)", caller); return; } @@ -1181,87 +1165,62 @@ framebuffer_texture(GLuint dims, GLenum target, GLenum attachment, /* check framebuffer binding */ if (fb->Name == 0) { _mesa_error(ctx, GL_INVALID_OPERATION, - "glFramebufferTexture%dDEXT", dims); + "glFramebufferTexture%sEXT", caller); return; } + + /* The textarget, level, and zoffset parameters are only validated if + * texture is non-zero. + */ if (texture) { - texObj = _mesa_lookup_texture(ctx, texture); - } + GLboolean err = GL_TRUE; - /* Check dimension-dependent things */ - switch (dims) { - case 1: - if (textarget != GL_TEXTURE_1D) { - _mesa_error(ctx, GL_INVALID_ENUM, - "glFramebufferTexture1DEXT(textarget)"); - return; - } - if (texObj && texObj->Target != GL_TEXTURE_1D) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glFramebufferTexture1DEXT(texture target mismatch)"); - return; - } - break; - case 2: - if (textarget != GL_TEXTURE_2D && - textarget != GL_TEXTURE_RECTANGLE_ARB && - !IS_CUBE_FACE(textarget)) { - _mesa_error(ctx, GL_INVALID_ENUM, - "glFramebufferTexture2DEXT(textarget)"); - return; - } - if (texObj) { - if ((texObj->Target == GL_TEXTURE_2D && textarget != GL_TEXTURE_2D) || - (texObj->Target == GL_TEXTURE_RECTANGLE_ARB - && textarget != GL_TEXTURE_RECTANGLE_ARB) || - (texObj->Target == GL_TEXTURE_CUBE_MAP - && !IS_CUBE_FACE(textarget))) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glFramebufferTexture1DEXT(texture target mismatch)"); - return; - } - } - break; - case 3: - if (textarget != GL_TEXTURE_3D) { - _mesa_error(ctx, GL_INVALID_ENUM, - "glFramebufferTexture3DEXT(textarget)"); - return; + texObj = _mesa_lookup_texture(ctx, texture); + if (texObj != NULL) { + err = (texObj->Target == GL_TEXTURE_CUBE_MAP) + ? !IS_CUBE_FACE(textarget) + : (texObj->Target != textarget); } - if (texObj && texObj->Target != GL_TEXTURE_3D) { + + if (err) { _mesa_error(ctx, GL_INVALID_OPERATION, - "glFramebufferTexture3DEXT(texture target mismatch)"); + "glFramebufferTexture%sEXT(texture target mismatch)", + caller); return; } - { + + if (texObj->Target == GL_TEXTURE_3D) { const GLint maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1); if (zoffset < 0 || zoffset >= maxSize) { _mesa_error(ctx, GL_INVALID_VALUE, - "glFramebufferTexture3DEXT(zoffset)"); + "glFramebufferTexture%sEXT(zoffset)", + caller); return; } } - break; - default: - _mesa_problem(ctx, "Unexpected dims in error_check_framebuffer_texture"); - return; - } - if ((level < 0) || level >= _mesa_max_texture_levels(ctx, textarget)) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glFramebufferTexture%dDEXT(level)", dims); - return; + if ((level < 0) || + (level >= _mesa_max_texture_levels(ctx, texObj->Target))) { + _mesa_error(ctx, GL_INVALID_VALUE, + "glFramebufferTexture%sEXT(level)", caller); + return; + } } att = _mesa_get_attachment(ctx, fb, attachment); if (att == NULL) { _mesa_error(ctx, GL_INVALID_ENUM, - "glFramebufferTexture%dDEXT(attachment)", dims); + "glFramebufferTexture%sEXT(attachment)", caller); return; } FLUSH_VERTICES(ctx, _NEW_BUFFERS); + /* The above doesn't fully flush the drivers in the way that a + * glFlush does, but that is required here: + */ + if (ctx->Driver.Flush) + ctx->Driver.Flush(ctx); _glthread_LOCK_MUTEX(fb->Mutex); if (texObj) { @@ -1280,9 +1239,16 @@ void GLAPIENTRY _mesa_FramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - const GLint zoffset = 0; - framebuffer_texture(1, target, attachment, textarget, texture, - level, zoffset); + GET_CURRENT_CONTEXT(ctx); + + if ((texture != 0) && (textarget != GL_TEXTURE_1D)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glFramebufferTexture1DEXT(textarget)"); + return; + } + + framebuffer_texture(ctx, "1D", target, attachment, textarget, texture, + level, 0); } @@ -1290,9 +1256,19 @@ void GLAPIENTRY _mesa_FramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - const GLint zoffset = 0; - framebuffer_texture(2, target, attachment, textarget, texture, - level, zoffset); + GET_CURRENT_CONTEXT(ctx); + + if ((texture != 0) && + (textarget != GL_TEXTURE_2D) && + (textarget != GL_TEXTURE_RECTANGLE_ARB) && + (!IS_CUBE_FACE(textarget))) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glFramebufferTexture2DEXT(textarget)"); + return; + } + + framebuffer_texture(ctx, "2D", target, attachment, textarget, texture, + level, 0); } @@ -1301,12 +1277,19 @@ _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - framebuffer_texture(3, target, attachment, textarget, texture, + GET_CURRENT_CONTEXT(ctx); + + if ((texture != 0) && (textarget != GL_TEXTURE_3D)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glFramebufferTexture3DEXT(textarget)"); + return; + } + + framebuffer_texture(ctx, "3D", target, attachment, textarget, texture, level, zoffset); } - void GLAPIENTRY _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbufferTarget, @@ -1380,6 +1363,11 @@ _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, } FLUSH_VERTICES(ctx, _NEW_BUFFERS); + /* The above doesn't fully flush the drivers in the way that a + * glFlush does, but that is required here: + */ + if (ctx->Driver.Flush) + ctx->Driver.Flush(ctx); assert(ctx->Driver.FramebufferRenderbuffer); ctx->Driver.FramebufferRenderbuffer(ctx, fb, attachment, rb); @@ -1443,6 +1431,11 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, } FLUSH_VERTICES(ctx, _NEW_BUFFERS); + /* The above doesn't fully flush the drivers in the way that a + * glFlush does, but that is required here: + */ + if (ctx->Driver.Flush) + ctx->Driver.Flush(ctx); switch (pname) { case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT: @@ -1521,7 +1514,9 @@ _mesa_GenerateMipmapEXT(GLenum target) texObj = _mesa_select_tex_object(ctx, texUnit, target); /* XXX this might not handle cube maps correctly */ + _mesa_lock_texture(ctx, texObj); _mesa_generate_mipmap(ctx, target, texUnit, texObj); + _mesa_unlock_texture(ctx, texObj); } diff --git a/dist/Mesa/src/mesa/main/framebuffer.c b/dist/Mesa/src/mesa/main/framebuffer.c index 1fd31a532..8aeb36950 100644 --- a/dist/Mesa/src/mesa/main/framebuffer.c +++ b/dist/Mesa/src/mesa/main/framebuffer.c @@ -38,6 +38,7 @@ #include "fbobject.h" #include "framebuffer.h" #include "renderbuffer.h" +#include "texobj.h" @@ -190,17 +191,11 @@ _mesa_free_framebuffer_data(struct gl_framebuffer *fb) _mesa_reference_renderbuffer(&att->Renderbuffer, NULL); } if (att->Texture) { - /* render to texture */ - att->Texture->RefCount--; - if (att->Texture->RefCount == 0) { - GET_CURRENT_CONTEXT(ctx); - if (ctx) { - ctx->Driver.DeleteTexture(ctx, att->Texture); - } - } + _mesa_reference_texobj(&att->Texture, NULL); } + ASSERT(!att->Renderbuffer); + ASSERT(!att->Texture); att->Type = GL_NONE; - att->Texture = NULL; } /* unbind _Depth/_StencilBuffer to decr ref counts */ diff --git a/dist/Mesa/src/mesa/main/glheader.h b/dist/Mesa/src/mesa/main/glheader.h index e37499e4b..2d2da49fe 100644 --- a/dist/Mesa/src/mesa/main/glheader.h +++ b/dist/Mesa/src/mesa/main/glheader.h @@ -5,8 +5,8 @@ * This is the top-most include file of the Mesa sources. * It includes gl.h and all system headers which are needed. * Other Mesa source files should \e not directly include any system - * headers. This allows Mesa to be integrated into XFree86 and - * allows system-dependent hacks/workarounds to be collected in one place. + * headers. This allows system-dependent hacks/workarounds to be + * collected in one place. * * \note Actually, a lot of system-dependent stuff is now in imports.[ch]. * @@ -46,18 +46,15 @@ #ifndef GLHEADER_H #define GLHEADER_H +/* This allows Mesa to be integrated into XFree86 */ #ifdef HAVE_DIX_CONFIG_H #include "dix-config.h" #endif -#if defined(XFree86LOADER) && defined(IN_MODULE) && !defined(NO_LIBCWRAPPER) -#include "xf86_ansic.h" -#else #include <assert.h> #include <ctype.h> -/* If we can use Compaq's Fast Math Library on Alpha */ #if defined(__alpha__) && defined(CCPML) -#include <cpml.h> +#include <cpml.h> /* use Compaq's Fast Math Library on Alpha */ #else #include <math.h> #endif @@ -68,7 +65,6 @@ #if defined(__linux__) && defined(__i386__) #include <fpu_control.h> #endif -#endif #include <float.h> #include <stdarg.h> @@ -95,6 +91,9 @@ # pragma disable_message(201) /* Disable unreachable code warnings */ #endif +#ifdef WGLAPI +# undef WGLAPI +#endif #if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__)) && !defined(BUILD_FOR_SNAP) # if !defined(__GNUC__) /* mingw environment */ @@ -238,7 +237,7 @@ #endif -#if !defined __GNUC__ || __GNUC__ < 3 +#if (!defined(__GNUC__) || __GNUC__ < 3) && !defined(__IBMC__) # define __builtin_expect(x, y) x #endif diff --git a/dist/Mesa/src/mesa/main/image.c b/dist/Mesa/src/mesa/main/image.c index d86c2203a..d7a96f70d 100644 --- a/dist/Mesa/src/mesa/main/image.c +++ b/dist/Mesa/src/mesa/main/image.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 7.0.1 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -60,6 +60,34 @@ /** + * \return GL_TRUE if type is packed pixel type, GL_FALSE otherwise. + */ +static GLboolean +_mesa_type_is_packed(GLenum type) +{ + switch (type) { + case GL_UNSIGNED_BYTE_3_3_2: + case GL_UNSIGNED_BYTE_2_3_3_REV: + case GL_UNSIGNED_SHORT_5_6_5: + case GL_UNSIGNED_SHORT_5_6_5_REV: + case GL_UNSIGNED_SHORT_4_4_4_4: + case GL_UNSIGNED_SHORT_4_4_4_4_REV: + case GL_UNSIGNED_SHORT_5_5_5_1: + case GL_UNSIGNED_SHORT_1_5_5_5_REV: + case GL_UNSIGNED_INT_8_8_8_8: + case GL_UNSIGNED_INT_8_8_8_8_REV: + case GL_UNSIGNED_INT_10_10_10_2: + case GL_UNSIGNED_INT_2_10_10_10_REV: + case GL_UNSIGNED_SHORT_8_8_MESA: + case GL_UNSIGNED_SHORT_8_8_REV_MESA: + case GL_UNSIGNED_INT_24_8_EXT: + return GL_TRUE; + } + + return GL_FALSE; +} + +/** * Flip the 8 bits in each byte of the given array. * * \param p array. @@ -75,9 +103,8 @@ static void flip_bytes( GLubyte *p, GLuint n ) { - register GLuint i, a, b; - - for (i=0;i<n;i++) { + GLuint i, a, b; + for (i = 0; i < n; i++) { b = (GLuint) p[i]; /* words are often faster than bytes */ a = ((b & 0x01) << 7) | ((b & 0x02) << 5) | @@ -101,9 +128,8 @@ flip_bytes( GLubyte *p, GLuint n ) void _mesa_swap2( GLushort *p, GLuint n ) { - register GLuint i; - - for (i=0;i<n;i++) { + GLuint i; + for (i = 0; i < n; i++) { p[i] = (p[i] >> 8) | ((p[i] << 8) & 0xff00); } } @@ -116,9 +142,8 @@ _mesa_swap2( GLushort *p, GLuint n ) void _mesa_swap4( GLuint *p, GLuint n ) { - register GLuint i, a, b; - - for (i=0;i<n;i++) { + GLuint i, a, b; + for (i = 0; i < n; i++) { b = p[i]; a = (b >> 24) | ((b >> 8) & 0xff00) @@ -651,39 +676,34 @@ _mesa_image_address3d( const struct gl_pixelstore_attrib *packing, /** - * Compute the stride between image rows. + * Compute the stride (in bytes) between image rows. * * \param packing the pixelstore attributes * \param width image width. * \param format pixel format. * \param type pixel data type. * - * \return the stride in bytes for the given parameters. + * \return the stride in bytes for the given parameters, or -1 if error */ GLint _mesa_image_row_stride( const struct gl_pixelstore_attrib *packing, GLint width, GLenum format, GLenum type ) { + GLint bytesPerRow, remainder; + ASSERT(packing); + if (type == GL_BITMAP) { - /* BITMAP data */ - GLint bytes; if (packing->RowLength == 0) { - bytes = (width + 7) / 8; + bytesPerRow = (width + 7) / 8; } else { - bytes = (packing->RowLength + 7) / 8; + bytesPerRow = (packing->RowLength + 7) / 8; } - if (packing->Invert) { - /* negate the bytes per row (negative row stride) */ - bytes = -bytes; - } - return bytes; } else { /* Non-BITMAP data */ const GLint bytesPerPixel = _mesa_bytes_per_pixel(format, type); - GLint bytesPerRow, remainder; if (bytesPerPixel <= 0) return -1; /* error */ if (packing->RowLength == 0) { @@ -692,13 +712,19 @@ _mesa_image_row_stride( const struct gl_pixelstore_attrib *packing, else { bytesPerRow = bytesPerPixel * packing->RowLength; } - remainder = bytesPerRow % packing->Alignment; - if (remainder > 0) - bytesPerRow += (packing->Alignment - remainder); - if (packing->Invert) - bytesPerRow = -bytesPerRow; - return bytesPerRow; } + + remainder = bytesPerRow % packing->Alignment; + if (remainder > 0) { + bytesPerRow += (packing->Alignment - remainder); + } + + if (packing->Invert) { + /* negate the bytes per row (negative row stride) */ + bytesPerRow = -bytesPerRow; + } + + return bytesPerRow; } @@ -824,7 +850,7 @@ _mesa_unpack_bitmap( GLint width, GLint height, const GLubyte *pixels, return NULL; } - if (packing->SkipPixels == 0) { + if ((packing->SkipPixels & 7) == 0) { _mesa_memcpy( dst, src, width_in_bytes ); if (packing->LsbFirst) { flip_bytes( dst, width_in_bytes ); @@ -916,7 +942,7 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, if (!dst) return; - if (packing->SkipPixels == 0) { + if ((packing->SkipPixels & 7) == 0) { _mesa_memcpy( dst, src, width_in_bytes ); if (packing->LsbFirst) { flip_bytes( dst, width_in_bytes ); @@ -926,8 +952,8 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, /* handling SkipPixels is a bit tricky (no pun intended!) */ GLint i; if (packing->LsbFirst) { - GLubyte srcMask = 1 << (packing->SkipPixels & 0x7); - GLubyte dstMask = 128; + GLubyte srcMask = 128; + GLubyte dstMask = 1 << (packing->SkipPixels & 0x7); const GLubyte *s = src; GLubyte *d = dst; *d = 0; @@ -935,26 +961,26 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, if (*s & srcMask) { *d |= dstMask; } - if (srcMask == 128) { - srcMask = 1; + if (srcMask == 1) { + srcMask = 128; s++; } else { - srcMask = srcMask << 1; + srcMask = srcMask >> 1; } - if (dstMask == 1) { - dstMask = 128; + if (dstMask == 128) { + dstMask = 1; d++; *d = 0; } else { - dstMask = dstMask >> 1; + dstMask = dstMask << 1; } } } else { - GLubyte srcMask = 128 >> (packing->SkipPixels & 0x7); - GLubyte dstMask = 128; + GLubyte srcMask = 128; + GLubyte dstMask = 128 >> (packing->SkipPixels & 0x7); const GLubyte *s = src; GLubyte *d = dst; *d = 0; @@ -990,7 +1016,7 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, * as indicated by the transferOps bitmask */ void -_mesa_apply_rgba_transfer_ops(GLcontext *ctx, GLuint transferOps, +_mesa_apply_rgba_transfer_ops(GLcontext *ctx, GLbitfield transferOps, GLuint n, GLfloat rgba[][4]) { /* scale & bias */ @@ -1007,7 +1033,7 @@ _mesa_apply_rgba_transfer_ops(GLcontext *ctx, GLuint transferOps, } /* GL_COLOR_TABLE lookup */ if (transferOps & IMAGE_COLOR_TABLE_BIT) { - _mesa_lookup_rgba_float(&ctx->ColorTable, n, rgba); + _mesa_lookup_rgba_float(&ctx->ColorTable[COLORTABLE_PRECONVOLUTION], n, rgba); } /* convolution */ if (transferOps & IMAGE_CONVOLUTION_BIT) { @@ -1028,7 +1054,7 @@ _mesa_apply_rgba_transfer_ops(GLcontext *ctx, GLuint transferOps, } /* GL_POST_CONVOLUTION_COLOR_TABLE lookup */ if (transferOps & IMAGE_POST_CONVOLUTION_COLOR_TABLE_BIT) { - _mesa_lookup_rgba_float(&ctx->PostConvolutionColorTable, n, rgba); + _mesa_lookup_rgba_float(&ctx->ColorTable[COLORTABLE_POSTCONVOLUTION], n, rgba); } /* color matrix transform */ if (transferOps & IMAGE_COLOR_MATRIX_BIT) { @@ -1036,7 +1062,7 @@ _mesa_apply_rgba_transfer_ops(GLcontext *ctx, GLuint transferOps, } /* GL_POST_COLOR_MATRIX_COLOR_TABLE lookup */ if (transferOps & IMAGE_POST_COLOR_MATRIX_COLOR_TABLE_BIT) { - _mesa_lookup_rgba_float(&ctx->PostColorMatrixColorTable, n, rgba); + _mesa_lookup_rgba_float(&ctx->ColorTable[COLORTABLE_POSTCOLORMATRIX], n, rgba); } /* update histogram count */ if (transferOps & IMAGE_HISTOGRAM_BIT) { @@ -1059,45 +1085,130 @@ _mesa_apply_rgba_transfer_ops(GLcontext *ctx, GLuint transferOps, } +/* + * Apply color index shift and offset to an array of pixels. + */ +static void +shift_and_offset_ci( const GLcontext *ctx, GLuint n, GLuint indexes[] ) +{ + GLint shift = ctx->Pixel.IndexShift; + GLint offset = ctx->Pixel.IndexOffset; + GLuint i; + if (shift > 0) { + for (i=0;i<n;i++) { + indexes[i] = (indexes[i] << shift) + offset; + } + } + else if (shift < 0) { + shift = -shift; + for (i=0;i<n;i++) { + indexes[i] = (indexes[i] >> shift) + offset; + } + } + else { + for (i=0;i<n;i++) { + indexes[i] = indexes[i] + offset; + } + } +} + + + +/** + * Apply color index shift, offset and table lookup to an array + * of color indexes; + */ +void +_mesa_apply_ci_transfer_ops(const GLcontext *ctx, GLbitfield transferOps, + GLuint n, GLuint indexes[]) +{ + if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { + shift_and_offset_ci(ctx, n, indexes); + } + if (transferOps & IMAGE_MAP_COLOR_BIT) { + const GLuint mask = ctx->PixelMaps.ItoI.Size - 1; + GLuint i; + for (i = 0; i < n; i++) { + const GLuint j = indexes[i] & mask; + indexes[i] = IROUND(ctx->PixelMaps.ItoI.Map[j]); + } + } +} + + +/** + * Apply stencil index shift, offset and table lookup to an array + * of stencil values. + */ +void +_mesa_apply_stencil_transfer_ops(const GLcontext *ctx, GLuint n, + GLstencil stencil[]) +{ + if (ctx->Pixel.IndexShift != 0 || ctx->Pixel.IndexOffset != 0) { + const GLint offset = ctx->Pixel.IndexOffset; + GLint shift = ctx->Pixel.IndexShift; + GLuint i; + if (shift > 0) { + for (i = 0; i < n; i++) { + stencil[i] = (stencil[i] << shift) + offset; + } + } + else if (shift < 0) { + shift = -shift; + for (i = 0; i < n; i++) { + stencil[i] = (stencil[i] >> shift) + offset; + } + } + else { + for (i = 0; i < n; i++) { + stencil[i] = stencil[i] + offset; + } + } + } + if (ctx->Pixel.MapStencilFlag) { + GLuint mask = ctx->PixelMaps.StoS.Size - 1; + GLuint i; + for (i = 0; i < n; i++) { + stencil[i] = ctx->PixelMaps.StoS.Map[ stencil[i] & mask ]; + } + } +} + /** * Used to pack an array [][4] of RGBA float colors as specified * by the dstFormat, dstType and dstPacking. Used by glReadPixels, * glGetConvolutionFilter(), etc. - * NOTE: it's assumed the incoming float colors are all in [0,1]. + * Incoming colors will be clamped to [0,1] if needed. + * Note: the rgba values will be modified by this function when any pixel + * transfer ops are enabled. */ void -_mesa_pack_rgba_span_float( GLcontext *ctx, - GLuint n, CONST GLfloat rgbaIn[][4], - GLenum dstFormat, GLenum dstType, - GLvoid *dstAddr, - const struct gl_pixelstore_attrib *dstPacking, - GLuint transferOps ) +_mesa_pack_rgba_span_float(GLcontext *ctx, GLuint n, GLfloat rgba[][4], + GLenum dstFormat, GLenum dstType, + GLvoid *dstAddr, + const struct gl_pixelstore_attrib *dstPacking, + GLbitfield transferOps) { - const GLint comps = _mesa_components_in_format(dstFormat); GLfloat luminance[MAX_WIDTH]; - const GLfloat (*rgba)[4]; + const GLint comps = _mesa_components_in_format(dstFormat); GLuint i; - if (transferOps) { - /* make copy of incoming data */ - GLfloat rgbaCopy[MAX_WIDTH][4]; - _mesa_memcpy(rgbaCopy, rgbaIn, n * 4 * sizeof(GLfloat)); - _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgbaCopy); - rgba = (const GLfloat (*)[4]) rgbaCopy; + if (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE) { + /* need to clamp to [0, 1] */ + transferOps |= IMAGE_CLAMP_BIT; + } + if (transferOps) { + _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba); if ((transferOps & IMAGE_MIN_MAX_BIT) && ctx->MinMax.Sink) { return; } } - else { - /* use incoming data, not a copy */ - rgba = (const GLfloat (*)[4]) rgbaIn; - } if (dstFormat == GL_LUMINANCE || dstFormat == GL_LUMINANCE_ALPHA) { /* compute luminance values */ - if (ctx->Color.ClampReadColor == GL_TRUE) { + if (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE) { for (i = 0; i < n; i++) { GLfloat sum = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP]; luminance[i] = CLAMP(sum, 0.0F, 1.0F); @@ -1246,6 +1357,7 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, dst[i*4+2] = FLOAT_TO_BYTE(rgba[i][RCOMP]); dst[i*4+3] = FLOAT_TO_BYTE(rgba[i][ACOMP]); } + break; case GL_ABGR_EXT: for (i=0;i<n;i++) { dst[i*4+0] = FLOAT_TO_BYTE(rgba[i][ACOMP]); @@ -1330,9 +1442,6 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, default: _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n"); } - if (dstPacking->SwapBytes) { - _mesa_swap2( (GLushort *) dst, n * comps); - } } break; case GL_SHORT: @@ -1394,6 +1503,7 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, dst[i*4+2] = FLOAT_TO_SHORT(rgba[i][RCOMP]); dst[i*4+3] = FLOAT_TO_SHORT(rgba[i][ACOMP]); } + break; case GL_ABGR_EXT: for (i=0;i<n;i++) { dst[i*4+0] = FLOAT_TO_SHORT(rgba[i][ACOMP]); @@ -1405,9 +1515,6 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, default: _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n"); } - if (dstPacking->SwapBytes) { - _mesa_swap2( (GLushort *) dst, n * comps ); - } } break; case GL_UNSIGNED_INT: @@ -1481,9 +1588,6 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, default: _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n"); } - if (dstPacking->SwapBytes) { - _mesa_swap4( (GLuint *) dst, n * comps ); - } } break; case GL_INT: @@ -1557,9 +1661,6 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, default: _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n"); } - if (dstPacking->SwapBytes) { - _mesa_swap4( (GLuint *) dst, n * comps ); - } } break; case GL_FLOAT: @@ -1633,9 +1734,6 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, default: _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n"); } - if (dstPacking->SwapBytes) { - _mesa_swap4( (GLuint *) dst, n * comps ); - } } break; case GL_HALF_FLOAT_ARB: @@ -1709,9 +1807,6 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, default: _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n"); } - if (dstPacking->SwapBytes) { - _mesa_swap2( (GLushort *) dst, n * comps ); - } } break; case GL_UNSIGNED_BYTE_3_3_2: @@ -1730,7 +1825,7 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, for (i=0;i<n;i++) { dst[i] = (((GLint) (rgba[i][RCOMP] * 7.0F)) ) | (((GLint) (rgba[i][GCOMP] * 7.0F)) << 3) - | (((GLint) (rgba[i][BCOMP] * 3.0F)) << 5); + | (((GLint) (rgba[i][BCOMP] * 3.0F)) << 6); } } break; @@ -1776,9 +1871,9 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, else if (dstFormat == GL_ABGR_EXT) { GLushort *dst = (GLushort *) dstAddr; for (i=0;i<n;i++) { - dst[i] = (((GLint) (rgba[i][ACOMP] * 15.0F)) << 4) + dst[i] = (((GLint) (rgba[i][ACOMP] * 15.0F)) << 12) | (((GLint) (rgba[i][BCOMP] * 15.0F)) << 8) - | (((GLint) (rgba[i][GCOMP] * 15.0F)) << 12) + | (((GLint) (rgba[i][GCOMP] * 15.0F)) << 4) | (((GLint) (rgba[i][RCOMP] * 15.0F)) ); } } @@ -1988,78 +2083,21 @@ _mesa_pack_rgba_span_float( GLcontext *ctx, break; default: _mesa_problem(ctx, "bad type in _mesa_pack_rgba_span_float"); + return; } -} - -/* - * Pack the given RGBA span into client memory at 'dest' address - * in the given pixel format and type. - * Optionally apply the enabled pixel transfer ops. - * Pack into memory using the given packing params struct. - * This is used by glReadPixels and glGetTexImage?D() - * \param ctx - the context - * n - number of pixels in the span - * rgba - the pixels - * format - dest packing format - * type - dest packing data type - * destination - destination packing address - * packing - pixel packing parameters - * transferOps - bitmask of IMAGE_*_BIT operations to apply - */ -void -_mesa_pack_rgba_span_chan( GLcontext *ctx, - GLuint n, CONST GLchan srcRgba[][4], - GLenum dstFormat, GLenum dstType, - GLvoid *dstAddr, - const struct gl_pixelstore_attrib *dstPacking, - GLuint transferOps) -{ - ASSERT((ctx->NewState & _NEW_PIXEL) == 0 || transferOps == 0); - - /* Test for optimized case first */ - if (transferOps == 0 && dstFormat == GL_RGBA && dstType == CHAN_TYPE) { - /* common simple case */ - _mesa_memcpy(dstAddr, srcRgba, n * 4 * sizeof(GLchan)); - } - else if (transferOps == 0 && dstFormat == GL_RGB && dstType == CHAN_TYPE) { - /* common simple case */ - GLuint i; - GLchan *dest = (GLchan *) dstAddr; - for (i = 0; i < n; i++) { - dest[0] = srcRgba[i][RCOMP]; - dest[1] = srcRgba[i][GCOMP]; - dest[2] = srcRgba[i][BCOMP]; - dest += 3; - } - } - else if (transferOps == 0 && dstFormat == GL_RGBA && dstType == GL_UNSIGNED_BYTE) { - /* common simple case */ - GLuint i; - GLubyte *dest = (GLubyte *) dstAddr; - for (i = 0; i < n; i++) { - dest[0] = CHAN_TO_UBYTE(srcRgba[i][RCOMP]); - dest[1] = CHAN_TO_UBYTE(srcRgba[i][GCOMP]); - dest[2] = CHAN_TO_UBYTE(srcRgba[i][BCOMP]); - dest[3] = CHAN_TO_UBYTE(srcRgba[i][ACOMP]); - dest += 4; + if (dstPacking->SwapBytes) { + GLint swapSize = _mesa_sizeof_packed_type(dstType); + if (swapSize == 2) { + if (dstPacking->SwapBytes) { + _mesa_swap2((GLushort *) dstAddr, n * comps); + } } - } - else { - /* general solution */ - GLuint i; - GLfloat rgba[MAX_WIDTH][4]; - assert(n <= MAX_WIDTH); - /* convert color components to floating point */ - for (i = 0; i < n; i++) { - rgba[i][RCOMP] = CHAN_TO_FLOAT(srcRgba[i][RCOMP]); - rgba[i][GCOMP] = CHAN_TO_FLOAT(srcRgba[i][GCOMP]); - rgba[i][BCOMP] = CHAN_TO_FLOAT(srcRgba[i][BCOMP]); - rgba[i][ACOMP] = CHAN_TO_FLOAT(srcRgba[i][ACOMP]); + else if (swapSize == 4) { + if (dstPacking->SwapBytes) { + _mesa_swap4((GLuint *) dstAddr, n * comps); + } } - _mesa_pack_rgba_span_float(ctx, n, (const GLfloat (*)[4]) rgba, - dstFormat, dstType, dstAddr, - dstPacking, transferOps); } } @@ -2089,7 +2127,7 @@ extract_uint_indexes(GLuint n, GLuint indexes[], GLenum srcFormat, GLenum srcType, const GLvoid *src, const struct gl_pixelstore_attrib *unpack ) { - assert(srcFormat == GL_COLOR_INDEX); + ASSERT(srcFormat == GL_COLOR_INDEX || srcFormat == GL_STENCIL_INDEX); ASSERT(srcType == GL_BITMAP || srcType == GL_UNSIGNED_BYTE || @@ -2820,7 +2858,7 @@ _mesa_unpack_color_span_chan( GLcontext *ctx, GLenum srcFormat, GLenum srcType, const GLvoid *source, const struct gl_pixelstore_attrib *srcPacking, - GLuint transferOps ) + GLbitfield transferOps ) { ASSERT(dstFormat == GL_ALPHA || dstFormat == GL_LUMINANCE || @@ -3002,17 +3040,10 @@ _mesa_unpack_color_span_chan( GLcontext *ctx, extract_uint_indexes(n, indexes, srcFormat, srcType, source, srcPacking); - if (dstFormat == GL_COLOR_INDEX - && (transferOps & IMAGE_MAP_COLOR_BIT)) { - _mesa_map_ci(ctx, n, indexes); - } - if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { - _mesa_shift_and_offset_ci(ctx, n, indexes); - } - if (dstFormat == GL_COLOR_INDEX) { - /* convert to GLchan and return */ GLuint i; + _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes); + /* convert to GLchan and return */ for (i = 0; i < n; i++) { dest[i] = (GLchan) (indexes[i] & 0xff); } @@ -3020,6 +3051,9 @@ _mesa_unpack_color_span_chan( GLcontext *ctx, } else { /* Convert indexes to RGBA */ + if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { + shift_and_offset_ci(ctx, n, indexes); + } _mesa_map_ci_to_rgba(ctx, n, indexes, rgba); } @@ -3160,7 +3194,7 @@ _mesa_unpack_color_span_float( GLcontext *ctx, GLenum srcFormat, GLenum srcType, const GLvoid *source, const struct gl_pixelstore_attrib *srcPacking, - GLuint transferOps ) + GLbitfield transferOps ) { ASSERT(dstFormat == GL_ALPHA || dstFormat == GL_LUMINANCE || @@ -3226,17 +3260,10 @@ _mesa_unpack_color_span_float( GLcontext *ctx, extract_uint_indexes(n, indexes, srcFormat, srcType, source, srcPacking); - if (dstFormat == GL_COLOR_INDEX - && (transferOps & IMAGE_MAP_COLOR_BIT)) { - _mesa_map_ci(ctx, n, indexes); - } - if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { - _mesa_shift_and_offset_ci(ctx, n, indexes); - } - if (dstFormat == GL_COLOR_INDEX) { - /* convert to GLchan and return */ GLuint i; + _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes); + /* convert to GLchan and return */ for (i = 0; i < n; i++) { dest[i] = (GLchan) (indexes[i] & 0xff); } @@ -3244,6 +3271,9 @@ _mesa_unpack_color_span_float( GLcontext *ctx, } else { /* Convert indexes to RGBA */ + if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { + shift_and_offset_ci(ctx, n, indexes); + } _mesa_map_ci_to_rgba(ctx, n, indexes, rgba); } @@ -3386,7 +3416,7 @@ _mesa_unpack_index_span( const GLcontext *ctx, GLuint n, GLenum dstType, GLvoid *dest, GLenum srcType, const GLvoid *source, const struct gl_pixelstore_attrib *srcPacking, - GLuint transferOps ) + GLbitfield transferOps ) { ASSERT(srcType == GL_BITMAP || srcType == GL_UNSIGNED_BYTE || @@ -3426,14 +3456,8 @@ _mesa_unpack_index_span( const GLcontext *ctx, GLuint n, extract_uint_indexes(n, indexes, GL_COLOR_INDEX, srcType, source, srcPacking); - if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { - /* shift and offset indexes */ - _mesa_shift_and_offset_ci(ctx, n, indexes); - } - if (transferOps & IMAGE_MAP_COLOR_BIT) { - /* Apply lookup table */ - _mesa_map_ci(ctx, n, indexes); - } + if (transferOps) + _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes); /* convert to dest type */ switch (dstType) { @@ -3469,7 +3493,7 @@ void _mesa_pack_index_span( const GLcontext *ctx, GLuint n, GLenum dstType, GLvoid *dest, const GLuint *source, const struct gl_pixelstore_attrib *dstPacking, - GLuint transferOps ) + GLbitfield transferOps ) { GLuint indexes[MAX_WIDTH]; @@ -3480,12 +3504,7 @@ _mesa_pack_index_span( const GLcontext *ctx, GLuint n, if (transferOps & (IMAGE_MAP_COLOR_BIT | IMAGE_SHIFT_OFFSET_BIT)) { /* make a copy of input */ _mesa_memcpy(indexes, source, n * sizeof(GLuint)); - if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { - _mesa_shift_and_offset_ci( ctx, n, indexes); - } - if (transferOps & IMAGE_MAP_COLOR_BIT) { - _mesa_map_ci(ctx, n, indexes); - } + _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes); source = indexes; } @@ -3605,7 +3624,7 @@ _mesa_unpack_stencil_span( const GLcontext *ctx, GLuint n, GLenum dstType, GLvoid *dest, GLenum srcType, const GLvoid *source, const struct gl_pixelstore_attrib *srcPacking, - GLuint transferOps ) + GLbitfield transferOps ) { ASSERT(srcType == GL_BITMAP || srcType == GL_UNSIGNED_BYTE || @@ -3629,11 +3648,13 @@ _mesa_unpack_stencil_span( const GLcontext *ctx, GLuint n, * Try simple cases first */ if (transferOps == 0 && + !ctx->Pixel.MapStencilFlag && srcType == GL_UNSIGNED_BYTE && dstType == GL_UNSIGNED_BYTE) { _mesa_memcpy(dest, source, n * sizeof(GLubyte)); } else if (transferOps == 0 && + !ctx->Pixel.MapStencilFlag && srcType == GL_UNSIGNED_INT && dstType == GL_UNSIGNED_INT && !srcPacking->SwapBytes) { @@ -3646,22 +3667,20 @@ _mesa_unpack_stencil_span( const GLcontext *ctx, GLuint n, GLuint indexes[MAX_WIDTH]; assert(n <= MAX_WIDTH); - extract_uint_indexes(n, indexes, GL_COLOR_INDEX, srcType, source, + extract_uint_indexes(n, indexes, GL_STENCIL_INDEX, srcType, source, srcPacking); - if (transferOps) { - if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { - /* shift and offset indexes */ - _mesa_shift_and_offset_ci(ctx, n, indexes); - } + if (transferOps & IMAGE_SHIFT_OFFSET_BIT) { + /* shift and offset indexes */ + shift_and_offset_ci(ctx, n, indexes); + } - if (ctx->Pixel.MapStencilFlag) { - /* Apply stencil lookup table */ - GLuint mask = ctx->Pixel.MapStoSsize - 1; - GLuint i; - for (i=0;i<n;i++) { - indexes[i] = ctx->Pixel.MapStoS[ indexes[i] & mask ]; - } + if (ctx->Pixel.MapStencilFlag) { + /* Apply stencil lookup table */ + const GLuint mask = ctx->PixelMaps.StoS.Size - 1; + GLuint i; + for (i = 0; i < n; i++) { + indexes[i] = ctx->PixelMaps.StoS.Map[ indexes[i] & mask ]; } } @@ -3708,18 +3727,13 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n, ctx->Pixel.MapStencilFlag) { /* make a copy of input */ _mesa_memcpy(stencil, source, n * sizeof(GLstencil)); - if (ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset) { - _mesa_shift_and_offset_stencil( ctx, n, stencil ); - } - if (ctx->Pixel.MapStencilFlag) { - _mesa_map_stencil( ctx, n, stencil ); - } + _mesa_apply_stencil_transfer_ops(ctx, n, stencil); source = stencil; } switch (dstType) { case GL_UNSIGNED_BYTE: - if (sizeof(GLstencil) == 8) { + if (sizeof(GLstencil) == 1) { _mesa_memcpy( dest, source, n ); } else { @@ -3731,14 +3745,11 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n, } break; case GL_BYTE: - if (sizeof(GLstencil) == 8) { - _mesa_memcpy( dest, source, n ); - } - else { + { GLbyte *dst = (GLbyte *) dest; GLuint i; for (i=0;i<n;i++) { - dst[i] = (GLbyte) source[i]; + dst[i] = (GLbyte) (source[i] & 0x7f); } } break; @@ -3783,7 +3794,7 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n, GLint *dst = (GLint *) dest; GLuint i; for (i=0;i<n;i++) { - *dst++ = (GLint) source[i]; + dst[i] = (GLint) source[i]; } if (dstPacking->SwapBytes) { _mesa_swap4( (GLuint *) dst, n ); @@ -3851,7 +3862,33 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n, } } +#define DEPTH_VALUES(GLTYPE, GLTYPE2FLOAT) \ + do { \ + GLuint i; \ + const GLTYPE *src = (const GLTYPE *)source; \ + for (i = 0; i < n; i++) { \ + GLTYPE value = src[i]; \ + if (srcPacking->SwapBytes) { \ + if (sizeof(GLTYPE) == 2) { \ + SWAP2BYTE(value); \ + } else if (sizeof(GLTYPE) == 4) { \ + SWAP4BYTE(value); \ + } \ + } \ + depthValues[i] = GLTYPE2FLOAT(value); \ + } \ + } while (0) + +/** + * Unpack a row of depth/z values from memory, returning GLushort, GLuint + * or GLfloat values. + * The glPixelTransfer (scale/bias) params will be applied. + * + * \param dstType one of GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, GL_FLOAT + * \param depthScale scale factor (max value) for returned GLushort or + * GLuint values (ignored for GLfloat). + */ void _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n, GLenum dstType, GLvoid *dest, GLfloat depthScale, @@ -3859,6 +3896,39 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n, const struct gl_pixelstore_attrib *srcPacking ) { GLfloat depthTemp[MAX_WIDTH], *depthValues; + GLboolean needClamp = GL_FALSE; + + /* Look for special cases first. + * Not only are these faster, they're less prone to numeric conversion + * problems. Otherwise, converting from an int type to a float then + * back to an int type can introduce errors that will show up as + * artifacts in things like depth peeling which uses glCopyTexImage. + */ + if (ctx->Pixel.DepthScale == 1.0 && ctx->Pixel.DepthBias == 0.0) { + if (srcType == GL_UNSIGNED_INT && dstType == GL_UNSIGNED_SHORT) { + const GLuint *src = (const GLuint *) source; + GLushort *dst = (GLushort *) dest; + GLuint i; + for (i = 0; i < n; i++) { + dst[i] = src[i] >> 16; + } + return; + } + if (srcType == GL_UNSIGNED_SHORT + && dstType == GL_UNSIGNED_INT + && depthScale == (GLfloat) 0xffffffff) { + const GLushort *src = (const GLushort *) source; + GLuint *dst = (GLuint *) dest; + GLuint i; + for (i = 0; i < n; i++) { + dst[i] = src[i] | (src[i] << 16); + } + return; + } + /* XXX may want to add additional cases here someday */ + } + + /* general case path follows */ if (dstType == GL_FLOAT) { depthValues = (GLfloat *) dest; @@ -3867,63 +3937,30 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n, depthValues = depthTemp; } - /* XXX we need to obey srcPacking->SwapBytes here!!! */ - (void) srcPacking; - + /* Convert incoming values to GLfloat. Some conversions will require + * clamping, below. + */ switch (srcType) { case GL_BYTE: - { - GLuint i; - const GLubyte *src = (const GLubyte *) source; - for (i = 0; i < n; i++) { - depthValues[i] = BYTE_TO_FLOAT(src[i]); - } - } + DEPTH_VALUES(GLbyte, BYTE_TO_FLOAT); + needClamp = GL_TRUE; break; case GL_UNSIGNED_BYTE: - { - GLuint i; - const GLubyte *src = (const GLubyte *) source; - for (i = 0; i < n; i++) { - depthValues[i] = UBYTE_TO_FLOAT(src[i]); - } - } + DEPTH_VALUES(GLubyte, UBYTE_TO_FLOAT); break; case GL_SHORT: - { - GLuint i; - const GLshort *src = (const GLshort *) source; - for (i = 0; i < n; i++) { - depthValues[i] = SHORT_TO_FLOAT(src[i]); - } - } + DEPTH_VALUES(GLshort, SHORT_TO_FLOAT); + needClamp = GL_TRUE; break; case GL_UNSIGNED_SHORT: - { - GLuint i; - const GLushort *src = (const GLushort *) source; - for (i = 0; i < n; i++) { - depthValues[i] = USHORT_TO_FLOAT(src[i]); - } - } + DEPTH_VALUES(GLushort, USHORT_TO_FLOAT); break; case GL_INT: - { - GLuint i; - const GLint *src = (const GLint *) source; - for (i = 0; i < n; i++) { - depthValues[i] = INT_TO_FLOAT(src[i]); - } - } + DEPTH_VALUES(GLint, INT_TO_FLOAT); + needClamp = GL_TRUE; break; case GL_UNSIGNED_INT: - { - GLuint i; - const GLuint *src = (const GLuint *) source; - for (i = 0; i < n; i++) { - depthValues[i] = UINT_TO_FLOAT(src[i]); - } - } + DEPTH_VALUES(GLuint, UINT_TO_FLOAT); break; case GL_UNSIGNED_INT_24_8_EXT: /* GL_EXT_packed_depth_stencil */ if (dstType == GL_UNSIGNED_INT && @@ -3934,7 +3971,11 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n, GLuint *zValues = (GLuint *) dest; GLuint i; for (i = 0; i < n; i++) { - zValues[i] = src[i] & 0xffffff00; + GLuint value = src[i]; + if (srcPacking->SwapBytes) { + SWAP4BYTE(value); + } + zValues[i] = value & 0xffffff00; } return; } @@ -3943,20 +3984,30 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n, const GLfloat scale = 1.0f / 0xffffff; GLuint i; for (i = 0; i < n; i++) { - depthValues[i] = (src[i] >> 8) * scale; + GLuint value = src[i]; + if (srcPacking->SwapBytes) { + SWAP4BYTE(value); + } + depthValues[i] = (value >> 8) * scale; } } break; case GL_FLOAT: - _mesa_memcpy(depthValues, source, n * sizeof(GLfloat)); + DEPTH_VALUES(GLfloat, 1*); + needClamp = GL_TRUE; break; case GL_HALF_FLOAT_ARB: { GLuint i; const GLhalfARB *src = (const GLhalfARB *) source; for (i = 0; i < n; i++) { - depthValues[i] = _mesa_half_to_float(src[i]); + GLhalfARB value = src[i]; + if (srcPacking->SwapBytes) { + SWAP2BYTE(value); + } + depthValues[i] = _mesa_half_to_float(value); } + needClamp = GL_TRUE; } break; default: @@ -3964,12 +4015,30 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n, return; } + /* apply depth scale and bias */ + { + const GLfloat scale = ctx->Pixel.DepthScale; + const GLfloat bias = ctx->Pixel.DepthBias; + if (scale != 1.0 || bias != 0.0) { + GLuint i; + for (i = 0; i < n; i++) { + depthValues[i] = depthValues[i] * scale + bias; + } + needClamp = GL_TRUE; + } + } - /* apply depth scale and bias and clamp to [0,1] */ - if (ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0) { - _mesa_scale_and_bias_depth(ctx, n, depthValues); + /* clamp to [0, 1] */ + if (needClamp) { + GLuint i; + for (i = 0; i < n; i++) { + depthValues[i] = CLAMP(depthValues[i], 0.0, 1.0); + } } + /* + * Convert values to dstType + */ if (dstType == GL_UNSIGNED_INT) { GLuint *zValues = (GLuint *) dest; GLuint i; @@ -4142,15 +4211,11 @@ _mesa_pack_depth_stencil_span(const GLcontext *ctx, GLuint n, GLuint *dest, depthVals = depthCopy; } - if (ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset) { + if (ctx->Pixel.IndexShift || + ctx->Pixel.IndexOffset || + ctx->Pixel.MapStencilFlag) { _mesa_memcpy(stencilCopy, stencilVals, n * sizeof(GLstencil)); - _mesa_shift_and_offset_stencil(ctx, n, stencilCopy); - stencilVals = stencilCopy; - } - if (ctx->Pixel.MapStencilFlag) { - if (stencilVals != stencilCopy) - _mesa_memcpy(stencilCopy, stencilVals, n * sizeof(GLstencil)); - _mesa_map_stencil(ctx, n, stencilCopy); + _mesa_apply_stencil_transfer_ops(ctx, n, stencilCopy); stencilVals = stencilCopy; } @@ -4188,16 +4253,20 @@ _mesa_unpack_image( GLuint dimensions, if (width <= 0 || height <= 0 || depth <= 0) return NULL; /* generate error later */ - if (format == GL_BITMAP) { + if (type == GL_BITMAP) { bytesPerRow = (width + 7) >> 3; - flipBytes = !unpack->LsbFirst; + flipBytes = unpack->LsbFirst; swap2 = swap4 = GL_FALSE; compsPerRow = 0; } else { const GLint bytesPerPixel = _mesa_bytes_per_pixel(format, type); - const GLint components = _mesa_components_in_format(format); + GLint components = _mesa_components_in_format(format); GLint bytesPerComp; + + if (_mesa_type_is_packed(type)) + components = 1; + if (bytesPerPixel <= 0 || components <= 0) return NULL; /* bad format or type. generate error later */ bytesPerRow = bytesPerPixel * width; @@ -4222,7 +4291,69 @@ _mesa_unpack_image( GLuint dimensions, for (row = 0; row < height; row++) { const GLvoid *src = _mesa_image_address(dimensions, unpack, pixels, width, height, format, type, img, row, 0); - _mesa_memcpy(dst, src, bytesPerRow); + + if ((type == GL_BITMAP) && (unpack->SkipPixels & 0x7)) { + GLint i; + flipBytes = GL_FALSE; + if (unpack->LsbFirst) { + GLubyte srcMask = 1 << (unpack->SkipPixels & 0x7); + GLubyte dstMask = 128; + const GLubyte *s = src; + GLubyte *d = dst; + *d = 0; + for (i = 0; i < width; i++) { + if (*s & srcMask) { + *d |= dstMask; + } + if (srcMask == 128) { + srcMask = 1; + s++; + } + else { + srcMask = srcMask << 1; + } + if (dstMask == 1) { + dstMask = 128; + d++; + *d = 0; + } + else { + dstMask = dstMask >> 1; + } + } + } + else { + GLubyte srcMask = 128 >> (unpack->SkipPixels & 0x7); + GLubyte dstMask = 128; + const GLubyte *s = src; + GLubyte *d = dst; + *d = 0; + for (i = 0; i < width; i++) { + if (*s & srcMask) { + *d |= dstMask; + } + if (srcMask == 1) { + srcMask = 128; + s++; + } + else { + srcMask = srcMask >> 1; + } + if (dstMask == 1) { + dstMask = 128; + d++; + *d = 0; + } + else { + dstMask = dstMask >> 1; + } + } + } + } + else { + _mesa_memcpy(dst, src, bytesPerRow); + } + /* byte flipping/swapping */ if (flipBytes) { flip_bytes((GLubyte *) dst, bytesPerRow); @@ -4243,11 +4374,136 @@ _mesa_unpack_image( GLuint dimensions, #endif /* _HAVE_FULL_GL */ + +/** + * Convert an array of RGBA colors from one datatype to another. + * NOTE: src may equal dst. In that case, we use a temporary buffer. + */ +void +_mesa_convert_colors(GLenum srcType, const GLvoid *src, + GLenum dstType, GLvoid *dst, + GLuint count, const GLubyte mask[]) +{ + GLuint tempBuffer[MAX_WIDTH][4]; + const GLboolean useTemp = (src == dst); + + ASSERT(srcType != dstType); + + switch (srcType) { + case GL_UNSIGNED_BYTE: + if (dstType == GL_UNSIGNED_SHORT) { + const GLubyte (*src1)[4] = (const GLubyte (*)[4]) src; + GLushort (*dst2)[4] = (GLushort (*)[4]) (useTemp ? tempBuffer : dst); + GLuint i; + for (i = 0; i < count; i++) { + if (!mask || mask[i]) { + dst2[i][RCOMP] = UBYTE_TO_USHORT(src1[i][RCOMP]); + dst2[i][GCOMP] = UBYTE_TO_USHORT(src1[i][GCOMP]); + dst2[i][BCOMP] = UBYTE_TO_USHORT(src1[i][BCOMP]); + dst2[i][ACOMP] = UBYTE_TO_USHORT(src1[i][ACOMP]); + } + } + if (useTemp) + _mesa_memcpy(dst, tempBuffer, count * 4 * sizeof(GLushort)); + } + else { + const GLubyte (*src1)[4] = (const GLubyte (*)[4]) src; + GLfloat (*dst4)[4] = (GLfloat (*)[4]) (useTemp ? tempBuffer : dst); + GLuint i; + ASSERT(dstType == GL_FLOAT); + for (i = 0; i < count; i++) { + if (!mask || mask[i]) { + dst4[i][RCOMP] = UBYTE_TO_FLOAT(src1[i][RCOMP]); + dst4[i][GCOMP] = UBYTE_TO_FLOAT(src1[i][GCOMP]); + dst4[i][BCOMP] = UBYTE_TO_FLOAT(src1[i][BCOMP]); + dst4[i][ACOMP] = UBYTE_TO_FLOAT(src1[i][ACOMP]); + } + } + if (useTemp) + _mesa_memcpy(dst, tempBuffer, count * 4 * sizeof(GLfloat)); + } + break; + case GL_UNSIGNED_SHORT: + if (dstType == GL_UNSIGNED_BYTE) { + const GLushort (*src2)[4] = (const GLushort (*)[4]) src; + GLubyte (*dst1)[4] = (GLubyte (*)[4]) (useTemp ? tempBuffer : dst); + GLuint i; + for (i = 0; i < count; i++) { + if (!mask || mask[i]) { + dst1[i][RCOMP] = USHORT_TO_UBYTE(src2[i][RCOMP]); + dst1[i][GCOMP] = USHORT_TO_UBYTE(src2[i][GCOMP]); + dst1[i][BCOMP] = USHORT_TO_UBYTE(src2[i][BCOMP]); + dst1[i][ACOMP] = USHORT_TO_UBYTE(src2[i][ACOMP]); + } + } + if (useTemp) + _mesa_memcpy(dst, tempBuffer, count * 4 * sizeof(GLubyte)); + } + else { + const GLushort (*src2)[4] = (const GLushort (*)[4]) src; + GLfloat (*dst4)[4] = (GLfloat (*)[4]) (useTemp ? tempBuffer : dst); + GLuint i; + ASSERT(dstType == GL_FLOAT); + for (i = 0; i < count; i++) { + if (!mask || mask[i]) { + dst4[i][RCOMP] = USHORT_TO_FLOAT(src2[i][RCOMP]); + dst4[i][GCOMP] = USHORT_TO_FLOAT(src2[i][GCOMP]); + dst4[i][BCOMP] = USHORT_TO_FLOAT(src2[i][BCOMP]); + dst4[i][ACOMP] = USHORT_TO_FLOAT(src2[i][ACOMP]); + } + } + if (useTemp) + _mesa_memcpy(dst, tempBuffer, count * 4 * sizeof(GLfloat)); + } + break; + case GL_FLOAT: + if (dstType == GL_UNSIGNED_BYTE) { + const GLfloat (*src4)[4] = (const GLfloat (*)[4]) src; + GLubyte (*dst1)[4] = (GLubyte (*)[4]) (useTemp ? tempBuffer : dst); + GLuint i; + for (i = 0; i < count; i++) { + if (!mask || mask[i]) { + UNCLAMPED_FLOAT_TO_UBYTE(dst1[i][RCOMP], src4[i][RCOMP]); + UNCLAMPED_FLOAT_TO_UBYTE(dst1[i][GCOMP], src4[i][GCOMP]); + UNCLAMPED_FLOAT_TO_UBYTE(dst1[i][BCOMP], src4[i][BCOMP]); + UNCLAMPED_FLOAT_TO_UBYTE(dst1[i][ACOMP], src4[i][ACOMP]); + } + } + if (useTemp) + _mesa_memcpy(dst, tempBuffer, count * 4 * sizeof(GLubyte)); + } + else { + const GLfloat (*src4)[4] = (const GLfloat (*)[4]) src; + GLushort (*dst2)[4] = (GLushort (*)[4]) (useTemp ? tempBuffer : dst); + GLuint i; + ASSERT(dstType == GL_UNSIGNED_SHORT); + for (i = 0; i < count; i++) { + if (!mask || mask[i]) { + UNCLAMPED_FLOAT_TO_USHORT(dst2[i][RCOMP], src4[i][RCOMP]); + UNCLAMPED_FLOAT_TO_USHORT(dst2[i][GCOMP], src4[i][GCOMP]); + UNCLAMPED_FLOAT_TO_USHORT(dst2[i][BCOMP], src4[i][BCOMP]); + UNCLAMPED_FLOAT_TO_USHORT(dst2[i][ACOMP], src4[i][ACOMP]); + } + } + if (useTemp) + _mesa_memcpy(dst, tempBuffer, count * 4 * sizeof(GLushort)); + } + break; + default: + _mesa_problem(NULL, "Invalid datatype in _mesa_convert_colors"); + } +} + + + + /** - * Perform clipping for glDrawPixels. The image's window position - * and size, and the unpack SkipPixels and SkipRows are adjusted so - * that the image region is entirely within the window and scissor bounds. - * NOTE: this will only work when glPixelZoom is (1, 1). + * Perform basic clipping for glDrawPixels. The image's position and size + * and the unpack SkipPixels and SkipRows are adjusted so that the image + * region is entirely within the window and scissor bounds. + * NOTE: this will only work when glPixelZoom is (1, 1) or (1, -1). + * If Pixel.ZoomY is -1, *destY will be changed to be the first row which + * we'll actually write. Beforehand, *destY-1 is the first drawing row. * * \return GL_TRUE if image is ready for drawing or * GL_FALSE if image was completely clipped away (draw nothing) @@ -4264,7 +4520,8 @@ _mesa_clip_drawpixels(const GLcontext *ctx, unpack->RowLength = *width; } - ASSERT(ctx->Pixel.ZoomX == 1.0F && ctx->Pixel.ZoomY == 1.0F); + ASSERT(ctx->Pixel.ZoomX == 1.0F); + ASSERT(ctx->Pixel.ZoomY == 1.0F || ctx->Pixel.ZoomY == -1.0F); /* left clipping */ if (*destX < buffer->_Xmin) { @@ -4279,15 +4536,30 @@ _mesa_clip_drawpixels(const GLcontext *ctx, if (*width <= 0) return GL_FALSE; - /* bottom clipping */ - if (*destY < buffer->_Ymin) { - unpack->SkipRows += (buffer->_Ymin - *destY); - *height -= (buffer->_Ymin - *destY); - *destY = buffer->_Ymin; + if (ctx->Pixel.ZoomY == 1.0F) { + /* bottom clipping */ + if (*destY < buffer->_Ymin) { + unpack->SkipRows += (buffer->_Ymin - *destY); + *height -= (buffer->_Ymin - *destY); + *destY = buffer->_Ymin; + } + /* top clipping */ + if (*destY + *height > buffer->_Ymax) + *height -= (*destY + *height - buffer->_Ymax); + } + else { /* upside down */ + /* top clipping */ + if (*destY > buffer->_Ymax) { + unpack->SkipRows += (*destY - buffer->_Ymax); + *height -= (*destY - buffer->_Ymax); + *destY = buffer->_Ymax; + } + /* bottom clipping */ + if (*destY - *height < buffer->_Ymin) + *height -= (buffer->_Ymin - (*destY - *height)); + /* adjust destY so it's the first row to write to */ + (*destY)--; } - /* top clipping */ - if (*destY + *height > buffer->_Ymax) - *height -= (*destY + *height - buffer->_Ymax); if (*height <= 0) return GL_TRUE; diff --git a/dist/Mesa/src/mesa/main/light.c b/dist/Mesa/src/mesa/main/light.c index 63f88b722..6dd334e16 100644 --- a/dist/Mesa/src/mesa/main/light.c +++ b/dist/Mesa/src/mesa/main/light.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.0 * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -44,7 +44,7 @@ _mesa_ShadeModel( GLenum mode ) _mesa_debug(ctx, "glShadeModel %s\n", _mesa_lookup_enum_by_nr(mode)); if (mode != GL_FLAT && mode != GL_SMOOTH) { - _mesa_error( ctx, GL_INVALID_ENUM, "glShadeModel" ); + _mesa_error(ctx, GL_INVALID_ENUM, "glShadeModel"); return; } @@ -53,9 +53,13 @@ _mesa_ShadeModel( GLenum mode ) FLUSH_VERTICES(ctx, _NEW_LIGHT); ctx->Light.ShadeModel = mode; - ctx->_TriangleCaps ^= DD_FLATSHADE; + if (mode == GL_FLAT) + ctx->_TriangleCaps |= DD_FLATSHADE; + else + ctx->_TriangleCaps &= ~DD_FLATSHADE; + if (ctx->Driver.ShadeModel) - (*ctx->Driver.ShadeModel)( ctx, mode ); + ctx->Driver.ShadeModel( ctx, mode ); } @@ -442,11 +446,10 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params ) return; FLUSH_VERTICES(ctx, _NEW_LIGHT); ctx->Light.Model.TwoSide = newbool; - - if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) - ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE; - else - ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE; + if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) + ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE; + else + ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE; break; case GL_LIGHT_MODEL_COLOR_CONTROL: if (params[0] == (GLfloat) GL_SINGLE_COLOR) @@ -728,7 +731,7 @@ _mesa_ColorMaterial( GLenum face, GLenum mode ) } if (ctx->Driver.ColorMaterial) - (*ctx->Driver.ColorMaterial)( ctx, face, mode ); + ctx->Driver.ColorMaterial( ctx, face, mode ); } @@ -1123,6 +1126,13 @@ compute_light_positions( GLcontext *ctx ) } light->_VP_inf_spot_attenuation = 1.0; } + else { + /* positional light w/ homogeneous coordinate, divide by W */ + GLfloat wInv = 1.0 / light->_Position[3]; + light->_Position[0] *= wInv; + light->_Position[1] *= wInv; + light->_Position[2] *= wInv; + } if (light->_Flags & LIGHT_SPOT) { if (ctx->_NeedEyeCoords) { @@ -1340,6 +1350,7 @@ _mesa_init_lighting( GLcontext *ctx ) NULL ); ctx->Light.ColorMaterialEnabled = GL_FALSE; + ctx->Light.ClampVertexColor = GL_TRUE; /* Lighting miscellaneous */ ctx->_ShineTabList = MALLOC_STRUCT( gl_shine_tab ); diff --git a/dist/Mesa/src/mesa/main/lines.c b/dist/Mesa/src/mesa/main/lines.c index c30d9ac10..b464c4f59 100644 --- a/dist/Mesa/src/mesa/main/lines.c +++ b/dist/Mesa/src/mesa/main/lines.c @@ -1,13 +1,8 @@ -/** - * \file lines.c - * Line operations. - */ - /* * Mesa 3-D graphics library - * Version: 5.1 + * Version: 6.5.3 * - * Copyright (C) 1999-2003 Brian Paul All Rights Reserved. + * 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"), @@ -43,12 +38,6 @@ * \param width line width in pixels. * * \sa glLineWidth(). - * - * Verifies the parameter and updates gl_line_attrib::Width. On a change, - * flushes the vertices, updates the clamped line width and marks the - * DD_LINE_WIDTH flag in __GLcontextRec::_TriangleCaps for the drivers if the - * width is different from one. Notifies the driver via the - * dd_function_table::LineWidth callback. */ void GLAPIENTRY _mesa_LineWidth( GLfloat width ) @@ -70,14 +59,13 @@ _mesa_LineWidth( GLfloat width ) ctx->Const.MinLineWidth, ctx->Const.MaxLineWidth); - - if (width != 1.0) + if (width != 1.0F) ctx->_TriangleCaps |= DD_LINE_WIDTH; else ctx->_TriangleCaps &= ~DD_LINE_WIDTH; if (ctx->Driver.LineWidth) - (*ctx->Driver.LineWidth)(ctx, width); + ctx->Driver.LineWidth(ctx, width); } diff --git a/dist/Mesa/src/mesa/main/mtypes.h b/dist/Mesa/src/mesa/main/mtypes.h index 2bb6d93c3..d00f2efc7 100644 --- a/dist/Mesa/src/mesa/main/mtypes.h +++ b/dist/Mesa/src/mesa/main/mtypes.h @@ -7,9 +7,9 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 6.5.3 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -36,7 +36,7 @@ #include "glheader.h" -#include <GL/internal/glcore.h> /* GLimports/GLexports/GLcontextModes */ +#include <GL/internal/glcore.h> /* __GLcontextModes (GLvisual) */ #include "config.h" /* Hardwired parameters */ #include "glapitable.h" #include "glthread.h" @@ -45,6 +45,12 @@ /** + * Special, internal token + */ +#define GL_SHADER_PROGRAM_MESA 0x9999 + + +/** * Color channel data type. */ #if CHAN_BITS == 8 @@ -143,7 +149,7 @@ enum VERT_ATTRIB_COLOR1 = 4, VERT_ATTRIB_FOG = 5, VERT_ATTRIB_COLOR_INDEX = 6, - VERT_ATTRIB_SEVEN = 7, + VERT_ATTRIB_EDGEFLAG = 7, VERT_ATTRIB_TEX0 = 8, VERT_ATTRIB_TEX1 = 9, VERT_ATTRIB_TEX2 = 10, @@ -183,7 +189,7 @@ enum #define VERT_BIT_COLOR1 (1 << VERT_ATTRIB_COLOR1) #define VERT_BIT_FOG (1 << VERT_ATTRIB_FOG) #define VERT_BIT_COLOR_INDEX (1 << VERT_ATTRIB_COLOR_INDEX) -#define VERT_BIT_SEVEN (1 << VERT_ATTRIB_SEVEN) +#define VERT_BIT_EDGEFLAG (1 << VERT_ATTRIB_EDGEFLAG) #define VERT_BIT_TEX0 (1 << VERT_ATTRIB_TEX0) #define VERT_BIT_TEX1 (1 << VERT_ATTRIB_TEX1) #define VERT_BIT_TEX2 (1 << VERT_ATTRIB_TEX2) @@ -213,22 +219,6 @@ enum #define VERT_BIT_GENERIC(g) (1 << (VERT_ATTRIB_GENERIC0 + (g))) /*@}*/ -/** - * GLSL allows shader writers to allocate vertex result attributes (varyings) in - * single float component granularity. This is in contrast to vertex / fragment - * programs, where result attributes (actually texcoords) were allocated - * in 4-component vectors of floats granularity. - * For performance reasons, it would be optimal to stick with this scheme on a scalar - * processor. Varyings will likely be allocated as 3-component vectors, so statistically - * we win 2 floats. - * The constant VARYINGS_PER_VECTOR tells us how much of float components we pack into - * one result vector. For scalar processor it would be 1, for vector processor - 4. - * - * NOTE: Currently we pack varyings into vertex attributes. - */ -#define VARYINGS_PER_VECTOR 2 -#define VARYING_EMIT_STYLE EMIT_2F -#define MAX_VARYING_VECTORS ((MAX_VARYING_FLOATS + VARYINGS_PER_VECTOR - 1) / VARYINGS_PER_VECTOR) /** * Indexes for vertex program result attributes @@ -250,7 +240,8 @@ enum #define VERT_RESULT_BFC0 13 #define VERT_RESULT_BFC1 14 #define VERT_RESULT_EDGE 15 -#define VERT_RESULT_MAX 16 +#define VERT_RESULT_VAR0 16 /**< shader varying */ +#define VERT_RESULT_MAX (VERT_RESULT_VAR0 + MAX_VARYING) /*@}*/ @@ -271,7 +262,8 @@ enum FRAG_ATTRIB_TEX5 = 9, FRAG_ATTRIB_TEX6 = 10, FRAG_ATTRIB_TEX7 = 11, - FRAG_ATTRIB_MAX = 12 + FRAG_ATTRIB_VAR0 = 12, /**< shader varying */ + FRAG_ATTRIB_MAX = (FRAG_ATTRIB_VAR0 + MAX_VARYING) }; /** @@ -290,6 +282,10 @@ enum #define FRAG_BIT_TEX5 (1 << FRAG_ATTRIB_TEX5) #define FRAG_BIT_TEX6 (1 << FRAG_ATTRIB_TEX6) #define FRAG_BIT_TEX7 (1 << FRAG_ATTRIB_TEX7) +#define FRAG_BIT_VAR0 (1 << FRAG_ATTRIB_VAR0) + +#define FRAG_BIT_TEX(U) (FRAG_BIT_TEX0 << (U)) +#define FRAG_BIT_VAR(V) (FRAG_BIT_VAR0 << (V)) #define FRAG_BITS_TEX_ANY (FRAG_BIT_TEX0| \ FRAG_BIT_TEX1| \ @@ -305,12 +301,14 @@ enum /** * Fragment program results */ -/*@{*/ -#define FRAG_RESULT_COLR 0 -#define FRAG_RESULT_COLH 1 -#define FRAG_RESULT_DEPR 2 -#define FRAG_RESULT_MAX 3 -/*@}*/ +enum +{ + FRAG_RESULT_COLR = 0, + FRAG_RESULT_COLH = 1, + FRAG_RESULT_DEPR = 2, + FRAG_RESULT_DATA0 = 3, + FRAG_RESULT_MAX = (FRAG_RESULT_DATA0 + MAX_DRAW_BUFFERS) +}; /** @@ -383,6 +381,13 @@ enum { BUFFER_BIT_COLOR7) +/** The pixel transfer path has three color tables: */ +/*@{*/ +#define COLORTABLE_PRECONVOLUTION 0 +#define COLORTABLE_POSTCONVOLUTION 1 +#define COLORTABLE_POSTCOLORMATRIX 2 +#define COLORTABLE_MAX 3 +/*@}*/ /** @@ -392,9 +397,9 @@ struct gl_color_table { GLenum InternalFormat; /**< The user-specified format */ GLenum _BaseFormat; /**< GL_ALPHA, GL_RGBA, GL_RGB, etc */ - GLuint Size; /**< number of entries (rows) in table */ - GLvoid *Table; /**< points to data of <Type> */ - GLenum Type; /**< GL_UNSIGNED_BYTE or GL_FLOAT */ + GLuint Size; /**< number of entries in table */ + GLfloat *TableF; /**< Color table, floating point values */ + GLubyte *TableUB; /**< Color table, ubyte values */ GLubyte RedSize; GLubyte GreenSize; GLubyte BlueSize; @@ -616,11 +621,11 @@ struct gl_current_attrib /** * \name Current vertex attributes. * \note Values are valid only after FLUSH_VERTICES has been called. + * \note Index and Edgeflag current values are stored as floats in the + * SIX and SEVEN attribute slots. */ /*@{*/ GLfloat Attrib[VERT_ATTRIB_MAX][4]; /**< Position, color, texcoords, etc */ - GLfloat Index; /**< Current color index */ - GLboolean EdgeFlag; /**< Current edge flag */ /*@}*/ /** @@ -663,9 +668,7 @@ struct gl_enable_attrib GLboolean Blend; GLbitfield ClipPlanes; GLboolean ColorMaterial; - GLboolean ColorTable; /* SGI_color_table */ - GLboolean PostColorMatrixColorTable; /* SGI_color_table */ - GLboolean PostConvolutionColorTable; /* SGI_color_table */ + GLboolean ColorTable[COLORTABLE_MAX]; GLboolean Convolution1D; GLboolean Convolution2D; GLboolean Separable2D; @@ -888,6 +891,7 @@ struct gl_light_attrib GLenum ColorMaterialMode; /**< GL_AMBIENT, GL_DIFFUSE, etc */ GLbitfield ColorMaterialBitmask; /**< bitmask formed from Face and Mode */ GLboolean ColorMaterialEnabled; + GLenum ClampVertexColor; struct gl_light EnabledList; /**< List sentinel */ @@ -964,74 +968,91 @@ struct gl_multisample_attrib /** + * A pixelmap (see glPixelMap) + */ +struct gl_pixelmap +{ + GLint Size; + GLfloat Map[MAX_PIXEL_MAP_TABLE]; + GLubyte Map8[MAX_PIXEL_MAP_TABLE]; /**< converted to 8-bit color */ +}; + + +/** + * Collection of all pixelmaps + */ +struct gl_pixelmaps +{ + struct gl_pixelmap RtoR; /**< i.e. GL_PIXEL_MAP_R_TO_R */ + struct gl_pixelmap GtoG; + struct gl_pixelmap BtoB; + struct gl_pixelmap AtoA; + struct gl_pixelmap ItoR; + struct gl_pixelmap ItoG; + struct gl_pixelmap ItoB; + struct gl_pixelmap ItoA; + struct gl_pixelmap ItoI; + struct gl_pixelmap StoS; +}; + + +/** * Pixel attribute group (GL_PIXEL_MODE_BIT). */ struct gl_pixel_attrib { GLenum ReadBuffer; /**< source buffer for glRead/CopyPixels() */ + + /*--- Begin Pixel Transfer State ---*/ + /* Fields are in the order in which they're applied... */ + + /* Scale & Bias (index shift, offset) */ GLfloat RedBias, RedScale; GLfloat GreenBias, GreenScale; GLfloat BlueBias, BlueScale; GLfloat AlphaBias, AlphaScale; GLfloat DepthBias, DepthScale; GLint IndexShift, IndexOffset; + + /* Pixel Maps */ + /* Note: actual pixel maps are not part of this attrib group */ GLboolean MapColorFlag; GLboolean MapStencilFlag; - GLfloat ZoomX, ZoomY; - /* XXX move these out of gl_pixel_attrib */ - GLint MapStoSsize; /**< Size of each pixel map */ - GLint MapItoIsize; - GLint MapItoRsize; - GLint MapItoGsize; - GLint MapItoBsize; - GLint MapItoAsize; - GLint MapRtoRsize; - GLint MapGtoGsize; - GLint MapBtoBsize; - GLint MapAtoAsize; - GLint MapStoS[MAX_PIXEL_MAP_TABLE]; /**< Pixel map tables */ - GLfloat MapItoI[MAX_PIXEL_MAP_TABLE]; - GLfloat MapItoR[MAX_PIXEL_MAP_TABLE]; - GLfloat MapItoG[MAX_PIXEL_MAP_TABLE]; - GLfloat MapItoB[MAX_PIXEL_MAP_TABLE]; - GLfloat MapItoA[MAX_PIXEL_MAP_TABLE]; - GLubyte MapItoR8[MAX_PIXEL_MAP_TABLE]; /**< converted to 8-bit color */ - GLubyte MapItoG8[MAX_PIXEL_MAP_TABLE]; - GLubyte MapItoB8[MAX_PIXEL_MAP_TABLE]; - GLubyte MapItoA8[MAX_PIXEL_MAP_TABLE]; - GLfloat MapRtoR[MAX_PIXEL_MAP_TABLE]; - GLfloat MapGtoG[MAX_PIXEL_MAP_TABLE]; - GLfloat MapBtoB[MAX_PIXEL_MAP_TABLE]; - GLfloat MapAtoA[MAX_PIXEL_MAP_TABLE]; - /** GL_EXT_histogram */ - GLboolean HistogramEnabled; - GLboolean MinMaxEnabled; - /** GL_SGI_color_matrix */ - GLfloat PostColorMatrixScale[4]; /**< RGBA */ - GLfloat PostColorMatrixBias[4]; /**< RGBA */ - /** GL_SGI_color_table */ - GLfloat ColorTableScale[4]; - GLfloat ColorTableBias[4]; - GLboolean ColorTableEnabled; - GLfloat PCCTscale[4]; - GLfloat PCCTbias[4]; - GLboolean PostConvolutionColorTableEnabled; - GLfloat PCMCTscale[4]; - GLfloat PCMCTbias[4]; - GLboolean PostColorMatrixColorTableEnabled; - /** GL_SGI_texture_color_table */ - GLfloat TextureColorTableScale[4]; - GLfloat TextureColorTableBias[4]; - /** Convolution */ + + /* There are multiple color table stages: */ + GLboolean ColorTableEnabled[COLORTABLE_MAX]; + GLfloat ColorTableScale[COLORTABLE_MAX][4]; /**< RGBA */ + GLfloat ColorTableBias[COLORTABLE_MAX][4]; /**< RGBA */ + + /* Convolution (GL_EXT_convolution) */ GLboolean Convolution1DEnabled; GLboolean Convolution2DEnabled; GLboolean Separable2DEnabled; GLfloat ConvolutionBorderColor[3][4]; GLenum ConvolutionBorderMode[3]; - GLfloat ConvolutionFilterScale[3][4]; - GLfloat ConvolutionFilterBias[3][4]; + GLfloat ConvolutionFilterScale[3][4]; /**< RGBA */ + GLfloat ConvolutionFilterBias[3][4]; /**< RGBA */ GLfloat PostConvolutionScale[4]; /**< RGBA */ GLfloat PostConvolutionBias[4]; /**< RGBA */ + + /* Color matrix (GL_SGI_color_matrix) */ + /* Note: the color matrix is not part of this attrib group */ + GLfloat PostColorMatrixScale[4]; /**< RGBA */ + GLfloat PostColorMatrixBias[4]; /**< RGBA */ + + /* Histogram & minmax (GL_EXT_histogram) */ + /* Note: histogram and minmax data are not part of this attrib group */ + GLboolean HistogramEnabled; + GLboolean MinMaxEnabled; + + /*--- End Pixel Transfer State ---*/ + + /* Pixel Zoom */ + GLfloat ZoomX, ZoomY; + + /** GL_SGI_texture_color_table */ + GLfloat TextureColorTableScale[4]; + GLfloat TextureColorTableBias[4]; }; @@ -1502,12 +1523,6 @@ struct gl_texture_unit struct gl_texture_object *_Current; /**< Points to really enabled tex obj */ - struct gl_texture_object Saved1D; /**< only used by glPush/PopAttrib */ - struct gl_texture_object Saved2D; - struct gl_texture_object Saved3D; - struct gl_texture_object SavedCubeMap; - struct gl_texture_object SavedRect; - /* GL_SGI_texture_color_table */ struct gl_color_table ColorTable; struct gl_color_table ProxyColorTable; @@ -1639,8 +1654,6 @@ struct gl_pixelstore_attrib }; -#define CA_CLIENT_DATA 0x1 /**< Data not allocated by mesa */ - /** * Client vertex array attributes @@ -1652,14 +1665,12 @@ struct gl_client_array GLsizei Stride; /**< user-specified stride */ GLsizei StrideB; /**< actual stride in bytes */ const GLubyte *Ptr; /**< Points to array data */ - GLbitfield Enabled; /**< one of the _NEW_ARRAY_ bits */ + GLboolean Enabled; /**< Enabled flag is a boolean */ GLboolean Normalized; /**< GL_ARB_vertex_program */ /**< GL_ARB_vertex_buffer_object */ struct gl_buffer_object *BufferObj; GLuint _MaxElement; - - GLbitfield Flags; }; @@ -1680,8 +1691,8 @@ struct gl_array_object struct gl_client_array SecondaryColor; struct gl_client_array FogCoord; struct gl_client_array Index; - struct gl_client_array TexCoord[MAX_TEXTURE_COORD_UNITS]; struct gl_client_array EdgeFlag; + struct gl_client_array TexCoord[MAX_TEXTURE_COORD_UNITS]; /*@}*/ /** Generic arrays for vertex programs/shaders */ @@ -1809,35 +1820,32 @@ struct gl_evaluators /** - * State used during execution of fragment programs. - */ -struct fp_machine -{ - GLfloat Temporaries[MAX_NV_FRAGMENT_PROGRAM_TEMPS][4]; - GLfloat Inputs[MAX_NV_FRAGMENT_PROGRAM_INPUTS][4]; - GLfloat Outputs[MAX_NV_FRAGMENT_PROGRAM_OUTPUTS][4]; - GLuint CondCodes[4]; -}; - - -/** * Names of the various vertex/fragment program register files, etc. + * * NOTE: first four tokens must fit into 2 bits (see t_vb_arbprogram.c) * All values should fit in a 4-bit field. + * + * NOTE: PROGRAM_ENV_PARAM, PROGRAM_STATE_VAR, PROGRAM_NAMED_PARAM, + * PROGRAM_CONSTANT, and PROGRAM_UNIFORM can all be considered to + * be "uniform" variables since they can only be set outside glBegin/End. + * They're also all stored in the same Parameters array. */ enum register_file { - PROGRAM_TEMPORARY = 0, - PROGRAM_LOCAL_PARAM = 1, - PROGRAM_ENV_PARAM = 2, - PROGRAM_STATE_VAR = 3, - PROGRAM_INPUT = 4, - PROGRAM_OUTPUT = 5, - PROGRAM_NAMED_PARAM = 6, - PROGRAM_CONSTANT = 7, - PROGRAM_WRITE_ONLY = 8, - PROGRAM_ADDRESS = 9, - PROGRAM_UNDEFINED = 10, /* invalid value */ + PROGRAM_TEMPORARY = 0, /**< machine->Temporary[] */ + PROGRAM_LOCAL_PARAM = 1, /**< gl_program->LocalParams[] */ + PROGRAM_ENV_PARAM = 2, /**< gl_program->Parameters[] */ + PROGRAM_STATE_VAR = 3, /**< gl_program->Parameters[] */ + PROGRAM_INPUT = 4, /**< machine->Inputs[] */ + PROGRAM_OUTPUT = 5, /**< machine->Outputs[] */ + PROGRAM_NAMED_PARAM = 6, /**< gl_program->Parameters[] */ + PROGRAM_CONSTANT = 7, /**< gl_program->Parameters[] */ + PROGRAM_UNIFORM = 8, /**< gl_program->Parameters[] */ + PROGRAM_VARYING = 9, /**< machine->Inputs[]/Outputs[] */ + PROGRAM_WRITE_ONLY = 10, /**< A dummy, write-only register */ + PROGRAM_ADDRESS = 11, /**< machine->AddressReg */ + PROGRAM_SAMPLER = 12, /**< for shader samplers, compile-time only */ + PROGRAM_UNDEFINED = 13, /**< Invalid value */ PROGRAM_FILE_MAX }; @@ -1853,22 +1861,28 @@ struct gl_program_parameter_list; struct gl_program { GLuint Id; - GLubyte *String; /**< Null-terminated program text */ + GLubyte *String; /**< Null-terminated program text */ GLint RefCount; - GLenum Target; - GLenum Format; /**< String encoding format */ + GLenum Target; /**< GL_VERTEX/FRAGMENT_PROGRAM_ARB, GL_FRAGMENT_PROGRAM_NV */ + GLenum Format; /**< String encoding format */ GLboolean Resident; struct prog_instruction *Instructions; - GLbitfield InputsRead; /* Bitmask of which input regs are read */ - GLbitfield OutputsWritten; /* Bitmask of which output regs are written to */ + GLbitfield InputsRead; /**< Bitmask of which input regs are read */ + GLbitfield OutputsWritten; /**< Bitmask of which output regs are written to */ + GLbitfield TexturesUsed[MAX_TEXTURE_IMAGE_UNITS]; /**< TEXTURE_x_BIT bitmask */ /** Named parameters, constants, etc. from program text */ struct gl_program_parameter_list *Parameters; /** Numbered local parameters */ GLfloat LocalParams[MAX_PROGRAM_LOCAL_PARAMS][4]; + /** Vertex/fragment shader varying vars */ + struct gl_program_parameter_list *Varying; + /** Vertex program user-defined attributes */ + struct gl_program_parameter_list *Attributes; + /** Logical counts */ /*@{*/ GLuint NumInstructions; @@ -1876,6 +1890,9 @@ struct gl_program GLuint NumParameters; GLuint NumAttributes; GLuint NumAddressRegs; + GLuint NumAluInstructions; + GLuint NumTexInstructions; + GLuint NumTexIndirections; /*@}*/ /** Native, actual h/w counts */ /*@{*/ @@ -1884,6 +1901,9 @@ struct gl_program GLuint NumNativeParameters; GLuint NumNativeAttributes; GLuint NumNativeAddressRegs; + GLuint NumNativeAluInstructions; + GLuint NumNativeTexInstructions; + GLuint NumNativeTexIndirections; /*@}*/ }; @@ -1902,13 +1922,6 @@ struct gl_vertex_program struct gl_fragment_program { struct gl_program Base; /**< base class */ - GLbitfield TexturesUsed[MAX_TEXTURE_IMAGE_UNITS]; /**< TEXTURE_x_BIT bitmask */ - GLuint NumAluInstructions; /**< GL_ARB_fragment_program */ - GLuint NumTexInstructions; - GLuint NumTexIndirections; - GLuint NumNativeAluInstructions; /**< GL_ARB_fragment_program */ - GLuint NumNativeTexInstructions; - GLuint NumNativeTexIndirections; GLenum FogOption; GLboolean UsesKill; }; @@ -1925,29 +1938,32 @@ struct gl_program_state /** - * State vars for GL_ARB/GL_NV_vertex_program + * Context state for vertex programs. */ struct gl_vertex_program_state { - GLboolean Enabled; /**< GL_VERTEX_PROGRAM_ARB/NV */ - GLboolean _Enabled; /**< Enabled and valid program? */ - GLboolean PointSizeEnabled; /**< GL_VERTEX_PROGRAM_POINT_SIZE_ARB/NV */ - GLboolean TwoSideEnabled; /**< GL_VERTEX_PROGRAM_TWO_SIDE_ARB/NV */ - struct gl_vertex_program *Current; /**< ptr to currently bound program */ - const struct gl_vertex_program *_Current; /**< ptr to currently bound - program, including internal - (t_vp_build.c) programs */ - - GLenum TrackMatrix[MAX_NV_VERTEX_PROGRAM_PARAMS / 4]; - GLenum TrackMatrixTransform[MAX_NV_VERTEX_PROGRAM_PARAMS / 4]; - - GLfloat Parameters[MAX_NV_VERTEX_PROGRAM_PARAMS][4]; /* Env params */ - /* Only used during program execution (may be moved someday): */ - GLfloat Temporaries[MAX_NV_VERTEX_PROGRAM_TEMPS][4]; - GLfloat Inputs[MAX_NV_VERTEX_PROGRAM_INPUTS][4]; - GLuint InputsSize[MAX_NV_VERTEX_PROGRAM_INPUTS]; - GLfloat Outputs[MAX_NV_VERTEX_PROGRAM_OUTPUTS][4]; - GLint AddressReg[4]; + GLboolean Enabled; /**< GL_VERTEX_PROGRAM_ARB/NV */ + GLboolean _Enabled; /**< Enabled and valid program? */ + GLboolean PointSizeEnabled; /**< GL_VERTEX_PROGRAM_POINT_SIZE_ARB/NV */ + GLboolean TwoSideEnabled; /**< GL_VERTEX_PROGRAM_TWO_SIDE_ARB/NV */ + struct gl_vertex_program *Current; /**< user-bound vertex program */ + + /** Currently enabled and valid program (including internal programs + * and compiled shader programs). + */ + struct gl_vertex_program *_Current; + + GLfloat Parameters[MAX_PROGRAM_ENV_PARAMS][4]; /**< Env params */ + + /* For GL_NV_vertex_program only: */ + GLenum TrackMatrix[MAX_PROGRAM_ENV_PARAMS / 4]; + GLenum TrackMatrixTransform[MAX_PROGRAM_ENV_PARAMS / 4]; + + /** Should fixed-function T&L be implemented with a vertex prog? */ + GLboolean _MaintainTnlProgram; + + /** Program to emulate fixed-function T&L (see above) */ + struct gl_vertex_program *_TnlProgram; #if FEATURE_MESA_program_debug GLprogramcallbackMESA Callback; @@ -1959,18 +1975,28 @@ struct gl_vertex_program_state /** - * Context state for GL_ARB/NV_fragment_program + * Context state for fragment programs. */ struct gl_fragment_program_state { - GLboolean Enabled; /* GL_VERTEX_PROGRAM_NV */ - GLboolean _Enabled; /* Enabled and valid program? */ + GLboolean Enabled; /**< User-set fragment program enable flag */ + GLboolean _Enabled; /**< Fragment program enabled and valid? */ GLboolean _Active; - struct gl_fragment_program *Current; /* ptr to currently bound program */ - const struct gl_fragment_program *_Current; /* ptr to currently active program - (including internal programs) */ - struct fp_machine Machine; /* machine state */ - GLfloat Parameters[MAX_NV_FRAGMENT_PROGRAM_PARAMS][4]; /* Env params */ + struct gl_fragment_program *Current; /**< User-bound fragment program */ + + /** Currently enabled and valid program (including internal programs + * and compiled shader programs). + */ + struct gl_fragment_program *_Current; + + GLfloat Parameters[MAX_PROGRAM_ENV_PARAMS][4]; /**< Env params */ + + /** Should fixed-function texturing be implemented with a fragment prog? */ + GLboolean _MaintainTexEnvProgram; + GLboolean _UseTexEnvProgram; + + /** Program to emulate fixed-function texture env/combine (see above) */ + struct gl_fragment_program *_TexEnvProgram; #if FEATURE_MESA_program_debug GLprogramcallbackMESA Callback; @@ -1991,17 +2017,6 @@ struct atifs_instruction; struct atifs_setupinst; /** - * State for executing ATI fragment shader. - */ -struct atifs_machine -{ - GLfloat Registers[6][4]; /** six temporary registers */ - GLfloat PrevPassRegisters[6][4]; - GLfloat Inputs[2][4]; /** Primary, secondary input colors */ -}; - - -/** * ATI fragment shader */ struct ati_fragment_shader @@ -2031,7 +2046,6 @@ struct gl_ati_fragment_shader_state GLboolean _Enabled; /** enabled and valid shader? */ GLboolean Compiling; GLfloat GlobalConstants[8][4]; - struct atifs_machine Machine; /* machine state */ struct ati_fragment_shader *Current; }; @@ -2059,14 +2073,61 @@ struct gl_query_state }; + /** - * Context state for vertex/fragment shaders. + * A GLSL shader object. */ -struct gl_shader_objects_state +struct gl_shader { - struct gl2_program_intf **CurrentProgram; - GLboolean _VertexShaderPresent; - GLboolean _FragmentShaderPresent; + GLenum Type; /**< GL_FRAGMENT_SHADER || GL_VERTEX_SHADER (first field!) */ + GLuint Name; /**< AKA the handle */ + GLint RefCount; /**< Reference count */ + GLboolean DeletePending; + + const GLchar *Source; /**< Source code string */ + GLboolean CompileStatus; + GLuint NumPrograms; /**< size of Programs[] array */ + struct gl_program **Programs; /**< Post-compile assembly code */ + GLchar *InfoLog; +}; + + +/** + * A GLSL program object. Basically a linked collection of "shaders". + */ +struct gl_shader_program +{ + GLenum Type; /**< Always GL_SHADER_PROGRAM (internal token) */ + GLuint Name; /**< aka handle or ID */ + GLint RefCount; /**< Reference count */ + GLboolean DeletePending; + + GLuint NumShaders; /**< number of attached shaders */ + struct gl_shader **Shaders; /**< List of attached the shaders */ + + /* post-link info: */ + struct gl_vertex_program *VertexProgram; /**< Linked vertex program */ + struct gl_fragment_program *FragmentProgram; /**< Linked fragment prog */ + struct gl_program_parameter_list *Uniforms; /**< Plus constants, etc */ + struct gl_program_parameter_list *Varying; + struct gl_program_parameter_list *Attributes; /**< Vertex attributes */ + GLboolean LinkStatus; /**< GL_LINK_STATUS */ + GLboolean Validated; + GLchar *InfoLog; +}; + + +/** + * Context state for GLSL vertex/fragment shaders. + */ +struct gl_shader_state +{ + struct gl_shader_program *CurrentProgram; /**< The user-bound program */ + /** Driver-selectable options: */ + GLboolean EmitHighLevelInstructions; /**< IF/ELSE/ENDIF vs. BRA, etc. */ + GLboolean EmitCondCodes; /**< Use condition codes? */ + GLboolean EmitComments; /**< Annotated instructions */ + void *MemPool; }; @@ -2092,6 +2153,19 @@ struct gl_shared_state /*@}*/ /** + * \name Thread safety and statechange notification for texture + * objects. + * + * \todo Improve the granularity of locking. + */ + /*@{*/ + _glthread_Mutex TexMutex; /**< texobj thread safety */ + GLuint TextureStateStamp; /**< state notification for shared tex */ + /*@}*/ + + + + /** * \name Vertex/fragment programs */ /*@{*/ @@ -2114,7 +2188,8 @@ struct gl_shared_state #endif #if FEATURE_ARB_shader_objects - struct _mesa_HashTable *GL2Objects; + /** Table of both gl_shader and gl_shader_program objects */ + struct _mesa_HashTable *ShaderObjects; #endif #if FEATURE_EXT_framebuffer_object @@ -2142,6 +2217,8 @@ struct gl_shared_state */ struct gl_renderbuffer { +#define RB_MAGIC 0xaabbccdd + int Magic; /** XXX TEMPORARY DEBUG INFO */ _glthread_Mutex Mutex; /**< for thread safety */ GLuint ClassID; /**< Useful for drivers */ GLuint Name; @@ -2159,7 +2236,7 @@ struct gl_renderbuffer GLubyte IndexBits; GLubyte DepthBits; GLubyte StencilBits; - GLvoid *Data; + GLvoid *Data; /**< This may not be used by some kinds of RBs */ /* Used to wrap one renderbuffer around another: */ struct gl_renderbuffer *Wrapped; @@ -2263,6 +2340,7 @@ struct gl_framebuffer _glthread_Mutex Mutex; /**< for thread safety */ GLuint Name; /* if zero, this is a window system framebuffer */ GLint RefCount; + GLboolean DeletePending; GLvisual Visual; /**< The framebuffer's visual. Immutable if this is a window system buffer. @@ -2340,6 +2418,8 @@ struct gl_program_constants GLuint MaxNativeTemps; GLuint MaxNativeAddressRegs; /* vertex program only, for now */ GLuint MaxNativeParameters; + /* For shaders */ + GLuint MaxUniformComponents; }; @@ -2389,6 +2469,9 @@ struct gl_constants /* GL_EXT_framebuffer_object */ GLuint MaxColorAttachments; GLuint MaxRenderbufferSize; + /* GL_ARB_vertex_shader */ + GLuint MaxVertexTextureImageUnits; + GLuint MaxVarying; }; @@ -2417,6 +2500,7 @@ struct gl_extensions GLboolean ARB_point_sprite; GLboolean ARB_shader_objects; GLboolean ARB_shading_language_100; + GLboolean ARB_shading_language_120; GLboolean ARB_shadow; GLboolean ARB_texture_border_clamp; GLboolean ARB_texture_compression; @@ -2488,6 +2572,7 @@ struct gl_extensions GLboolean ATI_texture_mirror_once; GLboolean ATI_texture_env_combine3; GLboolean ATI_fragment_shader; + GLboolean ATI_separate_stencil; GLboolean IBM_rasterpos_clip; GLboolean IBM_multimode_draw_arrays; GLboolean MESA_pack_invert; @@ -2524,7 +2609,7 @@ struct gl_extensions /** * A stack of matrices (projection, modelview, color, texture, etc). */ -struct matrix_stack +struct gl_matrix_stack { GLmatrix *Top; /**< points into Stack */ GLmatrix *Stack; /**< array [MaxDepth] of GLmatrix */ @@ -2621,7 +2706,7 @@ struct matrix_stack #define _NEW_ARRAY_COLOR1 VERT_BIT_COLOR1 #define _NEW_ARRAY_FOGCOORD VERT_BIT_FOG #define _NEW_ARRAY_INDEX VERT_BIT_COLOR_INDEX -#define _NEW_ARRAY_EDGEFLAG VERT_BIT_SEVEN +#define _NEW_ARRAY_EDGEFLAG VERT_BIT_EDGEFLAG #define _NEW_ARRAY_TEXCOORD_0 VERT_BIT_TEX0 #define _NEW_ARRAY_TEXCOORD_1 VERT_BIT_TEX1 #define _NEW_ARRAY_TEXCOORD_2 VERT_BIT_TEX2 @@ -2630,7 +2715,7 @@ struct matrix_stack #define _NEW_ARRAY_TEXCOORD_5 VERT_BIT_TEX5 #define _NEW_ARRAY_TEXCOORD_6 VERT_BIT_TEX6 #define _NEW_ARRAY_TEXCOORD_7 VERT_BIT_TEX7 -#define _NEW_ARRAY_ATTRIB_0 0x10000 /* start at bit 16 */ +#define _NEW_ARRAY_ATTRIB_0 VERT_BIT_GENERIC0 /* start at bit 16 */ #define _NEW_ARRAY_ALL 0xffffffff @@ -2687,6 +2772,7 @@ struct matrix_stack #define _MESA_NEW_NEED_EYE_COORDS (_NEW_LIGHT | \ _NEW_TEXTURE | \ _NEW_POINT | \ + _NEW_PROGRAM | \ _NEW_MODELVIEW) #define _MESA_NEW_NEED_NORMALS (_NEW_LIGHT | \ @@ -2754,9 +2840,8 @@ struct mesa_display_list /** * State used during display list compilation and execution. */ -struct mesa_list_state +struct gl_dlist_state { - struct mesa_display_list *CallStack[MAX_LIST_NESTING]; GLuint CallDepth; /**< Current recursion calling depth */ struct mesa_display_list *CurrentList; @@ -2793,17 +2878,6 @@ struct mesa_list_state */ struct __GLcontextRec { - /** - * \name OS related interfaces. - * - * These \b must be the first members of this structure, because they are - * exposed to the outside world (i.e. GLX extension). - */ - /*@{*/ - __GLimports imports; - __GLexports exports; - /*@}*/ - /** State possibly shared with other contexts in the address space */ struct gl_shared_state *Shared; @@ -2826,26 +2900,25 @@ struct __GLcontextRec struct dd_function_table Driver; void *DriverCtx; /**< Points to device driver context/state */ - void *DriverMgrCtx; /**< Points to device driver manager (optional)*/ /** Core/Driver constants */ struct gl_constants Const; /** \name The various 4x4 matrix stacks */ /*@{*/ - struct matrix_stack ModelviewMatrixStack; - struct matrix_stack ProjectionMatrixStack; - struct matrix_stack ColorMatrixStack; - struct matrix_stack TextureMatrixStack[MAX_TEXTURE_COORD_UNITS]; - struct matrix_stack ProgramMatrixStack[MAX_PROGRAM_MATRICES]; - struct matrix_stack *CurrentStack; /**< Points to one of the above stacks */ + struct gl_matrix_stack ModelviewMatrixStack; + struct gl_matrix_stack ProjectionMatrixStack; + struct gl_matrix_stack ColorMatrixStack; + struct gl_matrix_stack TextureMatrixStack[MAX_TEXTURE_COORD_UNITS]; + struct gl_matrix_stack ProgramMatrixStack[MAX_PROGRAM_MATRICES]; + struct gl_matrix_stack *CurrentStack; /**< Points to one of the above stacks */ /*@}*/ /** Combined modelview and projection matrix */ GLmatrix _ModelProjectMatrix; /** \name Display lists */ - struct mesa_list_state ListState; + struct gl_dlist_state ListState; GLboolean ExecuteFlag; /**< Execute GL commands? */ GLboolean CompileFlag; /**< Compile GL commands into display list? */ @@ -2903,6 +2976,7 @@ struct __GLcontextRec /** \name Other assorted state (not pushed/popped on attribute stack) */ /*@{*/ + struct gl_pixelmaps PixelMaps; struct gl_histogram_attrib Histogram; struct gl_minmax_attrib MinMax; struct gl_convolution_attrib Convolution1D; @@ -2913,28 +2987,23 @@ struct __GLcontextRec struct gl_feedback Feedback; /**< Feedback */ struct gl_selection Select; /**< Selection */ - struct gl_color_table ColorTable; /**< Pre-convolution */ - struct gl_color_table ProxyColorTable; /**< Pre-convolution */ + struct gl_color_table ColorTable[COLORTABLE_MAX]; + struct gl_color_table ProxyColorTable[COLORTABLE_MAX]; +#if 0 struct gl_color_table PostConvolutionColorTable; struct gl_color_table ProxyPostConvolutionColorTable; struct gl_color_table PostColorMatrixColorTable; struct gl_color_table ProxyPostColorMatrixColorTable; +#endif struct gl_program_state Program; /**< for vertex or fragment progs */ struct gl_vertex_program_state VertexProgram; /**< GL_ARB/NV_vertex_program */ struct gl_fragment_program_state FragmentProgram; /**< GL_ARB/NV_vertex_program */ struct gl_ati_fragment_shader_state ATIFragmentShader; /**< GL_ATI_fragment_shader */ - struct gl_fragment_program *_TexEnvProgram; /**< Texture state as fragment program */ - struct gl_vertex_program *_TnlProgram; /**< Fixed func TNL state as vertex program */ - - GLboolean _MaintainTnlProgram; - GLboolean _MaintainTexEnvProgram; - GLboolean _UseTexEnvProgram; - struct gl_query_state Query; /**< GL_ARB_occlusion_query */ - struct gl_shader_objects_state ShaderObjects; /* GL_ARB_shader_objects */ + struct gl_shader_state Shader; /**< GLSL shader object state */ /*@}*/ #if FEATURE_EXT_framebuffer_object @@ -2955,6 +3024,8 @@ struct __GLcontextRec GLboolean _ForceEyeCoords; GLenum _CurrentProgram; /* currently executing program */ + GLuint TextureStateTimestamp; /* detect changes to shared state */ + struct gl_shine_tab *_ShineTable[2]; /**< Active shine tables */ struct gl_shine_tab *_ShineTabList; /**< MRU list of inactive shine tables */ /**@}*/ diff --git a/dist/Mesa/src/mesa/main/points.c b/dist/Mesa/src/mesa/main/points.c index aa36fb628..8825bb181 100644 --- a/dist/Mesa/src/mesa/main/points.c +++ b/dist/Mesa/src/mesa/main/points.c @@ -5,9 +5,9 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.0.1 * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -57,6 +57,9 @@ _mesa_PointSize( GLfloat size ) FLUSH_VERTICES(ctx, _NEW_POINT); ctx->Point.Size = size; + ctx->Point._Size = CLAMP(ctx->Point.Size, + ctx->Point.MinSize, + ctx->Point.MaxSize); if (ctx->Driver.PointSize) ctx->Driver.PointSize(ctx, size); @@ -82,8 +85,13 @@ _mesa_PointParameteriNV( GLenum pname, GLint param ) void GLAPIENTRY _mesa_PointParameterivNV( GLenum pname, const GLint *params ) { - const GLfloat value = (GLfloat) params[0]; - _mesa_PointParameterfvEXT(pname, &value); + GLfloat p[3]; + p[0] = (GLfloat) params[0]; + if (pname == GL_DISTANCE_ATTENUATION_EXT) { + p[1] = (GLfloat) params[1]; + p[2] = (GLfloat) params[2]; + } + _mesa_PointParameterfvEXT(pname, p); } @@ -115,6 +123,15 @@ _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params) return; FLUSH_VERTICES(ctx, _NEW_POINT); COPY_3V(ctx->Point.Params, params); + + ctx->Point._Attenuated = (ctx->Point.Params[0] != 1.0 || + ctx->Point.Params[1] != 0.0 || + ctx->Point.Params[2] != 0.0); + + if (ctx->Point._Attenuated) + ctx->_TriangleCaps |= DD_POINT_ATTEN; + else + ctx->_TriangleCaps &= ~DD_POINT_ATTEN; } else { _mesa_error(ctx, GL_INVALID_ENUM, @@ -232,36 +249,6 @@ _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params) /** - * Update derived point-related state. - */ -void -_mesa_update_point(GLcontext *ctx) -{ - /* clamp to user-specified limits now, clamp to ctx->Const.Min/Max - * limits during rasterization. - */ - ctx->Point._Size = CLAMP(ctx->Point.Size, - ctx->Point.MinSize, - ctx->Point.MaxSize); - - if (ctx->Point._Size == 1.0F) - ctx->_TriangleCaps &= ~DD_POINT_SIZE; - else - ctx->_TriangleCaps |= DD_POINT_SIZE; - - ctx->Point._Attenuated = (ctx->Point.Params[0] != 1.0 || - ctx->Point.Params[1] != 0.0 || - ctx->Point.Params[2] != 0.0); - - if (ctx->Point._Attenuated) - ctx->_TriangleCaps |= DD_POINT_ATTEN; - else - ctx->_TriangleCaps &= ~DD_POINT_ATTEN; -} - - - -/** * Initialize the context point state. * * \param ctx GL context. diff --git a/dist/Mesa/src/mesa/main/polygon.c b/dist/Mesa/src/mesa/main/polygon.c index b771408cf..564250b88 100644 --- a/dist/Mesa/src/mesa/main/polygon.c +++ b/dist/Mesa/src/mesa/main/polygon.c @@ -5,9 +5,9 @@ /* * Mesa 3-D graphics library - * Version: 6.3 + * Version: 6.5.1 * - * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. + * 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"), @@ -167,13 +167,13 @@ _mesa_PolygonMode( GLenum face, GLenum mode ) return; } - ctx->_TriangleCaps &= ~DD_TRI_UNFILLED; - if (ctx->Polygon.FrontMode!=GL_FILL || ctx->Polygon.BackMode!=GL_FILL) + if (ctx->Polygon.FrontMode == GL_FILL && ctx->Polygon.BackMode == GL_FILL) + ctx->_TriangleCaps &= ~DD_TRI_UNFILLED; + else ctx->_TriangleCaps |= DD_TRI_UNFILLED; - if (ctx->Driver.PolygonMode) { - (*ctx->Driver.PolygonMode)( ctx, face, mode ); - } + if (ctx->Driver.PolygonMode) + ctx->Driver.PolygonMode(ctx, face, mode); } #if _HAVE_FULL_GL @@ -321,32 +321,6 @@ _mesa_PolygonOffsetEXT( GLfloat factor, GLfloat bias ) /**********************************************************************/ -/** \name State Management */ -/*@{*/ - -/* - * Check polygon state and set DD_TRI_CULL_FRONT_BACK and/or DD_TRI_OFFSET - * in ctx->_TriangleCaps if needed. - */ -void _mesa_update_polygon( GLcontext *ctx ) -{ - ctx->_TriangleCaps &= ~(DD_TRI_CULL_FRONT_BACK | DD_TRI_OFFSET); - - if (ctx->Polygon.CullFlag && ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK) - ctx->_TriangleCaps |= DD_TRI_CULL_FRONT_BACK; - - /* Any Polygon offsets enabled? */ - if (ctx->Polygon.OffsetPoint || - ctx->Polygon.OffsetLine || - ctx->Polygon.OffsetFill) { - ctx->_TriangleCaps |= DD_TRI_OFFSET; - } -} - -/*@}*/ - - -/**********************************************************************/ /** \name Initialization */ /*@{*/ diff --git a/dist/Mesa/src/mesa/main/state.c b/dist/Mesa/src/mesa/main/state.c index b40a5dc55..99b3f48b4 100644 --- a/dist/Mesa/src/mesa/main/state.c +++ b/dist/Mesa/src/mesa/main/state.c @@ -70,12 +70,12 @@ #include "lines.h" #include "macros.h" #include "matrix.h" -#if FEATURE_ARB_occlusion_query || FEATURE_EXT_timer_query -#include "occlude.h" -#endif #include "pixel.h" #include "points.h" #include "polygon.h" +#if FEATURE_ARB_occlusion_query || FEATURE_EXT_timer_query +#include "queryobj.h" +#endif #include "rastpos.h" #include "state.h" #include "stencil.h" @@ -93,7 +93,7 @@ #include "texenvprogram.h" #endif #if FEATURE_ARB_shader_objects -#include "shaderobjects.h" +#include "shaders.h" #endif #include "debug.h" #include "dispatch.h" @@ -304,7 +304,6 @@ _mesa_init_exec_table(struct _glapi_table *exec) SET_GenTextures(exec, _mesa_GenTextures); #if _HAVE_FULL_GL SET_AreTexturesResident(exec, _mesa_AreTexturesResident); - SET_AreTexturesResidentEXT(exec, _mesa_AreTexturesResident); SET_ColorPointer(exec, _mesa_ColorPointer); SET_CopyTexImage1D(exec, _mesa_CopyTexImage1D); SET_CopyTexImage2D(exec, _mesa_CopyTexImage2D); @@ -313,12 +312,10 @@ _mesa_init_exec_table(struct _glapi_table *exec) SET_DisableClientState(exec, _mesa_DisableClientState); SET_EdgeFlagPointer(exec, _mesa_EdgeFlagPointer); SET_EnableClientState(exec, _mesa_EnableClientState); - SET_GenTexturesEXT(exec, _mesa_GenTextures); SET_GetPointerv(exec, _mesa_GetPointerv); SET_IndexPointer(exec, _mesa_IndexPointer); SET_InterleavedArrays(exec, _mesa_InterleavedArrays); SET_IsTexture(exec, _mesa_IsTexture); - SET_IsTextureEXT(exec, _mesa_IsTexture); SET_NormalPointer(exec, _mesa_NormalPointer); SET_PopClientAttrib(exec, _mesa_PopClientAttrib); SET_PrioritizeTextures(exec, _mesa_PrioritizeTextures); @@ -356,31 +353,18 @@ _mesa_init_exec_table(struct _glapi_table *exec) SET_CopyConvolutionFilter1D(exec, _mesa_CopyConvolutionFilter1D); SET_CopyConvolutionFilter2D(exec, _mesa_CopyConvolutionFilter2D); SET_GetColorTable(exec, _mesa_GetColorTable); - SET_GetColorTableSGI(exec, _mesa_GetColorTable); SET_GetColorTableParameterfv(exec, _mesa_GetColorTableParameterfv); - SET_GetColorTableParameterfvSGI(exec, _mesa_GetColorTableParameterfv); SET_GetColorTableParameteriv(exec, _mesa_GetColorTableParameteriv); - SET_GetColorTableParameterivSGI(exec, _mesa_GetColorTableParameteriv); SET_GetConvolutionFilter(exec, _mesa_GetConvolutionFilter); - SET_GetConvolutionFilterEXT(exec, _mesa_GetConvolutionFilter); SET_GetConvolutionParameterfv(exec, _mesa_GetConvolutionParameterfv); - SET_GetConvolutionParameterfvEXT(exec, _mesa_GetConvolutionParameterfv); SET_GetConvolutionParameteriv(exec, _mesa_GetConvolutionParameteriv); - SET_GetConvolutionParameterivEXT(exec, _mesa_GetConvolutionParameteriv); SET_GetHistogram(exec, _mesa_GetHistogram); - SET_GetHistogramEXT(exec, _mesa_GetHistogram); SET_GetHistogramParameterfv(exec, _mesa_GetHistogramParameterfv); - SET_GetHistogramParameterfvEXT(exec, _mesa_GetHistogramParameterfv); SET_GetHistogramParameteriv(exec, _mesa_GetHistogramParameteriv); - SET_GetHistogramParameterivEXT(exec, _mesa_GetHistogramParameteriv); SET_GetMinmax(exec, _mesa_GetMinmax); - SET_GetMinmaxEXT(exec, _mesa_GetMinmax); SET_GetMinmaxParameterfv(exec, _mesa_GetMinmaxParameterfv); - SET_GetMinmaxParameterfvEXT(exec, _mesa_GetMinmaxParameterfv); SET_GetMinmaxParameteriv(exec, _mesa_GetMinmaxParameteriv); - SET_GetMinmaxParameterivEXT(exec, _mesa_GetMinmaxParameteriv); SET_GetSeparableFilter(exec, _mesa_GetSeparableFilter); - SET_GetSeparableFilterEXT(exec, _mesa_GetSeparableFilter); SET_Histogram(exec, _mesa_Histogram); SET_Minmax(exec, _mesa_Minmax); SET_ResetHistogram(exec, _mesa_ResetHistogram); @@ -392,6 +376,32 @@ _mesa_init_exec_table(struct _glapi_table *exec) SET_StencilFuncSeparate(exec, _mesa_StencilFuncSeparate); SET_StencilMaskSeparate(exec, _mesa_StencilMaskSeparate); SET_StencilOpSeparate(exec, _mesa_StencilOpSeparate); +#if FEATURE_ARB_shader_objects + SET_AttachShader(exec, _mesa_AttachShader); + SET_CreateProgram(exec, _mesa_CreateProgram); + SET_CreateShader(exec, _mesa_CreateShader); + SET_DeleteProgram(exec, _mesa_DeleteProgram); + SET_DeleteShader(exec, _mesa_DeleteShader); + SET_DetachShader(exec, _mesa_DetachShader); + SET_GetAttachedShaders(exec, _mesa_GetAttachedShaders); + SET_GetProgramiv(exec, _mesa_GetProgramiv); + SET_GetProgramInfoLog(exec, _mesa_GetProgramInfoLog); + SET_GetShaderiv(exec, _mesa_GetShaderiv); + SET_GetShaderInfoLog(exec, _mesa_GetShaderInfoLog); + SET_IsProgram(exec, _mesa_IsProgram); + SET_IsShader(exec, _mesa_IsShader); +#endif + + /* OpenGL 2.1 */ +#if FEATURE_ARB_shader_objects + SET_UniformMatrix2x3fv(exec, _mesa_UniformMatrix2x3fv); + SET_UniformMatrix3x2fv(exec, _mesa_UniformMatrix3x2fv); + SET_UniformMatrix2x4fv(exec, _mesa_UniformMatrix2x4fv); + SET_UniformMatrix4x2fv(exec, _mesa_UniformMatrix4x2fv); + SET_UniformMatrix3x4fv(exec, _mesa_UniformMatrix3x4fv); + SET_UniformMatrix4x3fv(exec, _mesa_UniformMatrix4x3fv); +#endif + /* 2. GL_EXT_blend_color */ #if 0 @@ -411,7 +421,7 @@ _mesa_init_exec_table(struct _glapi_table *exec) #endif /* 11. GL_EXT_histogram */ -#if _HAVE_FULL_GL +#if 0 SET_GetHistogramEXT(exec, _mesa_GetHistogram); SET_GetHistogramParameterfvEXT(exec, _mesa_GetHistogramParameterfv); SET_GetHistogramParameterivEXT(exec, _mesa_GetHistogramParameteriv); @@ -424,8 +434,6 @@ _mesa_init_exec_table(struct _glapi_table *exec) #if 0 SET_ColorTableSGI(exec, _mesa_ColorTable); SET_ColorSubTableSGI(exec, _mesa_ColorSubTable); -#endif -#if _HAVE_FULL_GL SET_GetColorTableSGI(exec, _mesa_GetColorTable); SET_GetColorTableParameterfvSGI(exec, _mesa_GetColorTableParameterfv); SET_GetColorTableParameterivSGI(exec, _mesa_GetColorTableParameteriv); @@ -525,7 +533,7 @@ _mesa_init_exec_table(struct _glapi_table *exec) SET_GetVertexAttribfvNV(exec, _mesa_GetVertexAttribfvNV); SET_GetVertexAttribivNV(exec, _mesa_GetVertexAttribivNV); SET_GetVertexAttribPointervNV(exec, _mesa_GetVertexAttribPointervNV); - SET_IsProgramNV(exec, _mesa_IsProgram); + SET_IsProgramNV(exec, _mesa_IsProgramARB); SET_LoadProgramNV(exec, _mesa_LoadProgramNV); SET_ProgramParameter4dNV(exec, _mesa_ProgramParameter4dNV); SET_ProgramParameter4dvNV(exec, _mesa_ProgramParameter4dvNV); @@ -804,6 +812,9 @@ _mesa_init_exec_table(struct _glapi_table *exec) SET_ProgramEnvParameters4fvEXT(exec, _mesa_ProgramEnvParameters4fvEXT); SET_ProgramLocalParameters4fvEXT(exec, _mesa_ProgramLocalParameters4fvEXT); #endif + + /* GL_ATI_separate_stencil */ + SET_StencilFuncSeparateATI(exec, _mesa_StencilFuncSeparateATI); } @@ -834,11 +845,7 @@ update_arrays( GLcontext *ctx ) /* find min of _MaxElement values for all enabled arrays */ /* 0 */ - if (ctx->ShaderObjects._VertexShaderPresent - && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_GENERIC0].Enabled) { - min = ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_GENERIC0]._MaxElement; - } - else if (ctx->VertexProgram._Enabled + if (ctx->VertexProgram._Current && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled) { min = ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POS]._MaxElement; } @@ -905,8 +912,8 @@ update_arrays( GLcontext *ctx ) /* 7 */ if (ctx->VertexProgram._Enabled - && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_SEVEN].Enabled) { - min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_SEVEN]._MaxElement); + && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) { + min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG]._MaxElement); } /* 8..15 */ @@ -922,7 +929,7 @@ update_arrays( GLcontext *ctx ) } /* 16..31 */ - if (ctx->ShaderObjects._VertexShaderPresent) { + if (ctx->VertexProgram._Current) { for (i = VERT_ATTRIB_GENERIC0; i < VERT_ATTRIB_MAX; i++) { if (ctx->Array.ArrayObj->VertexAttrib[i].Enabled) { min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[i]._MaxElement); @@ -945,29 +952,75 @@ update_arrays( GLcontext *ctx ) static void update_program(GLcontext *ctx) { - /* For now, just set the _Enabled (really enabled) flags. - * In the future we may have to check other state to be sure we really - * have a runable program or shader. - */ + const struct gl_shader_program *shProg = ctx->Shader.CurrentProgram; + + /* These _Enabled flags indicate if the program is enabled AND valid. */ ctx->VertexProgram._Enabled = ctx->VertexProgram.Enabled && ctx->VertexProgram.Current->Base.Instructions; ctx->FragmentProgram._Enabled = ctx->FragmentProgram.Enabled && ctx->FragmentProgram.Current->Base.Instructions; ctx->ATIFragmentShader._Enabled = ctx->ATIFragmentShader.Enabled && ctx->ATIFragmentShader.Current->Instructions; - - ctx->FragmentProgram._Current = ctx->FragmentProgram.Current; - ctx->FragmentProgram._Active = ctx->FragmentProgram._Enabled; - if (ctx->_MaintainTexEnvProgram && !ctx->FragmentProgram._Enabled) { -#if 0 - if (!ctx->_TexEnvProgram) - ctx->_TexEnvProgram = (struct gl_fragment_program *) - ctx->Driver.NewProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, 0); - ctx->FragmentProgram._Current = ctx->_TexEnvProgram; -#endif + /* + * Set the ctx->VertexProgram._Current and ctx->FragmentProgram._Current + * pointers to the programs that should be enabled/used. + * + * These programs may come from several sources. The priority is as + * follows: + * 1. OpenGL 2.0/ARB vertex/fragment shaders + * 2. ARB/NV vertex/fragment programs + * 3. Programs derived from fixed-function state. + */ - if (ctx->_UseTexEnvProgram) + ctx->FragmentProgram._Current = NULL; + + if (shProg && shProg->LinkStatus) { + /* Use shader programs */ + /* XXX this isn't quite right, since we may have either a vertex + * _or_ fragment shader (not always both). + */ + ctx->VertexProgram._Current = shProg->VertexProgram; + ctx->FragmentProgram._Current = shProg->FragmentProgram; + } + else { + if (ctx->VertexProgram._Enabled) { + /* use user-defined vertex program */ + ctx->VertexProgram._Current = ctx->VertexProgram.Current; + } + else if (ctx->VertexProgram._MaintainTnlProgram) { + /* Use vertex program generated from fixed-function state. + * The _Current pointer will get set in + * _tnl_UpdateFixedFunctionProgram() later if appropriate. + */ + ctx->VertexProgram._Current = NULL; + } + else { + /* no vertex program */ + ctx->VertexProgram._Current = NULL; + } + + if (ctx->FragmentProgram._Enabled) { + /* use user-defined vertex program */ + ctx->FragmentProgram._Current = ctx->FragmentProgram.Current; + } + else if (ctx->FragmentProgram._MaintainTexEnvProgram) { + /* Use fragment program generated from fixed-function state. + * The _Current pointer will get set in _mesa_UpdateTexEnvProgram() + * later if appropriate. + */ + ctx->FragmentProgram._Current = NULL; + } + else { + /* no fragment program */ + ctx->FragmentProgram._Current = NULL; + } + } + + ctx->FragmentProgram._Active = ctx->FragmentProgram._Enabled; + if (ctx->FragmentProgram._MaintainTexEnvProgram && + !ctx->FragmentProgram._Enabled) { + if (ctx->FragmentProgram._UseTexEnvProgram) ctx->FragmentProgram._Active = GL_TRUE; } } @@ -1001,27 +1054,120 @@ update_color(GLcontext *ctx) /* This is needed to support 1.1's RGB logic ops AND * 1.0's blending logicops. */ - ctx->Color._LogicOpEnabled = (ctx->Color.ColorLogicOpEnabled || - (ctx->Color.BlendEnabled && - ctx->Color.BlendEquationRGB == GL_LOGIC_OP)); + ctx->Color._LogicOpEnabled = RGBA_LOGICOP_ENABLED(ctx); } +/* + * Check polygon state and set DD_TRI_CULL_FRONT_BACK and/or DD_TRI_OFFSET + * in ctx->_TriangleCaps if needed. + */ +static void +update_polygon( GLcontext *ctx ) +{ + ctx->_TriangleCaps &= ~(DD_TRI_CULL_FRONT_BACK | DD_TRI_OFFSET); + + if (ctx->Polygon.CullFlag && ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK) + ctx->_TriangleCaps |= DD_TRI_CULL_FRONT_BACK; + + /* Any Polygon offsets enabled? */ + if (ctx->Polygon.OffsetPoint || + ctx->Polygon.OffsetLine || + ctx->Polygon.OffsetFill) { + ctx->_TriangleCaps |= DD_TRI_OFFSET; + } +} + + +/** + * Update the ctx->_TriangleCaps bitfield. + * XXX that bitfield should really go away someday! + * This function must be called after other update_*() functions since + * there are dependencies on some other derived values. + */ +#if 0 +static void +update_tricaps(GLcontext *ctx, GLbitfield new_state) +{ + ctx->_TriangleCaps = 0; + + /* + * Points + */ + if (1/*new_state & _NEW_POINT*/) { + if (ctx->Point.SmoothFlag) + ctx->_TriangleCaps |= DD_POINT_SMOOTH; + if (ctx->Point._Size != 1.0F) + ctx->_TriangleCaps |= DD_POINT_SIZE; + if (ctx->Point._Attenuated) + ctx->_TriangleCaps |= DD_POINT_ATTEN; + } + + /* + * Lines + */ + if (1/*new_state & _NEW_LINE*/) { + if (ctx->Line.SmoothFlag) + ctx->_TriangleCaps |= DD_LINE_SMOOTH; + if (ctx->Line.StippleFlag) + ctx->_TriangleCaps |= DD_LINE_STIPPLE; + if (ctx->Line._Width != 1.0) + ctx->_TriangleCaps |= DD_LINE_WIDTH; + } + + /* + * Polygons + */ + if (1/*new_state & _NEW_POLYGON*/) { + if (ctx->Polygon.SmoothFlag) + ctx->_TriangleCaps |= DD_TRI_SMOOTH; + if (ctx->Polygon.StippleFlag) + ctx->_TriangleCaps |= DD_TRI_STIPPLE; + if (ctx->Polygon.FrontMode != GL_FILL + || ctx->Polygon.BackMode != GL_FILL) + ctx->_TriangleCaps |= DD_TRI_UNFILLED; + if (ctx->Polygon.CullFlag + && ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK) + ctx->_TriangleCaps |= DD_TRI_CULL_FRONT_BACK; + if (ctx->Polygon.OffsetPoint || + ctx->Polygon.OffsetLine || + ctx->Polygon.OffsetFill) + ctx->_TriangleCaps |= DD_TRI_OFFSET; + } + + /* + * Lighting and shading + */ + if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) + ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE; + if (ctx->Light.ShadeModel == GL_FLAT) + ctx->_TriangleCaps |= DD_FLATSHADE; + if (NEED_SECONDARY_COLOR(ctx)) + ctx->_TriangleCaps |= DD_SEPARATE_SPECULAR; + + /* + * Stencil + */ + if (ctx->Stencil._TestTwoSide) + ctx->_TriangleCaps |= DD_TRI_TWOSTENCIL; +} +#endif + + /** - * If __GLcontextRec::NewState is non-zero then this function \b must be called - * before rendering any primitive. Basically, function pointers and - * miscellaneous flags are updated to reflect the current state of the state - * machine. + * Compute derived GL state. + * If __GLcontextRec::NewState is non-zero then this function \b must + * be called before rendering anything. * * Calls dd_function_table::UpdateState to perform any internal state * management necessary. * * \sa _mesa_update_modelview_project(), _mesa_update_texture(), - * _mesa_update_buffer_bounds(), _mesa_update_polygon(), + * _mesa_update_buffer_bounds(), * _mesa_update_lighting() and _mesa_update_tnl_spaces(). */ void -_mesa_update_state( GLcontext *ctx ) +_mesa_update_state_locked( GLcontext *ctx ) { GLbitfield new_state = ctx->NewState; @@ -1043,11 +1189,8 @@ _mesa_update_state( GLcontext *ctx ) if (new_state & (_NEW_SCISSOR | _NEW_BUFFERS | _NEW_VIEWPORT)) _mesa_update_draw_buffer_bounds( ctx ); - if (new_state & _NEW_POINT) - _mesa_update_point( ctx ); - if (new_state & _NEW_POLYGON) - _mesa_update_polygon( ctx ); + update_polygon( ctx ); if (new_state & _NEW_LIGHT) _mesa_update_lighting( ctx ); @@ -1070,7 +1213,13 @@ _mesa_update_state( GLcontext *ctx ) if (new_state & _NEW_COLOR) update_color( ctx ); - if (ctx->_MaintainTexEnvProgram) { +#if 0 + if (new_state & (_NEW_POINT | _NEW_LINE | _NEW_POLYGON | _NEW_LIGHT + | _NEW_STENCIL | _DD_NEW_SEPARATE_SPECULAR)) + update_tricaps( ctx, new_state ); +#endif + + if (ctx->FragmentProgram._MaintainTexEnvProgram) { if (new_state & (_NEW_TEXTURE | _DD_NEW_SEPARATE_SPECULAR | _NEW_FOG)) _mesa_UpdateTexEnvProgram(ctx); } @@ -1102,4 +1251,19 @@ _mesa_update_state( GLcontext *ctx ) ctx->Array.NewState = 0; } + +/* This is the usual entrypoint for state updates: + */ +void +_mesa_update_state( GLcontext *ctx ) +{ + _mesa_lock_context_textures(ctx); + _mesa_update_state_locked(ctx); + _mesa_unlock_context_textures(ctx); +} + + + /*@}*/ + + diff --git a/dist/Mesa/src/mesa/main/stencil.c b/dist/Mesa/src/mesa/main/stencil.c index 9992ec9b6..c1906197d 100644 --- a/dist/Mesa/src/mesa/main/stencil.c +++ b/dist/Mesa/src/mesa/main/stencil.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.1 * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -38,6 +38,10 @@ * * So either we advertise the GL_EXT_stencil_two_side extension, or OpenGL * 2.0, but not both. + * + * Also, note that GL_ATI_separate_stencil is different as well: + * glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, ...) vs. + * glStencilFuncSeparate(GLenum face, GLenum func, ...). */ @@ -49,6 +53,48 @@ #include "mtypes.h" +static GLboolean +validate_stencil_op(GLcontext *ctx, GLenum op) +{ + switch (op) { + case GL_KEEP: + case GL_ZERO: + case GL_REPLACE: + case GL_INCR: + case GL_DECR: + case GL_INVERT: + return GL_TRUE; + case GL_INCR_WRAP_EXT: + case GL_DECR_WRAP_EXT: + if (ctx->Extensions.EXT_stencil_wrap) { + return GL_TRUE; + } + /* FALL-THROUGH */ + default: + return GL_FALSE; + } +} + + +static GLboolean +validate_stencil_func(GLcontext *ctx, GLenum func) +{ + switch (func) { + case GL_NEVER: + case GL_LESS: + case GL_LEQUAL: + case GL_GREATER: + case GL_GEQUAL: + case GL_EQUAL: + case GL_NOTEQUAL: + case GL_ALWAYS: + return GL_TRUE; + default: + return GL_FALSE; + } +} + + /** * Set the clear value for the stencil buffer. * @@ -81,6 +127,62 @@ _mesa_ClearStencil( GLint s ) /** * Set the function and reference value for stencil testing. * + * \param frontfunc front test function. + * \param backfunc back test function. + * \param ref front and back reference value. + * \param mask front and back bitmask. + * + * \sa glStencilFunc(). + * + * Verifies the parameters and updates the respective values in + * __GLcontextRec::Stencil. On change flushes the vertices and notifies the + * driver via the dd_function_table::StencilFunc callback. + */ +void GLAPIENTRY +_mesa_StencilFuncSeparateATI( GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask ) +{ + GET_CURRENT_CONTEXT(ctx); + const GLint stencilMax = (1 << ctx->DrawBuffer->Visual.stencilBits) - 1; + ASSERT_OUTSIDE_BEGIN_END(ctx); + + if (!validate_stencil_func(ctx, frontfunc)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glStencilFuncSeparateATI(frontfunc)"); + return; + } + if (!validate_stencil_func(ctx, backfunc)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glStencilFuncSeparateATI(backfunc)"); + return; + } + + ref = CLAMP( ref, 0, stencilMax ); + + /* set both front and back state */ + if (ctx->Stencil.Function[0] == frontfunc && + ctx->Stencil.Function[1] == backfunc && + ctx->Stencil.ValueMask[0] == mask && + ctx->Stencil.ValueMask[1] == mask && + ctx->Stencil.Ref[0] == ref && + ctx->Stencil.Ref[1] == ref) + return; + FLUSH_VERTICES(ctx, _NEW_STENCIL); + ctx->Stencil.Function[0] = frontfunc; + ctx->Stencil.Function[1] = backfunc; + ctx->Stencil.Ref[0] = ctx->Stencil.Ref[1] = ref; + ctx->Stencil.ValueMask[0] = ctx->Stencil.ValueMask[1] = mask; + if (ctx->Driver.StencilFuncSeparate) { + ctx->Driver.StencilFuncSeparate(ctx, GL_FRONT, + frontfunc, ref, mask); + ctx->Driver.StencilFuncSeparate(ctx, GL_BACK, + backfunc, ref, mask); + } +} + + +/** + * Set the function and reference value for stencil testing. + * * \param func test function. * \param ref reference value. * \param mask bitmask. @@ -98,40 +200,14 @@ _mesa_StencilFunc( GLenum func, GLint ref, GLuint mask ) const GLint stencilMax = (1 << ctx->DrawBuffer->Visual.stencilBits) - 1; ASSERT_OUTSIDE_BEGIN_END(ctx); - switch (func) { - case GL_NEVER: - case GL_LESS: - case GL_LEQUAL: - case GL_GREATER: - case GL_GEQUAL: - case GL_EQUAL: - case GL_NOTEQUAL: - case GL_ALWAYS: - break; - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glStencilFunc (0x%04x)", func ); - return; + if (!validate_stencil_func(ctx, func)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilFunc(func)"); + return; } ref = CLAMP( ref, 0, stencilMax ); - if (ctx->Extensions.EXT_stencil_two_side) { - /* only set active face state */ - const GLint face = ctx->Stencil.ActiveFace; - if (ctx->Stencil.Function[face] == func && - ctx->Stencil.ValueMask[face] == mask && - ctx->Stencil.Ref[face] == ref) - return; - FLUSH_VERTICES(ctx, _NEW_STENCIL); - ctx->Stencil.Function[face] = func; - ctx->Stencil.Ref[face] = ref; - ctx->Stencil.ValueMask[face] = mask; - if (ctx->Driver.StencilFuncSeparate) { - ctx->Driver.StencilFuncSeparate(ctx, face ? GL_BACK : GL_FRONT, - func, ref, mask); - } - } - else { + if (ctx->Extensions.ATI_separate_stencil) { /* set both front and back state */ if (ctx->Stencil.Function[0] == func && ctx->Stencil.Function[1] == func && @@ -149,6 +225,22 @@ _mesa_StencilFunc( GLenum func, GLint ref, GLuint mask ) func, ref, mask); } } + else { + /* only set active face state */ + const GLint face = ctx->Stencil.ActiveFace; + if (ctx->Stencil.Function[face] == func && + ctx->Stencil.ValueMask[face] == mask && + ctx->Stencil.Ref[face] == ref) + return; + FLUSH_VERTICES(ctx, _NEW_STENCIL); + ctx->Stencil.Function[face] = func; + ctx->Stencil.Ref[face] = ref; + ctx->Stencil.ValueMask[face] = mask; + if (ctx->Driver.StencilFuncSeparate) { + ctx->Driver.StencilFuncSeparate(ctx, face ? GL_BACK : GL_FRONT, + func, ref, mask); + } + } } @@ -169,26 +261,26 @@ _mesa_StencilMask( GLuint mask ) GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); - if (ctx->Extensions.EXT_stencil_two_side) { - /* only set active face state */ - const GLint face = ctx->Stencil.ActiveFace; - if (ctx->Stencil.WriteMask[face] == mask) + if (ctx->Extensions.ATI_separate_stencil) { + /* set both front and back state */ + if (ctx->Stencil.WriteMask[0] == mask && + ctx->Stencil.WriteMask[1] == mask) return; FLUSH_VERTICES(ctx, _NEW_STENCIL); - ctx->Stencil.WriteMask[face] = mask; + ctx->Stencil.WriteMask[0] = ctx->Stencil.WriteMask[1] = mask; if (ctx->Driver.StencilMaskSeparate) { - ctx->Driver.StencilMaskSeparate(ctx, face ? GL_BACK : GL_FRONT, mask); + ctx->Driver.StencilMaskSeparate(ctx, GL_FRONT_AND_BACK, mask); } } else { - /* set both front and back state */ - if (ctx->Stencil.WriteMask[0] == mask && - ctx->Stencil.WriteMask[1] == mask) + /* only set active face state */ + const GLint face = ctx->Stencil.ActiveFace; + if (ctx->Stencil.WriteMask[face] == mask) return; FLUSH_VERTICES(ctx, _NEW_STENCIL); - ctx->Stencil.WriteMask[0] = ctx->Stencil.WriteMask[1] = mask; + ctx->Stencil.WriteMask[face] = mask; if (ctx->Driver.StencilMaskSeparate) { - ctx->Driver.StencilMaskSeparate(ctx, GL_FRONT_AND_BACK, mask); + ctx->Driver.StencilMaskSeparate(ctx, face ? GL_BACK : GL_FRONT, mask); } } } @@ -214,78 +306,20 @@ _mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass) GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); - switch (fail) { - case GL_KEEP: - case GL_ZERO: - case GL_REPLACE: - case GL_INCR: - case GL_DECR: - case GL_INVERT: - break; - case GL_INCR_WRAP_EXT: - case GL_DECR_WRAP_EXT: - if (ctx->Extensions.EXT_stencil_wrap) { - break; - } - /* FALL-THROUGH */ - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp"); - return; + if (!validate_stencil_op(ctx, fail)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(sfail)"); + return; } - switch (zfail) { - case GL_KEEP: - case GL_ZERO: - case GL_REPLACE: - case GL_INCR: - case GL_DECR: - case GL_INVERT: - break; - case GL_INCR_WRAP_EXT: - case GL_DECR_WRAP_EXT: - if (ctx->Extensions.EXT_stencil_wrap) { - break; - } - /* FALL-THROUGH */ - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp"); - return; + if (!validate_stencil_op(ctx, zfail)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(zfail)"); + return; } - switch (zpass) { - case GL_KEEP: - case GL_ZERO: - case GL_REPLACE: - case GL_INCR: - case GL_DECR: - case GL_INVERT: - break; - case GL_INCR_WRAP_EXT: - case GL_DECR_WRAP_EXT: - if (ctx->Extensions.EXT_stencil_wrap) { - break; - } - /* FALL-THROUGH */ - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp"); - return; + if (!validate_stencil_op(ctx, zpass)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOp(zpass)"); + return; } - if (ctx->Extensions.EXT_stencil_two_side) { - /* only set active face state */ - const GLint face = ctx->Stencil.ActiveFace; - if (ctx->Stencil.ZFailFunc[face] == zfail && - ctx->Stencil.ZPassFunc[face] == zpass && - ctx->Stencil.FailFunc[face] == fail) - return; - FLUSH_VERTICES(ctx, _NEW_STENCIL); - ctx->Stencil.ZFailFunc[face] = zfail; - ctx->Stencil.ZPassFunc[face] = zpass; - ctx->Stencil.FailFunc[face] = fail; - if (ctx->Driver.StencilOpSeparate) { - ctx->Driver.StencilOpSeparate(ctx, face ? GL_BACK : GL_FRONT, - fail, zfail, zpass); - } - } - else { + if (ctx->Extensions.ATI_separate_stencil) { /* set both front and back state */ if (ctx->Stencil.ZFailFunc[0] == zfail && ctx->Stencil.ZFailFunc[1] == zfail && @@ -303,6 +337,22 @@ _mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass) fail, zfail, zpass); } } + else { + /* only set active face state */ + const GLint face = ctx->Stencil.ActiveFace; + if (ctx->Stencil.ZFailFunc[face] == zfail && + ctx->Stencil.ZPassFunc[face] == zpass && + ctx->Stencil.FailFunc[face] == fail) + return; + FLUSH_VERTICES(ctx, _NEW_STENCIL); + ctx->Stencil.ZFailFunc[face] = zfail; + ctx->Stencil.ZPassFunc[face] = zpass; + ctx->Stencil.FailFunc[face] = fail; + if (ctx->Driver.StencilOpSeparate) { + ctx->Driver.StencilOpSeparate(ctx, face ? GL_BACK : GL_FRONT, + fail, zfail, zpass); + } + } } @@ -339,86 +389,55 @@ _mesa_ActiveStencilFaceEXT(GLenum face) * instead. */ void GLAPIENTRY -_mesa_StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) +_mesa_StencilOpSeparate(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass) { + GLboolean set = GL_FALSE; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); - if (face != GL_FRONT && face != GL_BACK && face != GL_FRONT_AND_BACK) { - _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(face)"); + if (!validate_stencil_op(ctx, sfail)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(sfail)"); return; } - - switch (fail) { - case GL_KEEP: - case GL_ZERO: - case GL_REPLACE: - case GL_INCR: - case GL_DECR: - case GL_INVERT: - break; - case GL_INCR_WRAP_EXT: - case GL_DECR_WRAP_EXT: - if (ctx->Extensions.EXT_stencil_wrap) { - break; - } - /* FALL-THROUGH */ - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(fail)"); - return; + if (!validate_stencil_op(ctx, zfail)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(zfail)"); + return; } - switch (zfail) { - case GL_KEEP: - case GL_ZERO: - case GL_REPLACE: - case GL_INCR: - case GL_DECR: - case GL_INVERT: - break; - case GL_INCR_WRAP_EXT: - case GL_DECR_WRAP_EXT: - if (ctx->Extensions.EXT_stencil_wrap) { - break; - } - /* FALL-THROUGH */ - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(zfail)"); - return; + if (!validate_stencil_op(ctx, zpass)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(zpass)"); + return; } - switch (zpass) { - case GL_KEEP: - case GL_ZERO: - case GL_REPLACE: - case GL_INCR: - case GL_DECR: - case GL_INVERT: - break; - case GL_INCR_WRAP_EXT: - case GL_DECR_WRAP_EXT: - if (ctx->Extensions.EXT_stencil_wrap) { - break; - } - /* FALL-THROUGH */ - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(zpass)"); - return; + if (face != GL_FRONT && face != GL_BACK && face != GL_FRONT_AND_BACK) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilOpSeparate(face)"); + return; } - FLUSH_VERTICES(ctx, _NEW_STENCIL); - - if (face == GL_FRONT || face == GL_FRONT_AND_BACK) { - ctx->Stencil.FailFunc[0] = fail; - ctx->Stencil.ZFailFunc[0] = zfail; - ctx->Stencil.ZPassFunc[0] = zpass; + if (face != GL_BACK) { + /* set front */ + if (ctx->Stencil.ZFailFunc[0] != zfail || + ctx->Stencil.ZPassFunc[0] != zpass || + ctx->Stencil.FailFunc[0] != sfail){ + FLUSH_VERTICES(ctx, _NEW_STENCIL); + ctx->Stencil.ZFailFunc[0] = zfail; + ctx->Stencil.ZPassFunc[0] = zpass; + ctx->Stencil.FailFunc[0] = sfail; + set = GL_TRUE; + } } - if (face == GL_BACK || face == GL_FRONT_AND_BACK) { - ctx->Stencil.FailFunc[1] = fail; - ctx->Stencil.ZFailFunc[1] = zfail; - ctx->Stencil.ZPassFunc[1] = zpass; + if (face != GL_FRONT) { + /* set back */ + if (ctx->Stencil.ZFailFunc[1] != zfail || + ctx->Stencil.ZPassFunc[1] != zpass || + ctx->Stencil.FailFunc[1] != sfail) { + FLUSH_VERTICES(ctx, _NEW_STENCIL); + ctx->Stencil.ZFailFunc[1] = zfail; + ctx->Stencil.ZPassFunc[1] = zpass; + ctx->Stencil.FailFunc[1] = sfail; + set = GL_TRUE; + } } - - if (ctx->Driver.StencilOpSeparate) { - ctx->Driver.StencilOpSeparate(ctx, face, fail, zfail, zpass); + if (set && ctx->Driver.StencilOpSeparate) { + ctx->Driver.StencilOpSeparate(ctx, face, sfail, zfail, zpass); } } @@ -435,20 +454,9 @@ _mesa_StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) _mesa_error(ctx, GL_INVALID_ENUM, "glStencilFuncSeparate(face)"); return; } - - switch (func) { - case GL_NEVER: - case GL_LESS: - case GL_LEQUAL: - case GL_GREATER: - case GL_GEQUAL: - case GL_EQUAL: - case GL_NOTEQUAL: - case GL_ALWAYS: - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glStencilFuncSeparate(func)"); - return; + if (!validate_stencil_func(ctx, func)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glStencilFuncSeparate(func)"); + return; } ref = CLAMP(ref, 0, stencilMax); @@ -465,7 +473,6 @@ _mesa_StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) ctx->Stencil.Ref[1] = ref; ctx->Stencil.ValueMask[1] = mask; } - if (ctx->Driver.StencilFuncSeparate) { ctx->Driver.StencilFuncSeparate(ctx, face, func, ref, mask); } @@ -486,13 +493,12 @@ _mesa_StencilMaskSeparate(GLenum face, GLuint mask) FLUSH_VERTICES(ctx, _NEW_STENCIL); - if (face == GL_FRONT || face == GL_FRONT_AND_BACK) { + if (face != GL_BACK) { ctx->Stencil.WriteMask[0] = mask; } - if (face == GL_BACK || face == GL_FRONT_AND_BACK) { + if (face != GL_FRONT) { ctx->Stencil.WriteMask[1] = mask; } - if (ctx->Driver.StencilMaskSeparate) { ctx->Driver.StencilMaskSeparate(ctx, face, mask); } diff --git a/dist/Mesa/src/mesa/main/stencil.h b/dist/Mesa/src/mesa/main/stencil.h index 27c636202..252ac932a 100644 --- a/dist/Mesa/src/mesa/main/stencil.h +++ b/dist/Mesa/src/mesa/main/stencil.h @@ -5,9 +5,9 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.1 * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -64,6 +64,9 @@ _mesa_StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask); extern void GLAPIENTRY +_mesa_StencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); + +extern void GLAPIENTRY _mesa_StencilMaskSeparate(GLenum face, GLuint mask); diff --git a/dist/Mesa/src/mesa/main/texenvprogram.c b/dist/Mesa/src/mesa/main/texenvprogram.c index 5f798cc7d..47f3adbd0 100644 --- a/dist/Mesa/src/mesa/main/texenvprogram.c +++ b/dist/Mesa/src/mesa/main/texenvprogram.c @@ -28,12 +28,18 @@ #include "glheader.h" #include "macros.h" #include "enums.h" +#include "prog_parameter.h" +#include "prog_instruction.h" +#include "prog_print.h" +#include "prog_statevars.h" #include "texenvprogram.h" -#include "shader/program.h" -#include "shader/program_instruction.h" - -#define MAX_INSTRUCTIONS 100 +/** + * This MAX is probably a bit generous, but that's OK. There can be + * up to four instructions per texture unit (TEX + 3 for combine), + * then there's fog and specular add. + */ +#define MAX_INSTRUCTIONS ((MAX_TEXTURE_UNITS * 4) + 12) #define DISASSEM (MESA_VERBOSE & VERBOSE_DISASSEM) @@ -406,31 +412,29 @@ static void release_temps( struct texenv_fragment_program *p ) } -static struct ureg register_param6( struct texenv_fragment_program *p, +static struct ureg register_param5( struct texenv_fragment_program *p, GLint s0, GLint s1, GLint s2, GLint s3, - GLint s4, - GLint s5) + GLint s4) { - GLint tokens[6]; + gl_state_index tokens[STATE_LENGTH]; GLuint idx; tokens[0] = s0; tokens[1] = s1; tokens[2] = s2; tokens[3] = s3; tokens[4] = s4; - tokens[5] = s5; idx = _mesa_add_state_reference( p->program->Base.Parameters, tokens ); return make_ureg(PROGRAM_STATE_VAR, idx); } -#define register_param1(p,s0) register_param6(p,s0,0,0,0,0,0) -#define register_param2(p,s0,s1) register_param6(p,s0,s1,0,0,0,0) -#define register_param3(p,s0,s1,s2) register_param6(p,s0,s1,s2,0,0,0) -#define register_param4(p,s0,s1,s2,s3) register_param6(p,s0,s1,s2,s3,0,0) +#define register_param1(p,s0) register_param5(p,s0,0,0,0,0) +#define register_param2(p,s0,s1) register_param5(p,s0,s1,0,0,0) +#define register_param3(p,s0,s1,s2) register_param5(p,s0,s1,s2,0,0) +#define register_param4(p,s0,s1,s2,s3) register_param5(p,s0,s1,s2,s3,0) static struct ureg register_input( struct texenv_fragment_program *p, GLuint input ) @@ -457,8 +461,8 @@ static void emit_dst( struct prog_dst_register *dst, dst->File = ureg.file; dst->Index = ureg.idx; dst->WriteMask = mask; - dst->CondMask = 0; - dst->CondSwizzle = 0; + dst->CondMask = COND_TR; /* always pass cond test */ + dst->CondSwizzle = SWIZZLE_NOOP; } static struct prog_instruction * @@ -473,8 +477,10 @@ emit_op(struct texenv_fragment_program *p, { GLuint nr = p->program->Base.NumInstructions++; struct prog_instruction *inst = &p->program->Base.Instructions[nr]; - - _mesa_init_instruction(inst); + + assert(nr < MAX_INSTRUCTIONS); + + _mesa_init_instructions(inst, 1); inst->Opcode = op; emit_arg( &inst->SrcReg[0], src0 ); @@ -519,7 +525,7 @@ static struct ureg emit_arith( struct texenv_fragment_program *p, if (dest.file == PROGRAM_TEMPORARY) p->alu_temps |= 1 << dest.idx; - p->program->NumAluInstructions++; + p->program->Base.NumAluInstructions++; return dest; } @@ -541,7 +547,7 @@ static struct ureg emit_texld( struct texenv_fragment_program *p, inst->TexSrcTarget = tex_idx; inst->TexSrcUnit = tex_unit; - p->program->NumTexInstructions++; + p->program->Base.NumTexInstructions++; /* Is this a texture indirection? */ @@ -549,7 +555,7 @@ static struct ureg emit_texld( struct texenv_fragment_program *p, (p->temps_output & (1<<coord.idx))) || (dest.file == PROGRAM_TEMPORARY && (p->alu_temps & (1<<dest.idx)))) { - p->program->NumTexIndirections++; + p->program->Base.NumTexIndirections++; p->temps_output = 1<<coord.idx; p->alu_temps = 0; assert(0); /* KW: texture env crossbar */ @@ -566,12 +572,14 @@ static struct ureg register_const4f( struct texenv_fragment_program *p, GLfloat s3) { GLfloat values[4]; - GLuint idx; + GLuint idx, swizzle; values[0] = s0; values[1] = s1; values[2] = s2; values[3] = s3; - idx = _mesa_add_unnamed_constant( p->program->Base.Parameters, values ); + idx = _mesa_add_unnamed_constant( p->program->Base.Parameters, values, 4, + &swizzle ); + ASSERT(swizzle == SWIZZLE_NOOP); return make_ureg(PROGRAM_STATE_VAR, idx); } @@ -866,7 +874,7 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit) key->unit[unit].OptRGB); } else if (key->unit[unit].ModeRGB == MODE_DOT3_RGBA_EXT || - key->unit[unit].ModeA == MODE_DOT3_RGBA) { + key->unit[unit].ModeRGB == MODE_DOT3_RGBA) { out = emit_combine( p, dest, WRITEMASK_XYZW, saturate, unit, @@ -988,9 +996,10 @@ load_texunit_sources( struct texenv_fragment_program *p, int unit ) * current texture env/combine mode. */ static void -create_new_program(struct state_key *key, GLcontext *ctx, +create_new_program(GLcontext *ctx, struct state_key *key, struct gl_fragment_program *program) { + struct prog_instruction instBuffer[MAX_INSTRUCTIONS]; struct texenv_fragment_program p; GLuint unit; struct ureg cf, out; @@ -1000,18 +1009,19 @@ create_new_program(struct state_key *key, GLcontext *ctx, p.state = key; p.program = program; - p.program->Base.Instructions = - (struct prog_instruction*) _mesa_malloc(sizeof(struct prog_instruction) * MAX_INSTRUCTIONS); - p.program->Base.NumInstructions = 0; + /* During code generation, use locally-allocated instruction buffer, + * then alloc dynamic storage below. + */ + p.program->Base.Instructions = instBuffer; p.program->Base.Target = GL_FRAGMENT_PROGRAM_ARB; - p.program->NumTexIndirections = 1; /* correct? */ - p.program->NumTexInstructions = 0; - p.program->NumAluInstructions = 0; - p.program->Base.String = 0; + p.program->Base.NumTexIndirections = 1; /* correct? */ + p.program->Base.NumTexInstructions = 0; + p.program->Base.NumAluInstructions = 0; + p.program->Base.String = NULL; p.program->Base.NumInstructions = - p.program->Base.NumTemporaries = - p.program->Base.NumParameters = - p.program->Base.NumAttributes = p.program->Base.NumAddressRegs = 0; + p.program->Base.NumTemporaries = + p.program->Base.NumParameters = + p.program->Base.NumAttributes = p.program->Base.NumAddressRegs = 0; p.program->Base.Parameters = _mesa_new_parameter_list(); p.program->Base.InputsRead = 0; @@ -1077,28 +1087,38 @@ create_new_program(struct state_key *key, GLcontext *ctx, } else p.program->FogOption = GL_NONE; - if (p.program->NumTexIndirections > ctx->Const.FragmentProgram.MaxTexIndirections) + if (p.program->Base.NumTexIndirections > ctx->Const.FragmentProgram.MaxTexIndirections) program_error(&p, "Exceeded max nr indirect texture lookups"); - if (p.program->NumTexInstructions > ctx->Const.FragmentProgram.MaxTexInstructions) + if (p.program->Base.NumTexInstructions > ctx->Const.FragmentProgram.MaxTexInstructions) program_error(&p, "Exceeded max TEX instructions"); - if (p.program->NumAluInstructions > ctx->Const.FragmentProgram.MaxAluInstructions) + if (p.program->Base.NumAluInstructions > ctx->Const.FragmentProgram.MaxAluInstructions) program_error(&p, "Exceeded max ALU instructions"); ASSERT(p.program->Base.NumInstructions <= MAX_INSTRUCTIONS); + /* Allocate final instruction array */ + program->Base.Instructions + = _mesa_alloc_instructions(program->Base.NumInstructions); + if (!program->Base.Instructions) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, + "generating tex env program"); + return; + } + _mesa_copy_instructions(program->Base.Instructions, instBuffer, + program->Base.NumInstructions); + /* Notify driver the fragment program has (actually) changed. */ - if (ctx->Driver.ProgramStringNotify || DISASSEM) { - if (ctx->Driver.ProgramStringNotify) - ctx->Driver.ProgramStringNotify( ctx, GL_FRAGMENT_PROGRAM_ARB, - &p.program->Base ); - - if (DISASSEM) { - _mesa_print_program(&p.program->Base); - _mesa_printf("\n"); - } + if (ctx->Driver.ProgramStringNotify) { + ctx->Driver.ProgramStringNotify( ctx, GL_FRAGMENT_PROGRAM_ARB, + &p.program->Base ); + } + + if (DISASSEM) { + _mesa_print_program(&p.program->Base); + _mesa_printf("\n"); } } @@ -1167,13 +1187,14 @@ static void cache_item( struct texenvprog_cache *cache, const struct state_key *key, void *data ) { - struct texenvprog_cache_item *c = MALLOC(sizeof(*c)); + struct texenvprog_cache_item *c + = (struct texenvprog_cache_item *) MALLOC(sizeof(*c)); c->hash = hash; c->key = _mesa_malloc(sizeof(*key)); memcpy(c->key, key, sizeof(*key)); - c->data = data; + c->data = (struct gl_fragment_program *) data; if (cache->n_items > cache->size * 1.5) { if (cache->size < 1000) @@ -1204,32 +1225,49 @@ static GLuint hash_key( const struct state_key *key ) return hash; } -void _mesa_UpdateTexEnvProgram( GLcontext *ctx ) + +/** + * If _MaintainTexEnvProgram is set we'll generate a fragment program that + * implements the current texture env/combine mode. + * This function generates that program and puts it into effect. + */ +void +_mesa_UpdateTexEnvProgram( GLcontext *ctx ) { struct state_key key; GLuint hash; const struct gl_fragment_program *prev = ctx->FragmentProgram._Current; - if (!ctx->FragmentProgram._Enabled) { + ASSERT(ctx->FragmentProgram._MaintainTexEnvProgram); + + /* If a conventional fragment program/shader isn't in effect... */ + if (!ctx->FragmentProgram._Enabled && + !ctx->Shader.CurrentProgram) { make_state_key(ctx, &key); hash = hash_key(&key); ctx->FragmentProgram._Current = - ctx->_TexEnvProgram = - search_cache(&ctx->Texture.env_fp_cache, hash, &key, sizeof(key)); - - if (!ctx->_TexEnvProgram) { - if (0) _mesa_printf("Building new texenv proggy for key %x\n", hash); - - ctx->FragmentProgram._Current = ctx->_TexEnvProgram = - (struct gl_fragment_program *) - ctx->Driver.NewProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, 0); - - create_new_program(&key, ctx, ctx->_TexEnvProgram); + ctx->FragmentProgram._TexEnvProgram = + search_cache(&ctx->Texture.env_fp_cache, hash, &key, sizeof(key)); + + if (!ctx->FragmentProgram._TexEnvProgram) { + if (0) + _mesa_printf("Building new texenv proggy for key %x\n", hash); + + /* create new tex env program */ + ctx->FragmentProgram._Current = + ctx->FragmentProgram._TexEnvProgram = + (struct gl_fragment_program *) + ctx->Driver.NewProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, 0); - cache_item(&ctx->Texture.env_fp_cache, hash, &key, ctx->_TexEnvProgram); - } else { - if (0) _mesa_printf("Found existing texenv program for key %x\n", hash); + create_new_program(ctx, &key, ctx->FragmentProgram._TexEnvProgram); + + cache_item(&ctx->Texture.env_fp_cache, hash, &key, + ctx->FragmentProgram._TexEnvProgram); + } + else { + if (0) + _mesa_printf("Found existing texenv program for key %x\n", hash); } } else { @@ -1241,7 +1279,7 @@ void _mesa_UpdateTexEnvProgram( GLcontext *ctx ) */ if (ctx->FragmentProgram._Current != prev && ctx->Driver.BindProgram) { ctx->Driver.BindProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, - (struct gl_program *) ctx->FragmentProgram._Current); + (struct gl_program *) ctx->FragmentProgram._Current); } } diff --git a/dist/Mesa/src/mesa/main/texobj.c b/dist/Mesa/src/mesa/main/texobj.c index 8b42c2a71..7b36154a5 100644 --- a/dist/Mesa/src/mesa/main/texobj.c +++ b/dist/Mesa/src/mesa/main/texobj.c @@ -156,6 +156,11 @@ _mesa_delete_texture_object( GLcontext *ctx, struct gl_texture_object *texObj ) (void) ctx; + /* Set Target to an invalid value. With some assertions elsewhere + * we can try to detect possible use of deleted textures. + */ + texObj->Target = 0x99; + _mesa_free_colortable_data(&texObj->Palette); /* free the texture images */ @@ -188,6 +193,7 @@ void _mesa_copy_texture_object( struct gl_texture_object *dest, const struct gl_texture_object *src ) { + dest->Target = src->Target; dest->Name = src->Name; dest->Priority = src->Priority; dest->BorderColor[0] = src->BorderColor[0]; @@ -220,6 +226,92 @@ _mesa_copy_texture_object( struct gl_texture_object *dest, /** + * Check if the given texture object is valid by examining its Target field. + * For debugging only. + */ +static GLboolean +valid_texture_object(const struct gl_texture_object *tex) +{ + switch (tex->Target) { + case 0: + case GL_TEXTURE_1D: + case GL_TEXTURE_2D: + case GL_TEXTURE_3D: + case GL_TEXTURE_CUBE_MAP_ARB: + case GL_TEXTURE_RECTANGLE_NV: + return GL_TRUE; + case 0x99: + _mesa_problem(NULL, "invalid reference to a deleted texture object"); + return GL_FALSE; + default: + _mesa_problem(NULL, "invalid texture object Target value"); + return GL_FALSE; + } +} + + +/** + * Reference (or unreference) a texture object. + * If '*ptr', decrement *ptr's refcount (and delete if it becomes zero). + * If 'tex' is non-null, increment its refcount. + */ +void +_mesa_reference_texobj(struct gl_texture_object **ptr, + struct gl_texture_object *tex) +{ + assert(ptr); + if (*ptr == tex) { + /* no change */ + return; + } + + if (*ptr) { + /* Unreference the old texture */ + GLboolean deleteFlag = GL_FALSE; + struct gl_texture_object *oldTex = *ptr; + + assert(valid_texture_object(oldTex)); + + _glthread_LOCK_MUTEX(oldTex->Mutex); + ASSERT(oldTex->RefCount > 0); + oldTex->RefCount--; + + deleteFlag = (oldTex->RefCount == 0); + _glthread_UNLOCK_MUTEX(oldTex->Mutex); + + if (deleteFlag) { + GET_CURRENT_CONTEXT(ctx); + if (ctx) + ctx->Driver.DeleteTexture(ctx, oldTex); + else + _mesa_problem(NULL, "Unable to delete texture, no context"); + } + + *ptr = NULL; + } + assert(!*ptr); + + if (tex) { + /* reference new texture */ + assert(valid_texture_object(tex)); + _glthread_LOCK_MUTEX(tex->Mutex); + if (tex->RefCount == 0) { + /* this texture's being deleted (look just above) */ + /* Not sure this can every really happen. Warn if it does. */ + _mesa_problem(NULL, "referencing deleted texture object"); + *ptr = NULL; + } + else { + tex->RefCount++; + *ptr = tex; + } + _glthread_UNLOCK_MUTEX(tex->Mutex); + } +} + + + +/** * Report why a texture object is incomplete. * * \param t texture object. @@ -620,8 +712,7 @@ unbind_texobj_from_fbo(GLcontext *ctx, struct gl_texture_object *texObj) /** * Check if the given texture object is bound to any texture image units and - * unbind it if so. - * XXX all RefCount accesses should be protected by a mutex. + * unbind it if so (revert to default textures). */ static void unbind_texobj_from_texunits(GLcontext *ctx, struct gl_texture_object *texObj) @@ -631,39 +722,19 @@ unbind_texobj_from_texunits(GLcontext *ctx, struct gl_texture_object *texObj) for (u = 0; u < MAX_TEXTURE_IMAGE_UNITS; u++) { struct gl_texture_unit *unit = &ctx->Texture.Unit[u]; if (texObj == unit->Current1D) { - unit->Current1D = ctx->Shared->Default1D; - ctx->Shared->Default1D->RefCount++; - texObj->RefCount--; - if (texObj == unit->_Current) - unit->_Current = unit->Current1D; + _mesa_reference_texobj(&unit->Current1D, ctx->Shared->Default1D); } else if (texObj == unit->Current2D) { - unit->Current2D = ctx->Shared->Default2D; - ctx->Shared->Default2D->RefCount++; - texObj->RefCount--; - if (texObj == unit->_Current) - unit->_Current = unit->Current2D; + _mesa_reference_texobj(&unit->Current2D, ctx->Shared->Default2D); } else if (texObj == unit->Current3D) { - unit->Current3D = ctx->Shared->Default3D; - ctx->Shared->Default3D->RefCount++; - texObj->RefCount--; - if (texObj == unit->_Current) - unit->_Current = unit->Current3D; + _mesa_reference_texobj(&unit->Current3D, ctx->Shared->Default3D); } else if (texObj == unit->CurrentCubeMap) { - unit->CurrentCubeMap = ctx->Shared->DefaultCubeMap; - ctx->Shared->DefaultCubeMap->RefCount++; - texObj->RefCount--; - if (texObj == unit->_Current) - unit->_Current = unit->CurrentCubeMap; + _mesa_reference_texobj(&unit->CurrentCubeMap, ctx->Shared->DefaultCubeMap); } else if (texObj == unit->CurrentRect) { - unit->CurrentRect = ctx->Shared->DefaultRect; - ctx->Shared->DefaultRect->RefCount++; - texObj->RefCount--; - if (texObj == unit->_Current) - unit->_Current = unit->CurrentRect; + _mesa_reference_texobj(&unit->CurrentRect, ctx->Shared->DefaultRect); } } } @@ -697,7 +768,9 @@ _mesa_DeleteTextures( GLsizei n, const GLuint *textures) if (textures[i] > 0) { struct gl_texture_object *delObj = _mesa_lookup_texture(ctx, textures[i]); + if (delObj) { + _mesa_lock_texture(ctx, delObj); /* Check if texture is bound to any framebuffer objects. * If so, unbind. @@ -706,10 +779,12 @@ _mesa_DeleteTextures( GLsizei n, const GLuint *textures) unbind_texobj_from_fbo(ctx, delObj); /* Check if this texture is currently bound to any texture units. - * If so, unbind it and decrement the reference count. + * If so, unbind it. */ unbind_texobj_from_texunits(ctx, delObj); + _mesa_unlock_texture(ctx, delObj); + ctx->NewState |= _NEW_TEXTURE; /* The texture _name_ is now free for re-use. @@ -719,16 +794,10 @@ _mesa_DeleteTextures( GLsizei n, const GLuint *textures) _mesa_HashRemove(ctx->Shared->TexObjects, delObj->Name); _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex); - /* The actual texture object will not be freed until it's no - * longer bound in any context. - * XXX all RefCount accesses should be protected by a mutex. + /* Unreference the texobj. If refcount hits zero, the texture + * will be deleted. */ - delObj->RefCount--; - if (delObj->RefCount == 0) { - ASSERT(delObj->Name != 0); /* Never delete default tex objs */ - ASSERT(ctx->Driver.DeleteTexture); - (*ctx->Driver.DeleteTexture)(ctx, delObj); - } + _mesa_reference_texobj(&delObj, NULL); } } } @@ -756,7 +825,6 @@ _mesa_BindTexture( GLenum target, GLuint texName ) GET_CURRENT_CONTEXT(ctx); const GLuint unit = ctx->Texture.CurrentUnit; struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit]; - struct gl_texture_object *oldTexObj; struct gl_texture_object *newTexObj = NULL; ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -765,48 +833,6 @@ _mesa_BindTexture( GLenum target, GLuint texName ) _mesa_lookup_enum_by_nr(target), (GLint) texName); /* - * Get pointer to currently bound texture object (oldTexObj) - */ - switch (target) { - case GL_TEXTURE_1D: - oldTexObj = texUnit->Current1D; - break; - case GL_TEXTURE_2D: - oldTexObj = texUnit->Current2D; - break; - case GL_TEXTURE_3D: - oldTexObj = texUnit->Current3D; - break; - case GL_TEXTURE_CUBE_MAP_ARB: - if (!ctx->Extensions.ARB_texture_cube_map) { - _mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" ); - return; - } - oldTexObj = texUnit->CurrentCubeMap; - break; - case GL_TEXTURE_RECTANGLE_NV: - if (!ctx->Extensions.NV_texture_rectangle) { - _mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" ); - return; - } - oldTexObj = texUnit->CurrentRect; - break; - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" ); - return; - } - - if (oldTexObj->Name == texName) { - /* XXX this might be wrong. If the texobj is in use by another - * context and a texobj parameter was changed, this might be our - * only chance to update this context's hardware state. - * Note that some applications re-bind the same texture a lot so we - * want to handle that case quickly. - */ - return; /* rebinding the same texture- no change */ - } - - /* * Get pointer to new texture object (newTexObj) */ if (texName == 0) { @@ -874,28 +900,30 @@ _mesa_BindTexture( GLenum target, GLuint texName ) newTexObj->Target = target; } - /* XXX all RefCount accesses should be protected by a mutex. */ - newTexObj->RefCount++; + assert(valid_texture_object(newTexObj)); - /* do the actual binding, but first flush outstanding vertices: - */ + /* flush before changing binding */ FLUSH_VERTICES(ctx, _NEW_TEXTURE); + /* Do the actual binding. The refcount on the previously bound + * texture object will be decremented. It'll be deleted if the + * count hits zero. + */ switch (target) { case GL_TEXTURE_1D: - texUnit->Current1D = newTexObj; + _mesa_reference_texobj(&texUnit->Current1D, newTexObj); break; case GL_TEXTURE_2D: - texUnit->Current2D = newTexObj; + _mesa_reference_texobj(&texUnit->Current2D, newTexObj); break; case GL_TEXTURE_3D: - texUnit->Current3D = newTexObj; + _mesa_reference_texobj(&texUnit->Current3D, newTexObj); break; case GL_TEXTURE_CUBE_MAP_ARB: - texUnit->CurrentCubeMap = newTexObj; + _mesa_reference_texobj(&texUnit->CurrentCubeMap, newTexObj); break; case GL_TEXTURE_RECTANGLE_NV: - texUnit->CurrentRect = newTexObj; + _mesa_reference_texobj(&texUnit->CurrentRect, newTexObj); break; default: _mesa_problem(ctx, "bad target in BindTexture"); @@ -905,18 +933,6 @@ _mesa_BindTexture( GLenum target, GLuint texName ) /* Pass BindTexture call to device driver */ if (ctx->Driver.BindTexture) (*ctx->Driver.BindTexture)( ctx, target, newTexObj ); - - /* Decrement the reference count on the old texture and check if it's - * time to delete it. - */ - /* XXX all RefCount accesses should be protected by a mutex. */ - oldTexObj->RefCount--; - ASSERT(oldTexObj->RefCount >= 0); - if (oldTexObj->RefCount == 0) { - ASSERT(oldTexObj->Name != 0); - ASSERT(ctx->Driver.DeleteTexture); - (*ctx->Driver.DeleteTexture)( ctx, oldTexObj ); - } } @@ -1052,4 +1068,30 @@ _mesa_IsTexture( GLuint texture ) return t && t->Target; } +/* Simplest implementation of texture locking: Grab the a new mutex in + * the shared context. Examine the shared context state timestamp and + * if there has been a change, set the appropriate bits in + * ctx->NewState. + * + * See also _mesa_lock/unlock_texture in texobj.h + */ +void _mesa_lock_context_textures( GLcontext *ctx ) +{ + _glthread_LOCK_MUTEX(ctx->Shared->TexMutex); + + if (ctx->Shared->TextureStateStamp != ctx->TextureStateTimestamp) { + ctx->NewState |= _NEW_TEXTURE; + ctx->TextureStateTimestamp = ctx->Shared->TextureStateStamp; + } +} + + +void _mesa_unlock_context_textures( GLcontext *ctx ) +{ + assert(ctx->Shared->TextureStateStamp == ctx->TextureStateTimestamp); + _glthread_UNLOCK_MUTEX(ctx->Shared->TexMutex); +} + /*@}*/ + + diff --git a/dist/Mesa/src/mesa/main/texobj.h b/dist/Mesa/src/mesa/main/texobj.h index ac66ac69d..9577e5e4d 100644 --- a/dist/Mesa/src/mesa/main/texobj.h +++ b/dist/Mesa/src/mesa/main/texobj.h @@ -58,9 +58,16 @@ _mesa_copy_texture_object( struct gl_texture_object *dest, const struct gl_texture_object *src ); extern void +_mesa_reference_texobj(struct gl_texture_object **ptr, + struct gl_texture_object *tex); + +extern void _mesa_test_texobj_completeness( const GLcontext *ctx, struct gl_texture_object *obj ); +extern void _mesa_unlock_context_textures( GLcontext *ctx ); +extern void _mesa_lock_context_textures( GLcontext *ctx ); + /*@}*/ @@ -95,4 +102,5 @@ _mesa_IsTexture( GLuint texture ); /*@}*/ + #endif diff --git a/dist/Mesa/src/mesa/main/texstate.c b/dist/Mesa/src/mesa/main/texstate.c index 0687e5760..a5966e7ec 100644 --- a/dist/Mesa/src/mesa/main/texstate.c +++ b/dist/Mesa/src/mesa/main/texstate.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 6.5.3 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -41,8 +41,6 @@ #include "texenvprogram.h" #include "mtypes.h" #include "math/m_xform.h" -#include "shaderobjects.h" - #define ENUM_TO_FLOAT(X) ((GLfloat)(GLint)(X)) @@ -65,31 +63,6 @@ static const struct gl_tex_env_combine_state default_combine_state = { }; -/** - * Copy a texture binding. Helper used by _mesa_copy_texture_state(). - */ -static void -copy_texture_binding(const GLcontext *ctx, - struct gl_texture_object **dst, - struct gl_texture_object *src) -{ - /* only copy if names differ (per OpenGL SI) */ - if ((*dst)->Name != src->Name) { - /* unbind/delete dest binding which we're changing */ - (*dst)->RefCount--; - if ((*dst)->RefCount == 0) { - /* time to delete this texture object */ - ASSERT((*dst)->Name != 0); - ASSERT(ctx->Driver.DeleteTexture); - /* XXX cast-away const, unfortunately */ - (*ctx->Driver.DeleteTexture)((GLcontext *) ctx, *dst); - } - /* make new binding, incrementing ref count */ - *dst = src; - src->RefCount++; - } -} - /** * Used by glXCopyContext to copy texture state from one context to another. @@ -144,16 +117,20 @@ _mesa_copy_texture_state( const GLcontext *src, GLcontext *dst ) dst->Texture.Unit[i].Combine.ScaleShiftA = src->Texture.Unit[i].Combine.ScaleShiftA; /* copy texture object bindings, not contents of texture objects */ - copy_texture_binding(src, &dst->Texture.Unit[i].Current1D, - src->Texture.Unit[i].Current1D); - copy_texture_binding(src, &dst->Texture.Unit[i].Current2D, - src->Texture.Unit[i].Current2D); - copy_texture_binding(src, &dst->Texture.Unit[i].Current3D, - src->Texture.Unit[i].Current3D); - copy_texture_binding(src, &dst->Texture.Unit[i].CurrentCubeMap, - src->Texture.Unit[i].CurrentCubeMap); - copy_texture_binding(src, &dst->Texture.Unit[i].CurrentRect, - src->Texture.Unit[i].CurrentRect); + _mesa_lock_context_textures(dst); + + _mesa_reference_texobj(&dst->Texture.Unit[i].Current1D, + src->Texture.Unit[i].Current1D); + _mesa_reference_texobj(&dst->Texture.Unit[i].Current2D, + src->Texture.Unit[i].Current2D); + _mesa_reference_texobj(&dst->Texture.Unit[i].Current3D, + src->Texture.Unit[i].Current3D); + _mesa_reference_texobj(&dst->Texture.Unit[i].CurrentCubeMap, + src->Texture.Unit[i].CurrentCubeMap); + _mesa_reference_texobj(&dst->Texture.Unit[i].CurrentRect, + src->Texture.Unit[i].CurrentRect); + + _mesa_unlock_context_textures(dst); } } @@ -847,108 +824,48 @@ _mesa_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params ) } break; case GL_SOURCE0_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.SourceRGB[0]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; case GL_SOURCE1_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.SourceRGB[1]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; case GL_SOURCE2_RGB: if (ctx->Extensions.EXT_texture_env_combine || ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.SourceRGB[2]; + const unsigned rgb_idx = pname - GL_SOURCE0_RGB; + *params = (GLfloat) texUnit->Combine.SourceRGB[rgb_idx]; } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); } break; case GL_SOURCE0_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.SourceA[0]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; case GL_SOURCE1_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.SourceA[1]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; case GL_SOURCE2_ALPHA: if (ctx->Extensions.EXT_texture_env_combine || ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.SourceA[2]; + const unsigned alpha_idx = pname - GL_SOURCE0_ALPHA; + *params = (GLfloat) texUnit->Combine.SourceA[alpha_idx]; } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); } break; case GL_OPERAND0_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.OperandRGB[0]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; case GL_OPERAND1_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.OperandRGB[1]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; case GL_OPERAND2_RGB: if (ctx->Extensions.EXT_texture_env_combine || ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.OperandRGB[2]; + const unsigned op_rgb = pname - GL_OPERAND0_RGB; + *params = (GLfloat) texUnit->Combine.OperandRGB[op_rgb]; } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); } break; case GL_OPERAND0_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.OperandA[0]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; case GL_OPERAND1_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.OperandA[1]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); - } - break; case GL_OPERAND2_ALPHA: if (ctx->Extensions.EXT_texture_env_combine || ctx->Extensions.ARB_texture_env_combine) { - *params = (GLfloat) texUnit->Combine.OperandA[2]; + const unsigned op_alpha = pname - GL_OPERAND0_ALPHA; + *params = (GLfloat) texUnit->Combine.OperandA[op_alpha]; } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnvfv(pname)"); @@ -1071,108 +988,48 @@ _mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params ) } break; case GL_SOURCE0_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.SourceRGB[0]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); - } - break; case GL_SOURCE1_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.SourceRGB[1]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); - } - break; case GL_SOURCE2_RGB: if (ctx->Extensions.EXT_texture_env_combine || ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.SourceRGB[2]; + const unsigned rgb_idx = pname - GL_SOURCE0_RGB; + *params = (GLint) texUnit->Combine.SourceRGB[rgb_idx]; } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); } break; case GL_SOURCE0_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.SourceA[0]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); - } - break; case GL_SOURCE1_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.SourceA[1]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); - } - break; case GL_SOURCE2_ALPHA: if (ctx->Extensions.EXT_texture_env_combine || ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.SourceA[2]; + const unsigned alpha_idx = pname - GL_SOURCE0_ALPHA; + *params = (GLint) texUnit->Combine.SourceA[alpha_idx]; } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); } break; case GL_OPERAND0_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.OperandRGB[0]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); - } - break; case GL_OPERAND1_RGB: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.OperandRGB[1]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); - } - break; case GL_OPERAND2_RGB: if (ctx->Extensions.EXT_texture_env_combine || ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.OperandRGB[2]; + const unsigned op_rgb = pname - GL_OPERAND0_RGB; + *params = (GLint) texUnit->Combine.OperandRGB[op_rgb]; } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); } break; case GL_OPERAND0_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.OperandA[0]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); - } - break; case GL_OPERAND1_ALPHA: - if (ctx->Extensions.EXT_texture_env_combine || - ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.OperandA[1]; - } - else { - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); - } - break; case GL_OPERAND2_ALPHA: if (ctx->Extensions.EXT_texture_env_combine || ctx->Extensions.ARB_texture_env_combine) { - *params = (GLint) texUnit->Combine.OperandA[2]; + const unsigned op_alpha = pname - GL_OPERAND0_ALPHA; + *params = (GLint) texUnit->Combine.OperandA[op_alpha]; } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexEnviv(pname)"); @@ -1438,11 +1295,11 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) break; case GL_TEXTURE_BASE_LEVEL: if (params[0] < 0.0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); + _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)"); return; } - if (target == GL_TEXTURE_RECTANGLE_NV && params[0] != 0.0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); + if (target == GL_TEXTURE_RECTANGLE_ARB && params[0] != 0.0) { + _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)"); return; } FLUSH_VERTICES(ctx, _NEW_TEXTURE); @@ -1450,7 +1307,11 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) break; case GL_TEXTURE_MAX_LEVEL: if (params[0] < 0.0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)" ); + _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)"); + return; + } + if (target == GL_TEXTURE_RECTANGLE_ARB) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glTexParameter(param)"); return; } FLUSH_VERTICES(ctx, _NEW_TEXTURE); @@ -1700,6 +1561,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params ) { const struct gl_texture_unit *texUnit; + struct gl_texture_object *texObj; const struct gl_texture_image *img = NULL; GLuint dimensions; GLboolean isProxy; @@ -1734,14 +1596,17 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, return; } - img = _mesa_select_tex_image(ctx, texUnit, target, level); + texObj = _mesa_select_tex_object(ctx, texUnit, target); + _mesa_lock_texture(ctx, texObj); + + img = _mesa_select_tex_image(ctx, texObj, target, level); if (!img || !img->TexFormat) { /* undefined texture image */ if (pname == GL_TEXTURE_COMPONENTS) *params = 1; else *params = 0; - return; + goto out; } isProxy = _mesa_is_proxy_texture(target); @@ -1749,37 +1614,37 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, switch (pname) { case GL_TEXTURE_WIDTH: *params = img->Width; - return; + break; case GL_TEXTURE_HEIGHT: *params = img->Height; - return; + break; case GL_TEXTURE_DEPTH: *params = img->Depth; - return; + break; case GL_TEXTURE_INTERNAL_FORMAT: *params = img->InternalFormat; - return; + break; case GL_TEXTURE_BORDER: *params = img->Border; - return; + break; case GL_TEXTURE_RED_SIZE: if (img->_BaseFormat == GL_RGB || img->_BaseFormat == GL_RGBA) *params = img->TexFormat->RedBits; else *params = 0; - return; + break; case GL_TEXTURE_GREEN_SIZE: if (img->_BaseFormat == GL_RGB || img->_BaseFormat == GL_RGBA) *params = img->TexFormat->GreenBits; else *params = 0; - return; + break; case GL_TEXTURE_BLUE_SIZE: if (img->_BaseFormat == GL_RGB || img->_BaseFormat == GL_RGBA) *params = img->TexFormat->BlueBits; else *params = 0; - return; + break; case GL_TEXTURE_ALPHA_SIZE: if (img->_BaseFormat == GL_ALPHA || img->_BaseFormat == GL_LUMINANCE_ALPHA || @@ -1787,7 +1652,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, *params = img->TexFormat->AlphaBits; else *params = 0; - return; + break; case GL_TEXTURE_INTENSITY_SIZE: if (img->_BaseFormat != GL_INTENSITY) *params = 0; @@ -1795,7 +1660,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, *params = img->TexFormat->IntensityBits; else /* intensity probably stored as rgb texture */ *params = MIN2(img->TexFormat->RedBits, img->TexFormat->GreenBits); - return; + break; case GL_TEXTURE_LUMINANCE_SIZE: if (img->_BaseFormat != GL_LUMINANCE && img->_BaseFormat != GL_LUMINANCE_ALPHA) @@ -1804,13 +1669,13 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, *params = img->TexFormat->LuminanceBits; else /* luminance probably stored as rgb texture */ *params = MIN2(img->TexFormat->RedBits, img->TexFormat->GreenBits); - return; + break; case GL_TEXTURE_INDEX_SIZE_EXT: if (img->_BaseFormat == GL_COLOR_INDEX) *params = img->TexFormat->IndexBits; else *params = 0; - return; + break; case GL_TEXTURE_DEPTH_SIZE_ARB: if (ctx->Extensions.SGIX_depth_texture || ctx->Extensions.ARB_depth_texture) @@ -1818,7 +1683,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, else _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); - return; + break; case GL_TEXTURE_STENCIL_SIZE_EXT: if (ctx->Extensions.EXT_packed_depth_stencil) { *params = img->TexFormat->StencilBits; @@ -1827,7 +1692,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; /* GL_ARB_texture_compression */ case GL_TEXTURE_COMPRESSED_IMAGE_SIZE: @@ -1849,7 +1714,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; case GL_TEXTURE_COMPRESSED: if (ctx->Extensions.ARB_texture_compression) { *params = (GLint) img->IsCompressed; @@ -1858,7 +1723,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; /* GL_ARB_texture_float */ case GL_TEXTURE_RED_TYPE_ARB: @@ -1869,7 +1734,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; case GL_TEXTURE_GREEN_TYPE_ARB: if (ctx->Extensions.ARB_texture_float) { *params = img->TexFormat->GreenBits ? img->TexFormat->DataType : GL_NONE; @@ -1878,7 +1743,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; case GL_TEXTURE_BLUE_TYPE_ARB: if (ctx->Extensions.ARB_texture_float) { *params = img->TexFormat->BlueBits ? img->TexFormat->DataType : GL_NONE; @@ -1887,7 +1752,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; case GL_TEXTURE_ALPHA_TYPE_ARB: if (ctx->Extensions.ARB_texture_float) { *params = img->TexFormat->AlphaBits ? img->TexFormat->DataType : GL_NONE; @@ -1896,7 +1761,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; case GL_TEXTURE_LUMINANCE_TYPE_ARB: if (ctx->Extensions.ARB_texture_float) { *params = img->TexFormat->LuminanceBits ? img->TexFormat->DataType : GL_NONE; @@ -1905,7 +1770,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; case GL_TEXTURE_INTENSITY_TYPE_ARB: if (ctx->Extensions.ARB_texture_float) { *params = img->TexFormat->IntensityBits ? img->TexFormat->DataType : GL_NONE; @@ -1914,7 +1779,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; case GL_TEXTURE_DEPTH_TYPE_ARB: if (ctx->Extensions.ARB_texture_float) { *params = img->TexFormat->DepthBits ? img->TexFormat->DataType : GL_NONE; @@ -1923,12 +1788,15 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } - return; + break; default: _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(pname)"); } + + out: + _mesa_unlock_texture(ctx, texObj); } @@ -1938,6 +1806,7 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) { struct gl_texture_unit *texUnit; struct gl_texture_object *obj; + GLboolean error = GL_FALSE; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -1955,28 +1824,29 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) return; } + _mesa_lock_texture(ctx, obj); switch (pname) { case GL_TEXTURE_MAG_FILTER: *params = ENUM_TO_FLOAT(obj->MagFilter); - return; + break; case GL_TEXTURE_MIN_FILTER: *params = ENUM_TO_FLOAT(obj->MinFilter); - return; + break; case GL_TEXTURE_WRAP_S: *params = ENUM_TO_FLOAT(obj->WrapS); - return; + break; case GL_TEXTURE_WRAP_T: *params = ENUM_TO_FLOAT(obj->WrapT); - return; + break; case GL_TEXTURE_WRAP_R: *params = ENUM_TO_FLOAT(obj->WrapR); - return; + break; case GL_TEXTURE_BORDER_COLOR: params[0] = CLAMP(obj->BorderColor[0], 0.0F, 1.0F); params[1] = CLAMP(obj->BorderColor[1], 0.0F, 1.0F); params[2] = CLAMP(obj->BorderColor[2], 0.0F, 1.0F); params[3] = CLAMP(obj->BorderColor[3], 0.0F, 1.0F); - return; + break; case GL_TEXTURE_RESIDENT: { GLboolean resident; @@ -1986,82 +1856,94 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) resident = GL_TRUE; *params = ENUM_TO_FLOAT(resident); } - return; + break; case GL_TEXTURE_PRIORITY: *params = obj->Priority; - return; + break; case GL_TEXTURE_MIN_LOD: *params = obj->MinLod; - return; + break; case GL_TEXTURE_MAX_LOD: *params = obj->MaxLod; - return; + break; case GL_TEXTURE_BASE_LEVEL: *params = (GLfloat) obj->BaseLevel; - return; + break; case GL_TEXTURE_MAX_LEVEL: *params = (GLfloat) obj->MaxLevel; - return; + break; case GL_TEXTURE_MAX_ANISOTROPY_EXT: if (ctx->Extensions.EXT_texture_filter_anisotropic) { *params = obj->MaxAnisotropy; - return; } + else + error = 1; break; case GL_TEXTURE_COMPARE_SGIX: if (ctx->Extensions.SGIX_shadow) { *params = (GLfloat) obj->CompareFlag; - return; } + else + error = 1; break; case GL_TEXTURE_COMPARE_OPERATOR_SGIX: if (ctx->Extensions.SGIX_shadow) { *params = (GLfloat) obj->CompareOperator; - return; } + else + error = 1; break; case GL_SHADOW_AMBIENT_SGIX: /* aka GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ if (ctx->Extensions.SGIX_shadow_ambient) { *params = obj->ShadowAmbient; - return; } + else + error = 1; break; case GL_GENERATE_MIPMAP_SGIS: if (ctx->Extensions.SGIS_generate_mipmap) { *params = (GLfloat) obj->GenerateMipmap; - return; } + else + error = 1; break; case GL_TEXTURE_COMPARE_MODE_ARB: if (ctx->Extensions.ARB_shadow) { *params = (GLfloat) obj->CompareMode; - return; } + else + error = 1; break; case GL_TEXTURE_COMPARE_FUNC_ARB: if (ctx->Extensions.ARB_shadow) { *params = (GLfloat) obj->CompareFunc; - return; } + else + error = 1; break; case GL_DEPTH_TEXTURE_MODE_ARB: if (ctx->Extensions.ARB_depth_texture) { *params = (GLfloat) obj->DepthMode; - return; } + else + error = 1; break; case GL_TEXTURE_LOD_BIAS: if (ctx->Extensions.EXT_texture_lod_bias) { *params = obj->LodBias; - return; } + else + error = 1; break; default: - ; /* silence warnings */ + error = 1; + break; } - /* If we get here, pname was an unrecognized enum */ - _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexParameterfv(pname=0x%x)", - pname); + if (error) + _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexParameterfv(pname=0x%x)", + pname); + + _mesa_unlock_texture(ctx, obj); } @@ -2894,11 +2776,25 @@ static void update_texture_state( GLcontext *ctx ) { GLuint unit; + struct gl_fragment_program *fprog = NULL; + struct gl_vertex_program *vprog = NULL; -#if FEATURE_ARB_fragment_shader - struct gl2_program_intf **prog = ctx->ShaderObjects.CurrentProgram; - GLbitfield progteximageusage[MAX_TEXTURE_IMAGE_UNITS]; -#endif + if (ctx->Shader.CurrentProgram && + ctx->Shader.CurrentProgram->LinkStatus) { + fprog = ctx->Shader.CurrentProgram->FragmentProgram; + vprog = ctx->Shader.CurrentProgram->VertexProgram; + } + else { + if (ctx->FragmentProgram._Enabled) { + fprog = ctx->FragmentProgram.Current; + } + if (ctx->VertexProgram._Enabled) { + /* XXX enable this if/when non-shader vertex programs get + * texture fetches: + vprog = ctx->VertexProgram.Current; + */ + } + } ctx->NewState |= _NEW_TEXTURE; /* TODO: only set this if there are * actual changes. @@ -2909,17 +2805,6 @@ update_texture_state( GLcontext *ctx ) ctx->Texture._TexMatEnabled = 0; ctx->Texture._TexGenEnabled = 0; -#if FEATURE_ARB_fragment_shader - /* - * Grab texture image usage state from shader program. It must be - * grabbed every time uniform sampler changes, so maybe there is a - * better place to perform these rather expensive computations. - */ - if (ctx->ShaderObjects._FragmentShaderPresent) { - (**prog).GetTextureImageUsage (prog, progteximageusage); - } -#endif /* FEATURE_ARB_fragment_shader */ - /* * Update texture unit state. */ @@ -2931,15 +2816,18 @@ update_texture_state( GLcontext *ctx ) texUnit->_ReallyEnabled = 0; texUnit->_GenFlags = 0; - /* Get the bitmask of texture enables */ -#if FEATURE_ARB_fragment_shader - if (ctx->ShaderObjects._FragmentShaderPresent) { - enableBits = progteximageusage[unit]; - } - else -#endif - if (ctx->FragmentProgram._Enabled) { - enableBits = ctx->FragmentProgram.Current->TexturesUsed[unit]; + /* Get the bitmask of texture enables. + * enableBits will be a mask of the TEXTURE_*_BIT flags indicating + * which texture targets are enabled (fixed function) or referenced + * by a fragment shader/program. When multiple flags are set, we'll + * settle on the one with highest priority (see texture_override below). + */ + if (fprog || vprog) { + enableBits = 0x0; + if (fprog) + enableBits |= fprog->Base.TexturesUsed[unit]; + if (vprog) + enableBits |= vprog->Base.TexturesUsed[unit]; } else { if (!texUnit->Enabled) @@ -3056,21 +2944,23 @@ update_texture_state( GLcontext *ctx ) ctx->Texture._TexMatEnabled |= ENABLE_TEXMAT(unit); } - ctx->Texture._EnabledCoordUnits = ctx->Texture._EnabledUnits; - /* Fragment programs may need texture coordinates but not the - * corresponding texture images. - */ - if (ctx->ShaderObjects.CurrentProgram != NULL) { - ctx->Texture._EnabledCoordUnits |= (1 << ctx->Const.MaxTextureCoordUnits) - 1; + /* Determine which texture coordinate sets are actually needed */ + if (fprog) { + const GLuint coordMask = (1 << MAX_TEXTURE_COORD_UNITS) - 1; + ctx->Texture._EnabledCoordUnits + = (fprog->Base.InputsRead >> FRAG_ATTRIB_TEX0) & coordMask; } - else if (ctx->FragmentProgram._Enabled) { - ctx->Texture._EnabledCoordUnits |= - (ctx->FragmentProgram.Current->Base.InputsRead >> FRAG_ATTRIB_TEX0); + else { + ctx->Texture._EnabledCoordUnits = ctx->Texture._EnabledUnits; } } -void _mesa_update_texture( GLcontext *ctx, GLuint new_state ) +/** + * Update texture-related derived state. + */ +void +_mesa_update_texture( GLcontext *ctx, GLuint new_state ) { if (new_state & _NEW_TEXTURE_MATRIX) update_texture_matrices( ctx ); @@ -3117,6 +3007,8 @@ alloc_proxy_textures( GLcontext *ctx ) if (!ctx->Texture.ProxyRect) goto cleanup; + assert(ctx->Texture.Proxy1D->RefCount == 1); + return GL_TRUE; cleanup: @@ -3172,11 +3064,12 @@ init_texture_unit( GLcontext *ctx, GLuint unit ) ASSIGN_4V( texUnit->EyePlaneR, 0.0, 0.0, 0.0, 0.0 ); ASSIGN_4V( texUnit->EyePlaneQ, 0.0, 0.0, 0.0, 0.0 ); - texUnit->Current1D = ctx->Shared->Default1D; - texUnit->Current2D = ctx->Shared->Default2D; - texUnit->Current3D = ctx->Shared->Default3D; - texUnit->CurrentCubeMap = ctx->Shared->DefaultCubeMap; - texUnit->CurrentRect = ctx->Shared->DefaultRect; + /* initialize current texture object ptrs to the shared default objects */ + _mesa_reference_texobj(&texUnit->Current1D, ctx->Shared->Default1D); + _mesa_reference_texobj(&texUnit->Current2D, ctx->Shared->Default2D); + _mesa_reference_texobj(&texUnit->Current3D, ctx->Shared->Default3D); + _mesa_reference_texobj(&texUnit->CurrentCubeMap, ctx->Shared->DefaultCubeMap); + _mesa_reference_texobj(&texUnit->CurrentRect, ctx->Shared->DefaultRect); } @@ -3191,21 +3084,20 @@ _mesa_init_texture(GLcontext *ctx) assert(MAX_TEXTURE_LEVELS >= MAX_3D_TEXTURE_LEVELS); assert(MAX_TEXTURE_LEVELS >= MAX_CUBE_TEXTURE_LEVELS); - /* Effectively bind the default textures to all texture units */ - ctx->Shared->Default1D->RefCount += MAX_TEXTURE_UNITS; - ctx->Shared->Default2D->RefCount += MAX_TEXTURE_UNITS; - ctx->Shared->Default3D->RefCount += MAX_TEXTURE_UNITS; - ctx->Shared->DefaultCubeMap->RefCount += MAX_TEXTURE_UNITS; - ctx->Shared->DefaultRect->RefCount += MAX_TEXTURE_UNITS; - /* Texture group */ ctx->Texture.CurrentUnit = 0; /* multitexture */ ctx->Texture._EnabledUnits = 0; - for (i=0; i<MAX_TEXTURE_UNITS; i++) - init_texture_unit( ctx, i ); ctx->Texture.SharedPalette = GL_FALSE; _mesa_init_colortable(&ctx->Texture.Palette); + for (i = 0; i < MAX_TEXTURE_UNITS; i++) + init_texture_unit( ctx, i ); + + /* After we're done initializing the context's texture state the default + * texture objects' refcounts should be at least MAX_TEXTURE_UNITS + 1. + */ + assert(ctx->Shared->Default1D->RefCount >= MAX_TEXTURE_UNITS + 1); + _mesa_TexEnvProgramCacheInit( ctx ); /* Allocate proxy textures */ @@ -3217,12 +3109,22 @@ _mesa_init_texture(GLcontext *ctx) /** - * Free dynamically-allocted texture data attached to the given context. + * Free dynamically-allocated texture data attached to the given context. */ void _mesa_free_texture_data(GLcontext *ctx) { - GLuint i; + GLuint u; + + /* unreference current textures */ + for (u = 0; u < MAX_TEXTURE_IMAGE_UNITS; u++) { + struct gl_texture_unit *unit = ctx->Texture.Unit + u; + _mesa_reference_texobj(&unit->Current1D, NULL); + _mesa_reference_texobj(&unit->Current2D, NULL); + _mesa_reference_texobj(&unit->Current3D, NULL); + _mesa_reference_texobj(&unit->CurrentCubeMap, NULL); + _mesa_reference_texobj(&unit->CurrentRect, NULL); + } /* Free proxy texture objects */ (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.Proxy1D ); @@ -3231,8 +3133,8 @@ _mesa_free_texture_data(GLcontext *ctx) (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.ProxyCubeMap ); (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.ProxyRect ); - for (i = 0; i < MAX_TEXTURE_IMAGE_UNITS; i++) - _mesa_free_colortable_data( &ctx->Texture.Unit[i].ColorTable ); + for (u = 0; u < MAX_TEXTURE_IMAGE_UNITS; u++) + _mesa_free_colortable_data( &ctx->Texture.Unit[u].ColorTable ); _mesa_TexEnvProgramCacheDestroy( ctx ); } diff --git a/dist/Mesa/src/mesa/main/version.h b/dist/Mesa/src/mesa/main/version.h index 1c01d9001..2d3c68bca 100644 --- a/dist/Mesa/src/mesa/main/version.h +++ b/dist/Mesa/src/mesa/main/version.h @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 7.0.2 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -28,10 +28,10 @@ /* Mesa version */ -#define MESA_MAJOR 6 -#define MESA_MINOR 5 -#define MESA_PATCH 1 -#define MESA_VERSION_STRING "6.5.1" +#define MESA_MAJOR 7 +#define MESA_MINOR 0 +#define MESA_PATCH 2 +#define MESA_VERSION_STRING "7.0.2" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) @@ -39,10 +39,10 @@ /* OpenGL API version */ -#define OPENGL_MAJOR 1 -#define OPENGL_MINOR 5 +#define OPENGL_MAJOR 2 +#define OPENGL_MINOR 1 #define OPENGL_PATCH 0 -#define OPENGL_VERSION_STRING "1.5" +#define OPENGL_VERSION_STRING "2.1" /* To make version comparison easy */ #define OPENGL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) diff --git a/dist/Mesa/src/mesa/shader/arbprogparse.c b/dist/Mesa/src/mesa/shader/arbprogparse.c index b8e5e4bd8..6a87a1779 100644 --- a/dist/Mesa/src/mesa/shader/arbprogparse.c +++ b/dist/Mesa/src/mesa/shader/arbprogparse.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 6.5.3 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -35,10 +35,12 @@ #include "arbprogparse.h" #include "grammar_mesa.h" #include "program.h" +#include "prog_parameter.h" +#include "prog_statevars.h" #include "context.h" #include "macros.h" #include "mtypes.h" -#include "program_instruction.h" +#include "prog_instruction.h" /* For ARB programs, use the NV instruction limits */ @@ -77,12 +79,6 @@ struct arb_program }; -#ifndef __extension__ -#if !defined(__GNUC__) || (__GNUC__ < 2) || \ - ((__GNUC__ == 2) && (__GNUC_MINOR__ <= 7)) -# define __extension__ -#endif -#endif /* TODO: * Fragment Program Stuff: @@ -168,10 +164,11 @@ struct arb_program typedef GLubyte *production; + /** * This is the text describing the rules to parse the grammar */ -__extension__ static char arb_grammar_text[] = +LONGSTRING static char arb_grammar_text[] = #include "arbprogram_syn.h" ; @@ -627,6 +624,41 @@ program_error(GLcontext *ctx, GLint position, const char *descrip) } +/** + * As above, but with an extra string parameter for more info. + */ +static void +program_error2(GLcontext *ctx, GLint position, const char *descrip, + const char *var) +{ + if (descrip) { + const char *prefix = "glProgramString(", *suffix = ")"; + char *str = (char *) _mesa_malloc(_mesa_strlen(descrip) + + _mesa_strlen(": ") + + _mesa_strlen(var) + + _mesa_strlen(prefix) + + _mesa_strlen(suffix) + 1); + if (str) { + _mesa_sprintf(str, "%s%s: %s%s", prefix, descrip, var, suffix); + _mesa_error(ctx, GL_INVALID_OPERATION, str); + _mesa_free(str); + } + } + { + char *str = (char *) _mesa_malloc(_mesa_strlen(descrip) + + _mesa_strlen(": ") + + _mesa_strlen(var) + 1); + if (str) { + _mesa_sprintf(str, "%s: %s", descrip, var); + } + _mesa_set_program_error(ctx, position, str); + if (str) { + _mesa_free(str); + } + } +} + + /** * constructs an integer from 4 GLubytes in LE format @@ -1013,7 +1045,7 @@ parse_matrix (GLcontext * ctx, const GLubyte ** inst, struct arb_program *Progra switch (mat) { case MATRIX_MODELVIEW: - *matrix = STATE_MODELVIEW; + *matrix = STATE_MODELVIEW_MATRIX; *matrix_idx = parse_integer (inst, Program); if (*matrix_idx > 0) { program_error(ctx, Program->Position, @@ -1023,15 +1055,15 @@ parse_matrix (GLcontext * ctx, const GLubyte ** inst, struct arb_program *Progra break; case MATRIX_PROJECTION: - *matrix = STATE_PROJECTION; + *matrix = STATE_PROJECTION_MATRIX; break; case MATRIX_MVP: - *matrix = STATE_MVP; + *matrix = STATE_MVP_MATRIX; break; case MATRIX_TEXTURE: - *matrix = STATE_TEXTURE; + *matrix = STATE_TEXTURE_MATRIX; *matrix_idx = parse_integer (inst, Program); if (*matrix_idx >= (GLint) ctx->Const.MaxTextureUnits) { program_error(ctx, Program->Position, "Invalid Texture Unit"); @@ -1049,7 +1081,7 @@ parse_matrix (GLcontext * ctx, const GLubyte ** inst, struct arb_program *Progra break; case MATRIX_PROGRAM: - *matrix = STATE_PROGRAM; + *matrix = STATE_PROGRAM_MATRIX; *matrix_idx = parse_integer (inst, Program); if (*matrix_idx >= (GLint) ctx->Const.MaxProgramMatrices) { program_error(ctx, Program->Position, "Invalid Program Matrix"); @@ -1088,7 +1120,8 @@ parse_matrix (GLcontext * ctx, const GLubyte ** inst, struct arb_program *Progra */ static GLuint parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, - struct arb_program *Program, GLint * state_tokens) + struct arb_program *Program, + gl_state_index state_tokens[STATE_LENGTH]) { switch (*(*inst)++) { case STATE_MATERIAL_PARSER: @@ -1141,7 +1174,7 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, state_tokens[2] = STATE_ATTENUATION; break; case LIGHT_HALF: - state_tokens[2] = STATE_HALF; + state_tokens[2] = STATE_HALF_VECTOR; break; case LIGHT_SPOT_DIRECTION: state_tokens[2] = STATE_SPOT_DIRECTION; @@ -1219,10 +1252,10 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, state_tokens[1] = coord; /* EYE or OBJECT */ - type = *(*inst++); + type = *(*inst)++; /* 0 - s, 1 - t, 2 - r, 3 - q */ - coord = *(*inst++); + coord = *(*inst)++; if (type == TEX_GEN_EYE) { switch (coord) { @@ -1238,6 +1271,9 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, case COMPONENT_W: state_tokens[2] = STATE_TEXGEN_EYE_Q; break; + default: + _mesa_problem(ctx, "bad texgen component in " + "parse_state_single_item()"); } } else { @@ -1254,6 +1290,9 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, case COMPONENT_W: state_tokens[2] = STATE_TEXGEN_OBJECT_Q; break; + default: + _mesa_problem(ctx, "bad texgen component in " + "parse_state_single_item()"); } } } @@ -1270,12 +1309,13 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, case STATE_CLIP_PLANE: state_tokens[0] = STATE_CLIPPLANE; state_tokens[1] = parse_integer (inst, Program); - if (parse_clipplane_num (ctx, inst, Program, &state_tokens[1])) + if (parse_clipplane_num (ctx, inst, Program, + (GLint *) &state_tokens[1])) return 1; break; case STATE_POINT: - switch (*(*inst++)) { + switch (*(*inst)++) { case POINT_SIZE: state_tokens[0] = STATE_POINT_SIZE; break; @@ -1288,17 +1328,17 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, /* XXX: I think this is the correct format for a matrix row */ case STATE_MATRIX_ROWS: - state_tokens[0] = STATE_MATRIX; - if (parse_matrix - (ctx, inst, Program, &state_tokens[1], &state_tokens[2], - &state_tokens[5])) + if (parse_matrix(ctx, inst, Program, + (GLint *) &state_tokens[0], + (GLint *) &state_tokens[1], + (GLint *) &state_tokens[4])) return 1; - state_tokens[3] = parse_integer (inst, Program); /* The first row to grab */ + state_tokens[2] = parse_integer (inst, Program); /* The first row to grab */ if ((**inst) != 0) { /* Either the last row, 0 */ - state_tokens[4] = parse_integer (inst, Program); - if (state_tokens[4] < state_tokens[3]) { + state_tokens[3] = parse_integer (inst, Program); + if (state_tokens[3] < state_tokens[2]) { program_error(ctx, Program->Position, "Second matrix index less than the first"); /* state_tokens[4] vs. state_tokens[3] */ @@ -1306,7 +1346,7 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, } } else { - state_tokens[4] = state_tokens[3]; + state_tokens[3] = state_tokens[2]; (*inst)++; } break; @@ -1347,7 +1387,8 @@ parse_state_single_item (GLcontext * ctx, const GLubyte ** inst, */ static GLuint parse_program_single_item (GLcontext * ctx, const GLubyte ** inst, - struct arb_program *Program, GLint * state_tokens) + struct arb_program *Program, + gl_state_index state_tokens[STATE_LENGTH]) { if (Program->Base.Target == GL_FRAGMENT_PROGRAM_ARB) state_tokens[0] = STATE_FRAGMENT_PROGRAM; @@ -1464,7 +1505,7 @@ parse_attrib_binding(GLcontext * ctx, const GLubyte ** inst, break; case FRAGMENT_ATTRIB_TEXCOORD: { - GLuint texcoord; + GLuint texcoord = 0; err = parse_texcoord_num (ctx, inst, Program, &texcoord); *inputReg = FRAG_ATTRIB_TEX0 + texcoord; } @@ -1525,7 +1566,7 @@ parse_attrib_binding(GLcontext * ctx, const GLubyte ** inst, case VERTEX_ATTRIB_TEXCOORD: { - GLuint unit; + GLuint unit = 0; err = parse_texcoord_num (ctx, inst, Program, &unit); *inputReg = VERT_ATTRIB_TEX0 + unit; } @@ -1678,18 +1719,14 @@ parse_attrib (GLcontext * ctx, const GLubyte ** inst, struct var_cache **vc_head struct arb_program *Program) { GLuint found; - char *error_msg; struct var_cache *attrib_var; attrib_var = parse_string (inst, vc_head, Program, &found); Program->Position = parse_position (inst); if (found) { - error_msg = (char *) - _mesa_malloc (_mesa_strlen ((char *) attrib_var->name) + 40); - _mesa_sprintf (error_msg, "Duplicate Varible Declaration: %s", - attrib_var->name); - program_error(ctx, Program->Position, error_msg); - _mesa_free (error_msg); + program_error2(ctx, Program->Position, + "Duplicate variable declaration", + (char *) attrib_var->name); return 1; } @@ -1722,7 +1759,7 @@ parse_param_elements (GLcontext * ctx, const GLubyte ** inst, { GLint idx; GLuint err = 0; - GLint state_tokens[6]; + gl_state_index state_tokens[STATE_LENGTH]; GLfloat const_values[4]; switch (*(*inst)++) { @@ -1733,14 +1770,18 @@ parse_param_elements (GLcontext * ctx, const GLubyte ** inst, /* If we adding STATE_MATRIX that has multiple rows, we need to * unroll it and call _mesa_add_state_reference() for each row */ - if ((state_tokens[0] == STATE_MATRIX) - && (state_tokens[3] != state_tokens[4])) { + if ((state_tokens[0] == STATE_MODELVIEW_MATRIX || + state_tokens[0] == STATE_PROJECTION_MATRIX || + state_tokens[0] == STATE_MVP_MATRIX || + state_tokens[0] == STATE_TEXTURE_MATRIX || + state_tokens[0] == STATE_PROGRAM_MATRIX) + && (state_tokens[2] != state_tokens[3])) { GLint row; - GLint first_row = state_tokens[3]; - GLint last_row = state_tokens[4]; + const GLint first_row = state_tokens[2]; + const GLint last_row = state_tokens[3]; for (row = first_row; row <= last_row; row++) { - state_tokens[3] = state_tokens[4] = row; + state_tokens[2] = state_tokens[3] = row; idx = _mesa_add_state_reference(Program->Base.Parameters, state_tokens); @@ -1815,7 +1856,7 @@ parse_param_elements (GLcontext * ctx, const GLubyte ** inst, parse_constant (inst, const_values, Program, use); idx = _mesa_add_named_constant(Program->Base.Parameters, (char *) param_var->name, - const_values); + const_values, 4); if (param_var->param_binding_begin == ~0U) param_var->param_binding_begin = idx; param_var->param_binding_length++; @@ -1863,12 +1904,9 @@ parse_param (GLcontext * ctx, const GLubyte ** inst, struct var_cache **vc_head, Program->Position = parse_position (inst); if (found) { - char *error_msg = (char *) - _mesa_malloc (_mesa_strlen ((char *) param_var->name) + 40); - _mesa_sprintf (error_msg, "Duplicate Varible Declaration: %s", - param_var->name); - program_error (ctx, Program->Position, error_msg); - _mesa_free (error_msg); + program_error2(ctx, Program->Position, + "Duplicate variable declaration", + (char *) param_var->name); return 1; } @@ -1963,12 +2001,9 @@ parse_temp (GLcontext * ctx, const GLubyte ** inst, struct var_cache **vc_head, temp_var = parse_string (inst, vc_head, Program, &found); Program->Position = parse_position (inst); if (found) { - char *error_msg = (char *) - _mesa_malloc (_mesa_strlen ((char *) temp_var->name) + 40); - _mesa_sprintf (error_msg, "Duplicate Varible Declaration: %s", - temp_var->name); - program_error(ctx, Program->Position, error_msg); - _mesa_free (error_msg); + program_error2(ctx, Program->Position, + "Duplicate variable declaration", + (char *) temp_var->name); return 1; } @@ -2009,12 +2044,9 @@ parse_output (GLcontext * ctx, const GLubyte ** inst, struct var_cache **vc_head output_var = parse_string (inst, vc_head, Program, &found); Program->Position = parse_position (inst); if (found) { - char *error_msg = (char *) - _mesa_malloc (_mesa_strlen ((char *) output_var->name) + 40); - _mesa_sprintf (error_msg, "Duplicate Varible Declaration: %s", - output_var->name); - program_error (ctx, Program->Position, error_msg); - _mesa_free (error_msg); + program_error2(ctx, Program->Position, + "Duplicate variable declaration", + (char *) output_var->name); return 1; } @@ -2040,12 +2072,9 @@ parse_alias (GLcontext * ctx, const GLubyte ** inst, struct var_cache **vc_head, Program->Position = parse_position (inst); if (found) { - char *error_msg = (char *) - _mesa_malloc (_mesa_strlen ((char *) temp_var->name) + 40); - _mesa_sprintf (error_msg, "Duplicate Varible Declaration: %s", - temp_var->name); - program_error(ctx, Program->Position, error_msg); - _mesa_free (error_msg); + program_error2(ctx, Program->Position, + "Duplicate variable declaration", + (char *) temp_var->name); return 1; } @@ -2055,12 +2084,9 @@ parse_alias (GLcontext * ctx, const GLubyte ** inst, struct var_cache **vc_head, if (!found) { - char *error_msg = (char *) - _mesa_malloc (_mesa_strlen ((char *) temp_var->name) + 40); - _mesa_sprintf (error_msg, "Alias value %s is not defined", - temp_var->alias_binding->name); - program_error (ctx, Program->Position, error_msg); - _mesa_free (error_msg); + program_error2(ctx, Program->Position, + "Undefined alias value", + (char *) temp_var->alias_binding->name); return 1; } @@ -2083,12 +2109,9 @@ parse_address (GLcontext * ctx, const GLubyte ** inst, struct var_cache **vc_hea temp_var = parse_string (inst, vc_head, Program, &found); Program->Position = parse_position (inst); if (found) { - char *error_msg = (char *) - _mesa_malloc (_mesa_strlen ((char *) temp_var->name) + 40); - _mesa_sprintf (error_msg, "Duplicate Varible Declaration: %s", - temp_var->name); - program_error (ctx, Program->Position, error_msg); - _mesa_free (error_msg); + program_error2(ctx, Program->Position, + "Duplicate variable declaration", + (char *) temp_var->name); return 1; } @@ -2441,8 +2464,9 @@ parse_src_reg (GLcontext * ctx, const GLubyte ** inst, Program->Position = parse_position (inst); if (!found) { - program_error(ctx, Program->Position, - "2: Undefined variable"); /* src->name */ + program_error2(ctx, Program->Position, + "Undefined variable", + (char *) src->name); return 1; } @@ -2571,8 +2595,6 @@ parse_fp_vector_src_reg(GLcontext * ctx, const GLubyte ** inst, reg->File = file; reg->Index = index; - reg->Abs = 0; /* NV only */ - reg->NegateAbs = 0; /* NV only */ reg->NegateBase = negate; reg->Swizzle = MAKE_SWIZZLE4(swizzle[0], swizzle[1], swizzle[2], swizzle[3]); return 0; @@ -2595,8 +2617,6 @@ parse_fp_dst_reg(GLcontext * ctx, const GLubyte ** inst, if (parse_masked_dst_reg (ctx, inst, vc_head, Program, &file, &idx, &mask)) return 1; - reg->CondMask = 0; /* NV only */ - reg->CondSwizzle = 0; /* NV only */ reg->File = file; reg->Index = idx; reg->WriteMask = mask; @@ -2632,8 +2652,6 @@ parse_fp_scalar_src_reg (GLcontext * ctx, const GLubyte ** inst, reg->File = File; reg->Index = Index; - reg->Abs = 0; /* NV only */ - reg->NegateAbs = 0; /* NV only */ reg->NegateBase = Negate; reg->Swizzle = (Swizzle[0] << 0); @@ -2656,7 +2674,7 @@ parse_fp_instruction (GLcontext * ctx, const GLubyte ** inst, GLubyte instClass, type, code; GLboolean rel; - _mesa_init_instruction(fp); + _mesa_init_instructions(fp, 1); /* Record the position in the program string for debugging */ fp->StringPos = Program->Position; @@ -3148,7 +3166,7 @@ parse_vp_instruction (GLcontext * ctx, const GLubyte ** inst, /* The actual opcode name */ code = *(*inst)++; - _mesa_init_instruction(vp); + _mesa_init_instructions(vp, 1); /* Record the position in the program string for debugging */ vp->StringPos = Program->Position; @@ -3340,198 +3358,18 @@ parse_vp_instruction (GLcontext * ctx, const GLubyte ** inst, #if DEBUG_PARSING static GLvoid -print_state_token (GLint token) -{ - switch (token) { - case STATE_MATERIAL: - fprintf (stderr, "STATE_MATERIAL "); - break; - case STATE_LIGHT: - fprintf (stderr, "STATE_LIGHT "); - break; - - case STATE_LIGHTMODEL_AMBIENT: - fprintf (stderr, "STATE_AMBIENT "); - break; - - case STATE_LIGHTMODEL_SCENECOLOR: - fprintf (stderr, "STATE_SCENECOLOR "); - break; - - case STATE_LIGHTPROD: - fprintf (stderr, "STATE_LIGHTPROD "); - break; - - case STATE_TEXGEN: - fprintf (stderr, "STATE_TEXGEN "); - break; - - case STATE_FOG_COLOR: - fprintf (stderr, "STATE_FOG_COLOR "); - break; - - case STATE_FOG_PARAMS: - fprintf (stderr, "STATE_FOG_PARAMS "); - break; - - case STATE_CLIPPLANE: - fprintf (stderr, "STATE_CLIPPLANE "); - break; - - case STATE_POINT_SIZE: - fprintf (stderr, "STATE_POINT_SIZE "); - break; - - case STATE_POINT_ATTENUATION: - fprintf (stderr, "STATE_ATTENUATION "); - break; - - case STATE_MATRIX: - fprintf (stderr, "STATE_MATRIX "); - break; - - case STATE_MODELVIEW: - fprintf (stderr, "STATE_MODELVIEW "); - break; - - case STATE_PROJECTION: - fprintf (stderr, "STATE_PROJECTION "); - break; - - case STATE_MVP: - fprintf (stderr, "STATE_MVP "); - break; - - case STATE_TEXTURE: - fprintf (stderr, "STATE_TEXTURE "); - break; - - case STATE_PROGRAM: - fprintf (stderr, "STATE_PROGRAM "); - break; - - case STATE_MATRIX_INVERSE: - fprintf (stderr, "STATE_INVERSE "); - break; - - case STATE_MATRIX_TRANSPOSE: - fprintf (stderr, "STATE_TRANSPOSE "); - break; - - case STATE_MATRIX_INVTRANS: - fprintf (stderr, "STATE_INVTRANS "); - break; - - case STATE_AMBIENT: - fprintf (stderr, "STATE_AMBIENT "); - break; - - case STATE_DIFFUSE: - fprintf (stderr, "STATE_DIFFUSE "); - break; - - case STATE_SPECULAR: - fprintf (stderr, "STATE_SPECULAR "); - break; - - case STATE_EMISSION: - fprintf (stderr, "STATE_EMISSION "); - break; - - case STATE_SHININESS: - fprintf (stderr, "STATE_SHININESS "); - break; - - case STATE_HALF: - fprintf (stderr, "STATE_HALF "); - break; - - case STATE_POSITION: - fprintf (stderr, "STATE_POSITION "); - break; - - case STATE_ATTENUATION: - fprintf (stderr, "STATE_ATTENUATION "); - break; - - case STATE_SPOT_DIRECTION: - fprintf (stderr, "STATE_DIRECTION "); - break; - - case STATE_TEXGEN_EYE_S: - fprintf (stderr, "STATE_TEXGEN_EYE_S "); - break; - - case STATE_TEXGEN_EYE_T: - fprintf (stderr, "STATE_TEXGEN_EYE_T "); - break; - - case STATE_TEXGEN_EYE_R: - fprintf (stderr, "STATE_TEXGEN_EYE_R "); - break; - - case STATE_TEXGEN_EYE_Q: - fprintf (stderr, "STATE_TEXGEN_EYE_Q "); - break; - - case STATE_TEXGEN_OBJECT_S: - fprintf (stderr, "STATE_TEXGEN_EYE_S "); - break; - - case STATE_TEXGEN_OBJECT_T: - fprintf (stderr, "STATE_TEXGEN_OBJECT_T "); - break; - - case STATE_TEXGEN_OBJECT_R: - fprintf (stderr, "STATE_TEXGEN_OBJECT_R "); - break; - - case STATE_TEXGEN_OBJECT_Q: - fprintf (stderr, "STATE_TEXGEN_OBJECT_Q "); - break; - - case STATE_TEXENV_COLOR: - fprintf (stderr, "STATE_TEXENV_COLOR "); - break; - - case STATE_DEPTH_RANGE: - fprintf (stderr, "STATE_DEPTH_RANGE "); - break; - - case STATE_VERTEX_PROGRAM: - fprintf (stderr, "STATE_VERTEX_PROGRAM "); - break; - - case STATE_FRAGMENT_PROGRAM: - fprintf (stderr, "STATE_FRAGMENT_PROGRAM "); - break; - - case STATE_ENV: - fprintf (stderr, "STATE_ENV "); - break; - - case STATE_LOCAL: - fprintf (stderr, "STATE_LOCAL "); - break; - - } - fprintf (stderr, "[%d] ", token); -} - - -static GLvoid debug_variables (GLcontext * ctx, struct var_cache *vc_head, struct arb_program *Program) { struct var_cache *vc; GLint a, b; - fprintf (stderr, "debug_variables, vc_head: %x\n", vc_head); + fprintf (stderr, "debug_variables, vc_head: %p\n", (void*) vc_head); /* First of all, print out the contents of the var_cache */ vc = vc_head; while (vc) { - fprintf (stderr, "[%x]\n", vc); + fprintf (stderr, "[%p]\n", (void*) vc); switch (vc->type) { case vt_none: fprintf (stderr, "UNDEFINED %s\n", vc->name); @@ -3546,27 +3384,20 @@ debug_variables (GLcontext * ctx, struct var_cache *vc_head, b = vc->param_binding_begin; for (a = 0; a < vc->param_binding_length; a++) { fprintf (stderr, "%s\n", - Program->Parameters->Parameters[a + b].Name); - if (Program->Parameters->Parameters[a + b].Type == STATE) { - print_state_token (Program->Parameters->Parameters[a + b]. - StateIndexes[0]); - print_state_token (Program->Parameters->Parameters[a + b]. - StateIndexes[1]); - print_state_token (Program->Parameters->Parameters[a + b]. - StateIndexes[2]); - print_state_token (Program->Parameters->Parameters[a + b]. - StateIndexes[3]); - print_state_token (Program->Parameters->Parameters[a + b]. - StateIndexes[4]); - print_state_token (Program->Parameters->Parameters[a + b]. - StateIndexes[5]); + Program->Base.Parameters->Parameters[a + b].Name); + if (Program->Base.Parameters->Parameters[a + b].Type == PROGRAM_STATE_VAR) { + const char *s; + s = _mesa_program_state_string(Program->Base.Parameters->Parameters + [a + b].StateIndexes); + fprintf(stderr, "%s\n", s); + _mesa_free((char *) s); } else fprintf (stderr, "%f %f %f %f\n", - Program->Parameters->Parameters[a + b].Values[0], - Program->Parameters->Parameters[a + b].Values[1], - Program->Parameters->Parameters[a + b].Values[2], - Program->Parameters->Parameters[a + b].Values[3]); + Program->Base.Parameters->ParameterValues[a + b][0], + Program->Base.Parameters->ParameterValues[a + b][1], + Program->Base.Parameters->ParameterValues[a + b][2], + Program->Base.Parameters->ParameterValues[a + b][3]); } break; case vt_temp: @@ -3579,9 +3410,12 @@ debug_variables (GLcontext * ctx, struct var_cache *vc_head, break; case vt_alias: fprintf (stderr, "ALIAS %s\n", vc->name); - fprintf (stderr, " binding: 0x%x (%s)\n", - vc->alias_binding, vc->alias_binding->name); + fprintf (stderr, " binding: 0x%p (%s)\n", + (void*) vc->alias_binding, vc->alias_binding->name); break; + default: + /* nothing */ + ; } vc = vc->next; } @@ -3690,7 +3524,7 @@ parse_instructions(GLcontext * ctx, const GLubyte * inst, /* Finally, tag on an OPCODE_END instruction */ { const GLuint numInst = Program->Base.NumInstructions; - _mesa_init_instruction(Program->Base.Instructions + numInst); + _mesa_init_instructions(Program->Base.Instructions + numInst, 1); Program->Base.Instructions[numInst].Opcode = OPCODE_END; /* YYY Wrong Position in program, whatever, at least not random -> crash Program->Position = parse_position (&inst); @@ -3714,7 +3548,7 @@ parse_instructions(GLcontext * ctx, const GLubyte * inst, /* XXX temporary */ -__extension__ static char core_grammar_text[] = +LONGSTRING static char core_grammar_text[] = #include "grammar_syn.h" ; @@ -4038,17 +3872,18 @@ _mesa_parse_arb_fragment_program(GLcontext* ctx, GLenum target, program->Base.NumNativeParameters = ap.Base.NumNativeParameters; program->Base.NumNativeAttributes = ap.Base.NumNativeAttributes; program->Base.NumNativeAddressRegs = ap.Base.NumNativeAddressRegs; - program->NumAluInstructions = ap.NumAluInstructions; - program->NumTexInstructions = ap.NumTexInstructions; - program->NumTexIndirections = ap.NumTexIndirections; - program->NumNativeAluInstructions = ap.NumAluInstructions; - program->NumNativeTexInstructions = ap.NumTexInstructions; - program->NumNativeTexIndirections = ap.NumTexIndirections; + program->Base.NumAluInstructions = ap.Base.NumAluInstructions; + program->Base.NumTexInstructions = ap.Base.NumTexInstructions; + program->Base.NumTexIndirections = ap.Base.NumTexIndirections; + program->Base.NumNativeAluInstructions = ap.Base.NumAluInstructions; + program->Base.NumNativeTexInstructions = ap.Base.NumTexInstructions; + program->Base.NumNativeTexIndirections = ap.Base.NumTexIndirections; program->Base.InputsRead = ap.Base.InputsRead; program->Base.OutputsWritten = ap.Base.OutputsWritten; for (i = 0; i < MAX_TEXTURE_IMAGE_UNITS; i++) - program->TexturesUsed[i] = ap.TexturesUsed[i]; + program->Base.TexturesUsed[i] = ap.TexturesUsed[i]; program->FogOption = ap.FogOption; + program->UsesKill = ap.UsesKill; if (program->Base.Instructions) _mesa_free(program->Base.Instructions); @@ -4059,7 +3894,8 @@ _mesa_parse_arb_fragment_program(GLcontext* ctx, GLenum target, program->Base.Parameters = ap.Base.Parameters; #if DEBUG_FP - _mesa_print_program(&program.Base); + _mesa_printf("____________Fragment program %u ________\n", program->Base.ID); + _mesa_print_program(&program->Base); #endif } @@ -4111,6 +3947,7 @@ _mesa_parse_arb_vertex_program(GLcontext *ctx, GLenum target, program->Base.Parameters = ap.Base.Parameters; #if DEBUG_VP + _mesa_printf("____________Vertex program %u __________\n", program->Base.Id); _mesa_print_program(&program->Base); #endif } diff --git a/dist/Mesa/src/mesa/shader/atifragshader.c b/dist/Mesa/src/mesa/shader/atifragshader.c index d349a496d..854c91187 100644 --- a/dist/Mesa/src/mesa/shader/atifragshader.c +++ b/dist/Mesa/src/mesa/shader/atifragshader.c @@ -400,6 +400,8 @@ _mesa_EndFragmentShaderATI(void) } } #endif + if (ctx->Driver.ProgramStringNotify) + ctx->Driver.ProgramStringNotify( ctx, GL_FRAGMENT_SHADER_ATI, NULL ); } void GLAPIENTRY @@ -438,7 +440,7 @@ _mesa_PassTexCoordATI(GLuint dst, GLuint coord, GLenum swizzle) _mesa_error(ctx, GL_INVALID_OPERATION, "glPassTexCoordATI(coord)"); return; } - if ((swizzle < GL_SWIZZLE_STR_ATI) && (swizzle > GL_SWIZZLE_STQ_DQ_ATI)) { + if (!(swizzle >= GL_SWIZZLE_STR_ATI) && (swizzle <= GL_SWIZZLE_STQ_DQ_ATI)) { _mesa_error(ctx, GL_INVALID_ENUM, "glPassTexCoordATI(swizzle)"); return; } @@ -511,7 +513,7 @@ _mesa_SampleMapATI(GLuint dst, GLuint interp, GLenum swizzle) _mesa_error(ctx, GL_INVALID_OPERATION, "glSampleMapATI(interp)"); return; } - if ((swizzle < GL_SWIZZLE_STR_ATI) && (swizzle > GL_SWIZZLE_STQ_DQ_ATI)) { + if (!(swizzle >= GL_SWIZZLE_STR_ATI) && (swizzle <= GL_SWIZZLE_STQ_DQ_ATI)) { _mesa_error(ctx, GL_INVALID_ENUM, "glSampleMapATI(swizzle)"); return; } diff --git a/dist/Mesa/src/mesa/shader/prog_statevars.c b/dist/Mesa/src/mesa/shader/prog_statevars.c index 975a617ac..d37d7fb9b 100644 --- a/dist/Mesa/src/mesa/shader/prog_statevars.c +++ b/dist/Mesa/src/mesa/shader/prog_statevars.c @@ -507,6 +507,8 @@ _mesa_program_state_flags(const gl_state_index state[STATE_LENGTH]) switch (state[1]) { case STATE_TEXRECT_SCALE: return _NEW_TEXTURE; + case STATE_FOG_PARAMS_OPTIMIZED: + return _NEW_FOG; default: /* unknown state indexes are silently ignored and * no flag set, since it is handled by the driver. diff --git a/dist/Mesa/src/mesa/shader/shader_api.c b/dist/Mesa/src/mesa/shader/shader_api.c index b794e30e9..06d24b4bf 100644 --- a/dist/Mesa/src/mesa/shader/shader_api.c +++ b/dist/Mesa/src/mesa/shader/shader_api.c @@ -378,7 +378,7 @@ _mesa_attach_shader(GLcontext *ctx, GLuint program, GLuint shader) struct gl_shader_program *shProg = _mesa_lookup_shader_program(ctx, program); struct gl_shader *sh = _mesa_lookup_shader(ctx, shader); - const GLuint n = shProg->NumShaders; + GLuint n; GLuint i; if (!shProg || !sh) { @@ -387,6 +387,8 @@ _mesa_attach_shader(GLcontext *ctx, GLuint program, GLuint shader) return; } + n = shProg->NumShaders; + for (i = 0; i < n; i++) { if (shProg->Shaders[i] == sh) { /* already attached */ @@ -548,7 +550,7 @@ _mesa_detach_shader(GLcontext *ctx, GLuint program, GLuint shader) { struct gl_shader_program *shProg = _mesa_lookup_shader_program(ctx, program); - const GLuint n = shProg->NumShaders; + GLuint n; GLuint i, j; if (!shProg) { @@ -557,6 +559,8 @@ _mesa_detach_shader(GLcontext *ctx, GLuint program, GLuint shader) return; } + n = shProg->NumShaders; + for (i = 0; i < n; i++) { if (shProg->Shaders[i]->Name == shader) { /* found it */ diff --git a/dist/Mesa/src/mesa/shader/slang/library/slang_builtin_120_common_gc.h b/dist/Mesa/src/mesa/shader/slang/library/slang_builtin_120_common_gc.h deleted file mode 100644 index fc1a94421..000000000 --- a/dist/Mesa/src/mesa/shader/slang/library/slang_builtin_120_common_gc.h +++ /dev/null @@ -1,104 +0,0 @@ - -/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED FROM THE FOLLOWING FILE: */ -/* slang_builtin_120_common.gc */ - -3,1,0,26,0,109,97,116,114,105,120,67,111,109,112,77,117,108,116,0,1,0,0,26,109,0,0,1,0,0,26,110,0, -0,0,1,8,58,109,97,116,50,120,51,0,18,109,0,16,8,48,0,57,18,110,0,16,8,48,0,57,48,0,18,109,0,16,10, -49,0,57,18,110,0,16,10,49,0,57,48,0,0,0,0,1,0,28,0,109,97,116,114,105,120,67,111,109,112,77,117, -108,116,0,1,0,0,28,109,0,0,1,0,0,28,110,0,0,0,1,8,58,109,97,116,50,120,52,0,18,109,0,16,8,48,0,57, -18,110,0,16,8,48,0,57,48,0,18,109,0,16,10,49,0,57,18,110,0,16,10,49,0,57,48,0,0,0,0,1,0,27,0,109, -97,116,114,105,120,67,111,109,112,77,117,108,116,0,1,0,0,27,109,0,0,1,0,0,27,110,0,0,0,1,8,58,109, -97,116,51,120,50,0,18,109,0,16,8,48,0,57,18,110,0,16,8,48,0,57,48,0,18,109,0,16,10,49,0,57,18,110, -0,16,10,49,0,57,48,0,18,109,0,16,10,50,0,57,18,110,0,16,10,50,0,57,48,0,0,0,0,1,0,30,0,109,97,116, -114,105,120,67,111,109,112,77,117,108,116,0,1,0,0,30,109,0,0,1,0,0,30,110,0,0,0,1,8,58,109,97,116, -51,120,52,0,18,109,0,16,8,48,0,57,18,110,0,16,8,48,0,57,48,0,18,109,0,16,10,49,0,57,18,110,0,16,10, -49,0,57,48,0,18,109,0,16,10,50,0,57,18,110,0,16,10,50,0,57,48,0,0,0,0,1,0,29,0,109,97,116,114,105, -120,67,111,109,112,77,117,108,116,0,1,0,0,29,109,0,0,1,0,0,29,110,0,0,0,1,8,58,109,97,116,52,120, -50,0,18,109,0,16,8,48,0,57,18,110,0,16,8,48,0,57,48,0,18,109,0,16,10,49,0,57,18,110,0,16,10,49,0, -57,48,0,18,109,0,16,10,50,0,57,18,110,0,16,10,50,0,57,48,0,18,109,0,16,10,51,0,57,18,110,0,16,10, -51,0,57,48,0,0,0,0,1,0,31,0,109,97,116,114,105,120,67,111,109,112,77,117,108,116,0,1,0,0,31,109,0, -0,1,0,0,31,110,0,0,0,1,8,58,109,97,116,52,120,51,0,18,109,0,16,8,48,0,57,18,110,0,16,8,48,0,57,48, -0,18,109,0,16,10,49,0,57,18,110,0,16,10,49,0,57,48,0,18,109,0,16,10,50,0,57,18,110,0,16,10,50,0,57, -48,0,18,109,0,16,10,51,0,57,18,110,0,16,10,51,0,57,48,0,0,0,0,1,0,13,0,111,117,116,101,114,80,114, -111,100,117,99,116,0,1,0,0,10,99,0,0,1,0,0,10,114,0,0,0,1,8,58,109,97,116,50,0,18,99,0,59,120,0,18, -114,0,59,120,0,48,0,18,99,0,59,121,0,18,114,0,59,120,0,48,0,18,99,0,59,120,0,18,114,0,59,121,0,48, -0,18,99,0,59,121,0,18,114,0,59,121,0,48,0,0,0,0,1,0,14,0,111,117,116,101,114,80,114,111,100,117,99, -116,0,1,0,0,11,99,0,0,1,0,0,11,114,0,0,0,1,8,58,109,97,116,51,0,18,99,0,59,120,0,18,114,0,59,120,0, -48,0,18,99,0,59,121,0,18,114,0,59,120,0,48,0,18,99,0,59,122,0,18,114,0,59,120,0,48,0,18,99,0,59, -120,0,18,114,0,59,121,0,48,0,18,99,0,59,121,0,18,114,0,59,121,0,48,0,18,99,0,59,122,0,18,114,0,59, -121,0,48,0,18,99,0,59,120,0,18,114,0,59,122,0,48,0,18,99,0,59,121,0,18,114,0,59,122,0,48,0,18,99,0, -59,122,0,18,114,0,59,122,0,48,0,0,0,0,1,0,15,0,111,117,116,101,114,80,114,111,100,117,99,116,0,1,0, -0,12,99,0,0,1,0,0,12,114,0,0,0,1,8,58,109,97,116,52,0,18,99,0,59,120,0,18,114,0,59,120,0,48,0,18, -99,0,59,121,0,18,114,0,59,120,0,48,0,18,99,0,59,122,0,18,114,0,59,120,0,48,0,18,99,0,59,119,0,18, -114,0,59,120,0,48,0,18,99,0,59,120,0,18,114,0,59,121,0,48,0,18,99,0,59,121,0,18,114,0,59,121,0,48, -0,18,99,0,59,122,0,18,114,0,59,121,0,48,0,18,99,0,59,119,0,18,114,0,59,121,0,48,0,18,99,0,59,120,0, -18,114,0,59,122,0,48,0,18,99,0,59,121,0,18,114,0,59,122,0,48,0,18,99,0,59,122,0,18,114,0,59,122,0, -48,0,18,99,0,59,119,0,18,114,0,59,122,0,48,0,18,99,0,59,120,0,18,114,0,59,119,0,48,0,18,99,0,59, -121,0,18,114,0,59,119,0,48,0,18,99,0,59,122,0,18,114,0,59,119,0,48,0,18,99,0,59,119,0,18,114,0,59, -119,0,48,0,0,0,0,1,0,26,0,111,117,116,101,114,80,114,111,100,117,99,116,0,1,0,0,11,99,0,0,1,0,0,10, -114,0,0,0,1,8,58,109,97,116,50,120,51,0,18,99,0,59,120,0,18,114,0,59,120,0,48,0,18,99,0,59,121,0, -18,114,0,59,120,0,48,0,18,99,0,59,122,0,18,114,0,59,120,0,48,0,18,99,0,59,120,0,18,114,0,59,121,0, -48,0,18,99,0,59,121,0,18,114,0,59,121,0,48,0,18,99,0,59,122,0,18,114,0,59,121,0,48,0,0,0,0,1,0,27, -0,111,117,116,101,114,80,114,111,100,117,99,116,0,1,0,0,10,99,0,0,1,0,0,11,114,0,0,0,1,8,58,109,97, -116,51,120,50,0,18,99,0,59,120,0,18,114,0,59,120,0,48,0,18,99,0,59,121,0,18,114,0,59,120,0,48,0,18, -99,0,59,120,0,18,114,0,59,121,0,48,0,18,99,0,59,121,0,18,114,0,59,121,0,48,0,18,99,0,59,120,0,18, -114,0,59,122,0,48,0,18,99,0,59,121,0,18,114,0,59,122,0,48,0,0,0,0,1,0,28,0,111,117,116,101,114,80, -114,111,100,117,99,116,0,1,0,0,12,99,0,0,1,0,0,10,114,0,0,0,1,8,58,109,97,116,50,120,52,0,18,99,0, -59,120,0,18,114,0,59,120,0,48,0,18,99,0,59,121,0,18,114,0,59,120,0,48,0,18,99,0,59,122,0,18,114,0, -59,120,0,48,0,18,99,0,59,119,0,18,114,0,59,120,0,48,0,18,99,0,59,120,0,18,114,0,59,121,0,48,0,18, -99,0,59,121,0,18,114,0,59,121,0,48,0,18,99,0,59,122,0,18,114,0,59,121,0,48,0,18,99,0,59,119,0,18, -114,0,59,121,0,48,0,0,0,0,1,0,29,0,111,117,116,101,114,80,114,111,100,117,99,116,0,1,0,0,10,99,0,0, -1,0,0,12,114,0,0,0,1,8,58,109,97,116,52,120,50,0,18,99,0,59,120,0,18,114,0,59,120,0,48,0,18,99,0, -59,121,0,18,114,0,59,120,0,48,0,18,99,0,59,120,0,18,114,0,59,121,0,48,0,18,99,0,59,121,0,18,114,0, -59,121,0,48,0,18,99,0,59,120,0,18,114,0,59,122,0,48,0,18,99,0,59,121,0,18,114,0,59,122,0,48,0,18, -99,0,59,120,0,18,114,0,59,119,0,48,0,18,99,0,59,121,0,18,114,0,59,119,0,48,0,0,0,0,1,0,30,0,111, -117,116,101,114,80,114,111,100,117,99,116,0,1,0,0,12,99,0,0,1,0,0,11,114,0,0,0,1,8,58,109,97,116, -51,120,52,0,18,99,0,59,120,0,18,114,0,59,120,0,48,0,18,99,0,59,121,0,18,114,0,59,120,0,48,0,18,99, -0,59,122,0,18,114,0,59,120,0,48,0,18,99,0,59,119,0,18,114,0,59,120,0,48,0,18,99,0,59,120,0,18,114, -0,59,121,0,48,0,18,99,0,59,121,0,18,114,0,59,121,0,48,0,18,99,0,59,122,0,18,114,0,59,121,0,48,0,18, -99,0,59,119,0,18,114,0,59,121,0,48,0,18,99,0,59,120,0,18,114,0,59,122,0,48,0,18,99,0,59,121,0,18, -114,0,59,122,0,48,0,18,99,0,59,122,0,18,114,0,59,122,0,48,0,18,99,0,59,119,0,18,114,0,59,122,0,48, -0,0,0,0,1,0,31,0,111,117,116,101,114,80,114,111,100,117,99,116,0,1,0,0,11,99,0,0,1,0,0,12,114,0,0, -0,1,8,58,109,97,116,52,120,51,0,18,99,0,59,120,0,18,114,0,59,120,0,48,0,18,99,0,59,121,0,18,114,0, -59,120,0,48,0,18,99,0,59,122,0,18,114,0,59,120,0,48,0,18,99,0,59,120,0,18,114,0,59,121,0,48,0,18, -99,0,59,121,0,18,114,0,59,121,0,48,0,18,99,0,59,122,0,18,114,0,59,121,0,48,0,18,99,0,59,120,0,18, -114,0,59,122,0,48,0,18,99,0,59,121,0,18,114,0,59,122,0,48,0,18,99,0,59,122,0,18,114,0,59,122,0,48, -0,18,99,0,59,120,0,18,114,0,59,119,0,48,0,18,99,0,59,121,0,18,114,0,59,119,0,48,0,18,99,0,59,122,0, -18,114,0,59,119,0,48,0,0,0,0,1,0,13,0,116,114,97,110,115,112,111,115,101,0,1,0,0,13,109,0,0,0,1,8, -58,109,97,116,50,0,18,109,0,16,8,48,0,57,59,120,0,0,18,109,0,16,10,49,0,57,59,120,0,0,18,109,0,16, -8,48,0,57,59,121,0,0,18,109,0,16,10,49,0,57,59,121,0,0,0,0,0,1,0,14,0,116,114,97,110,115,112,111, -115,101,0,1,0,0,14,109,0,0,0,1,8,58,109,97,116,51,0,18,109,0,16,8,48,0,57,59,120,0,0,18,109,0,16, -10,49,0,57,59,120,0,0,18,109,0,16,10,50,0,57,59,120,0,0,18,109,0,16,8,48,0,57,59,121,0,0,18,109,0, -16,10,49,0,57,59,121,0,0,18,109,0,16,10,50,0,57,59,121,0,0,18,109,0,16,8,48,0,57,59,122,0,0,18,109, -0,16,10,49,0,57,59,122,0,0,18,109,0,16,10,50,0,57,59,122,0,0,0,0,0,1,0,15,0,116,114,97,110,115,112, -111,115,101,0,1,0,0,15,109,0,0,0,1,8,58,109,97,116,52,0,18,109,0,16,8,48,0,57,59,120,0,0,18,109,0, -16,10,49,0,57,59,120,0,0,18,109,0,16,10,50,0,57,59,120,0,0,18,109,0,16,10,51,0,57,59,120,0,0,18, -109,0,16,8,48,0,57,59,121,0,0,18,109,0,16,10,49,0,57,59,121,0,0,18,109,0,16,10,50,0,57,59,121,0,0, -18,109,0,16,10,51,0,57,59,121,0,0,18,109,0,16,8,48,0,57,59,122,0,0,18,109,0,16,10,49,0,57,59,122,0, -0,18,109,0,16,10,50,0,57,59,122,0,0,18,109,0,16,10,51,0,57,59,122,0,0,18,109,0,16,8,48,0,57,59,119, -0,0,18,109,0,16,10,49,0,57,59,119,0,0,18,109,0,16,10,50,0,57,59,119,0,0,18,109,0,16,10,51,0,57,59, -119,0,0,0,0,0,1,0,26,0,116,114,97,110,115,112,111,115,101,0,1,0,0,27,109,0,0,0,1,8,58,109,97,116, -50,120,51,0,18,109,0,16,8,48,0,57,59,120,0,0,18,109,0,16,10,49,0,57,59,120,0,0,18,109,0,16,10,50,0, -57,59,120,0,0,18,109,0,16,8,48,0,57,59,121,0,0,18,109,0,16,10,49,0,57,59,121,0,0,18,109,0,16,10,50, -0,57,59,121,0,0,0,0,0,1,0,27,0,116,114,97,110,115,112,111,115,101,0,1,0,0,26,109,0,0,0,1,8,58,109, -97,116,51,120,50,0,18,109,0,16,8,48,0,57,59,120,0,0,18,109,0,16,10,49,0,57,59,120,0,0,18,109,0,16, -8,48,0,57,59,121,0,0,18,109,0,16,10,49,0,57,59,121,0,0,18,109,0,16,8,48,0,57,59,122,0,0,18,109,0, -16,10,49,0,57,59,122,0,0,0,0,0,1,0,28,0,116,114,97,110,115,112,111,115,101,0,1,0,0,29,109,0,0,0,1, -8,58,109,97,116,50,120,52,0,18,109,0,16,8,48,0,57,59,120,0,0,18,109,0,16,10,49,0,57,59,120,0,0,18, -109,0,16,10,50,0,57,59,120,0,0,18,109,0,16,10,51,0,57,59,120,0,0,18,109,0,16,8,48,0,57,59,121,0,0, -18,109,0,16,10,49,0,57,59,121,0,0,18,109,0,16,10,50,0,57,59,121,0,0,18,109,0,16,10,51,0,57,59,121, -0,0,0,0,0,1,0,29,0,116,114,97,110,115,112,111,115,101,0,1,0,0,28,109,0,0,0,1,8,58,109,97,116,52, -120,50,0,18,109,0,16,8,48,0,57,59,120,0,0,18,109,0,16,10,49,0,57,59,120,0,0,18,109,0,16,8,48,0,57, -59,121,0,0,18,109,0,16,10,49,0,57,59,121,0,0,18,109,0,16,8,48,0,57,59,122,0,0,18,109,0,16,10,49,0, -57,59,122,0,0,18,109,0,16,8,48,0,57,59,119,0,0,18,109,0,16,10,49,0,57,59,119,0,0,0,0,0,1,0,30,0, -116,114,97,110,115,112,111,115,101,0,1,0,0,31,109,0,0,0,1,8,58,109,97,116,51,120,52,0,18,109,0,16, -8,48,0,57,59,120,0,0,18,109,0,16,10,49,0,57,59,120,0,0,18,109,0,16,10,50,0,57,59,120,0,0,18,109,0, -16,10,51,0,57,59,120,0,0,18,109,0,16,8,48,0,57,59,121,0,0,18,109,0,16,10,49,0,57,59,121,0,0,18,109, -0,16,10,50,0,57,59,121,0,0,18,109,0,16,10,51,0,57,59,121,0,0,18,109,0,16,8,48,0,57,59,122,0,0,18, -109,0,16,10,49,0,57,59,122,0,0,18,109,0,16,10,50,0,57,59,122,0,0,18,109,0,16,10,51,0,57,59,122,0,0, -0,0,0,1,0,31,0,116,114,97,110,115,112,111,115,101,0,1,0,0,30,109,0,0,0,1,8,58,109,97,116,52,120,51, -0,18,109,0,16,8,48,0,57,59,120,0,0,18,109,0,16,10,49,0,57,59,120,0,0,18,109,0,16,10,50,0,57,59,120, -0,0,18,109,0,16,8,48,0,57,59,121,0,0,18,109,0,16,10,49,0,57,59,121,0,0,18,109,0,16,10,50,0,57,59, -121,0,0,18,109,0,16,8,48,0,57,59,122,0,0,18,109,0,16,10,49,0,57,59,122,0,0,18,109,0,16,10,50,0,57, -59,122,0,0,18,109,0,16,8,48,0,57,59,119,0,0,18,109,0,16,10,49,0,57,59,119,0,0,18,109,0,16,10,50,0, -57,59,119,0,0,0,0,0,0 diff --git a/dist/Mesa/src/mesa/shader/slang/library/slang_builtin_120_fragment_gc.h b/dist/Mesa/src/mesa/shader/slang/library/slang_builtin_120_fragment_gc.h deleted file mode 100644 index 2400b273d..000000000 --- a/dist/Mesa/src/mesa/shader/slang/library/slang_builtin_120_fragment_gc.h +++ /dev/null @@ -1,5 +0,0 @@ - -/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED FROM THE FOLLOWING FILE: */ -/* slang_builtin_120_fragment.gc */ - -3,2,2,3,10,1,103,108,95,80,111,105,110,116,67,111,111,114,100,0,0,0,0 diff --git a/dist/Mesa/src/mesa/sparc/glapi_sparc.S b/dist/Mesa/src/mesa/sparc/glapi_sparc.S index bf2bc8390..9709b0309 100644 --- a/dist/Mesa/src/mesa/sparc/glapi_sparc.S +++ b/dist/Mesa/src/mesa/sparc/glapi_sparc.S @@ -473,9 +473,28 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */ .globl glMultiTexCoord4ivARB ; .type glMultiTexCoord4ivARB,#function .globl glMultiTexCoord4sARB ; .type glMultiTexCoord4sARB,#function .globl glMultiTexCoord4svARB ; .type glMultiTexCoord4svARB,#function + .globl glAttachShader ; .type glAttachShader,#function + .globl glCreateProgram ; .type glCreateProgram,#function + .globl glCreateShader ; .type glCreateShader,#function + .globl glDeleteProgram ; .type glDeleteProgram,#function + .globl glDeleteShader ; .type glDeleteShader,#function + .globl glDetachShader ; .type glDetachShader,#function + .globl glGetAttachedShaders ; .type glGetAttachedShaders,#function + .globl glGetProgramInfoLog ; .type glGetProgramInfoLog,#function + .globl glGetProgramiv ; .type glGetProgramiv,#function + .globl glGetShaderInfoLog ; .type glGetShaderInfoLog,#function + .globl glGetShaderiv ; .type glGetShaderiv,#function + .globl glIsProgram ; .type glIsProgram,#function + .globl glIsShader ; .type glIsShader,#function .globl glStencilFuncSeparate ; .type glStencilFuncSeparate,#function .globl glStencilMaskSeparate ; .type glStencilMaskSeparate,#function .globl glStencilOpSeparate ; .type glStencilOpSeparate,#function + .globl glUniformMatrix2x3fv ; .type glUniformMatrix2x3fv,#function + .globl glUniformMatrix2x4fv ; .type glUniformMatrix2x4fv,#function + .globl glUniformMatrix3x2fv ; .type glUniformMatrix3x2fv,#function + .globl glUniformMatrix3x4fv ; .type glUniformMatrix3x4fv,#function + .globl glUniformMatrix4x2fv ; .type glUniformMatrix4x2fv,#function + .globl glUniformMatrix4x3fv ; .type glUniformMatrix4x3fv,#function .globl glLoadTransposeMatrixdARB ; .type glLoadTransposeMatrixdARB,#function .globl glLoadTransposeMatrixfARB ; .type glLoadTransposeMatrixfARB,#function .globl glMultTransposeMatrixdARB ; .type glMultTransposeMatrixdARB,#function @@ -608,30 +627,14 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */ .globl glGetAttribLocationARB ; .type glGetAttribLocationARB,#function .globl glDrawBuffersARB ; .type glDrawBuffersARB,#function .globl glPolygonOffsetEXT ; .type glPolygonOffsetEXT,#function - .globl gl_dispatch_stub_543 ; .type gl_dispatch_stub_543,#function - .globl gl_dispatch_stub_544 ; .type gl_dispatch_stub_544,#function - .globl gl_dispatch_stub_545 ; .type gl_dispatch_stub_545,#function - .globl gl_dispatch_stub_546 ; .type gl_dispatch_stub_546,#function - .globl gl_dispatch_stub_547 ; .type gl_dispatch_stub_547,#function - .globl gl_dispatch_stub_548 ; .type gl_dispatch_stub_548,#function - .globl gl_dispatch_stub_549 ; .type gl_dispatch_stub_549,#function - .globl gl_dispatch_stub_550 ; .type gl_dispatch_stub_550,#function - .globl gl_dispatch_stub_551 ; .type gl_dispatch_stub_551,#function - .globl gl_dispatch_stub_552 ; .type gl_dispatch_stub_552,#function - .globl gl_dispatch_stub_553 ; .type gl_dispatch_stub_553,#function - .globl gl_dispatch_stub_554 ; .type gl_dispatch_stub_554,#function - .globl gl_dispatch_stub_555 ; .type gl_dispatch_stub_555,#function - .globl gl_dispatch_stub_556 ; .type gl_dispatch_stub_556,#function - .globl gl_dispatch_stub_557 ; .type gl_dispatch_stub_557,#function - .globl gl_dispatch_stub_558 ; .type gl_dispatch_stub_558,#function - .globl gl_dispatch_stub_559 ; .type gl_dispatch_stub_559,#function - .globl gl_dispatch_stub_560 ; .type gl_dispatch_stub_560,#function - .globl gl_dispatch_stub_561 ; .type gl_dispatch_stub_561,#function - .globl glAreTexturesResidentEXT ; .type glAreTexturesResidentEXT,#function - .globl glGenTexturesEXT ; .type glGenTexturesEXT,#function - .globl glIsTextureEXT ; .type glIsTextureEXT,#function + .globl gl_dispatch_stub_562 ; .type gl_dispatch_stub_562,#function + .globl gl_dispatch_stub_563 ; .type gl_dispatch_stub_563,#function + .globl gl_dispatch_stub_564 ; .type gl_dispatch_stub_564,#function .globl gl_dispatch_stub_565 ; .type gl_dispatch_stub_565,#function .globl gl_dispatch_stub_566 ; .type gl_dispatch_stub_566,#function + .globl gl_dispatch_stub_567 ; .type gl_dispatch_stub_567,#function + .globl gl_dispatch_stub_568 ; .type gl_dispatch_stub_568,#function + .globl gl_dispatch_stub_569 ; .type gl_dispatch_stub_569,#function .globl glColorPointerEXT ; .type glColorPointerEXT,#function .globl glEdgeFlagPointerEXT ; .type glEdgeFlagPointerEXT,#function .globl glIndexPointerEXT ; .type glIndexPointerEXT,#function @@ -642,8 +645,8 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */ .globl glPointParameterfvEXT ; .type glPointParameterfvEXT,#function .globl glLockArraysEXT ; .type glLockArraysEXT,#function .globl glUnlockArraysEXT ; .type glUnlockArraysEXT,#function - .globl gl_dispatch_stub_577 ; .type gl_dispatch_stub_577,#function - .globl gl_dispatch_stub_578 ; .type gl_dispatch_stub_578,#function + .globl gl_dispatch_stub_580 ; .type gl_dispatch_stub_580,#function + .globl gl_dispatch_stub_581 ; .type gl_dispatch_stub_581,#function .globl glSecondaryColor3bEXT ; .type glSecondaryColor3bEXT,#function .globl glSecondaryColor3bvEXT ; .type glSecondaryColor3bvEXT,#function .globl glSecondaryColor3dEXT ; .type glSecondaryColor3dEXT,#function @@ -668,7 +671,7 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */ .globl glFogCoorddvEXT ; .type glFogCoorddvEXT,#function .globl glFogCoordfEXT ; .type glFogCoordfEXT,#function .globl glFogCoordfvEXT ; .type glFogCoordfvEXT,#function - .globl gl_dispatch_stub_603 ; .type gl_dispatch_stub_603,#function + .globl gl_dispatch_stub_606 ; .type gl_dispatch_stub_606,#function .globl glBlendFuncSeparateEXT ; .type glBlendFuncSeparateEXT,#function .globl glFlushVertexArrayRangeNV ; .type glFlushVertexArrayRangeNV,#function .globl glVertexArrayRangeNV ; .type glVertexArrayRangeNV,#function @@ -710,15 +713,15 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */ .globl glWindowPos4ivMESA ; .type glWindowPos4ivMESA,#function .globl glWindowPos4sMESA ; .type glWindowPos4sMESA,#function .globl glWindowPos4svMESA ; .type glWindowPos4svMESA,#function - .globl gl_dispatch_stub_645 ; .type gl_dispatch_stub_645,#function - .globl gl_dispatch_stub_646 ; .type gl_dispatch_stub_646,#function - .globl gl_dispatch_stub_647 ; .type gl_dispatch_stub_647,#function .globl gl_dispatch_stub_648 ; .type gl_dispatch_stub_648,#function .globl gl_dispatch_stub_649 ; .type gl_dispatch_stub_649,#function .globl gl_dispatch_stub_650 ; .type gl_dispatch_stub_650,#function .globl gl_dispatch_stub_651 ; .type gl_dispatch_stub_651,#function .globl gl_dispatch_stub_652 ; .type gl_dispatch_stub_652,#function .globl gl_dispatch_stub_653 ; .type gl_dispatch_stub_653,#function + .globl gl_dispatch_stub_654 ; .type gl_dispatch_stub_654,#function + .globl gl_dispatch_stub_655 ; .type gl_dispatch_stub_655,#function + .globl gl_dispatch_stub_656 ; .type gl_dispatch_stub_656,#function .globl glAreProgramsResidentNV ; .type glAreProgramsResidentNV,#function .globl glBindProgramNV ; .type glBindProgramNV,#function .globl glDeleteProgramsNV ; .type glDeleteProgramsNV,#function @@ -799,19 +802,19 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */ .globl glSetFragmentShaderConstantATI ; .type glSetFragmentShaderConstantATI,#function .globl glPointParameteriNV ; .type glPointParameteriNV,#function .globl glPointParameterivNV ; .type glPointParameterivNV,#function - .globl gl_dispatch_stub_734 ; .type gl_dispatch_stub_734,#function - .globl gl_dispatch_stub_735 ; .type gl_dispatch_stub_735,#function - .globl gl_dispatch_stub_736 ; .type gl_dispatch_stub_736,#function .globl gl_dispatch_stub_737 ; .type gl_dispatch_stub_737,#function .globl gl_dispatch_stub_738 ; .type gl_dispatch_stub_738,#function + .globl gl_dispatch_stub_739 ; .type gl_dispatch_stub_739,#function + .globl gl_dispatch_stub_740 ; .type gl_dispatch_stub_740,#function + .globl gl_dispatch_stub_741 ; .type gl_dispatch_stub_741,#function .globl glGetProgramNamedParameterdvNV ; .type glGetProgramNamedParameterdvNV,#function .globl glGetProgramNamedParameterfvNV ; .type glGetProgramNamedParameterfvNV,#function .globl glProgramNamedParameter4dNV ; .type glProgramNamedParameter4dNV,#function .globl glProgramNamedParameter4dvNV ; .type glProgramNamedParameter4dvNV,#function .globl glProgramNamedParameter4fNV ; .type glProgramNamedParameter4fNV,#function .globl glProgramNamedParameter4fvNV ; .type glProgramNamedParameter4fvNV,#function - .globl gl_dispatch_stub_745 ; .type gl_dispatch_stub_745,#function - .globl gl_dispatch_stub_746 ; .type gl_dispatch_stub_746,#function + .globl gl_dispatch_stub_748 ; .type gl_dispatch_stub_748,#function + .globl gl_dispatch_stub_749 ; .type gl_dispatch_stub_749,#function .globl glBindFramebufferEXT ; .type glBindFramebufferEXT,#function .globl glBindRenderbufferEXT ; .type glBindRenderbufferEXT,#function .globl glCheckFramebufferStatusEXT ; .type glCheckFramebufferStatusEXT,#function @@ -825,15 +828,16 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */ .globl glGenRenderbuffersEXT ; .type glGenRenderbuffersEXT,#function .globl glGenerateMipmapEXT ; .type glGenerateMipmapEXT,#function .globl glGetFramebufferAttachmentParameterivEXT ; .type glGetFramebufferAttachmentParameterivEXT,#function - .globl gl_dispatch_stub_760 ; .type gl_dispatch_stub_760,#function - .globl gl_dispatch_stub_761 ; .type gl_dispatch_stub_761,#function .globl glGetRenderbufferParameterivEXT ; .type glGetRenderbufferParameterivEXT,#function .globl glIsFramebufferEXT ; .type glIsFramebufferEXT,#function .globl glIsRenderbufferEXT ; .type glIsRenderbufferEXT,#function .globl glRenderbufferStorageEXT ; .type glRenderbufferStorageEXT,#function - .globl gl_dispatch_stub_766 ; .type gl_dispatch_stub_766,#function .globl gl_dispatch_stub_767 ; .type gl_dispatch_stub_767,#function .globl gl_dispatch_stub_768 ; .type gl_dispatch_stub_768,#function + .globl gl_dispatch_stub_769 ; .type gl_dispatch_stub_769,#function + .globl gl_dispatch_stub_770 ; .type gl_dispatch_stub_770,#function + .globl gl_dispatch_stub_771 ; .type gl_dispatch_stub_771,#function + .globl gl_dispatch_stub_772 ; .type gl_dispatch_stub_772,#function .globl _mesa_sparc_glapi_begin ; .type _mesa_sparc_glapi_begin,#function _mesa_sparc_glapi_begin: @@ -1245,9 +1249,28 @@ _mesa_sparc_glapi_begin: GL_STUB(glMultiTexCoord4ivARB, _gloffset_MultiTexCoord4ivARB) GL_STUB(glMultiTexCoord4sARB, _gloffset_MultiTexCoord4sARB) GL_STUB(glMultiTexCoord4svARB, _gloffset_MultiTexCoord4svARB) + GL_STUB(glAttachShader, _gloffset_AttachShader) + GL_STUB(glCreateProgram, _gloffset_CreateProgram) + GL_STUB(glCreateShader, _gloffset_CreateShader) + GL_STUB(glDeleteProgram, _gloffset_DeleteProgram) + GL_STUB(glDeleteShader, _gloffset_DeleteShader) + GL_STUB(glDetachShader, _gloffset_DetachShader) + GL_STUB(glGetAttachedShaders, _gloffset_GetAttachedShaders) + GL_STUB(glGetProgramInfoLog, _gloffset_GetProgramInfoLog) + GL_STUB(glGetProgramiv, _gloffset_GetProgramiv) + GL_STUB(glGetShaderInfoLog, _gloffset_GetShaderInfoLog) + GL_STUB(glGetShaderiv, _gloffset_GetShaderiv) + GL_STUB(glIsProgram, _gloffset_IsProgram) + GL_STUB(glIsShader, _gloffset_IsShader) GL_STUB(glStencilFuncSeparate, _gloffset_StencilFuncSeparate) GL_STUB(glStencilMaskSeparate, _gloffset_StencilMaskSeparate) GL_STUB(glStencilOpSeparate, _gloffset_StencilOpSeparate) + GL_STUB(glUniformMatrix2x3fv, _gloffset_UniformMatrix2x3fv) + GL_STUB(glUniformMatrix2x4fv, _gloffset_UniformMatrix2x4fv) + GL_STUB(glUniformMatrix3x2fv, _gloffset_UniformMatrix3x2fv) + GL_STUB(glUniformMatrix3x4fv, _gloffset_UniformMatrix3x4fv) + GL_STUB(glUniformMatrix4x2fv, _gloffset_UniformMatrix4x2fv) + GL_STUB(glUniformMatrix4x3fv, _gloffset_UniformMatrix4x3fv) GL_STUB(glLoadTransposeMatrixdARB, _gloffset_LoadTransposeMatrixdARB) GL_STUB(glLoadTransposeMatrixfARB, _gloffset_LoadTransposeMatrixfARB) GL_STUB(glMultTransposeMatrixdARB, _gloffset_MultTransposeMatrixdARB) @@ -1380,30 +1403,14 @@ _mesa_sparc_glapi_begin: GL_STUB(glGetAttribLocationARB, _gloffset_GetAttribLocationARB) GL_STUB(glDrawBuffersARB, _gloffset_DrawBuffersARB) GL_STUB(glPolygonOffsetEXT, _gloffset_PolygonOffsetEXT) - GL_STUB(gl_dispatch_stub_543, _gloffset__dispatch_stub_543) - GL_STUB(gl_dispatch_stub_544, _gloffset__dispatch_stub_544) - GL_STUB(gl_dispatch_stub_545, _gloffset__dispatch_stub_545) - GL_STUB(gl_dispatch_stub_546, _gloffset__dispatch_stub_546) - GL_STUB(gl_dispatch_stub_547, _gloffset__dispatch_stub_547) - GL_STUB(gl_dispatch_stub_548, _gloffset__dispatch_stub_548) - GL_STUB(gl_dispatch_stub_549, _gloffset__dispatch_stub_549) - GL_STUB(gl_dispatch_stub_550, _gloffset__dispatch_stub_550) - GL_STUB(gl_dispatch_stub_551, _gloffset__dispatch_stub_551) - GL_STUB(gl_dispatch_stub_552, _gloffset__dispatch_stub_552) - GL_STUB(gl_dispatch_stub_553, _gloffset__dispatch_stub_553) - GL_STUB(gl_dispatch_stub_554, _gloffset__dispatch_stub_554) - GL_STUB(gl_dispatch_stub_555, _gloffset__dispatch_stub_555) - GL_STUB(gl_dispatch_stub_556, _gloffset__dispatch_stub_556) - GL_STUB(gl_dispatch_stub_557, _gloffset__dispatch_stub_557) - GL_STUB(gl_dispatch_stub_558, _gloffset__dispatch_stub_558) - GL_STUB(gl_dispatch_stub_559, _gloffset__dispatch_stub_559) - GL_STUB(gl_dispatch_stub_560, _gloffset__dispatch_stub_560) - GL_STUB(gl_dispatch_stub_561, _gloffset__dispatch_stub_561) - GL_STUB(glAreTexturesResidentEXT, _gloffset_AreTexturesResidentEXT) - GL_STUB(glGenTexturesEXT, _gloffset_GenTexturesEXT) - GL_STUB(glIsTextureEXT, _gloffset_IsTextureEXT) + GL_STUB(gl_dispatch_stub_562, _gloffset__dispatch_stub_562) + GL_STUB(gl_dispatch_stub_563, _gloffset__dispatch_stub_563) + GL_STUB(gl_dispatch_stub_564, _gloffset__dispatch_stub_564) GL_STUB(gl_dispatch_stub_565, _gloffset__dispatch_stub_565) GL_STUB(gl_dispatch_stub_566, _gloffset__dispatch_stub_566) + GL_STUB(gl_dispatch_stub_567, _gloffset__dispatch_stub_567) + GL_STUB(gl_dispatch_stub_568, _gloffset__dispatch_stub_568) + GL_STUB(gl_dispatch_stub_569, _gloffset__dispatch_stub_569) GL_STUB(glColorPointerEXT, _gloffset_ColorPointerEXT) GL_STUB(glEdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT) GL_STUB(glIndexPointerEXT, _gloffset_IndexPointerEXT) @@ -1414,8 +1421,8 @@ _mesa_sparc_glapi_begin: GL_STUB(glPointParameterfvEXT, _gloffset_PointParameterfvEXT) GL_STUB(glLockArraysEXT, _gloffset_LockArraysEXT) GL_STUB(glUnlockArraysEXT, _gloffset_UnlockArraysEXT) - GL_STUB(gl_dispatch_stub_577, _gloffset__dispatch_stub_577) - GL_STUB(gl_dispatch_stub_578, _gloffset__dispatch_stub_578) + GL_STUB(gl_dispatch_stub_580, _gloffset__dispatch_stub_580) + GL_STUB(gl_dispatch_stub_581, _gloffset__dispatch_stub_581) GL_STUB(glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT) GL_STUB(glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT) GL_STUB(glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT) @@ -1440,7 +1447,7 @@ _mesa_sparc_glapi_begin: GL_STUB(glFogCoorddvEXT, _gloffset_FogCoorddvEXT) GL_STUB(glFogCoordfEXT, _gloffset_FogCoordfEXT) GL_STUB(glFogCoordfvEXT, _gloffset_FogCoordfvEXT) - GL_STUB(gl_dispatch_stub_603, _gloffset__dispatch_stub_603) + GL_STUB(gl_dispatch_stub_606, _gloffset__dispatch_stub_606) GL_STUB(glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT) GL_STUB(glFlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV) GL_STUB(glVertexArrayRangeNV, _gloffset_VertexArrayRangeNV) @@ -1482,15 +1489,15 @@ _mesa_sparc_glapi_begin: GL_STUB(glWindowPos4ivMESA, _gloffset_WindowPos4ivMESA) GL_STUB(glWindowPos4sMESA, _gloffset_WindowPos4sMESA) GL_STUB(glWindowPos4svMESA, _gloffset_WindowPos4svMESA) - GL_STUB(gl_dispatch_stub_645, _gloffset__dispatch_stub_645) - GL_STUB(gl_dispatch_stub_646, _gloffset__dispatch_stub_646) - GL_STUB(gl_dispatch_stub_647, _gloffset__dispatch_stub_647) GL_STUB(gl_dispatch_stub_648, _gloffset__dispatch_stub_648) GL_STUB(gl_dispatch_stub_649, _gloffset__dispatch_stub_649) GL_STUB(gl_dispatch_stub_650, _gloffset__dispatch_stub_650) GL_STUB(gl_dispatch_stub_651, _gloffset__dispatch_stub_651) GL_STUB(gl_dispatch_stub_652, _gloffset__dispatch_stub_652) GL_STUB(gl_dispatch_stub_653, _gloffset__dispatch_stub_653) + GL_STUB(gl_dispatch_stub_654, _gloffset__dispatch_stub_654) + GL_STUB(gl_dispatch_stub_655, _gloffset__dispatch_stub_655) + GL_STUB(gl_dispatch_stub_656, _gloffset__dispatch_stub_656) GL_STUB(glAreProgramsResidentNV, _gloffset_AreProgramsResidentNV) GL_STUB(glBindProgramNV, _gloffset_BindProgramNV) GL_STUB(glDeleteProgramsNV, _gloffset_DeleteProgramsNV) @@ -1571,19 +1578,19 @@ _mesa_sparc_glapi_begin: GL_STUB(glSetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI) GL_STUB(glPointParameteriNV, _gloffset_PointParameteriNV) GL_STUB(glPointParameterivNV, _gloffset_PointParameterivNV) - GL_STUB(gl_dispatch_stub_734, _gloffset__dispatch_stub_734) - GL_STUB(gl_dispatch_stub_735, _gloffset__dispatch_stub_735) - GL_STUB(gl_dispatch_stub_736, _gloffset__dispatch_stub_736) GL_STUB(gl_dispatch_stub_737, _gloffset__dispatch_stub_737) GL_STUB(gl_dispatch_stub_738, _gloffset__dispatch_stub_738) + GL_STUB(gl_dispatch_stub_739, _gloffset__dispatch_stub_739) + GL_STUB(gl_dispatch_stub_740, _gloffset__dispatch_stub_740) + GL_STUB(gl_dispatch_stub_741, _gloffset__dispatch_stub_741) GL_STUB(glGetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV) GL_STUB(glGetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV) GL_STUB(glProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV) GL_STUB(glProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV) GL_STUB(glProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV) GL_STUB(glProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV) - GL_STUB(gl_dispatch_stub_745, _gloffset__dispatch_stub_745) - GL_STUB(gl_dispatch_stub_746, _gloffset__dispatch_stub_746) + GL_STUB(gl_dispatch_stub_748, _gloffset__dispatch_stub_748) + GL_STUB(gl_dispatch_stub_749, _gloffset__dispatch_stub_749) GL_STUB(glBindFramebufferEXT, _gloffset_BindFramebufferEXT) GL_STUB(glBindRenderbufferEXT, _gloffset_BindRenderbufferEXT) GL_STUB(glCheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT) @@ -1597,15 +1604,16 @@ _mesa_sparc_glapi_begin: GL_STUB(glGenRenderbuffersEXT, _gloffset_GenRenderbuffersEXT) GL_STUB(glGenerateMipmapEXT, _gloffset_GenerateMipmapEXT) GL_STUB(glGetFramebufferAttachmentParameterivEXT, _gloffset_GetFramebufferAttachmentParameterivEXT) - GL_STUB(gl_dispatch_stub_760, _gloffset__dispatch_stub_760) - GL_STUB(gl_dispatch_stub_761, _gloffset__dispatch_stub_761) GL_STUB(glGetRenderbufferParameterivEXT, _gloffset_GetRenderbufferParameterivEXT) GL_STUB(glIsFramebufferEXT, _gloffset_IsFramebufferEXT) GL_STUB(glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT) GL_STUB(glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT) - GL_STUB(gl_dispatch_stub_766, _gloffset__dispatch_stub_766) GL_STUB(gl_dispatch_stub_767, _gloffset__dispatch_stub_767) GL_STUB(gl_dispatch_stub_768, _gloffset__dispatch_stub_768) + GL_STUB(gl_dispatch_stub_769, _gloffset__dispatch_stub_769) + GL_STUB(gl_dispatch_stub_770, _gloffset__dispatch_stub_770) + GL_STUB(gl_dispatch_stub_771, _gloffset__dispatch_stub_771) + GL_STUB(gl_dispatch_stub_772, _gloffset__dispatch_stub_772) .globl _mesa_sparc_glapi_end ; .type _mesa_sparc_glapi_end,#function _mesa_sparc_glapi_end: @@ -1613,12 +1621,23 @@ _mesa_sparc_glapi_end: .globl glArrayElementEXT ; .type glArrayElementEXT,#function ; glArrayElementEXT = glArrayElement .globl glBindTextureEXT ; .type glBindTextureEXT,#function ; glBindTextureEXT = glBindTexture .globl glDrawArraysEXT ; .type glDrawArraysEXT,#function ; glDrawArraysEXT = glDrawArrays +#ifndef GLX_INDIRECT_RENDERING + .globl glAreTexturesResidentEXT ; .type glAreTexturesResidentEXT,#function ; glAreTexturesResidentEXT = glAreTexturesResident +#endif .globl glCopyTexImage1DEXT ; .type glCopyTexImage1DEXT,#function ; glCopyTexImage1DEXT = glCopyTexImage1D .globl glCopyTexImage2DEXT ; .type glCopyTexImage2DEXT,#function ; glCopyTexImage2DEXT = glCopyTexImage2D .globl glCopyTexSubImage1DEXT ; .type glCopyTexSubImage1DEXT,#function ; glCopyTexSubImage1DEXT = glCopyTexSubImage1D .globl glCopyTexSubImage2DEXT ; .type glCopyTexSubImage2DEXT,#function ; glCopyTexSubImage2DEXT = glCopyTexSubImage2D +#ifndef GLX_INDIRECT_RENDERING .globl glDeleteTexturesEXT ; .type glDeleteTexturesEXT,#function ; glDeleteTexturesEXT = glDeleteTextures +#endif +#ifndef GLX_INDIRECT_RENDERING + .globl glGenTexturesEXT ; .type glGenTexturesEXT,#function ; glGenTexturesEXT = glGenTextures +#endif .globl glGetPointervEXT ; .type glGetPointervEXT,#function ; glGetPointervEXT = glGetPointerv +#ifndef GLX_INDIRECT_RENDERING + .globl glIsTextureEXT ; .type glIsTextureEXT,#function ; glIsTextureEXT = glIsTexture +#endif .globl glPrioritizeTexturesEXT ; .type glPrioritizeTexturesEXT,#function ; glPrioritizeTexturesEXT = glPrioritizeTextures .globl glTexSubImage1DEXT ; .type glTexSubImage1DEXT,#function ; glTexSubImage1DEXT = glTexSubImage1D .globl glTexSubImage2DEXT ; .type glTexSubImage2DEXT,#function ; glTexSubImage2DEXT = glTexSubImage2D @@ -1626,6 +1645,15 @@ _mesa_sparc_glapi_end: .globl glBlendEquationEXT ; .type glBlendEquationEXT,#function ; glBlendEquationEXT = glBlendEquation .globl glDrawRangeElementsEXT ; .type glDrawRangeElementsEXT,#function ; glDrawRangeElementsEXT = glDrawRangeElements .globl glColorTableEXT ; .type glColorTableEXT,#function ; glColorTableEXT = glColorTable +#ifndef GLX_INDIRECT_RENDERING + .globl glGetColorTableEXT ; .type glGetColorTableEXT,#function ; glGetColorTableEXT = glGetColorTable +#endif +#ifndef GLX_INDIRECT_RENDERING + .globl glGetColorTableParameterfvEXT ; .type glGetColorTableParameterfvEXT,#function ; glGetColorTableParameterfvEXT = glGetColorTableParameterfv +#endif +#ifndef GLX_INDIRECT_RENDERING + .globl glGetColorTableParameterivEXT ; .type glGetColorTableParameterivEXT,#function ; glGetColorTableParameterivEXT = glGetColorTableParameteriv +#endif .globl glTexImage3DEXT ; .type glTexImage3DEXT,#function ; glTexImage3DEXT = glTexImage3D .globl glTexSubImage3DEXT ; .type glTexSubImage3DEXT,#function ; glTexSubImage3DEXT = glTexSubImage3D .globl glCopyTexSubImage3DEXT ; .type glCopyTexSubImage3DEXT,#function ; glCopyTexSubImage3DEXT = glCopyTexSubImage3D @@ -1675,6 +1703,48 @@ _mesa_sparc_glapi_end: .globl glCompressedTexSubImage2D ; .type glCompressedTexSubImage2D,#function ; glCompressedTexSubImage2D = glCompressedTexSubImage2DARB .globl glCompressedTexSubImage3D ; .type glCompressedTexSubImage3D,#function ; glCompressedTexSubImage3D = glCompressedTexSubImage3DARB .globl glGetCompressedTexImage ; .type glGetCompressedTexImage,#function ; glGetCompressedTexImage = glGetCompressedTexImageARB + .globl glDisableVertexAttribArray ; .type glDisableVertexAttribArray,#function ; glDisableVertexAttribArray = glDisableVertexAttribArrayARB + .globl glEnableVertexAttribArray ; .type glEnableVertexAttribArray,#function ; glEnableVertexAttribArray = glEnableVertexAttribArrayARB + .globl glGetVertexAttribdv ; .type glGetVertexAttribdv,#function ; glGetVertexAttribdv = glGetVertexAttribdvARB + .globl glGetVertexAttribfv ; .type glGetVertexAttribfv,#function ; glGetVertexAttribfv = glGetVertexAttribfvARB + .globl glGetVertexAttribiv ; .type glGetVertexAttribiv,#function ; glGetVertexAttribiv = glGetVertexAttribivARB + .globl glVertexAttrib1d ; .type glVertexAttrib1d,#function ; glVertexAttrib1d = glVertexAttrib1dARB + .globl glVertexAttrib1dv ; .type glVertexAttrib1dv,#function ; glVertexAttrib1dv = glVertexAttrib1dvARB + .globl glVertexAttrib1f ; .type glVertexAttrib1f,#function ; glVertexAttrib1f = glVertexAttrib1fARB + .globl glVertexAttrib1fv ; .type glVertexAttrib1fv,#function ; glVertexAttrib1fv = glVertexAttrib1fvARB + .globl glVertexAttrib1s ; .type glVertexAttrib1s,#function ; glVertexAttrib1s = glVertexAttrib1sARB + .globl glVertexAttrib1sv ; .type glVertexAttrib1sv,#function ; glVertexAttrib1sv = glVertexAttrib1svARB + .globl glVertexAttrib2d ; .type glVertexAttrib2d,#function ; glVertexAttrib2d = glVertexAttrib2dARB + .globl glVertexAttrib2dv ; .type glVertexAttrib2dv,#function ; glVertexAttrib2dv = glVertexAttrib2dvARB + .globl glVertexAttrib2f ; .type glVertexAttrib2f,#function ; glVertexAttrib2f = glVertexAttrib2fARB + .globl glVertexAttrib2fv ; .type glVertexAttrib2fv,#function ; glVertexAttrib2fv = glVertexAttrib2fvARB + .globl glVertexAttrib2s ; .type glVertexAttrib2s,#function ; glVertexAttrib2s = glVertexAttrib2sARB + .globl glVertexAttrib2sv ; .type glVertexAttrib2sv,#function ; glVertexAttrib2sv = glVertexAttrib2svARB + .globl glVertexAttrib3d ; .type glVertexAttrib3d,#function ; glVertexAttrib3d = glVertexAttrib3dARB + .globl glVertexAttrib3dv ; .type glVertexAttrib3dv,#function ; glVertexAttrib3dv = glVertexAttrib3dvARB + .globl glVertexAttrib3f ; .type glVertexAttrib3f,#function ; glVertexAttrib3f = glVertexAttrib3fARB + .globl glVertexAttrib3fv ; .type glVertexAttrib3fv,#function ; glVertexAttrib3fv = glVertexAttrib3fvARB + .globl glVertexAttrib3s ; .type glVertexAttrib3s,#function ; glVertexAttrib3s = glVertexAttrib3sARB + .globl glVertexAttrib3sv ; .type glVertexAttrib3sv,#function ; glVertexAttrib3sv = glVertexAttrib3svARB + .globl glVertexAttrib4Nbv ; .type glVertexAttrib4Nbv,#function ; glVertexAttrib4Nbv = glVertexAttrib4NbvARB + .globl glVertexAttrib4Niv ; .type glVertexAttrib4Niv,#function ; glVertexAttrib4Niv = glVertexAttrib4NivARB + .globl glVertexAttrib4Nsv ; .type glVertexAttrib4Nsv,#function ; glVertexAttrib4Nsv = glVertexAttrib4NsvARB + .globl glVertexAttrib4Nub ; .type glVertexAttrib4Nub,#function ; glVertexAttrib4Nub = glVertexAttrib4NubARB + .globl glVertexAttrib4Nubv ; .type glVertexAttrib4Nubv,#function ; glVertexAttrib4Nubv = glVertexAttrib4NubvARB + .globl glVertexAttrib4Nuiv ; .type glVertexAttrib4Nuiv,#function ; glVertexAttrib4Nuiv = glVertexAttrib4NuivARB + .globl glVertexAttrib4Nusv ; .type glVertexAttrib4Nusv,#function ; glVertexAttrib4Nusv = glVertexAttrib4NusvARB + .globl glVertexAttrib4bv ; .type glVertexAttrib4bv,#function ; glVertexAttrib4bv = glVertexAttrib4bvARB + .globl glVertexAttrib4d ; .type glVertexAttrib4d,#function ; glVertexAttrib4d = glVertexAttrib4dARB + .globl glVertexAttrib4dv ; .type glVertexAttrib4dv,#function ; glVertexAttrib4dv = glVertexAttrib4dvARB + .globl glVertexAttrib4f ; .type glVertexAttrib4f,#function ; glVertexAttrib4f = glVertexAttrib4fARB + .globl glVertexAttrib4fv ; .type glVertexAttrib4fv,#function ; glVertexAttrib4fv = glVertexAttrib4fvARB + .globl glVertexAttrib4iv ; .type glVertexAttrib4iv,#function ; glVertexAttrib4iv = glVertexAttrib4ivARB + .globl glVertexAttrib4s ; .type glVertexAttrib4s,#function ; glVertexAttrib4s = glVertexAttrib4sARB + .globl glVertexAttrib4sv ; .type glVertexAttrib4sv,#function ; glVertexAttrib4sv = glVertexAttrib4svARB + .globl glVertexAttrib4ubv ; .type glVertexAttrib4ubv,#function ; glVertexAttrib4ubv = glVertexAttrib4ubvARB + .globl glVertexAttrib4uiv ; .type glVertexAttrib4uiv,#function ; glVertexAttrib4uiv = glVertexAttrib4uivARB + .globl glVertexAttrib4usv ; .type glVertexAttrib4usv,#function ; glVertexAttrib4usv = glVertexAttrib4usvARB + .globl glVertexAttribPointer ; .type glVertexAttribPointer,#function ; glVertexAttribPointer = glVertexAttribPointerARB .globl glBindBuffer ; .type glBindBuffer,#function ; glBindBuffer = glBindBufferARB .globl glBufferData ; .type glBufferData,#function ; glBufferData = glBufferDataARB .globl glBufferSubData ; .type glBufferSubData,#function ; glBufferSubData = glBufferSubDataARB @@ -1694,11 +1764,40 @@ _mesa_sparc_glapi_end: .globl glGetQueryObjectuiv ; .type glGetQueryObjectuiv,#function ; glGetQueryObjectuiv = glGetQueryObjectuivARB .globl glGetQueryiv ; .type glGetQueryiv,#function ; glGetQueryiv = glGetQueryivARB .globl glIsQuery ; .type glIsQuery,#function ; glIsQuery = glIsQueryARB + .globl glCompileShader ; .type glCompileShader,#function ; glCompileShader = glCompileShaderARB + .globl glGetActiveUniform ; .type glGetActiveUniform,#function ; glGetActiveUniform = glGetActiveUniformARB + .globl glGetShaderSource ; .type glGetShaderSource,#function ; glGetShaderSource = glGetShaderSourceARB + .globl glGetUniformLocation ; .type glGetUniformLocation,#function ; glGetUniformLocation = glGetUniformLocationARB + .globl glGetUniformfv ; .type glGetUniformfv,#function ; glGetUniformfv = glGetUniformfvARB + .globl glGetUniformiv ; .type glGetUniformiv,#function ; glGetUniformiv = glGetUniformivARB + .globl glLinkProgram ; .type glLinkProgram,#function ; glLinkProgram = glLinkProgramARB + .globl glShaderSource ; .type glShaderSource,#function ; glShaderSource = glShaderSourceARB + .globl glUniform1f ; .type glUniform1f,#function ; glUniform1f = glUniform1fARB + .globl glUniform1fv ; .type glUniform1fv,#function ; glUniform1fv = glUniform1fvARB + .globl glUniform1i ; .type glUniform1i,#function ; glUniform1i = glUniform1iARB + .globl glUniform1iv ; .type glUniform1iv,#function ; glUniform1iv = glUniform1ivARB + .globl glUniform2f ; .type glUniform2f,#function ; glUniform2f = glUniform2fARB + .globl glUniform2fv ; .type glUniform2fv,#function ; glUniform2fv = glUniform2fvARB + .globl glUniform2i ; .type glUniform2i,#function ; glUniform2i = glUniform2iARB + .globl glUniform2iv ; .type glUniform2iv,#function ; glUniform2iv = glUniform2ivARB + .globl glUniform3f ; .type glUniform3f,#function ; glUniform3f = glUniform3fARB + .globl glUniform3fv ; .type glUniform3fv,#function ; glUniform3fv = glUniform3fvARB + .globl glUniform3i ; .type glUniform3i,#function ; glUniform3i = glUniform3iARB + .globl glUniform3iv ; .type glUniform3iv,#function ; glUniform3iv = glUniform3ivARB + .globl glUniform4f ; .type glUniform4f,#function ; glUniform4f = glUniform4fARB + .globl glUniform4fv ; .type glUniform4fv,#function ; glUniform4fv = glUniform4fvARB + .globl glUniform4i ; .type glUniform4i,#function ; glUniform4i = glUniform4iARB + .globl glUniform4iv ; .type glUniform4iv,#function ; glUniform4iv = glUniform4ivARB + .globl glUniformMatrix2fv ; .type glUniformMatrix2fv,#function ; glUniformMatrix2fv = glUniformMatrix2fvARB + .globl glUniformMatrix3fv ; .type glUniformMatrix3fv,#function ; glUniformMatrix3fv = glUniformMatrix3fvARB + .globl glUniformMatrix4fv ; .type glUniformMatrix4fv,#function ; glUniformMatrix4fv = glUniformMatrix4fvARB + .globl glUseProgram ; .type glUseProgram,#function ; glUseProgram = glUseProgramObjectARB + .globl glValidateProgram ; .type glValidateProgram,#function ; glValidateProgram = glValidateProgramARB + .globl glBindAttribLocation ; .type glBindAttribLocation,#function ; glBindAttribLocation = glBindAttribLocationARB + .globl glGetActiveAttrib ; .type glGetActiveAttrib,#function ; glGetActiveAttrib = glGetActiveAttribARB + .globl glGetAttribLocation ; .type glGetAttribLocation,#function ; glGetAttribLocation = glGetAttribLocationARB .globl glDrawBuffers ; .type glDrawBuffers,#function ; glDrawBuffers = glDrawBuffersARB .globl glDrawBuffersATI ; .type glDrawBuffersATI,#function ; glDrawBuffersATI = glDrawBuffersARB - .globl glGetColorTableParameterfvEXT ; .type glGetColorTableParameterfvEXT,#function ; glGetColorTableParameterfvEXT = glGetColorTableParameterfvSGI - .globl glGetColorTableParameterivEXT ; .type glGetColorTableParameterivEXT,#function ; glGetColorTableParameterivEXT = glGetColorTableParameterivSGI - .globl glGetColorTableEXT ; .type glGetColorTableEXT,#function ; glGetColorTableEXT = glGetColorTableSGI .globl glPointParameterf ; .type glPointParameterf,#function ; glPointParameterf = glPointParameterfEXT .globl glPointParameterfARB ; .type glPointParameterfARB,#function ; glPointParameterfARB = glPointParameterfEXT .globl glPointParameterfv ; .type glPointParameterfv,#function ; glPointParameterfv = glPointParameterfvEXT @@ -1763,6 +1862,7 @@ _mesa_sparc_glapi_end: .globl glBindProgramARB ; .type glBindProgramARB,#function ; glBindProgramARB = glBindProgramNV .globl glDeleteProgramsARB ; .type glDeleteProgramsARB,#function ; glDeleteProgramsARB = glDeleteProgramsNV .globl glGenProgramsARB ; .type glGenProgramsARB,#function ; glGenProgramsARB = glGenProgramsNV + .globl glGetVertexAttribPointerv ; .type glGetVertexAttribPointerv,#function ; glGetVertexAttribPointerv = glGetVertexAttribPointervNV .globl glGetVertexAttribPointervARB ; .type glGetVertexAttribPointervARB,#function ; glGetVertexAttribPointervARB = glGetVertexAttribPointervNV .globl glIsProgramARB ; .type glIsProgramARB,#function ; glIsProgramARB = glIsProgramNV .globl glPointParameteri ; .type glPointParameteri,#function ; glPointParameteri = glPointParameteriNV diff --git a/dist/Mesa/src/mesa/swrast/s_copypix.c b/dist/Mesa/src/mesa/swrast/s_copypix.c index 88fd44513..ac7fa21fe 100644 --- a/dist/Mesa/src/mesa/swrast/s_copypix.c +++ b/dist/Mesa/src/mesa/swrast/s_copypix.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 7.0.2 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -41,11 +41,12 @@ -/* +/** * Determine if there's overlap in an image copy. * This test also compensates for the fact that copies are done from * bottom to top and overlaps can sometimes be handled correctly * without making a temporary image copy. + * \return GL_TRUE if the regions overlap, GL_FALSE otherwise. */ static GLboolean regions_overlap(GLint srcx, GLint srcy, @@ -70,13 +71,20 @@ regions_overlap(GLint srcx, GLint srcy, } else { /* add one pixel of slop when zooming, just to be safe */ - if ((srcx > dstx + (width * zoomX) + 1) || (srcx + width + 1 < dstx)) { + if (srcx > (dstx + ((zoomX > 0.0F) ? (width * zoomX + 1.0F) : 0.0F))) { + /* src is completely right of dest */ + return GL_FALSE; + } + else if (srcx + width + 1.0F < dstx + ((zoomX > 0.0F) ? 0.0F : (width * zoomX))) { + /* src is completely left of dest */ return GL_FALSE; } else if ((srcy < dsty) && (srcy + height < dsty + (height * zoomY))) { + /* src is completely below dest */ return GL_FALSE; } else if ((srcy > dsty) && (srcy + height > dsty + (height * zoomY))) { + /* src is completely above dest */ return GL_FALSE; } else { @@ -87,41 +95,6 @@ regions_overlap(GLint srcx, GLint srcy, /** - * Convert GLfloat[n][4] colors to GLchan[n][4]. - * XXX maybe move into image.c - */ -static void -float_span_to_chan(GLuint n, CONST GLfloat in[][4], GLchan out[][4]) -{ - GLuint i; - for (i = 0; i < n; i++) { - UNCLAMPED_FLOAT_TO_CHAN(out[i][RCOMP], in[i][RCOMP]); - UNCLAMPED_FLOAT_TO_CHAN(out[i][GCOMP], in[i][GCOMP]); - UNCLAMPED_FLOAT_TO_CHAN(out[i][BCOMP], in[i][BCOMP]); - UNCLAMPED_FLOAT_TO_CHAN(out[i][ACOMP], in[i][ACOMP]); - } -} - - -/** - * Convert GLchan[n][4] colors to GLfloat[n][4]. - * XXX maybe move into image.c - */ -static void -chan_span_to_float(GLuint n, CONST GLchan in[][4], GLfloat out[][4]) -{ - GLuint i; - for (i = 0; i < n; i++) { - out[i][RCOMP] = CHAN_TO_FLOAT(in[i][RCOMP]); - out[i][GCOMP] = CHAN_TO_FLOAT(in[i][GCOMP]); - out[i][BCOMP] = CHAN_TO_FLOAT(in[i][BCOMP]); - out[i][ACOMP] = CHAN_TO_FLOAT(in[i][ACOMP]); - } -} - - - -/* * RGBA copypixels with convolution. */ static void @@ -129,13 +102,13 @@ copy_conv_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy, GLint width, GLint height, GLint destx, GLint desty) { SWcontext *swrast = SWRAST_CONTEXT(ctx); - struct gl_renderbuffer *drawRb = NULL; - GLboolean quick_draw; GLint row; const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F; - const GLuint transferOps = ctx->_ImageTransferState; + const GLbitfield transferOps = ctx->_ImageTransferState; + const GLboolean sink = (ctx->Pixel.MinMaxEnabled && ctx->MinMax.Sink) + || (ctx->Pixel.HistogramEnabled && ctx->Histogram.Sink); GLfloat *dest, *tmpImage, *convImage; - struct sw_span span; + SWspan span; INIT_SPAN(span, GL_BITMAP, 0, 0, SPAN_RGBA); @@ -143,18 +116,7 @@ copy_conv_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy, _swrast_span_default_z(ctx, &span); if (swrast->_FogEnabled) _swrast_span_default_fog(ctx, &span); - - - if (SWRAST_CONTEXT(ctx)->_RasterMask == 0 - && !zoom - && destx >= 0 - && destx + width <= (GLint) ctx->DrawBuffer->Width) { - quick_draw = GL_TRUE; - drawRb = ctx->DrawBuffer->_ColorDrawBuffers[0][0]; - } - else { - quick_draw = GL_FALSE; - } + _swrast_span_default_secondary_color(ctx, &span); /* allocate space for GLfloat image */ tmpImage = (GLfloat *) _mesa_malloc(width * height * 4 * sizeof(GLfloat)); @@ -169,15 +131,11 @@ copy_conv_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy, return; } - /* read source image */ + /* read source image as float/RGBA */ dest = tmpImage; for (row = 0; row < height; row++) { - GLchan rgba[MAX_WIDTH][4]; - /* Read GLchan and convert to GLfloat */ _swrast_read_rgba_span(ctx, ctx->ReadBuffer->_ColorReadBuffer, - width, srcx, srcy + row, rgba); - chan_span_to_float(width, (CONST GLchan (*)[4]) rgba, - (GLfloat (*)[4]) dest); + width, srcx, srcy + row, GL_FLOAT, dest); dest += 4 * width; } @@ -207,38 +165,36 @@ copy_conv_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy, width, rgba); } - /* write the new image */ - for (row = 0; row < height; row++) { - const GLfloat *src = convImage + row * width * 4; - GLint dy; + if (!sink) { + /* write the new image */ + for (row = 0; row < height; row++) { + const GLfloat *src = convImage + row * width * 4; + GLvoid *rgba = (GLvoid *) span.array->attribs[FRAG_ATTRIB_COL0]; - /* convert floats back to chan */ - float_span_to_chan(width, (const GLfloat (*)[4]) src, span.array->rgba); + /* copy convolved colors into span array */ + _mesa_memcpy(rgba, src, width * 4 * sizeof(GLfloat)); - /* write row to framebuffer */ - dy = desty + row; - if (quick_draw && dy >= 0 && dy < (GLint) ctx->DrawBuffer->Height) { - drawRb->PutRow(ctx, drawRb, width, destx, dy, span.array->rgba, NULL); - } - else { + /* write span */ span.x = destx; - span.y = dy; + span.y = desty + row; span.end = width; + span.array->ChanType = GL_FLOAT; if (zoom) { - _swrast_write_zoomed_rgba_span(ctx, destx, desty, &span, - (CONST GLchan (*)[4])span.array->rgba); + _swrast_write_zoomed_rgba_span(ctx, destx, desty, &span, rgba); } else { _swrast_write_rgba_span(ctx, &span); } } + /* restore this */ + span.array->ChanType = CHAN_TYPE; } _mesa_free(convImage); } -/* +/** * RGBA copypixels */ static void @@ -246,29 +202,38 @@ copy_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy, GLint width, GLint height, GLint destx, GLint desty) { SWcontext *swrast = SWRAST_CONTEXT(ctx); - struct gl_renderbuffer *drawRb; - GLchan *tmpImage,*p; - GLboolean quick_draw; - GLint sy, dy, stepy, j; + GLfloat *tmpImage, *p; + GLint sy, dy, stepy, row; const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F; GLint overlapping; - const GLuint transferOps = ctx->_ImageTransferState; - struct sw_span span; + GLuint transferOps = ctx->_ImageTransferState; + SWspan span; if (!ctx->ReadBuffer->_ColorReadBuffer) { /* no readbuffer - OK */ return; } - INIT_SPAN(span, GL_BITMAP, 0, 0, SPAN_RGBA); - if (ctx->Pixel.Convolution2DEnabled || ctx->Pixel.Separable2DEnabled) { copy_conv_rgba_pixels(ctx, srcx, srcy, width, height, destx, desty); return; } + else if (ctx->Pixel.Convolution1DEnabled) { + /* make sure we don't apply 1D convolution */ + transferOps &= ~(IMAGE_CONVOLUTION_BIT | + IMAGE_POST_CONVOLUTION_SCALE_BIAS); + } + + if (ctx->DrawBuffer == ctx->ReadBuffer) { + overlapping = regions_overlap(srcx, srcy, destx, desty, width, height, + ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); + } + else { + overlapping = GL_FALSE; + } /* Determine if copy should be done bottom-to-top or top-to-bottom */ - if (srcy < desty) { + if (!overlapping && srcy < desty) { /* top-down max-to-min */ sy = srcy + height - 1; dy = desty + height - 1; @@ -281,43 +246,24 @@ copy_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy, stepy = 1; } - if (ctx->DrawBuffer == ctx->ReadBuffer) { - overlapping = regions_overlap(srcx, srcy, destx, desty, width, height, - ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); - } - else { - overlapping = GL_FALSE; - } - + INIT_SPAN(span, GL_BITMAP, 0, 0, SPAN_RGBA); if (ctx->Depth.Test) _swrast_span_default_z(ctx, &span); if (swrast->_FogEnabled) _swrast_span_default_fog(ctx, &span); - - if (SWRAST_CONTEXT(ctx)->_RasterMask == 0 - && !zoom - && destx >= 0 - && destx + width <= (GLint) ctx->DrawBuffer->Width) { - quick_draw = GL_TRUE; - drawRb = ctx->DrawBuffer->_ColorDrawBuffers[0][0]; - } - else { - quick_draw = GL_FALSE; - drawRb = NULL; - } + _swrast_span_default_secondary_color(ctx, &span); if (overlapping) { - GLint ssy = sy; - tmpImage = (GLchan *) _mesa_malloc(width * height * sizeof(GLchan) * 4); + tmpImage = (GLfloat *) _mesa_malloc(width * height * sizeof(GLfloat) * 4); if (!tmpImage) { _mesa_error( ctx, GL_OUT_OF_MEMORY, "glCopyPixels" ); return; } - /* read the source image */ + /* read the source image as RGBA/float */ p = tmpImage; - for (j = 0; j < height; j++, ssy += stepy) { + for (row = 0; row < height; row++) { _swrast_read_rgba_span( ctx, ctx->ReadBuffer->_ColorReadBuffer, - width, srcx, ssy, (GLchan (*)[4]) p ); + width, srcx, sy + row, GL_FLOAT, p ); p += width * 4; } p = tmpImage; @@ -327,49 +273,43 @@ copy_rgba_pixels(GLcontext *ctx, GLint srcx, GLint srcy, p = NULL; } - for (j = 0; j < height; j++, sy += stepy, dy += stepy) { - /* Get source pixels */ + ASSERT(width < MAX_WIDTH); + + for (row = 0; row < height; row++, sy += stepy, dy += stepy) { + GLvoid *rgba = span.array->attribs[FRAG_ATTRIB_COL0]; + + /* Get row/span of source pixels */ if (overlapping) { /* get from buffered image */ - ASSERT(width < MAX_WIDTH); - _mesa_memcpy(span.array->rgba, p, width * sizeof(GLchan) * 4); + _mesa_memcpy(rgba, p, width * sizeof(GLfloat) * 4); p += width * 4; } else { /* get from framebuffer */ - ASSERT(width < MAX_WIDTH); _swrast_read_rgba_span( ctx, ctx->ReadBuffer->_ColorReadBuffer, - width, srcx, sy, span.array->rgba ); + width, srcx, sy, GL_FLOAT, rgba ); } if (transferOps) { - GLfloat rgbaFloat[MAX_WIDTH][4]; - /* convert to float, transfer, convert back to chan */ - chan_span_to_float(width, (CONST GLchan (*)[4]) span.array->rgba, - rgbaFloat); - _mesa_apply_rgba_transfer_ops(ctx, transferOps, width, rgbaFloat); - float_span_to_chan(width, (CONST GLfloat (*)[4]) rgbaFloat, - span.array->rgba); + _mesa_apply_rgba_transfer_ops(ctx, transferOps, width, + (GLfloat (*)[4]) rgba); } /* Write color span */ - if (quick_draw && dy >= 0 && dy < (GLint) ctx->DrawBuffer->Height) { - drawRb->PutRow(ctx, drawRb, width, destx, dy, span.array->rgba, NULL); + span.x = destx; + span.y = dy; + span.end = width; + span.array->ChanType = GL_FLOAT; + if (zoom) { + _swrast_write_zoomed_rgba_span(ctx, destx, desty, &span, rgba); } else { - span.x = destx; - span.y = dy; - span.end = width; - if (zoom) { - _swrast_write_zoomed_rgba_span(ctx, destx, desty, &span, - (CONST GLchan (*)[4]) span.array->rgba); - } - else { - _swrast_write_rgba_span(ctx, &span); - } + _swrast_write_rgba_span(ctx, &span); } } + span.array->ChanType = CHAN_TYPE; /* restore */ + if (overlapping) _mesa_free(tmpImage); } @@ -385,9 +325,8 @@ copy_ci_pixels( GLcontext *ctx, GLint srcx, GLint srcy, GLint sy, dy, stepy; GLint j; const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F; - const GLboolean shift_or_offset = ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset; GLint overlapping; - struct sw_span span; + SWspan span; if (!ctx->ReadBuffer->_ColorReadBuffer) { /* no readbuffer - OK */ @@ -396,8 +335,16 @@ copy_ci_pixels( GLcontext *ctx, GLint srcx, GLint srcy, INIT_SPAN(span, GL_BITMAP, 0, 0, SPAN_INDEX); + if (ctx->DrawBuffer == ctx->ReadBuffer) { + overlapping = regions_overlap(srcx, srcy, destx, desty, width, height, + ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); + } + else { + overlapping = GL_FALSE; + } + /* Determine if copy should be bottom-to-top or top-to-bottom */ - if (srcy<desty) { + if (!overlapping && srcy < desty) { /* top-down max-to-min */ sy = srcy + height - 1; dy = desty + height - 1; @@ -410,14 +357,6 @@ copy_ci_pixels( GLcontext *ctx, GLint srcx, GLint srcy, stepy = 1; } - if (ctx->DrawBuffer == ctx->ReadBuffer) { - overlapping = regions_overlap(srcx, srcy, destx, desty, width, height, - ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); - } - else { - overlapping = GL_FALSE; - } - if (ctx->Depth.Test) _swrast_span_default_z(ctx, &span); if (swrast->_FogEnabled) @@ -455,13 +394,9 @@ copy_ci_pixels( GLcontext *ctx, GLint srcx, GLint srcy, width, srcx, sy, span.array->index ); } - /* Apply shift, offset, look-up table */ - if (shift_or_offset) { - _mesa_shift_and_offset_ci( ctx, width, span.array->index ); - } - if (ctx->Pixel.MapColorFlag) { - _mesa_map_ci( ctx, width, span.array->index ); - } + if (ctx->_ImageTransferState) + _mesa_apply_ci_transfer_ops(ctx, ctx->_ImageTransferState, + width, span.array->index); /* write color indexes */ span.x = destx; @@ -530,7 +465,7 @@ copy_depth_pixels( GLcontext *ctx, GLint srcx, GLint srcy, GLint j; const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F; GLint overlapping; - struct sw_span span; + SWspan span; if (!readRb) { /* no readbuffer - OK */ @@ -539,8 +474,16 @@ copy_depth_pixels( GLcontext *ctx, GLint srcx, GLint srcy, INIT_SPAN(span, GL_BITMAP, 0, 0, SPAN_Z); + if (ctx->DrawBuffer == ctx->ReadBuffer) { + overlapping = regions_overlap(srcx, srcy, destx, desty, width, height, + ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); + } + else { + overlapping = GL_FALSE; + } + /* Determine if copy should be bottom-to-top or top-to-bottom */ - if (srcy<desty) { + if (!overlapping && srcy < desty) { /* top-down max-to-min */ sy = srcy + height - 1; dy = desty + height - 1; @@ -553,15 +496,8 @@ copy_depth_pixels( GLcontext *ctx, GLint srcx, GLint srcy, stepy = 1; } - if (ctx->DrawBuffer == ctx->ReadBuffer) { - overlapping = regions_overlap(srcx, srcy, destx, desty, width, height, - ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); - } - else { - overlapping = GL_FALSE; - } - _swrast_span_default_color(ctx, &span); + _swrast_span_default_secondary_color(ctx, &span); if (swrast->_FogEnabled) _swrast_span_default_fog(ctx, &span); @@ -604,14 +540,13 @@ copy_depth_pixels( GLcontext *ctx, GLint srcx, GLint srcy, span.end = width; if (fb->Visual.rgbMode) { if (zoom) - _swrast_write_zoomed_rgba_span(ctx, destx, desty, &span, - (const GLchan (*)[4]) span.array->rgba); + _swrast_write_zoomed_depth_span(ctx, destx, desty, &span); else _swrast_write_rgba_span(ctx, &span); } else { if (zoom) - _swrast_write_zoomed_index_span(ctx, destx, desty, &span); + _swrast_write_zoomed_depth_span(ctx, destx, desty, &span); else _swrast_write_index_span(ctx, &span); } @@ -634,7 +569,6 @@ copy_stencil_pixels( GLcontext *ctx, GLint srcx, GLint srcy, GLint j; GLstencil *p, *tmpImage; const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F; - const GLboolean shift_or_offset = ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset; GLint overlapping; if (!rb) { @@ -642,8 +576,16 @@ copy_stencil_pixels( GLcontext *ctx, GLint srcx, GLint srcy, return; } + if (ctx->DrawBuffer == ctx->ReadBuffer) { + overlapping = regions_overlap(srcx, srcy, destx, desty, width, height, + ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); + } + else { + overlapping = GL_FALSE; + } + /* Determine if copy should be bottom-to-top or top-to-bottom */ - if (srcy < desty) { + if (!overlapping && srcy < desty) { /* top-down max-to-min */ sy = srcy + height - 1; dy = desty + height - 1; @@ -656,14 +598,6 @@ copy_stencil_pixels( GLcontext *ctx, GLint srcx, GLint srcy, stepy = 1; } - if (ctx->DrawBuffer == ctx->ReadBuffer) { - overlapping = regions_overlap(srcx, srcy, destx, desty, width, height, - ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); - } - else { - overlapping = GL_FALSE; - } - if (overlapping) { GLint ssy = sy; tmpImage = (GLstencil *) _mesa_malloc(width * height * sizeof(GLstencil)); @@ -695,13 +629,7 @@ copy_stencil_pixels( GLcontext *ctx, GLint srcx, GLint srcy, _swrast_read_stencil_span( ctx, rb, width, srcx, sy, stencil ); } - /* Apply shift, offset, look-up table */ - if (shift_or_offset) { - _mesa_shift_and_offset_stencil( ctx, width, stencil ); - } - if (ctx->Pixel.MapStencilFlag) { - _mesa_map_stencil( ctx, width, stencil ); - } + _mesa_apply_stencil_transfer_ops(ctx, width, stencil); /* Write stencil values */ if (zoom) { @@ -737,8 +665,6 @@ copy_depth_stencil_pixels(GLcontext *ctx, const GLfloat depthScale = ctx->DrawBuffer->_DepthMaxF; const GLuint stencilMask = ctx->Stencil.WriteMask[0]; const GLboolean zoom = ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F; - const GLboolean shiftOrOffset - = ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset; const GLboolean scaleOrBias = ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0; GLint overlapping; @@ -751,8 +677,16 @@ copy_depth_stencil_pixels(GLcontext *ctx, ASSERT(depthReadRb); ASSERT(stencilReadRb); + if (ctx->DrawBuffer == ctx->ReadBuffer) { + overlapping = regions_overlap(srcX, srcY, destX, destY, width, height, + ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); + } + else { + overlapping = GL_FALSE; + } + /* Determine if copy should be bottom-to-top or top-to-bottom */ - if (srcY < destY) { + if (!overlapping && srcY < destY) { /* top-down max-to-min */ sy = srcY + height - 1; dy = destY + height - 1; @@ -765,14 +699,6 @@ copy_depth_stencil_pixels(GLcontext *ctx, stepy = 1; } - if (ctx->DrawBuffer == ctx->ReadBuffer) { - overlapping = regions_overlap(srcX, srcY, destX, destY, width, height, - ctx->Pixel.ZoomX, ctx->Pixel.ZoomY); - } - else { - overlapping = GL_FALSE; - } - if (overlapping) { GLint ssy = sy; @@ -828,13 +754,7 @@ copy_depth_stencil_pixels(GLcontext *ctx, width, srcX, sy, stencil); } - /* Apply shift, offset, look-up table */ - if (shiftOrOffset) { - _mesa_shift_and_offset_stencil(ctx, width, stencil); - } - if (ctx->Pixel.MapStencilFlag) { - _mesa_map_stencil(ctx, width, stencil); - } + _mesa_apply_stencil_transfer_ops(ctx, width, stencil); /* Write values */ if (zoom) { @@ -902,6 +822,88 @@ copy_depth_stencil_pixels(GLcontext *ctx, } + +/** + * Try to do a fast copy pixels. + */ +static GLboolean +fast_copy_pixels(GLcontext *ctx, + GLint srcX, GLint srcY, GLsizei width, GLsizei height, + GLint dstX, GLint dstY, GLenum type) +{ + struct gl_framebuffer *srcFb = ctx->ReadBuffer; + struct gl_framebuffer *dstFb = ctx->DrawBuffer; + struct gl_renderbuffer *srcRb, *dstRb; + GLint row, yStep; + + if (SWRAST_CONTEXT(ctx)->_RasterMask != 0x0 || + ctx->Pixel.ZoomX != 1.0F || + ctx->Pixel.ZoomY != 1.0F || + ctx->_ImageTransferState) { + /* can't handle these */ + return GL_FALSE; + } + + if (type == GL_COLOR) { + if (dstFb->_NumColorDrawBuffers[0] != 1) + return GL_FALSE; + srcRb = srcFb->_ColorReadBuffer; + dstRb = dstFb->_ColorDrawBuffers[0][0]; + } + else if (type == GL_STENCIL) { + srcRb = srcFb->_StencilBuffer; + dstRb = dstFb->_StencilBuffer; + } + else if (type == GL_DEPTH) { + srcRb = srcFb->_DepthBuffer; + dstRb = dstFb->_DepthBuffer; + } + else { + ASSERT(type == GL_DEPTH_STENCIL_EXT); + /* XXX correct? */ + srcRb = srcFb->Attachment[BUFFER_DEPTH].Renderbuffer; + dstRb = dstFb->Attachment[BUFFER_DEPTH].Renderbuffer; + } + + /* src and dst renderbuffers must be same format and type */ + if (!srcRb || !dstRb || + srcRb->DataType != dstRb->DataType || + srcRb->_BaseFormat != dstRb->_BaseFormat) { + return GL_FALSE; + } + + /* clipping not supported */ + if (srcX < 0 || srcX + width > (GLint) srcFb->Width || + srcY < 0 || srcY + height > (GLint) srcFb->Height || + dstX < dstFb->_Xmin || dstX + width > dstFb->_Xmax || + dstY < dstFb->_Ymin || dstY + height > dstFb->_Ymax) { + return GL_FALSE; + } + + /* overlapping src/dst doesn't matter, just determine Y direction */ + if (srcY < dstY) { + /* top-down max-to-min */ + srcY = srcY + height - 1; + dstY = dstY + height - 1; + yStep = -1; + } + else { + /* bottom-up min-to-max */ + yStep = 1; + } + + for (row = 0; row < height; row++) { + GLuint temp[MAX_WIDTH][4]; + srcRb->GetRow(ctx, srcRb, width, srcX, srcY, temp); + dstRb->PutRow(ctx, dstRb, width, dstX, dstY, temp, NULL); + srcY += yStep; + dstY += yStep; + } + + return GL_TRUE; +} + + /** * Do software-based glCopyPixels. * By time we get here, all parameters will have been error-checked. @@ -917,26 +919,28 @@ _swrast_CopyPixels( GLcontext *ctx, if (swrast->NewState) _swrast_validate_derived( ctx ); - switch (type) { - case GL_COLOR: - if (ctx->Visual.rgbMode) { - copy_rgba_pixels( ctx, srcx, srcy, width, height, destx, desty ); + if (!fast_copy_pixels(ctx, srcx, srcy, width, height, destx, desty, type)) { + switch (type) { + case GL_COLOR: + if (ctx->Visual.rgbMode) { + copy_rgba_pixels( ctx, srcx, srcy, width, height, destx, desty ); + } + else { + copy_ci_pixels( ctx, srcx, srcy, width, height, destx, desty ); + } + break; + case GL_DEPTH: + copy_depth_pixels( ctx, srcx, srcy, width, height, destx, desty ); + break; + case GL_STENCIL: + copy_stencil_pixels( ctx, srcx, srcy, width, height, destx, desty ); + break; + case GL_DEPTH_STENCIL_EXT: + copy_depth_stencil_pixels(ctx, srcx, srcy, width, height, destx, desty); + break; + default: + _mesa_problem(ctx, "unexpected type in _swrast_CopyPixels"); } - else { - copy_ci_pixels( ctx, srcx, srcy, width, height, destx, desty ); - } - break; - case GL_DEPTH: - copy_depth_pixels( ctx, srcx, srcy, width, height, destx, desty ); - break; - case GL_STENCIL: - copy_stencil_pixels( ctx, srcx, srcy, width, height, destx, desty ); - break; - case GL_DEPTH_STENCIL_EXT: - copy_depth_stencil_pixels(ctx, srcx, srcy, width, height, destx, desty); - break; - default: - _mesa_problem(ctx, "unexpected type in _swrast_CopyPixels"); } RENDER_FINISH(swrast,ctx); diff --git a/dist/Mesa/src/mesa/swrast/s_pointtemp.h b/dist/Mesa/src/mesa/swrast/s_pointtemp.h index 4ce261009..94364643d 100644 --- a/dist/Mesa/src/mesa/swrast/s_pointtemp.h +++ b/dist/Mesa/src/mesa/swrast/s_pointtemp.h @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 6.5.3 * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -39,14 +39,14 @@ * * RGBA = do rgba instead of color index * SMOOTH = do antialiasing - * TEXTURE = do texture coords + * ATTRIBS = general attributes (texcoords, etc) * SPECULAR = do separate specular color * LARGE = do points with diameter > 1 pixel * ATTENUATE = compute point size attenuation * SPRITE = GL_ARB_point_sprite / GL_NV_point_sprite * * Notes: LARGE and ATTENUATE are exclusive of each other. - * TEXTURE requires RGBA + * ATTRIBS requires RGBA */ @@ -63,7 +63,6 @@ */ - static void NAME ( GLcontext *ctx, const SWvertex *vert ) { @@ -87,12 +86,11 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) #if FLAGS & INDEX const GLuint colorIndex = (GLuint) vert->index; /* XXX round? */ #endif -#if FLAGS & TEXTURE - GLfloat texcoord[MAX_TEXTURE_COORD_UNITS][4]; - GLuint u; +#if FLAGS & ATTRIBS + GLfloat attrib[FRAG_ATTRIB_MAX][4]; /* texture & varying */ #endif SWcontext *swrast = SWRAST_CONTEXT(ctx); - struct sw_span *span = &(swrast->PointSpan); + SWspan *span = &(swrast->PointSpan); /* Cull primitives with malformed coordinates. */ @@ -107,8 +105,9 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) */ span->interpMask = SPAN_FOG; span->arrayMask = SPAN_XY | SPAN_Z; - span->fog = vert->fog; - span->fogStep = 0.0; + span->attrStart[FRAG_ATTRIB_FOGC][0] = vert->attrib[FRAG_ATTRIB_FOGC][0]; + span->attrStepX[FRAG_ATTRIB_FOGC][0] = 0.0; + span->attrStepY[FRAG_ATTRIB_FOGC][0] = 0.0; #if FLAGS & RGBA span->arrayMask |= SPAN_RGBA; #endif @@ -118,39 +117,35 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) #if FLAGS & INDEX span->arrayMask |= SPAN_INDEX; #endif -#if FLAGS & TEXTURE - span->arrayMask |= SPAN_TEXTURE; +#if FLAGS & ATTRIBS + span->arrayMask |= (SPAN_TEXTURE | SPAN_LAMBDA); if (ctx->FragmentProgram._Active) { /* Don't divide texture s,t,r by q (use TXP to do that) */ - for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - if (ctx->Texture._EnabledCoordUnits & (1 << u)) { - COPY_4V(texcoord[u], vert->texcoord[u]); - } - } + ATTRIB_LOOP_BEGIN + COPY_4V(attrib[attr], vert->attrib[attr]); + ATTRIB_LOOP_END } else { /* Divide texture s,t,r by q here */ - for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - if (ctx->Texture._EnabledCoordUnits & (1 << u)) { - const GLfloat q = vert->texcoord[u][3]; - const GLfloat invQ = (q == 0.0F || q == 1.0F) ? 1.0F : (1.0F / q); - texcoord[u][0] = vert->texcoord[u][0] * invQ; - texcoord[u][1] = vert->texcoord[u][1] * invQ; - texcoord[u][2] = vert->texcoord[u][2] * invQ; - texcoord[u][3] = q; - } - } + ATTRIB_LOOP_BEGIN + const GLfloat q = vert->attrib[attr][3]; + const GLfloat invQ = (q == 0.0F || q == 1.0F) ? 1.0F : (1.0F / q); + attrib[attr][0] = vert->attrib[attr][0] * invQ; + attrib[attr][1] = vert->attrib[attr][1] * invQ; + attrib[attr][2] = vert->attrib[attr][2] * invQ; + attrib[attr][3] = q; + ATTRIB_LOOP_END } /* need these for fragment programs */ - span->w = 1.0F; - span->dwdx = 0.0F; - span->dwdy = 0.0F; + span->attrStart[FRAG_ATTRIB_WPOS][3] = 1.0F; + span->attrStepX[FRAG_ATTRIB_WPOS][3] = 0.0F; + span->attrStepY[FRAG_ATTRIB_WPOS][3] = 0.0F; #endif #if FLAGS & SMOOTH span->arrayMask |= SPAN_COVERAGE; #endif #if FLAGS & SPRITE - span->arrayMask |= SPAN_TEXTURE; + span->arrayMask |= (SPAN_TEXTURE | SPAN_LAMBDA); #endif /* Compute point size if not known to be one */ @@ -194,7 +189,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) {{ GLint x, y; const GLfloat radius = 0.5F * size; - const GLint z = (GLint) (vert->win[2] + 0.5F); + const GLuint z = (GLuint) (vert->win[2] + 0.5F); GLuint count; #if FLAGS & SMOOTH const GLfloat rmin = radius - 0.7071F; /* 0.7071 = sqrt(2)/2 */ @@ -222,9 +217,9 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) } else { /* even size */ - xmin = (GLint) vert->win[0] - iRadius + 1; + xmin = (GLint) vert->win[0] - iRadius; xmax = xmin + iSize - 1; - ymin = (GLint) vert->win[1] - iRadius + 1; + ymin = (GLint) vert->win[1] - iRadius; ymax = ymin + iSize - 1; } #endif /*SMOOTH*/ @@ -232,12 +227,14 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) /* check if we need to flush */ if (span->end + (xmax-xmin+1) * (ymax-ymin+1) >= MAX_WIDTH || (swrast->_RasterMask & (BLEND_BIT | LOGIC_OP_BIT | MASKING_BIT))) { + if (span->end > 0) { #if FLAGS & RGBA - _swrast_write_rgba_span(ctx, span); + _swrast_write_rgba_span(ctx, span); #else - _swrast_write_index_span(ctx, span); + _swrast_write_index_span(ctx, span); #endif - span->end = 0; + span->end = 0; + } } /* @@ -257,7 +254,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) count = span->end = 0; } for (x = xmin; x <= xmax; x++) { -#if FLAGS & (SPRITE | TEXTURE) +#if FLAGS & SPRITE GLuint u; #endif @@ -275,12 +272,14 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) #if FLAGS & INDEX span->array->index[count] = colorIndex; #endif -#if FLAGS & TEXTURE - for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - if (ctx->Texture._EnabledCoordUnits & (1 << u)) { - COPY_4V(span->array->texcoords[u][count], texcoord[u]); +#if FLAGS & ATTRIBS + ATTRIB_LOOP_BEGIN + COPY_4V(span->array->attribs[attr][count], attrib[attr]); + if (attr < FRAG_ATTRIB_VAR0 && attr >= FRAG_ATTRIB_TEX0) { + const GLuint u = attr - FRAG_ATTRIB_TEX0; + span->array->lambda[u][count] = 0.0; } - } + ATTRIB_LOOP_END #endif #if FLAGS & SMOOTH @@ -325,6 +324,7 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) #if FLAGS & SPRITE for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { + GLuint attr = FRAG_ATTRIB_TEX0 + u; if (ctx->Texture.Unit[u]._ReallyEnabled) { if (ctx->Point.CoordReplace[u]) { GLfloat s = 0.5F + (x + 0.5F - vert->win[0]) / size; @@ -336,16 +336,18 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) if (ctx->Point.SpriteRMode == GL_ZERO) r = 0.0F; else if (ctx->Point.SpriteRMode == GL_S) - r = vert->texcoord[u][0]; + r = vert->attrib[attr][0]; else /* GL_R */ - r = vert->texcoord[u][2]; - span->array->texcoords[u][count][0] = s; - span->array->texcoords[u][count][1] = t; - span->array->texcoords[u][count][2] = r; - span->array->texcoords[u][count][3] = 1.0F; + r = vert->attrib[attr][2]; + span->array->attribs[attr][count][0] = s; + span->array->attribs[attr][count][1] = t; + span->array->attribs[attr][count][2] = r; + span->array->attribs[attr][count][3] = 1.0F; + span->array->lambda[u][count] = 0.0; /* XXX fix? */ } else { - COPY_4V(span->array->texcoords[u][count], vert->texcoord[u]); + COPY_4V(span->array->attribs[attr][count], + vert->attrib[attr]); } } } @@ -395,12 +397,10 @@ NAME ( GLcontext *ctx, const SWvertex *vert ) #if FLAGS & INDEX span->array->index[count] = colorIndex; #endif -#if FLAGS & TEXTURE - for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - if (ctx->Texture.Unit[u]._ReallyEnabled) { - COPY_4V(span->array->texcoords[u][count], texcoord[u]); - } - } +#if FLAGS & ATTRIBS + ATTRIB_LOOP_BEGIN + COPY_4V(span->array->attribs[attr][count], attribs[attr]); + ATTRIB_LOOP_END #endif span->array->x[count] = (GLint) vert->win[0]; diff --git a/dist/Mesa/src/mesa/swrast/s_span.c b/dist/Mesa/src/mesa/swrast/s_span.c index d14310541..5814400b0 100644 --- a/dist/Mesa/src/mesa/swrast/s_span.c +++ b/dist/Mesa/src/mesa/swrast/s_span.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 6.5.3 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -35,17 +35,17 @@ #include "context.h" #include "macros.h" #include "imports.h" +#include "image.h" #include "s_atifragshader.h" #include "s_alpha.h" -#include "s_arbshader.h" #include "s_blend.h" #include "s_context.h" #include "s_depth.h" #include "s_fog.h" #include "s_logic.h" #include "s_masking.h" -#include "s_nvfragprog.h" +#include "s_fragprog.h" #include "s_span.h" #include "s_stencil.h" #include "s_texcombine.h" @@ -56,27 +56,41 @@ * Used during setup for glDraw/CopyPixels. */ void -_swrast_span_default_z( GLcontext *ctx, struct sw_span *span ) +_swrast_span_default_z( GLcontext *ctx, SWspan *span ) { const GLfloat depthMax = ctx->DrawBuffer->_DepthMaxF; if (ctx->DrawBuffer->Visual.depthBits <= 16) span->z = FloatToFixed(ctx->Current.RasterPos[2] * depthMax + 0.5F); - else - span->z = (GLint) (ctx->Current.RasterPos[2] * depthMax + 0.5F); + else { + GLfloat tmpf = ctx->Current.RasterPos[2] * depthMax; + tmpf = MIN2(tmpf, depthMax); + span->z = (GLint) tmpf; + } span->zStep = 0; span->interpMask |= SPAN_Z; } /** - * Init span's fog interpolation values to the RasterPos fog. + * Init span's fogcoord interpolation values to the RasterPos fog. * Used during setup for glDraw/CopyPixels. */ void -_swrast_span_default_fog( GLcontext *ctx, struct sw_span *span ) +_swrast_span_default_fog( GLcontext *ctx, SWspan *span ) { - span->fog = _swrast_z_to_fogfactor(ctx, ctx->Current.RasterDistance); - span->fogStep = span->dfogdx = span->dfogdy = 0.0F; + const SWcontext *swrast = SWRAST_CONTEXT(ctx); + GLfloat fogVal; /* a coord or a blend factor */ + if (swrast->_PreferPixelFog) { + /* fog blend factors will be computed from fog coordinates per pixel */ + fogVal = ctx->Current.RasterDistance; + } + else { + /* fog blend factor should be computed from fogcoord now */ + fogVal = _swrast_z_to_fogfactor(ctx, ctx->Current.RasterDistance); + } + span->attrStart[FRAG_ATTRIB_FOGC][0] = fogVal; + span->attrStepX[FRAG_ATTRIB_FOGC][0] = 0.0; + span->attrStepY[FRAG_ATTRIB_FOGC][0] = 0.0; span->interpMask |= SPAN_FOG; } @@ -86,7 +100,7 @@ _swrast_span_default_fog( GLcontext *ctx, struct sw_span *span ) * Used during setup for glDraw/CopyPixels. */ void -_swrast_span_default_color( GLcontext *ctx, struct sw_span *span ) +_swrast_span_default_color( GLcontext *ctx, SWspan *span ) { if (ctx->Visual.rgbMode) { GLchan r, g, b, a; @@ -120,97 +134,318 @@ _swrast_span_default_color( GLcontext *ctx, struct sw_span *span ) /** + * Set the span's secondary color info to the current raster position's + * secondary color, when needed (lighting enabled or colorsum enabled). + */ +void +_swrast_span_default_secondary_color(GLcontext *ctx, SWspan *span) +{ + if (ctx->Visual.rgbMode && (ctx->Light.Enabled || ctx->Fog.ColorSumEnabled)) + { + GLchan r, g, b, a; + UNCLAMPED_FLOAT_TO_CHAN(r, ctx->Current.RasterSecondaryColor[0]); + UNCLAMPED_FLOAT_TO_CHAN(g, ctx->Current.RasterSecondaryColor[1]); + UNCLAMPED_FLOAT_TO_CHAN(b, ctx->Current.RasterSecondaryColor[2]); + UNCLAMPED_FLOAT_TO_CHAN(a, ctx->Current.RasterSecondaryColor[3]); +#if CHAN_TYPE == GL_FLOAT + span->specRed = r; + span->specGreen = g; + span->specBlue = b; + /*span->specAlpha = a;*/ +#else + span->specRed = IntToFixed(r); + span->specGreen = IntToFixed(g); + span->specBlue = IntToFixed(b); + /*span->specAlpha = IntToFixed(a);*/ +#endif + span->specRedStep = 0; + span->specGreenStep = 0; + span->specBlueStep = 0; + /*span->specAlphaStep = 0;*/ + span->interpMask |= SPAN_SPEC; + } +} + + +/** * Init span's texcoord interpolation values to the RasterPos texcoords. * Used during setup for glDraw/CopyPixels. */ void -_swrast_span_default_texcoords( GLcontext *ctx, struct sw_span *span ) +_swrast_span_default_texcoords( GLcontext *ctx, SWspan *span ) { GLuint i; for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) { + const GLuint attr = FRAG_ATTRIB_TEX0 + i; const GLfloat *tc = ctx->Current.RasterTexCoords[i]; - if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled) { - COPY_4V(span->tex[i], tc); + if (ctx->FragmentProgram._Current || ctx->ATIFragmentShader._Enabled) { + COPY_4V(span->attrStart[attr], tc); } else if (tc[3] > 0.0F) { /* use (s/q, t/q, r/q, 1) */ - span->tex[i][0] = tc[0] / tc[3]; - span->tex[i][1] = tc[1] / tc[3]; - span->tex[i][2] = tc[2] / tc[3]; - span->tex[i][3] = 1.0; + span->attrStart[attr][0] = tc[0] / tc[3]; + span->attrStart[attr][1] = tc[1] / tc[3]; + span->attrStart[attr][2] = tc[2] / tc[3]; + span->attrStart[attr][3] = 1.0; } else { - ASSIGN_4V(span->tex[i], 0.0F, 0.0F, 0.0F, 1.0F); + ASSIGN_4V(span->attrStart[attr], 0.0F, 0.0F, 0.0F, 1.0F); } - ASSIGN_4V(span->texStepX[i], 0.0F, 0.0F, 0.0F, 0.0F); - ASSIGN_4V(span->texStepY[i], 0.0F, 0.0F, 0.0F, 0.0F); + ASSIGN_4V(span->attrStepX[attr], 0.0F, 0.0F, 0.0F, 0.0F); + ASSIGN_4V(span->attrStepY[attr], 0.0F, 0.0F, 0.0F, 0.0F); } span->interpMask |= SPAN_TEXTURE; } -/* Fill in the span.color.rgba array from the interpolation values */ -static void -interpolate_colors(GLcontext *ctx, struct sw_span *span) +/** + * Interpolate primary colors to fill in the span->array->color array. + */ +static INLINE void +interpolate_colors(SWspan *span) { const GLuint n = span->end; - GLchan (*rgba)[4] = span->array->rgba; GLuint i; - (void) ctx; ASSERT((span->interpMask & SPAN_RGBA) && - !(span->arrayMask & SPAN_RGBA)); - - if (span->interpMask & SPAN_FLAT) { - /* constant color */ - GLchan color[4]; - color[RCOMP] = FixedToChan(span->red); - color[GCOMP] = FixedToChan(span->green); - color[BCOMP] = FixedToChan(span->blue); - color[ACOMP] = FixedToChan(span->alpha); - for (i = 0; i < n; i++) { - COPY_CHAN4(span->array->rgba[i], color); + !(span->arrayMask & SPAN_RGBA)); + + switch (span->array->ChanType) { +#if CHAN_BITS != 32 + case GL_UNSIGNED_BYTE: + { + GLubyte (*rgba)[4] = span->array->color.sz1.rgba; + if (span->interpMask & SPAN_FLAT) { + GLubyte color[4]; + color[RCOMP] = FixedToInt(span->red); + color[GCOMP] = FixedToInt(span->green); + color[BCOMP] = FixedToInt(span->blue); + color[ACOMP] = FixedToInt(span->alpha); + for (i = 0; i < n; i++) { + COPY_4UBV(rgba[i], color); + } + } + else { + GLfixed r = span->red; + GLfixed g = span->green; + GLfixed b = span->blue; + GLfixed a = span->alpha; + GLint dr = span->redStep; + GLint dg = span->greenStep; + GLint db = span->blueStep; + GLint da = span->alphaStep; + for (i = 0; i < n; i++) { + rgba[i][RCOMP] = FixedToChan(r); + rgba[i][GCOMP] = FixedToChan(g); + rgba[i][BCOMP] = FixedToChan(b); + rgba[i][ACOMP] = FixedToChan(a); + r += dr; + g += dg; + b += db; + a += da; + } + } + } + break; + case GL_UNSIGNED_SHORT: + { + GLushort (*rgba)[4] = span->array->color.sz2.rgba; + if (span->interpMask & SPAN_FLAT) { + GLushort color[4]; + color[RCOMP] = FixedToInt(span->red); + color[GCOMP] = FixedToInt(span->green); + color[BCOMP] = FixedToInt(span->blue); + color[ACOMP] = FixedToInt(span->alpha); + for (i = 0; i < n; i++) { + COPY_4V(rgba[i], color); + } + } + else { + GLushort (*rgba)[4] = span->array->color.sz2.rgba; + GLfixed r, g, b, a; + GLint dr, dg, db, da; + r = span->red; + g = span->green; + b = span->blue; + a = span->alpha; + dr = span->redStep; + dg = span->greenStep; + db = span->blueStep; + da = span->alphaStep; + for (i = 0; i < n; i++) { + rgba[i][RCOMP] = FixedToChan(r); + rgba[i][GCOMP] = FixedToChan(g); + rgba[i][BCOMP] = FixedToChan(b); + rgba[i][ACOMP] = FixedToChan(a); + r += dr; + g += dg; + b += db; + a += da; + } + } + } + break; +#endif + case GL_FLOAT: + { + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat r, g, b, a, dr, dg, db, da; + r = span->red; + g = span->green; + b = span->blue; + a = span->alpha; + if (span->interpMask & SPAN_FLAT) { + dr = dg = db = da = 0.0; + } + else { + dr = span->redStep; + dg = span->greenStep; + db = span->blueStep; + da = span->alphaStep; + } + for (i = 0; i < n; i++) { + rgba[i][RCOMP] = r; + rgba[i][GCOMP] = g; + rgba[i][BCOMP] = b; + rgba[i][ACOMP] = a; + r += dr; + g += dg; + b += db; + a += da; + } } + break; + default: + _mesa_problem(NULL, "bad datatype in interpolate_colors"); } - else { - /* interpolate */ -#if CHAN_TYPE == GL_FLOAT - GLfloat r = span->red; - GLfloat g = span->green; - GLfloat b = span->blue; - GLfloat a = span->alpha; - const GLfloat dr = span->redStep; - const GLfloat dg = span->greenStep; - const GLfloat db = span->blueStep; - const GLfloat da = span->alphaStep; + span->arrayMask |= SPAN_RGBA; +} + + +/** + * Interpolate specular/secondary colors. + */ +static INLINE void +interpolate_specular(SWspan *span) +{ + const GLuint n = span->end; + GLuint i; + + switch (span->array->ChanType) { +#if CHAN_BITS != 32 + case GL_UNSIGNED_BYTE: + { + GLubyte (*spec)[4] = span->array->color.sz1.spec; + if (span->interpMask & SPAN_FLAT) { + GLubyte color[4]; + color[RCOMP] = FixedToInt(span->specRed); + color[GCOMP] = FixedToInt(span->specGreen); + color[BCOMP] = FixedToInt(span->specBlue); + color[ACOMP] = 0; + for (i = 0; i < n; i++) { + COPY_4UBV(spec[i], color); + } + } + else { + GLfixed r = span->specRed; + GLfixed g = span->specGreen; + GLfixed b = span->specBlue; + GLint dr = span->specRedStep; + GLint dg = span->specGreenStep; + GLint db = span->specBlueStep; + for (i = 0; i < n; i++) { + spec[i][RCOMP] = CLAMP(FixedToChan(r), 0, 255); + spec[i][GCOMP] = CLAMP(FixedToChan(g), 0, 255); + spec[i][BCOMP] = CLAMP(FixedToChan(b), 0, 255); + spec[i][ACOMP] = 0; + r += dr; + g += dg; + b += db; + } + } + } + break; + case GL_UNSIGNED_SHORT: + { + GLushort (*spec)[4] = span->array->color.sz2.spec; + if (span->interpMask & SPAN_FLAT) { + GLushort color[4]; + color[RCOMP] = FixedToInt(span->specRed); + color[GCOMP] = FixedToInt(span->specGreen); + color[BCOMP] = FixedToInt(span->specBlue); + color[ACOMP] = 0; + for (i = 0; i < n; i++) { + COPY_4V(spec[i], color); + } + } + else { + GLfixed r = FloatToFixed(span->specRed); + GLfixed g = FloatToFixed(span->specGreen); + GLfixed b = FloatToFixed(span->specBlue); + GLint dr = FloatToFixed(span->specRedStep); + GLint dg = FloatToFixed(span->specGreenStep); + GLint db = FloatToFixed(span->specBlueStep); + for (i = 0; i < n; i++) { + spec[i][RCOMP] = FixedToInt(r); + spec[i][GCOMP] = FixedToInt(g); + spec[i][BCOMP] = FixedToInt(b); + spec[i][ACOMP] = 0; + r += dr; + g += dg; + b += db; + } + } + } + break; +#endif + case GL_FLOAT: + { + GLfloat (*spec)[4] = span->array->attribs[FRAG_ATTRIB_COL1]; +#if CHAN_BITS <= 16 + GLfloat r = CHAN_TO_FLOAT(FixedToChan(span->specRed)); + GLfloat g = CHAN_TO_FLOAT(FixedToChan(span->specGreen)); + GLfloat b = CHAN_TO_FLOAT(FixedToChan(span->specBlue)); #else - GLfixed r = span->red; - GLfixed g = span->green; - GLfixed b = span->blue; - GLfixed a = span->alpha; - const GLint dr = span->redStep; - const GLint dg = span->greenStep; - const GLint db = span->blueStep; - const GLint da = span->alphaStep; + GLfloat r = span->specRed; + GLfloat g = span->specGreen; + GLfloat b = span->specBlue; #endif - for (i = 0; i < n; i++) { - rgba[i][RCOMP] = FixedToChan(r); - rgba[i][GCOMP] = FixedToChan(g); - rgba[i][BCOMP] = FixedToChan(b); - rgba[i][ACOMP] = FixedToChan(a); - r += dr; - g += dg; - b += db; - a += da; + GLfloat dr, dg, db; + if (span->interpMask & SPAN_FLAT) { + dr = dg = db = 0.0; + } + else { +#if CHAN_BITS <= 16 + dr = CHAN_TO_FLOAT(FixedToChan(span->specRedStep)); + dg = CHAN_TO_FLOAT(FixedToChan(span->specGreenStep)); + db = CHAN_TO_FLOAT(FixedToChan(span->specBlueStep)); +#else + dr = span->specRedStep; + dg = span->specGreenStep; + db = span->specBlueStep; +#endif + } + for (i = 0; i < n; i++) { + spec[i][RCOMP] = r; + spec[i][GCOMP] = g; + spec[i][BCOMP] = b; + spec[i][ACOMP] = 0.0F; + r += dr; + g += dg; + b += db; + } } + break; + default: + _mesa_problem(NULL, "bad datatype in interpolate_specular"); } - span->arrayMask |= SPAN_RGBA; + span->arrayMask |= SPAN_SPEC; } /* Fill in the span.color.index array from the interpolation values */ -static void -interpolate_indexes(GLcontext *ctx, struct sw_span *span) +static INLINE void +interpolate_indexes(GLcontext *ctx, SWspan *span) { GLfixed index = span->index; const GLint indexStep = span->indexStep; @@ -240,61 +475,19 @@ interpolate_indexes(GLcontext *ctx, struct sw_span *span) } -/* Fill in the span.->array->spec array from the interpolation values */ -static void -interpolate_specular(GLcontext *ctx, struct sw_span *span) -{ - (void) ctx; - if (span->interpMask & SPAN_FLAT) { - /* constant color */ - const GLchan r = FixedToChan(span->specRed); - const GLchan g = FixedToChan(span->specGreen); - const GLchan b = FixedToChan(span->specBlue); - GLuint i; - for (i = 0; i < span->end; i++) { - span->array->spec[i][RCOMP] = r; - span->array->spec[i][GCOMP] = g; - span->array->spec[i][BCOMP] = b; - } - } - else { - /* interpolate */ -#if CHAN_TYPE == GL_FLOAT - GLfloat r = span->specRed; - GLfloat g = span->specGreen; - GLfloat b = span->specBlue; -#else - GLfixed r = span->specRed; - GLfixed g = span->specGreen; - GLfixed b = span->specBlue; -#endif - GLuint i; - for (i = 0; i < span->end; i++) { - span->array->spec[i][RCOMP] = FixedToChan(r); - span->array->spec[i][GCOMP] = FixedToChan(g); - span->array->spec[i][BCOMP] = FixedToChan(b); - r += span->specRedStep; - g += span->specGreenStep; - b += span->specBlueStep; - } - } - span->arrayMask |= SPAN_SPEC; -} - - /* Fill in the span.array.fog values from the interpolation values */ -static void -interpolate_fog(const GLcontext *ctx, struct sw_span *span) +static INLINE void +interpolate_fog(const GLcontext *ctx, SWspan *span) { - GLfloat *fog = span->array->fog; - const GLfloat fogStep = span->fogStep; - GLfloat fogCoord = span->fog; + GLfloat (*fog)[4] = span->array->attribs[FRAG_ATTRIB_FOGC]; + const GLfloat fogStep = span->attrStepX[FRAG_ATTRIB_FOGC][0]; + GLfloat fogCoord = span->attrStart[FRAG_ATTRIB_FOGC][0]; const GLuint haveW = (span->interpMask & SPAN_W); - const GLfloat wStep = haveW ? span->dwdx : 0.0F; - GLfloat w = haveW ? span->w : 1.0F; + const GLfloat wStep = haveW ? span->attrStepX[FRAG_ATTRIB_WPOS][3] : 0.0F; + GLfloat w = haveW ? span->attrStart[FRAG_ATTRIB_WPOS][3] : 1.0F; GLuint i; for (i = 0; i < span->end; i++) { - fog[i] = fogCoord / w; + fog[i][0] = fogCoord / w; fogCoord += fogStep; w += wStep; } @@ -304,7 +497,7 @@ interpolate_fog(const GLcontext *ctx, struct sw_span *span) /* Fill in the span.zArray array from the interpolation values */ void -_swrast_span_interpolate_z( const GLcontext *ctx, struct sw_span *span ) +_swrast_span_interpolate_z( const GLcontext *ctx, SWspan *span ) { const GLuint n = span->end; GLuint i; @@ -392,311 +585,190 @@ _swrast_compute_lambda(GLfloat dsdx, GLfloat dsdy, GLfloat dtdx, GLfloat dtdy, * or user-written code. */ static void -interpolate_texcoords(GLcontext *ctx, struct sw_span *span) +interpolate_texcoords(GLcontext *ctx, SWspan *span) { + const GLuint maxUnit + = (ctx->Texture._EnabledCoordUnits > 1) ? ctx->Const.MaxTextureUnits : 1; + GLuint u; + ASSERT(span->interpMask & SPAN_TEXTURE); ASSERT(!(span->arrayMask & SPAN_TEXTURE)); - if (ctx->Texture._EnabledCoordUnits > 1) { - /* multitexture */ - GLuint u; - span->arrayMask |= SPAN_TEXTURE; - /* XXX CoordUnits vs. ImageUnits */ - for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - if (ctx->Texture._EnabledCoordUnits & (1 << u)) { - const struct gl_texture_object *obj =ctx->Texture.Unit[u]._Current; - GLfloat texW, texH; - GLboolean needLambda; - if (obj) { - const struct gl_texture_image *img = obj->Image[0][obj->BaseLevel]; - needLambda = (obj->MinFilter != obj->MagFilter) - || ctx->FragmentProgram._Active; - texW = img->WidthScale; - texH = img->HeightScale; - } - else { - /* using a fragment program */ - texW = 1.0; - texH = 1.0; - needLambda = GL_FALSE; - } - if (needLambda) { - GLfloat (*texcoord)[4] = span->array->texcoords[u]; - GLfloat *lambda = span->array->lambda[u]; - const GLfloat dsdx = span->texStepX[u][0]; - const GLfloat dsdy = span->texStepY[u][0]; - const GLfloat dtdx = span->texStepX[u][1]; - const GLfloat dtdy = span->texStepY[u][1]; - const GLfloat drdx = span->texStepX[u][2]; - const GLfloat dqdx = span->texStepX[u][3]; - const GLfloat dqdy = span->texStepY[u][3]; - GLfloat s = span->tex[u][0]; - GLfloat t = span->tex[u][1]; - GLfloat r = span->tex[u][2]; - GLfloat q = span->tex[u][3]; - GLuint i; - if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled || - ctx->ShaderObjects._FragmentShaderPresent) { - /* do perspective correction but don't divide s, t, r by q */ - const GLfloat dwdx = span->dwdx; - GLfloat w = span->w; - for (i = 0; i < span->end; i++) { - const GLfloat invW = 1.0F / w; - texcoord[i][0] = s * invW; - texcoord[i][1] = t * invW; - texcoord[i][2] = r * invW; - texcoord[i][3] = q * invW; - lambda[i] = _swrast_compute_lambda(dsdx, dsdy, dtdx, dtdy, - dqdx, dqdy, texW, texH, - s, t, q, invW); - s += dsdx; - t += dtdx; - r += drdx; - q += dqdx; - w += dwdx; - } + span->arrayMask |= SPAN_TEXTURE; + + /* XXX CoordUnits vs. ImageUnits */ + for (u = 0; u < maxUnit; u++) { + if (ctx->Texture._EnabledCoordUnits & (1 << u)) { + const GLuint attr = FRAG_ATTRIB_TEX0 + u; + const struct gl_texture_object *obj = ctx->Texture.Unit[u]._Current; + GLfloat texW, texH; + GLboolean needLambda; + GLfloat (*texcoord)[4] = span->array->attribs[attr]; + GLfloat *lambda = span->array->lambda[u]; + const GLfloat dsdx = span->attrStepX[attr][0]; + const GLfloat dsdy = span->attrStepY[attr][0]; + const GLfloat dtdx = span->attrStepX[attr][1]; + const GLfloat dtdy = span->attrStepY[attr][1]; + const GLfloat drdx = span->attrStepX[attr][2]; + const GLfloat dqdx = span->attrStepX[attr][3]; + const GLfloat dqdy = span->attrStepY[attr][3]; + GLfloat s = span->attrStart[attr][0]; + GLfloat t = span->attrStart[attr][1]; + GLfloat r = span->attrStart[attr][2]; + GLfloat q = span->attrStart[attr][3]; + + if (obj) { + const struct gl_texture_image *img = obj->Image[0][obj->BaseLevel]; + needLambda = (obj->MinFilter != obj->MagFilter) + || ctx->FragmentProgram._Current; + texW = img->WidthScale; + texH = img->HeightScale; + } + else { + /* using a fragment program */ + texW = 1.0; + texH = 1.0; + needLambda = GL_FALSE; + } + if (needLambda) { + GLuint i; + if (ctx->FragmentProgram._Current + || ctx->ATIFragmentShader._Enabled) { + /* do perspective correction but don't divide s, t, r by q */ + const GLfloat dwdx = span->attrStepX[FRAG_ATTRIB_WPOS][3]; + GLfloat w = span->attrStart[FRAG_ATTRIB_WPOS][3]; + for (i = 0; i < span->end; i++) { + const GLfloat invW = 1.0F / w; + texcoord[i][0] = s * invW; + texcoord[i][1] = t * invW; + texcoord[i][2] = r * invW; + texcoord[i][3] = q * invW; + lambda[i] = _swrast_compute_lambda(dsdx, dsdy, dtdx, dtdy, + dqdx, dqdy, texW, texH, + s, t, q, invW); + s += dsdx; + t += dtdx; + r += drdx; + q += dqdx; + w += dwdx; } - else { - for (i = 0; i < span->end; i++) { - const GLfloat invQ = (q == 0.0F) ? 1.0F : (1.0F / q); - texcoord[i][0] = s * invQ; - texcoord[i][1] = t * invQ; - texcoord[i][2] = r * invQ; - texcoord[i][3] = q; - lambda[i] = _swrast_compute_lambda(dsdx, dsdy, dtdx, dtdy, - dqdx, dqdy, texW, texH, - s, t, q, invQ); - s += dsdx; - t += dtdx; - r += drdx; - q += dqdx; - } - } - span->arrayMask |= SPAN_LAMBDA; } else { - GLfloat (*texcoord)[4] = span->array->texcoords[u]; - GLfloat *lambda = span->array->lambda[u]; - const GLfloat dsdx = span->texStepX[u][0]; - const GLfloat dtdx = span->texStepX[u][1]; - const GLfloat drdx = span->texStepX[u][2]; - const GLfloat dqdx = span->texStepX[u][3]; - GLfloat s = span->tex[u][0]; - GLfloat t = span->tex[u][1]; - GLfloat r = span->tex[u][2]; - GLfloat q = span->tex[u][3]; - GLuint i; - if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled || - ctx->ShaderObjects._FragmentShaderPresent) { - /* do perspective correction but don't divide s, t, r by q */ - const GLfloat dwdx = span->dwdx; - GLfloat w = span->w; - for (i = 0; i < span->end; i++) { - const GLfloat invW = 1.0F / w; - texcoord[i][0] = s * invW; - texcoord[i][1] = t * invW; - texcoord[i][2] = r * invW; - texcoord[i][3] = q * invW; - lambda[i] = 0.0; - s += dsdx; - t += dtdx; - r += drdx; - q += dqdx; - w += dwdx; - } - } - else if (dqdx == 0.0F) { - /* Ortho projection or polygon's parallel to window X axis */ + for (i = 0; i < span->end; i++) { const GLfloat invQ = (q == 0.0F) ? 1.0F : (1.0F / q); - for (i = 0; i < span->end; i++) { - texcoord[i][0] = s * invQ; - texcoord[i][1] = t * invQ; - texcoord[i][2] = r * invQ; - texcoord[i][3] = q; - lambda[i] = 0.0; - s += dsdx; - t += dtdx; - r += drdx; - } + texcoord[i][0] = s * invQ; + texcoord[i][1] = t * invQ; + texcoord[i][2] = r * invQ; + texcoord[i][3] = q; + lambda[i] = _swrast_compute_lambda(dsdx, dsdy, dtdx, dtdy, + dqdx, dqdy, texW, texH, + s, t, q, invQ); + s += dsdx; + t += dtdx; + r += drdx; + q += dqdx; } - else { - for (i = 0; i < span->end; i++) { - const GLfloat invQ = (q == 0.0F) ? 1.0F : (1.0F / q); - texcoord[i][0] = s * invQ; - texcoord[i][1] = t * invQ; - texcoord[i][2] = r * invQ; - texcoord[i][3] = q; - lambda[i] = 0.0; - s += dsdx; - t += dtdx; - r += drdx; - q += dqdx; - } - } - } /* lambda */ - } /* if */ - } /* for */ - } - else { - /* single texture */ - const struct gl_texture_object *obj = ctx->Texture.Unit[0]._Current; - GLfloat texW, texH; - GLboolean needLambda; - if (obj) { - const struct gl_texture_image *img = obj->Image[0][obj->BaseLevel]; - needLambda = (obj->MinFilter != obj->MagFilter) - || ctx->FragmentProgram._Active; - texW = (GLfloat) img->WidthScale; - texH = (GLfloat) img->HeightScale; - } - else { - needLambda = GL_FALSE; - texW = texH = 1.0; - } - span->arrayMask |= SPAN_TEXTURE; - if (needLambda) { - /* just texture unit 0, with lambda */ - GLfloat (*texcoord)[4] = span->array->texcoords[0]; - GLfloat *lambda = span->array->lambda[0]; - const GLfloat dsdx = span->texStepX[0][0]; - const GLfloat dsdy = span->texStepY[0][0]; - const GLfloat dtdx = span->texStepX[0][1]; - const GLfloat dtdy = span->texStepY[0][1]; - const GLfloat drdx = span->texStepX[0][2]; - const GLfloat dqdx = span->texStepX[0][3]; - const GLfloat dqdy = span->texStepY[0][3]; - GLfloat s = span->tex[0][0]; - GLfloat t = span->tex[0][1]; - GLfloat r = span->tex[0][2]; - GLfloat q = span->tex[0][3]; - GLuint i; - if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled || - ctx->ShaderObjects._FragmentShaderPresent) { - /* do perspective correction but don't divide s, t, r by q */ - const GLfloat dwdx = span->dwdx; - GLfloat w = span->w; - for (i = 0; i < span->end; i++) { - const GLfloat invW = 1.0F / w; - texcoord[i][0] = s * invW; - texcoord[i][1] = t * invW; - texcoord[i][2] = r * invW; - texcoord[i][3] = q * invW; - lambda[i] = _swrast_compute_lambda(dsdx, dsdy, dtdx, dtdy, - dqdx, dqdy, texW, texH, - s, t, q, invW); - s += dsdx; - t += dtdx; - r += drdx; - q += dqdx; - w += dwdx; } + span->arrayMask |= SPAN_LAMBDA; } else { - /* tex.c */ - for (i = 0; i < span->end; i++) { - const GLfloat invQ = (q == 0.0F) ? 1.0F : (1.0F / q); - lambda[i] = _swrast_compute_lambda(dsdx, dsdy, dtdx, dtdy, - dqdx, dqdy, texW, texH, - s, t, q, invQ); - texcoord[i][0] = s * invQ; - texcoord[i][1] = t * invQ; - texcoord[i][2] = r * invQ; - texcoord[i][3] = q; - s += dsdx; - t += dtdx; - r += drdx; - q += dqdx; - } - } - span->arrayMask |= SPAN_LAMBDA; - } - else { - /* just texture 0, without lambda */ - GLfloat (*texcoord)[4] = span->array->texcoords[0]; - const GLfloat dsdx = span->texStepX[0][0]; - const GLfloat dtdx = span->texStepX[0][1]; - const GLfloat drdx = span->texStepX[0][2]; - const GLfloat dqdx = span->texStepX[0][3]; - GLfloat s = span->tex[0][0]; - GLfloat t = span->tex[0][1]; - GLfloat r = span->tex[0][2]; - GLfloat q = span->tex[0][3]; - GLuint i; - if (ctx->FragmentProgram._Active || ctx->ATIFragmentShader._Enabled || - ctx->ShaderObjects._FragmentShaderPresent) { - /* do perspective correction but don't divide s, t, r by q */ - const GLfloat dwdx = span->dwdx; - GLfloat w = span->w; - for (i = 0; i < span->end; i++) { - const GLfloat invW = 1.0F / w; - texcoord[i][0] = s * invW; - texcoord[i][1] = t * invW; - texcoord[i][2] = r * invW; - texcoord[i][3] = q * invW; - s += dsdx; - t += dtdx; - r += drdx; - q += dqdx; - w += dwdx; - } - } - else if (dqdx == 0.0F) { - /* Ortho projection or polygon's parallel to window X axis */ - const GLfloat invQ = (q == 0.0F) ? 1.0F : (1.0F / q); - for (i = 0; i < span->end; i++) { - texcoord[i][0] = s * invQ; - texcoord[i][1] = t * invQ; - texcoord[i][2] = r * invQ; - texcoord[i][3] = q; - s += dsdx; - t += dtdx; - r += drdx; + GLuint i; + if (ctx->FragmentProgram._Current || + ctx->ATIFragmentShader._Enabled) { + /* do perspective correction but don't divide s, t, r by q */ + const GLfloat dwdx = span->attrStepX[FRAG_ATTRIB_WPOS][3]; + GLfloat w = span->attrStart[FRAG_ATTRIB_WPOS][3]; + for (i = 0; i < span->end; i++) { + const GLfloat invW = 1.0F / w; + texcoord[i][0] = s * invW; + texcoord[i][1] = t * invW; + texcoord[i][2] = r * invW; + texcoord[i][3] = q * invW; + lambda[i] = 0.0; + s += dsdx; + t += dtdx; + r += drdx; + q += dqdx; + w += dwdx; + } } - } - else { - for (i = 0; i < span->end; i++) { + else if (dqdx == 0.0F) { + /* Ortho projection or polygon's parallel to window X axis */ const GLfloat invQ = (q == 0.0F) ? 1.0F : (1.0F / q); - texcoord[i][0] = s * invQ; - texcoord[i][1] = t * invQ; - texcoord[i][2] = r * invQ; - texcoord[i][3] = q; - s += dsdx; - t += dtdx; - r += drdx; - q += dqdx; + for (i = 0; i < span->end; i++) { + texcoord[i][0] = s * invQ; + texcoord[i][1] = t * invQ; + texcoord[i][2] = r * invQ; + texcoord[i][3] = q; + lambda[i] = 0.0; + s += dsdx; + t += dtdx; + r += drdx; + } } - } - } - } + else { + for (i = 0; i < span->end; i++) { + const GLfloat invQ = (q == 0.0F) ? 1.0F : (1.0F / q); + texcoord[i][0] = s * invQ; + texcoord[i][1] = t * invQ; + texcoord[i][2] = r * invQ; + texcoord[i][3] = q; + lambda[i] = 0.0; + s += dsdx; + t += dtdx; + r += drdx; + q += dqdx; + } + } + } /* lambda */ + } /* if */ + } /* for */ } + /** - * Fill in the span.varying array from the interpolation values. + * Fill in the arrays->attribs[FRAG_ATTRIB_VARx] arrays from the + * interpolation values. + * XXX since interpolants/arrays are getting uniformed, we might merge + * this with interpolate_texcoords(), interpolate_Fog(), etc. someday. */ -static void -interpolate_varying(GLcontext *ctx, struct sw_span *span) +static INLINE void +interpolate_varying(GLcontext *ctx, SWspan *span) { - GLuint i, j; + GLuint var; + const GLbitfield inputsUsed = ctx->FragmentProgram._Current->Base.InputsRead; ASSERT(span->interpMask & SPAN_VARYING); ASSERT(!(span->arrayMask & SPAN_VARYING)); span->arrayMask |= SPAN_VARYING; - for (i = 0; i < MAX_VARYING_VECTORS; i++) { - for (j = 0; j < VARYINGS_PER_VECTOR; j++) { - const GLfloat dvdx = span->varStepX[i][j]; - GLfloat v = span->var[i][j]; - const GLfloat dwdx = span->dwdx; - GLfloat w = span->w; + for (var = 0; var < MAX_VARYING; var++) { + if (inputsUsed & FRAG_BIT_VAR(var)) { + const GLuint attr = FRAG_ATTRIB_VAR0 + var; + const GLfloat dwdx = span->attrStepX[FRAG_ATTRIB_WPOS][3]; + GLfloat w = span->attrStart[FRAG_ATTRIB_WPOS][3]; + const GLfloat dv0dx = span->attrStepX[attr][0]; + const GLfloat dv1dx = span->attrStepX[attr][1]; + const GLfloat dv2dx = span->attrStepX[attr][2]; + const GLfloat dv3dx = span->attrStepX[attr][3]; + GLfloat v0 = span->attrStart[attr][0]; + GLfloat v1 = span->attrStart[attr][1]; + GLfloat v2 = span->attrStart[attr][2]; + GLfloat v3 = span->attrStart[attr][3]; GLuint k; - for (k = 0; k < span->end; k++) { GLfloat invW = 1.0f / w; - span->array->varying[k][i][j] = v * invW; - v += dvdx; + span->array->attribs[attr][k][0] = v0 * invW; + span->array->attribs[attr][k][1] = v1 * invW; + span->array->attribs[attr][k][2] = v2 * invW; + span->array->attribs[attr][k][3] = v3 * invW; + v0 += dv0dx; + v1 += dv1dx; + v2 += dv2dx; + v3 += dv3dx; w += dwdx; } } @@ -705,28 +777,74 @@ interpolate_varying(GLcontext *ctx, struct sw_span *span) /** + * Fill in the arrays->attribs[FRAG_ATTRIB_WPOS] array. + */ +static INLINE void +interpolate_wpos(GLcontext *ctx, SWspan *span) +{ + GLfloat (*wpos)[4] = span->array->attribs[FRAG_ATTRIB_WPOS]; + GLuint i; + const GLfloat zScale = 1.0 / ctx->DrawBuffer->_DepthMaxF; + GLfloat w, dw; + + if (span->arrayMask & SPAN_XY) { + for (i = 0; i < span->end; i++) { + wpos[i][0] = (GLfloat) span->array->x[i]; + wpos[i][1] = (GLfloat) span->array->y[i]; + } + } + else { + for (i = 0; i < span->end; i++) { + wpos[i][0] = (GLfloat) span->x + i; + wpos[i][1] = (GLfloat) span->y; + } + } + + w = span->attrStart[FRAG_ATTRIB_WPOS][3]; + dw = span->attrStepX[FRAG_ATTRIB_WPOS][3]; + for (i = 0; i < span->end; i++) { + wpos[i][2] = (GLfloat) span->array->z[i] * zScale; + wpos[i][3] = w; + w += dw; + } +} + + +/** * Apply the current polygon stipple pattern to a span of pixels. */ -static void -stipple_polygon_span( GLcontext *ctx, struct sw_span *span ) +static INLINE void +stipple_polygon_span(GLcontext *ctx, SWspan *span) { - const GLuint highbit = 0x80000000; - const GLuint stipple = ctx->PolygonStipple[span->y % 32]; GLubyte *mask = span->array->mask; - GLuint i, m; ASSERT(ctx->Polygon.StippleFlag); - ASSERT((span->arrayMask & SPAN_XY) == 0); - m = highbit >> (GLuint) (span->x % 32); - - for (i = 0; i < span->end; i++) { - if ((m & stipple) == 0) { - mask[i] = 0; + if (span->arrayMask & SPAN_XY) { + /* arrays of x/y pixel coords */ + GLuint i; + for (i = 0; i < span->end; i++) { + const GLint col = span->array->x[i] % 32; + const GLint row = span->array->y[i] % 32; + const GLuint stipple = ctx->PolygonStipple[row]; + if (((1 << col) & stipple) == 0) { + mask[i] = 0; + } } - m = m >> 1; - if (m == 0) { - m = highbit; + } + else { + /* horizontal span of pixels */ + const GLuint highBit = 1 << 31; + const GLuint stipple = ctx->PolygonStipple[span->y % 32]; + GLuint i, m = highBit >> (GLuint) (span->x % 32); + for (i = 0; i < span->end; i++) { + if ((m & stipple) == 0) { + mask[i] = 0; + } + m = m >> 1; + if (m == 0) { + m = highBit; + } } } span->writeAll = GL_FALSE; @@ -740,8 +858,8 @@ stipple_polygon_span( GLcontext *ctx, struct sw_span *span ) * Return: GL_TRUE some pixels still visible * GL_FALSE nothing visible */ -static GLuint -clip_span( GLcontext *ctx, struct sw_span *span ) +static INLINE GLuint +clip_span( GLcontext *ctx, SWspan *span ) { const GLint xmin = ctx->DrawBuffer->_Xmin; const GLint xmax = ctx->DrawBuffer->_Xmax; @@ -809,14 +927,11 @@ clip_span( GLcontext *ctx, struct sw_span *span ) * to their original values before returning. */ void -_swrast_write_index_span( GLcontext *ctx, struct sw_span *span) +_swrast_write_index_span( GLcontext *ctx, SWspan *span) { const SWcontext *swrast = SWRAST_CONTEXT(ctx); - const struct gl_framebuffer *fb = ctx->DrawBuffer; - const GLuint output = 0; const GLbitfield origInterpMask = span->interpMask; const GLbitfield origArrayMask = span->arrayMask; - GLuint buf; ASSERT(span->end <= MAX_WIDTH); ASSERT(span->primitive == GL_POINT || span->primitive == GL_LINE || @@ -931,95 +1046,106 @@ _swrast_write_index_span( GLcontext *ctx, struct sw_span *span) } } - /* Loop over drawing buffers */ - for (buf = 0; buf < fb->_NumColorDrawBuffers[output]; buf++) { - struct gl_renderbuffer *rb = fb->_ColorDrawBuffers[output][buf]; - GLuint indexTemp[MAX_WIDTH], *index32; + /* + * Write to renderbuffers + */ + { + struct gl_framebuffer *fb = ctx->DrawBuffer; + const GLuint output = 0; /* only frag progs can write to other outputs */ + const GLuint numDrawBuffers = fb->_NumColorDrawBuffers[output]; + GLuint indexSave[MAX_WIDTH]; + GLuint buf; - ASSERT(rb->_BaseFormat == GL_COLOR_INDEX); + if (numDrawBuffers > 1) { + /* save indexes for second, third renderbuffer writes */ + _mesa_memcpy(indexSave, span->array->index, + span->end * sizeof(indexSave[0])); + } - if (ctx->Color.IndexLogicOpEnabled || - ctx->Color.IndexMask != 0xffffffff) { - /* make copy of incoming indexes */ - MEMCPY(indexTemp, span->array->index, span->end * sizeof(GLuint)); + for (buf = 0; buf < fb->_NumColorDrawBuffers[output]; buf++) { + struct gl_renderbuffer *rb = fb->_ColorDrawBuffers[output][buf]; + ASSERT(rb->_BaseFormat == GL_COLOR_INDEX); if (ctx->Color.IndexLogicOpEnabled) { - _swrast_logicop_ci_span(ctx, rb, span, indexTemp); + _swrast_logicop_ci_span(ctx, rb, span); } if (ctx->Color.IndexMask != 0xffffffff) { - _swrast_mask_ci_span(ctx, rb, span, indexTemp); + _swrast_mask_ci_span(ctx, rb, span); } - index32 = indexTemp; - } - else { - index32 = span->array->index; - } - - if ((span->interpMask & SPAN_INDEX) && span->indexStep == 0) { - /* all fragments have same color index */ - GLubyte index8; - GLushort index16; - GLuint index32; - void *value; - if (rb->DataType == GL_UNSIGNED_BYTE) { - index8 = FixedToInt(span->index); - value = &index8; - } - else if (rb->DataType == GL_UNSIGNED_SHORT) { - index16 = FixedToInt(span->index); - value = &index16; - } - else { - ASSERT(rb->DataType == GL_UNSIGNED_INT); - index32 = FixedToInt(span->index); - value = &index32; - } + if ((span->interpMask & SPAN_INDEX) && span->indexStep == 0) { + /* all fragments have same color index */ + GLubyte index8; + GLushort index16; + GLuint index32; + void *value; - if (span->arrayMask & SPAN_XY) { - rb->PutMonoValues(ctx, rb, span->end, span->array->x, - span->array->y, value, span->array->mask); - } - else { - rb->PutMonoRow(ctx, rb, span->end, span->x, span->y, - value, span->array->mask); - } - } - else { - /* each fragment is a different color */ - GLubyte index8[MAX_WIDTH]; - GLushort index16[MAX_WIDTH]; - void *values; + if (rb->DataType == GL_UNSIGNED_BYTE) { + index8 = FixedToInt(span->index); + value = &index8; + } + else if (rb->DataType == GL_UNSIGNED_SHORT) { + index16 = FixedToInt(span->index); + value = &index16; + } + else { + ASSERT(rb->DataType == GL_UNSIGNED_INT); + index32 = FixedToInt(span->index); + value = &index32; + } - if (rb->DataType == GL_UNSIGNED_BYTE) { - GLuint k; - for (k = 0; k < span->end; k++) { - index8[k] = (GLubyte) index32[k]; + if (span->arrayMask & SPAN_XY) { + rb->PutMonoValues(ctx, rb, span->end, span->array->x, + span->array->y, value, span->array->mask); } - values = index8; - } - else if (rb->DataType == GL_UNSIGNED_SHORT) { - GLuint k; - for (k = 0; k < span->end; k++) { - index16[k] = (GLushort) index32[k]; + else { + rb->PutMonoRow(ctx, rb, span->end, span->x, span->y, + value, span->array->mask); } - values = index16; } else { - ASSERT(rb->DataType == GL_UNSIGNED_INT); - values = index32; - } + /* each fragment is a different color */ + GLubyte index8[MAX_WIDTH]; + GLushort index16[MAX_WIDTH]; + void *values; + + if (rb->DataType == GL_UNSIGNED_BYTE) { + GLuint k; + for (k = 0; k < span->end; k++) { + index8[k] = (GLubyte) span->array->index[k]; + } + values = index8; + } + else if (rb->DataType == GL_UNSIGNED_SHORT) { + GLuint k; + for (k = 0; k < span->end; k++) { + index16[k] = (GLushort) span->array->index[k]; + } + values = index16; + } + else { + ASSERT(rb->DataType == GL_UNSIGNED_INT); + values = span->array->index; + } - if (span->arrayMask & SPAN_XY) { - rb->PutValues(ctx, rb, span->end, span->array->x, span->array->y, + if (span->arrayMask & SPAN_XY) { + rb->PutValues(ctx, rb, span->end, + span->array->x, span->array->y, + values, span->array->mask); + } + else { + rb->PutRow(ctx, rb, span->end, span->x, span->y, values, span->array->mask); + } } - else { - rb->PutRow(ctx, rb, span->end, span->x, span->y, - values, span->array->mask); + + if (buf + 1 < numDrawBuffers) { + /* restore original span values */ + _mesa_memcpy(span->array->index, indexSave, + span->end * sizeof(indexSave[0])); } - } + } /* for buf */ } span->interpMask = origInterpMask; @@ -1031,80 +1157,233 @@ _swrast_write_index_span( GLcontext *ctx, struct sw_span *span) * Add specular color to base color. This is used only when * GL_LIGHT_MODEL_COLOR_CONTROL = GL_SEPARATE_SPECULAR_COLOR. */ -static void -add_colors(GLuint n, GLchan rgba[][4], GLchan specular[][4] ) +static INLINE void +add_specular(GLcontext *ctx, SWspan *span) { + switch (span->array->ChanType) { + case GL_UNSIGNED_BYTE: + { + GLubyte (*rgba)[4] = span->array->color.sz1.rgba; + GLubyte (*spec)[4] = span->array->color.sz1.spec; + GLuint i; + for (i = 0; i < span->end; i++) { + GLint r = rgba[i][RCOMP] + spec[i][RCOMP]; + GLint g = rgba[i][GCOMP] + spec[i][GCOMP]; + GLint b = rgba[i][BCOMP] + spec[i][BCOMP]; + GLint a = rgba[i][ACOMP] + spec[i][ACOMP]; + rgba[i][RCOMP] = MIN2(r, 255); + rgba[i][GCOMP] = MIN2(g, 255); + rgba[i][BCOMP] = MIN2(b, 255); + rgba[i][ACOMP] = MIN2(a, 255); + } + } + break; + case GL_UNSIGNED_SHORT: + { + GLushort (*rgba)[4] = span->array->color.sz2.rgba; + GLushort (*spec)[4] = span->array->color.sz2.spec; + GLuint i; + for (i = 0; i < span->end; i++) { + GLint r = rgba[i][RCOMP] + spec[i][RCOMP]; + GLint g = rgba[i][GCOMP] + spec[i][GCOMP]; + GLint b = rgba[i][BCOMP] + spec[i][BCOMP]; + GLint a = rgba[i][ACOMP] + spec[i][ACOMP]; + rgba[i][RCOMP] = MIN2(r, 65535); + rgba[i][GCOMP] = MIN2(g, 65535); + rgba[i][BCOMP] = MIN2(b, 65535); + rgba[i][ACOMP] = MIN2(a, 65535); + } + } + break; + case GL_FLOAT: + { + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + GLfloat (*spec)[4] = span->array->attribs[FRAG_ATTRIB_COL1]; + GLuint i; + for (i = 0; i < span->end; i++) { + rgba[i][RCOMP] += spec[i][RCOMP]; + rgba[i][GCOMP] += spec[i][GCOMP]; + rgba[i][BCOMP] += spec[i][BCOMP]; + rgba[i][ACOMP] += spec[i][ACOMP]; + } + } + break; + default: + _mesa_problem(ctx, "Invalid datatype in add_specular"); + } +} + + +/** + * Apply antialiasing coverage value to alpha values. + */ +static INLINE void +apply_aa_coverage(SWspan *span) +{ + const GLfloat *coverage = span->array->coverage; GLuint i; - for (i = 0; i < n; i++) { -#if CHAN_TYPE == GL_FLOAT - /* no clamping */ - rgba[i][RCOMP] += specular[i][RCOMP]; - rgba[i][GCOMP] += specular[i][GCOMP]; - rgba[i][BCOMP] += specular[i][BCOMP]; -#else - GLint r = rgba[i][RCOMP] + specular[i][RCOMP]; - GLint g = rgba[i][GCOMP] + specular[i][GCOMP]; - GLint b = rgba[i][BCOMP] + specular[i][BCOMP]; - rgba[i][RCOMP] = (GLchan) MIN2(r, CHAN_MAX); - rgba[i][GCOMP] = (GLchan) MIN2(g, CHAN_MAX); - rgba[i][BCOMP] = (GLchan) MIN2(b, CHAN_MAX); -#endif + if (span->array->ChanType == GL_UNSIGNED_BYTE) { + GLubyte (*rgba)[4] = span->array->color.sz1.rgba; + for (i = 0; i < span->end; i++) { + const GLfloat a = rgba[i][ACOMP] * coverage[i]; + rgba[i][ACOMP] = (GLubyte) CLAMP(a, 0.0, 255.0); + ASSERT(coverage[i] >= 0.0); + ASSERT(coverage[i] <= 1.0); + } + } + else if (span->array->ChanType == GL_UNSIGNED_SHORT) { + GLushort (*rgba)[4] = span->array->color.sz2.rgba; + for (i = 0; i < span->end; i++) { + const GLfloat a = rgba[i][ACOMP] * coverage[i]; + rgba[i][ACOMP] = (GLushort) CLAMP(a, 0.0, 65535.0); + } + } + else { + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; + for (i = 0; i < span->end; i++) { + rgba[i][ACOMP] = rgba[i][ACOMP] * coverage[i]; + } } } /** - * XXX merge this code into the _swrast_write_rgba_span() routine! - * - * Draw to more than one RGBA color buffer (or none). - * All fragment operations, up to (but not) blending/logicop should - * have been done first. + * Clamp span's float colors to [0,1] */ -static void -multi_write_rgba_span( GLcontext *ctx, struct sw_span *span ) +static INLINE void +clamp_colors(SWspan *span) { - const GLuint colorMask = *((GLuint *) ctx->Color.ColorMask); - struct gl_framebuffer *fb = ctx->DrawBuffer; - const GLuint output = 0; + GLfloat (*rgba)[4] = span->array->attribs[FRAG_ATTRIB_COL0]; GLuint i; + ASSERT(span->array->ChanType == GL_FLOAT); + for (i = 0; i < span->end; i++) { + rgba[i][RCOMP] = CLAMP(rgba[i][RCOMP], 0.0F, 1.0F); + rgba[i][GCOMP] = CLAMP(rgba[i][GCOMP], 0.0F, 1.0F); + rgba[i][BCOMP] = CLAMP(rgba[i][BCOMP], 0.0F, 1.0F); + rgba[i][ACOMP] = CLAMP(rgba[i][ACOMP], 0.0F, 1.0F); + } +} - ASSERT(span->end < MAX_WIDTH); - ASSERT(colorMask != 0x0); - for (i = 0; i < fb->_NumColorDrawBuffers[output]; i++) { - struct gl_renderbuffer *rb = fb->_ColorDrawBuffers[output][i]; - GLchan rgbaTmp[MAX_WIDTH][4]; +/** + * Convert the span's color arrays to the given type. + * The only way 'output' can be greater than one is when we have a fragment + * program that writes to gl_FragData[1] or higher. + * \param output which fragment program color output is being processed + */ +static INLINE void +convert_color_type(SWspan *span, GLenum newType, GLuint output) +{ + GLvoid *src, *dst; - /* make copy of incoming colors */ - MEMCPY( rgbaTmp, span->array->rgba, 4 * span->end * sizeof(GLchan) ); + if (output > 0 || span->array->ChanType == GL_FLOAT) { + src = span->array->attribs[FRAG_ATTRIB_COL0 + output]; + span->array->ChanType = GL_FLOAT; + } + else if (span->array->ChanType == GL_UNSIGNED_BYTE) { + src = span->array->color.sz1.rgba; + } + else { + ASSERT(span->array->ChanType == GL_UNSIGNED_SHORT); + src = span->array->color.sz2.rgba; + } + + if (newType == GL_UNSIGNED_BYTE) { + dst = span->array->color.sz1.rgba; + } + else if (newType == GL_UNSIGNED_SHORT) { + dst = span->array->color.sz2.rgba; + } + else { + dst = span->array->attribs[FRAG_ATTRIB_COL0]; + } + + _mesa_convert_colors(span->array->ChanType, src, + newType, dst, + span->end, span->array->mask); + + span->array->ChanType = newType; +} - if (ctx->Color._LogicOpEnabled) { - _swrast_logicop_rgba_span(ctx, rb, span, rgbaTmp); - } - else if (ctx->Color.BlendEnabled) { - _swrast_blend_span(ctx, rb, span, rgbaTmp); - } - if (colorMask != 0xffffffff) { - _swrast_mask_rgba_span(ctx, rb, span, rgbaTmp); + +/** + * Apply fragment shader, fragment program or normal texturing to span. + */ +static INLINE void +shade_texture_span(GLcontext *ctx, SWspan *span) +{ + GLbitfield inputsRead; + + /* Determine which fragment attributes are actually needed */ + if (ctx->FragmentProgram._Current) { + inputsRead = ctx->FragmentProgram._Current->Base.InputsRead; + } + else { + /* XXX we could be a bit smarter about this */ + inputsRead = ~0; + } + + if ((inputsRead & FRAG_BIT_COL0) && (span->interpMask & SPAN_RGBA)) + interpolate_colors(span); + + if (ctx->Texture._EnabledCoordUnits && (span->interpMask & SPAN_TEXTURE)) + interpolate_texcoords(ctx, span); + + if (ctx->FragmentProgram._Current || + ctx->ATIFragmentShader._Enabled) { + /* use float colors if running a fragment program or shader */ + const GLenum oldType = span->array->ChanType; + const GLenum newType = GL_FLOAT; + + if ((inputsRead & FRAG_BIT_COL0) && (oldType != newType)) { + GLvoid *src = (oldType == GL_UNSIGNED_BYTE) + ? (GLvoid *) span->array->color.sz1.rgba + : (GLvoid *) span->array->color.sz2.rgba; + assert(span->arrayMask & SPAN_RGBA); + _mesa_convert_colors(oldType, src, + newType, span->array->attribs[FRAG_ATTRIB_COL0], + span->end, span->array->mask); } + span->array->ChanType = newType; + + /* fragment programs/shaders may need specular, fog and Z coords */ + if ((inputsRead & FRAG_BIT_COL1) && (span->interpMask & SPAN_SPEC)) + interpolate_specular(span); + + if ((inputsRead & FRAG_BIT_FOGC) && (span->interpMask & SPAN_FOG)) + interpolate_fog(ctx, span); + + if (span->interpMask & SPAN_Z) + _swrast_span_interpolate_z (ctx, span); - if (span->arrayMask & SPAN_XY) { - /* array of pixel coords */ - ASSERT(rb->PutValues); - rb->PutValues(ctx, rb, span->end, span->array->x, - span->array->y, rgbaTmp, span->array->mask); + if ((inputsRead >= FRAG_BIT_VAR0) && (span->interpMask & SPAN_VARYING)) + interpolate_varying(ctx, span); + +#if 0 + if (inputsRead & FRAG_BIT_WPOS) +#else + /* XXX always interpolate wpos so that DDX/DDY work */ +#endif + interpolate_wpos(ctx, span); + + /* Run fragment program/shader now */ + if (ctx->FragmentProgram._Current) { + _swrast_exec_fragment_program(ctx, span); } else { - /* horizontal run of pixels */ - ASSERT(rb->PutRow); - rb->PutRow(ctx, rb, span->end, span->x, span->y, rgbaTmp, - span->array->mask); + ASSERT(ctx->ATIFragmentShader._Enabled); + _swrast_exec_fragment_shader(ctx, span); } } + else if (ctx->Texture._EnabledUnits && (span->arrayMask & SPAN_TEXTURE)) { + /* conventional texturing */ + _swrast_texture_span(ctx, span); + } } + /** * Apply all the per-fragment operations to a span. * This now includes texturing (_swrast_write_texture_span() is history). @@ -1113,26 +1392,67 @@ multi_write_rgba_span( GLcontext *ctx, struct sw_span *span ) * to their original values before returning. */ void -_swrast_write_rgba_span( GLcontext *ctx, struct sw_span *span) +_swrast_write_rgba_span( GLcontext *ctx, SWspan *span) { + const SWcontext *swrast = SWRAST_CONTEXT(ctx); const GLuint colorMask = *((GLuint *) ctx->Color.ColorMask); - SWcontext *swrast = SWRAST_CONTEXT(ctx); const GLbitfield origInterpMask = span->interpMask; const GLbitfield origArrayMask = span->arrayMask; - const GLboolean deferredTexture = !(ctx->Color.AlphaEnabled || - ctx->FragmentProgram._Active || - ctx->ShaderObjects._FragmentShaderPresent); - - ASSERT(span->primitive == GL_POINT || span->primitive == GL_LINE || - span->primitive == GL_POLYGON || span->primitive == GL_BITMAP); - ASSERT(span->end <= MAX_WIDTH); - ASSERT((span->interpMask & span->arrayMask) == 0); + const GLenum chanType = span->array->ChanType; + const GLboolean shader = (ctx->FragmentProgram._Current + || ctx->ATIFragmentShader._Enabled); + const GLboolean shaderOrTexture = shader || ctx->Texture._EnabledUnits; + struct gl_framebuffer *fb = ctx->DrawBuffer; + GLuint output; + GLboolean deferredTexture; /* printf("%s() interp 0x%x array 0x%x\n", __FUNCTION__, span->interpMask, span->arrayMask); */ + ASSERT(span->primitive == GL_POINT || + span->primitive == GL_LINE || + span->primitive == GL_POLYGON || + span->primitive == GL_BITMAP); + ASSERT(span->end <= MAX_WIDTH); + ASSERT((span->interpMask & span->arrayMask) == 0); + ASSERT((span->interpMask & SPAN_RGBA) ^ (span->arrayMask & SPAN_RGBA)); + + /* check for conditions that prevent deferred shading (doing shading + * after stencil/ztest). + * XXX move this code into state validation. + */ + if (ctx->Color.AlphaEnabled) { + /* alpha test depends on post-texture/shader colors */ + deferredTexture = GL_FALSE; + } + else if (shaderOrTexture) { + if (ctx->FragmentProgram._Current) { + if (ctx->FragmentProgram._Current->Base.OutputsWritten + & (1 << FRAG_RESULT_DEPR)) { + /* Z comes from fragment program/shader */ + deferredTexture = GL_FALSE; + } + else if (ctx->Query.CurrentOcclusionObject) { + /* occlusion query depends on shader discard/kill results */ + deferredTexture = GL_FALSE; + } + else { + deferredTexture = GL_TRUE; + } + } + else { + /* ATI frag shader or conventional texturing */ + deferredTexture = GL_TRUE; + } + } + else { + /* no texturing or shadering */ + deferredTexture = GL_FALSE; + } + + /* Fragment write masks */ if (span->arrayMask & SPAN_MASK) { /* mask was initialized by caller, probably glBitmap */ span->writeAll = GL_FALSE; @@ -1155,10 +1475,10 @@ _swrast_write_rgba_span( GLcontext *ctx, struct sw_span *span) GLuint i; for (i = 0; i < span->end; i++) { if (span->array->mask[i]) { - assert(span->array->x[i] >= ctx->DrawBuffer->_Xmin); - assert(span->array->x[i] < ctx->DrawBuffer->_Xmax); - assert(span->array->y[i] >= ctx->DrawBuffer->_Ymin); - assert(span->array->y[i] < ctx->DrawBuffer->_Ymax); + assert(span->array->x[i] >= fb->_Xmin); + assert(span->array->x[i] < fb->_Xmax); + assert(span->array->y[i] >= fb->_Ymin); + assert(span->array->y[i] < fb->_Ymax); } } } @@ -1169,59 +1489,19 @@ _swrast_write_rgba_span( GLcontext *ctx, struct sw_span *span) stipple_polygon_span(ctx, span); } - /* Interpolate texcoords? */ - if (ctx->Texture._EnabledCoordUnits - && (span->interpMask & SPAN_TEXTURE) - && (span->arrayMask & SPAN_TEXTURE) == 0) { - interpolate_texcoords(ctx, span); - } - - if (ctx->ShaderObjects._FragmentShaderPresent) { - interpolate_varying(ctx, span); - } - /* This is the normal place to compute the resulting fragment color/Z. * As an optimization, we try to defer this until after Z/stencil * testing in order to try to avoid computing colors that we won't * actually need. */ - if (!deferredTexture) { - /* Now we need the rgba array, fill it in if needed */ - if ((span->interpMask & SPAN_RGBA) && (span->arrayMask & SPAN_RGBA) == 0) - interpolate_colors(ctx, span); - - if (span->interpMask & SPAN_SPEC) - interpolate_specular(ctx, span); - - if (span->interpMask & SPAN_FOG) - interpolate_fog(ctx, span); + if (shaderOrTexture && !deferredTexture) { + shade_texture_span(ctx, span); + } - /* Compute fragment colors with fragment program or texture lookups */ -#if FEATURE_ARB_fragment_shader - if (ctx->ShaderObjects._FragmentShaderPresent) { - if (span->interpMask & SPAN_Z) - _swrast_span_interpolate_z (ctx, span); - _swrast_exec_arbshader (ctx, span); - } - else -#endif - if (ctx->FragmentProgram._Active) { - /* frag prog may need Z values */ - if (span->interpMask & SPAN_Z) - _swrast_span_interpolate_z(ctx, span); - _swrast_exec_fragment_program( ctx, span ); - } - else if (ctx->ATIFragmentShader._Enabled) - _swrast_exec_fragment_shader( ctx, span ); - else if (ctx->Texture._EnabledUnits && (span->arrayMask & SPAN_TEXTURE)) - _swrast_texture_span( ctx, span ); - - /* Do the alpha test */ - if (ctx->Color.AlphaEnabled) { - if (!_swrast_alpha_test(ctx, span)) { - span->arrayMask = origArrayMask; - return; - } + /* Do the alpha test */ + if (ctx->Color.AlphaEnabled) { + if (!_swrast_alpha_test(ctx, span)) { + goto end; } } @@ -1230,22 +1510,18 @@ _swrast_write_rgba_span( GLcontext *ctx, struct sw_span *span) if (span->interpMask & SPAN_Z) _swrast_span_interpolate_z(ctx, span); - if (ctx->Stencil.Enabled && ctx->DrawBuffer->Visual.stencilBits > 0) { + if (ctx->Stencil.Enabled && fb->Visual.stencilBits > 0) { /* Combined Z/stencil tests */ if (!_swrast_stencil_and_ztest_span(ctx, span)) { - span->interpMask = origInterpMask; - span->arrayMask = origArrayMask; - return; + goto end; } } - else if (ctx->DrawBuffer->Visual.depthBits > 0) { + else if (fb->Visual.depthBits > 0) { /* Just regular depth testing */ ASSERT(ctx->Depth.Test); ASSERT(span->arrayMask & SPAN_Z); if (!_swrast_depth_test_span(ctx, span)) { - span->interpMask = origInterpMask; - span->arrayMask = origArrayMask; - return; + goto end; } } } @@ -1264,9 +1540,7 @@ _swrast_write_rgba_span( GLcontext *ctx, struct sw_span *span) * the occlusion test. */ if (colorMask == 0x0) { - span->interpMask = origInterpMask; - span->arrayMask = origArrayMask; - return; + goto end; } /* If we were able to defer fragment color computation to now, there's @@ -1274,44 +1548,26 @@ _swrast_write_rgba_span( GLcontext *ctx, struct sw_span *span) * Z/stencil testing. */ if (deferredTexture) { - /* Now we need the rgba array, fill it in if needed */ - if ((span->interpMask & SPAN_RGBA) && (span->arrayMask & SPAN_RGBA) == 0) - interpolate_colors(ctx, span); - - if (span->interpMask & SPAN_SPEC) - interpolate_specular(ctx, span); - - if (span->interpMask & SPAN_FOG) - interpolate_fog(ctx, span); + ASSERT(shaderOrTexture); + shade_texture_span(ctx, span); + } -#if FEATURE_ARB_fragment_shader - if (ctx->ShaderObjects._FragmentShaderPresent) { - if (span->interpMask & SPAN_Z) - _swrast_span_interpolate_z (ctx, span); - _swrast_exec_arbshader (ctx, span); - } - else -#endif - if (ctx->FragmentProgram._Active) - _swrast_exec_fragment_program( ctx, span ); - else if (ctx->ATIFragmentShader._Enabled) - _swrast_exec_fragment_shader( ctx, span ); - else if (ctx->Texture._EnabledUnits && (span->arrayMask & SPAN_TEXTURE)) - _swrast_texture_span( ctx, span ); + if ((span->arrayMask & SPAN_RGBA) == 0) { + interpolate_colors(span); } ASSERT(span->arrayMask & SPAN_RGBA); - if (!ctx->FragmentProgram._Enabled) { + if (!shader) { /* Add base and specular colors */ if (ctx->Fog.ColorSumEnabled || (ctx->Light.Enabled && ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR)) { if (span->interpMask & SPAN_SPEC) { - interpolate_specular(ctx, span); + interpolate_specular(span); } if (span->arrayMask & SPAN_SPEC) { - add_colors( span->end, span->array->rgba, span->array->spec ); + add_specular(ctx, span); } else { /* We probably added the base/specular colors during the @@ -1328,80 +1584,98 @@ _swrast_write_rgba_span( GLcontext *ctx, struct sw_span *span) /* Antialias coverage application */ if (span->arrayMask & SPAN_COVERAGE) { - GLchan (*rgba)[4] = span->array->rgba; - GLfloat *coverage = span->array->coverage; - GLuint i; - for (i = 0; i < span->end; i++) { - rgba[i][ACOMP] = (GLchan) (rgba[i][ACOMP] * coverage[i]); - } + apply_aa_coverage(span); } /* Clamp color/alpha values over the range [0.0, 1.0] before storage */ -#if CHAN_TYPE == GL_FLOAT - if (ctx->Color.ClampFragmentColor) { - GLchan (*rgba)[4] = span->array->rgba; - GLuint i; - for (i = 0; i < span->end; i++) { - rgba[i][RCOMP] = CLAMP(rgba[i][RCOMP], 0.0, CHAN_MAXF); - rgba[i][GCOMP] = CLAMP(rgba[i][GCOMP], 0.0, CHAN_MAXF); - rgba[i][BCOMP] = CLAMP(rgba[i][BCOMP], 0.0, CHAN_MAXF); - rgba[i][ACOMP] = CLAMP(rgba[i][ACOMP], 0.0, CHAN_MAXF); - } - } -#endif - - if (swrast->_RasterMask & MULTI_DRAW_BIT) { - /* need to do blend/logicop separately for each color buffer */ - multi_write_rgba_span(ctx, span); - } - else { - /* normal: write to exactly one buffer */ - struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0][0]; - - if (ctx->Color._LogicOpEnabled) { - _swrast_logicop_rgba_span(ctx, rb, span, span->array->rgba); - } - else if (ctx->Color.BlendEnabled) { - _swrast_blend_span(ctx, rb, span, span->array->rgba); - } - - /* Color component masking */ - if (colorMask != 0xffffffff) { - _swrast_mask_rgba_span(ctx, rb, span, span->array->rgba); - } - - /* Finally, write the pixels to a color buffer */ - if (span->arrayMask & SPAN_XY) { - /* array of pixel coords */ - ASSERT(rb->PutValues); - ASSERT(rb->_BaseFormat == GL_RGB || rb->_BaseFormat == GL_RGBA); - /* XXX check datatype */ - rb->PutValues(ctx, rb, span->end, span->array->x, span->array->y, - span->array->rgba, span->array->mask); - } - else { - /* horizontal run of pixels */ - ASSERT(rb->PutRow); - ASSERT(rb->_BaseFormat == GL_RGB || rb->_BaseFormat == GL_RGBA); - /* XXX check datatype */ - rb->PutRow(ctx, rb, span->end, span->x, span->y, span->array->rgba, - span->writeAll ? NULL : span->array->mask); - } + if (ctx->Color.ClampFragmentColor == GL_TRUE && + span->array->ChanType == GL_FLOAT) { + clamp_colors(span); } + /* + * Write to renderbuffers + */ + /* Loop over color outputs (GL_ARB_draw_buffers) written by frag prog */ + for (output = 0; output < swrast->_NumColorOutputs; output++) { + if (swrast->_ColorOutputsMask & (1 << output)) { + const GLuint numDrawBuffers = fb->_NumColorDrawBuffers[output]; + GLchan rgbaSave[MAX_WIDTH][4]; + GLuint buf; + + ASSERT(numDrawBuffers > 0); + + if (fb->_ColorDrawBuffers[output][0]->DataType + != span->array->ChanType || output > 0) { + convert_color_type(span, + fb->_ColorDrawBuffers[output][0]->DataType, + output); + } + + if (numDrawBuffers > 1) { + /* save colors for second, third renderbuffer writes */ + _mesa_memcpy(rgbaSave, span->array->rgba, + 4 * span->end * sizeof(GLchan)); + } + + /* Loop over renderbuffers (i.e. GL_FRONT_AND_BACK) */ + for (buf = 0; buf < numDrawBuffers; buf++) { + struct gl_renderbuffer *rb = fb->_ColorDrawBuffers[output][buf]; + ASSERT(rb->_BaseFormat == GL_RGBA || rb->_BaseFormat == GL_RGB); + + if (ctx->Color._LogicOpEnabled) { + _swrast_logicop_rgba_span(ctx, rb, span); + } + else if (ctx->Color.BlendEnabled) { + _swrast_blend_span(ctx, rb, span); + } + + if (colorMask != 0xffffffff) { + _swrast_mask_rgba_span(ctx, rb, span); + } + + if (span->arrayMask & SPAN_XY) { + /* array of pixel coords */ + ASSERT(rb->PutValues); + rb->PutValues(ctx, rb, span->end, + span->array->x, span->array->y, + span->array->rgba, span->array->mask); + } + else { + /* horizontal run of pixels */ + ASSERT(rb->PutRow); + rb->PutRow(ctx, rb, span->end, span->x, span->y, + span->array->rgba, + span->writeAll ? NULL: span->array->mask); + } + + if (buf + 1 < numDrawBuffers) { + /* restore original span values */ + _mesa_memcpy(span->array->rgba, rgbaSave, + 4 * span->end * sizeof(GLchan)); + } + } /* for buf */ + } /* if output is written to */ + } /* for output */ + +end: + /* restore these values before returning */ span->interpMask = origInterpMask; span->arrayMask = origArrayMask; + span->array->ChanType = chanType; } - /** - * Read RGBA pixels from frame buffer. Clipping will be done to prevent + * Read RGBA pixels from a renderbuffer. Clipping will be done to prevent * reading ouside the buffer's boundaries. + * \param dstType datatype for returned colors + * \param rgba the returned colors */ void _swrast_read_rgba_span( GLcontext *ctx, struct gl_renderbuffer *rb, - GLuint n, GLint x, GLint y, GLchan rgba[][4] ) + GLuint n, GLint x, GLint y, GLenum dstType, + GLvoid *rgba) { const GLint bufWidth = (GLint) rb->Width; const GLint bufHeight = (GLint) rb->Height; @@ -1443,14 +1717,24 @@ _swrast_read_rgba_span( GLcontext *ctx, struct gl_renderbuffer *rb, ASSERT(rb); ASSERT(rb->GetRow); ASSERT(rb->_BaseFormat == GL_RGB || rb->_BaseFormat == GL_RGBA); - ASSERT(rb->DataType == CHAN_TYPE); - rb->GetRow(ctx, rb, length, x + skip, y, rgba + skip); + + if (rb->DataType == dstType) { + rb->GetRow(ctx, rb, length, x + skip, y, + (GLubyte *) rgba + skip * RGBA_PIXEL_SIZE(rb->DataType)); + } + else { + GLuint temp[MAX_WIDTH * 4]; + rb->GetRow(ctx, rb, length, x + skip, y, temp); + _mesa_convert_colors(rb->DataType, temp, + dstType, (GLubyte *) rgba + skip * RGBA_PIXEL_SIZE(dstType), + length, NULL); + } } } /** - * Read CI pixels from frame buffer. Clipping will be done to prevent + * Read CI pixels from a renderbuffer. Clipping will be done to prevent * reading ouside the buffer's boundaries. */ void @@ -1521,7 +1805,7 @@ _swrast_read_index_span( GLcontext *ctx, struct gl_renderbuffer *rb, * Wrapper for gl_renderbuffer::GetValues() which does clipping to avoid * reading values outside the buffer bounds. * We can use this for reading any format/type of renderbuffer. - * \param valueSize is the size in bytes of each value put into the + * \param valueSize is the size in bytes of each value (pixel) put into the * values array. */ void @@ -1532,7 +1816,8 @@ _swrast_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint i, inCount = 0, inStart = 0; for (i = 0; i < count; i++) { - if (x[i] >= 0 && y[i] >= 0 && x[i] < rb->Width && y[i] < rb->Height) { + if (x[i] >= 0 && y[i] >= 0 && + x[i] < (GLint) rb->Width && y[i] < (GLint) rb->Height) { /* inside */ if (inCount == 0) inStart = i; @@ -1557,6 +1842,7 @@ _swrast_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, /** * Wrapper for gl_renderbuffer::PutRow() which does clipping. + * \param valueSize size of each value (pixel) in bytes */ void _swrast_put_row(GLcontext *ctx, struct gl_renderbuffer *rb, @@ -1565,13 +1851,13 @@ _swrast_put_row(GLcontext *ctx, struct gl_renderbuffer *rb, { GLint skip = 0; - if (y < 0 || y >= rb->Height) + if (y < 0 || y >= (GLint) rb->Height) return; /* above or below */ - if (x + (GLint) count <= 0 || x >= rb->Width) + if (x + (GLint) count <= 0 || x >= (GLint) rb->Width) return; /* entirely left or right */ - if (x + count > rb->Width) { + if ((GLint) (x + count) > (GLint) rb->Width) { /* right clip */ GLint clip = x + count - rb->Width; count -= clip; @@ -1591,6 +1877,7 @@ _swrast_put_row(GLcontext *ctx, struct gl_renderbuffer *rb, /** * Wrapper for gl_renderbuffer::GetRow() which does clipping. + * \param valueSize size of each value (pixel) in bytes */ void _swrast_get_row(GLcontext *ctx, struct gl_renderbuffer *rb, @@ -1599,10 +1886,10 @@ _swrast_get_row(GLcontext *ctx, struct gl_renderbuffer *rb, { GLint skip = 0; - if (y < 0 || y >= rb->Height) + if (y < 0 || y >= (GLint) rb->Height) return; /* above or below */ - if (x + (GLint) count <= 0 || x >= rb->Width) + if (x + (GLint) count <= 0 || x >= (GLint) rb->Width) return; /* entirely left or right */ if (x + count > rb->Width) { @@ -1620,3 +1907,45 @@ _swrast_get_row(GLcontext *ctx, struct gl_renderbuffer *rb, rb->GetRow(ctx, rb, count, x, y, (GLubyte *) values + skip * valueSize); } + + +/** + * Get RGBA pixels from the given renderbuffer. Put the pixel colors into + * the span's specular color arrays. The specular color arrays should no + * longer be needed by time this function is called. + * Used by blending, logicop and masking functions. + * \return pointer to the colors we read. + */ +void * +_swrast_get_dest_rgba(GLcontext *ctx, struct gl_renderbuffer *rb, + SWspan *span) +{ + const GLuint pixelSize = RGBA_PIXEL_SIZE(span->array->ChanType); + void *rbPixels; + + /* + * Determine pixel size (in bytes). + * Point rbPixels to a temporary space (use specular color arrays). + */ + if (span->array->ChanType == GL_UNSIGNED_BYTE) { + rbPixels = span->array->color.sz1.spec; + } + else if (span->array->ChanType == GL_UNSIGNED_SHORT) { + rbPixels = span->array->color.sz2.spec; + } + else { + rbPixels = span->array->attribs[FRAG_ATTRIB_COL1]; + } + + /* Get destination values from renderbuffer */ + if (span->arrayMask & SPAN_XY) { + _swrast_get_values(ctx, rb, span->end, span->array->x, span->array->y, + rbPixels, pixelSize); + } + else { + _swrast_get_row(ctx, rb, span->end, span->x, span->y, + rbPixels, pixelSize); + } + + return rbPixels; +} diff --git a/dist/Mesa/src/mesa/swrast_setup/ss_tritmp.h b/dist/Mesa/src/mesa/swrast_setup/ss_tritmp.h index 61c9b2817..59c534ee5 100644 --- a/dist/Mesa/src/mesa/swrast_setup/ss_tritmp.h +++ b/dist/Mesa/src/mesa/swrast_setup/ss_tritmp.h @@ -55,8 +55,7 @@ static void TAG(triangle)(GLcontext *ctx, GLuint e0, GLuint e1, GLuint e2 ) if (IND & (SS_TWOSIDE_BIT | SS_UNFILLED_BIT)) { facing = (cc < 0.0) ^ ctx->Polygon._FrontBit; - if (ctx->Stencil.TestTwoSide) - ctx->_Facing = facing; /* for 2-sided stencil test */ + ctx->_Facing = facing; if (IND & SS_UNFILLED_BIT) mode = facing ? ctx->Polygon.BackMode : ctx->Polygon.FrontMode; @@ -64,22 +63,24 @@ static void TAG(triangle)(GLcontext *ctx, GLuint e0, GLuint e1, GLuint e2 ) if (facing == 1) { if (IND & SS_TWOSIDE_BIT) { if (IND & SS_RGBA_BIT) { - GLfloat (*vbcolor)[4] = VB->ColorPtr[1]->data; - - COPY_CHAN4(saved_color[0], v[0]->color); - COPY_CHAN4(saved_color[1], v[1]->color); - COPY_CHAN4(saved_color[2], v[2]->color); - - if (VB->ColorPtr[1]->stride) { - SS_COLOR(v[0]->color, vbcolor[e0]); - SS_COLOR(v[1]->color, vbcolor[e1]); - SS_COLOR(v[2]->color, vbcolor[e2]); - } - else { - SS_COLOR(v[0]->color, vbcolor[0]); - SS_COLOR(v[1]->color, vbcolor[0]); - SS_COLOR(v[2]->color, vbcolor[0]); - } + if (VB->ColorPtr[1]) { + GLfloat (*vbcolor)[4] = VB->ColorPtr[1]->data; + + COPY_CHAN4(saved_color[0], v[0]->color); + COPY_CHAN4(saved_color[1], v[1]->color); + COPY_CHAN4(saved_color[2], v[2]->color); + + if (VB->ColorPtr[1]->stride) { + SS_COLOR(v[0]->color, vbcolor[e0]); + SS_COLOR(v[1]->color, vbcolor[e1]); + SS_COLOR(v[2]->color, vbcolor[e2]); + } + else { + SS_COLOR(v[0]->color, vbcolor[0]); + SS_COLOR(v[1]->color, vbcolor[0]); + SS_COLOR(v[2]->color, vbcolor[0]); + } + } if (VB->SecondaryColorPtr[1]) { GLfloat (*vbspec)[4] = VB->SecondaryColorPtr[1]->data; @@ -168,9 +169,12 @@ static void TAG(triangle)(GLcontext *ctx, GLuint e0, GLuint e1, GLuint e2 ) if (IND & SS_TWOSIDE_BIT) { if (facing == 1) { if (IND & SS_RGBA_BIT) { - COPY_CHAN4(v[0]->color, saved_color[0]); - COPY_CHAN4(v[1]->color, saved_color[1]); - COPY_CHAN4(v[2]->color, saved_color[2]); + if (VB->ColorPtr[1]) { + COPY_CHAN4(v[0]->color, saved_color[0]); + COPY_CHAN4(v[1]->color, saved_color[1]); + COPY_CHAN4(v[2]->color, saved_color[2]); + } + if (VB->SecondaryColorPtr[1]) { COPY_CHAN4(v[0]->specular, saved_spec[0]); COPY_CHAN4(v[1]->specular, saved_spec[1]); @@ -194,14 +198,16 @@ static void TAG(quadfunc)( GLcontext *ctx, GLuint v0, { if (IND & SS_UNFILLED_BIT) { struct vertex_buffer *VB = &TNL_CONTEXT(ctx)->vb; - GLubyte ef1 = VB->EdgeFlag[v1]; - GLubyte ef3 = VB->EdgeFlag[v3]; - VB->EdgeFlag[v1] = 0; - TAG(triangle)( ctx, v0, v1, v3 ); - VB->EdgeFlag[v1] = ef1; - VB->EdgeFlag[v3] = 0; - TAG(triangle)( ctx, v1, v2, v3 ); - VB->EdgeFlag[v3] = ef3; + if (VB->EdgeFlag) { /* XXX this test shouldn't be needed (bug 12614) */ + GLubyte ef1 = VB->EdgeFlag[v1]; + GLubyte ef3 = VB->EdgeFlag[v3]; + VB->EdgeFlag[v1] = 0; + TAG(triangle)( ctx, v0, v1, v3 ); + VB->EdgeFlag[v1] = ef1; + VB->EdgeFlag[v3] = 0; + TAG(triangle)( ctx, v1, v2, v3 ); + VB->EdgeFlag[v3] = ef3; + } } else { TAG(triangle)( ctx, v0, v1, v3 ); TAG(triangle)( ctx, v1, v2, v3 ); diff --git a/dist/Mesa/src/mesa/tnl/t_draw.c b/dist/Mesa/src/mesa/tnl/t_draw.c index 5b2b2ae54..ff50d91a1 100644 --- a/dist/Mesa/src/mesa/tnl/t_draw.c +++ b/dist/Mesa/src/mesa/tnl/t_draw.c @@ -1,9 +1,8 @@ - /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.0.2 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -368,7 +367,7 @@ void _tnl_draw_prims( GLcontext *ctx, _tnl_draw_prims ); return; } - else if (max_index >= max) { + else if (max_index > max) { /* The software TNL pipeline has a fixed amount of storage for * vertices and it is necessary to split incoming drawing commands * if they exceed that limit. diff --git a/dist/Mesa/src/mesa/tnl/t_vb_fog.c b/dist/Mesa/src/mesa/tnl/t_vb_fog.c index 51f28c405..d8bca3820 100644 --- a/dist/Mesa/src/mesa/tnl/t_vb_fog.c +++ b/dist/Mesa/src/mesa/tnl/t_vb_fog.c @@ -41,7 +41,6 @@ struct fog_stage_data { GLvector4f fogcoord; /* has actual storage allocated */ - GLvector4f input; /* points into VB->EyePtr Z values */ }; #define FOG_STAGE_DATA(stage) ((struct fog_stage_data *)stage->privatePtr) @@ -91,7 +90,8 @@ init_static_data( void ) * evaluating the GL_LINEAR, GL_EXP or GL_EXP2 fog function. * Fog coordinates are distances from the eye (typically between the * near and far clip plane distances). - * Note the fog (eye Z) coords may be negative so we use ABS(z) below. + * Note that fogcoords may be negative, if eye z is source absolute + * value must be taken earlier. * Fog blend factors are in the range [0,1]. */ static void @@ -114,7 +114,7 @@ compute_fog_blend_factors(GLcontext *ctx, GLvector4f *out, const GLvector4f *in) else d = 1.0F / (ctx->Fog.End - ctx->Fog.Start); for ( i = 0 ; i < n ; i++, STRIDE_F(v, stride)) { - const GLfloat z = FABSF(*v); + const GLfloat z = *v; GLfloat f = (end - z) * d; data[i][0] = CLAMP(f, 0.0F, 1.0F); } @@ -122,14 +122,14 @@ compute_fog_blend_factors(GLcontext *ctx, GLvector4f *out, const GLvector4f *in) case GL_EXP: d = ctx->Fog.Density; for ( i = 0 ; i < n ; i++, STRIDE_F(v,stride)) { - const GLfloat z = FABSF(*v); + const GLfloat z = *v; NEG_EXP( data[i][0], d * z ); } break; case GL_EXP2: d = ctx->Fog.Density*ctx->Fog.Density; for ( i = 0 ; i < n ; i++, STRIDE_F(v, stride)) { - const GLfloat z = FABSF(*v); + const GLfloat z = *v; NEG_EXP( data[i][0], d * z * z ); } break; @@ -148,14 +148,13 @@ run_fog_stage(GLcontext *ctx, struct tnl_pipeline_stage *stage) struct fog_stage_data *store = FOG_STAGE_DATA(stage); GLvector4f *input; - if (ctx->ShaderObjects._VertexShaderPresent) - return GL_TRUE; - - if (!ctx->Fog.Enabled || ctx->VertexProgram._Enabled) + if (!ctx->Fog.Enabled || ctx->VertexProgram._Current) return GL_TRUE; if (ctx->Fog.FogCoordinateSource == GL_FRAGMENT_DEPTH_EXT) { + GLuint i; + GLfloat *coord; /* Fog is computed from vertex or fragment Z values */ /* source = VB->ObjPtr or VB->EyePtr coords */ /* dest = VB->AttribPtr[_TNL_ATTRIB_FOG] = fog stage private storage */ @@ -170,11 +169,10 @@ run_fog_stage(GLcontext *ctx, struct tnl_pipeline_stage *stage) */ input = &store->fogcoord; - /* NOTE: negate plane here so we get positive fog coords! */ - plane[0] = -m[2]; - plane[1] = -m[6]; - plane[2] = -m[10]; - plane[3] = -m[14]; + plane[0] = m[2]; + plane[1] = m[6]; + plane[2] = m[10]; + plane[3] = m[14]; /* Full eye coords weren't required, just calculate the * eye Z values. */ @@ -183,18 +181,29 @@ run_fog_stage(GLcontext *ctx, struct tnl_pipeline_stage *stage) VB->ObjPtr, plane ); input->count = VB->ObjPtr->count; + + /* make sure coords are really positive + NOTE should avoid going through array twice */ + coord = input->start; + for (i = 0; i < input->count; i++) { + *coord = FABSF(*coord); + STRIDE_F(coord, input->stride); + } } else { - /* fog coordinates = eye Z coordinates (use ABS later) */ - input = &store->input; + /* fog coordinates = eye Z coordinates - need to copy for ABS */ + input = &store->fogcoord; if (VB->EyePtr->size < 2) _mesa_vector4f_clean_elem( VB->EyePtr, VB->Count, 2 ); - input->data = (GLfloat (*)[4]) &(VB->EyePtr->data[0][2]); - input->start = VB->EyePtr->start+2; - input->stride = VB->EyePtr->stride; + input->stride = 4 * sizeof(GLfloat); input->count = VB->EyePtr->count; + coord = VB->EyePtr->start; + for (i = 0 ; i < VB->EyePtr->count; i++) { + input->data[i][0] = FABSF(coord[2]); + STRIDE_F(coord, VB->EyePtr->stride); + } } } else { @@ -237,7 +246,6 @@ alloc_fog_data(GLcontext *ctx, struct tnl_pipeline_stage *stage) return GL_FALSE; _mesa_vector4f_alloc( &store->fogcoord, 0, tnl->vb.Size, 32 ); - _mesa_vector4f_init( &store->input, 0, NULL ); if (!inited) init_static_data(); diff --git a/dist/Mesa/src/mesa/tnl/t_vertex_sse.c b/dist/Mesa/src/mesa/tnl/t_vertex_sse.c index ad4cc62d5..9515d9f81 100644 --- a/dist/Mesa/src/mesa/tnl/t_vertex_sse.c +++ b/dist/Mesa/src/mesa/tnl/t_vertex_sse.c @@ -39,6 +39,12 @@ #include "x86/common_x86_asm.h" +/** + * Number of bytes to allocate for generated SSE functions + */ +#define MAX_SSE_CODE_SIZE 1024 + + #define X 0 #define Y 1 #define Z 2 @@ -348,8 +354,6 @@ static GLboolean build_vertex_emit( struct x86_program *p ) struct x86_reg vp1 = x86_make_reg(file_XMM, 2); GLubyte *fixup, *label; - x86_init_func(&p->func); - /* Push a few regs? */ x86_push(&p->func, countEBP); @@ -621,7 +625,10 @@ static GLboolean build_vertex_emit( struct x86_program *p ) x86_pop(&p->func, countEBP); x86_ret(&p->func); + assert(!vtx->emit); vtx->emit = (tnl_emit_func)x86_get_func(&p->func); + + assert( (char *) p->func.csr - (char *) p->func.store <= MAX_SSE_CODE_SIZE ); return GL_TRUE; } @@ -646,7 +653,10 @@ void _tnl_generate_sse_emit( GLcontext *ctx ) p.identity = x86_make_reg(file_XMM, 6); p.chan0 = x86_make_reg(file_XMM, 7); - x86_init_func(&p.func); + if (!x86_init_func(&p.func, MAX_SSE_CODE_SIZE)) { + vtx->emit = NULL; + return; + } if (build_vertex_emit(&p)) { _tnl_register_fastpath( vtx, GL_TRUE ); diff --git a/dist/Mesa/src/mesa/tnl/t_vp_build.c b/dist/Mesa/src/mesa/tnl/t_vp_build.c index 894a13b70..b7bc19772 100644 --- a/dist/Mesa/src/mesa/tnl/t_vp_build.c +++ b/dist/Mesa/src/mesa/tnl/t_vp_build.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.1 * - * Copyright (C) 2006 Tungsten Graphics All Rights Reserved. + * Copyright (C) 2007 Tungsten Graphics 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"), @@ -33,11 +33,14 @@ #include "glheader.h" #include "macros.h" #include "enums.h" -#include "t_context.h" +#include "shader/program.h" +#include "shader/prog_instruction.h" +#include "shader/prog_parameter.h" +#include "shader/prog_print.h" +#include "shader/prog_statevars.h" +#include "t_context.h" /* NOTE: very light dependency on this */ #include "t_vp_build.h" -#include "shader/program.h" -#include "shader/program_instruction.h" struct state_key { unsigned light_global_enabled:1; @@ -382,11 +385,14 @@ static struct ureg register_const4f( struct tnl_program *p, { GLfloat values[4]; GLint idx; + GLuint swizzle; values[0] = s0; values[1] = s1; values[2] = s2; values[3] = s3; - idx = _mesa_add_unnamed_constant( p->program->Base.Parameters, values ); + idx = _mesa_add_unnamed_constant( p->program->Base.Parameters, values, 4, + &swizzle ); + ASSERT(swizzle == SWIZZLE_NOOP); return make_ureg(PROGRAM_STATE_VAR, idx); } @@ -408,40 +414,37 @@ static struct ureg get_identity_param( struct tnl_program *p ) return p->identity; } -static struct ureg register_param6( struct tnl_program *p, +static struct ureg register_param5(struct tnl_program *p, GLint s0, GLint s1, GLint s2, GLint s3, - GLint s4, - GLint s5) + GLint s4) { - GLint tokens[6]; + gl_state_index tokens[STATE_LENGTH]; GLint idx; tokens[0] = s0; tokens[1] = s1; tokens[2] = s2; tokens[3] = s3; tokens[4] = s4; - tokens[5] = s5; idx = _mesa_add_state_reference( p->program->Base.Parameters, tokens ); return make_ureg(PROGRAM_STATE_VAR, idx); } -#define register_param1(p,s0) register_param6(p,s0,0,0,0,0,0) -#define register_param2(p,s0,s1) register_param6(p,s0,s1,0,0,0,0) -#define register_param3(p,s0,s1,s2) register_param6(p,s0,s1,s2,0,0,0) -#define register_param4(p,s0,s1,s2,s3) register_param6(p,s0,s1,s2,s3,0,0) +#define register_param1(p,s0) register_param5(p,s0,0,0,0,0) +#define register_param2(p,s0,s1) register_param5(p,s0,s1,0,0,0) +#define register_param3(p,s0,s1,s2) register_param5(p,s0,s1,s2,0,0) +#define register_param4(p,s0,s1,s2,s3) register_param5(p,s0,s1,s2,s3,0) -static void register_matrix_param6( struct tnl_program *p, - GLint s0, - GLint s1, - GLint s2, - GLint s3, - GLint s4, - GLint s5, +static void register_matrix_param5( struct tnl_program *p, + GLint s0, /* modelview, projection, etc */ + GLint s1, /* texture matrix number */ + GLint s2, /* first row */ + GLint s3, /* last row */ + GLint s4, /* inverse, transpose, etc */ struct ureg *matrix ) { GLint i; @@ -449,14 +452,18 @@ static void register_matrix_param6( struct tnl_program *p, /* This is a bit sad as the support is there to pull the whole * matrix out in one go: */ - for (i = 0; i <= s4 - s3; i++) - matrix[i] = register_param6( p, s0, s1, s2, i, i, s5 ); + for (i = 0; i <= s3 - s2; i++) + matrix[i] = register_param5( p, s0, s1, i, i, s4 ); } +/** + * Convert a ureg source register to a prog_src_register. + */ static void emit_arg( struct prog_src_register *src, struct ureg reg ) { + assert(reg.file != PROGRAM_OUTPUT); src->File = reg.file; src->Index = reg.idx; src->Swizzle = reg.swz; @@ -466,15 +473,24 @@ static void emit_arg( struct prog_src_register *src, src->RelAddr = 0; } +/** + * Convert a ureg dest register to a prog_dst_register. + */ static void emit_dst( struct prog_dst_register *dst, struct ureg reg, GLuint mask ) { + /* Check for legal output register type. UNDEFINED will occur in + * instruction that don't produce a result (like END). + */ + assert(reg.file == PROGRAM_TEMPORARY || + reg.file == PROGRAM_OUTPUT || + reg.file == PROGRAM_UNDEFINED); dst->File = reg.file; dst->Index = reg.idx; /* allow zero as a shorthand for xyzw */ dst->WriteMask = mask ? mask : WRITEMASK_XYZW; - dst->CondMask = COND_TR; - dst->CondSwizzle = 0; + dst->CondMask = COND_TR; /* always pass cond test */ + dst->CondSwizzle = SWIZZLE_NOOP; dst->CondSrc = 0; dst->pad = 0; } @@ -497,7 +513,7 @@ static void debug_insn( struct prog_instruction *inst, const char *fn, static void emit_op3fn(struct tnl_program *p, - GLuint op, + enum prog_opcode op, struct ureg dest, GLuint mask, struct ureg src0, @@ -630,13 +646,13 @@ static struct ureg get_eye_position( struct tnl_program *p ) p->eye_position = reserve_temp(p); if (PREFER_DP4) { - register_matrix_param6( p, STATE_MATRIX, STATE_MODELVIEW, 0, 0, 3, - STATE_MATRIX, modelview ); + register_matrix_param5( p, STATE_MODELVIEW_MATRIX, 0, 0, 3, + 0, modelview ); emit_matrix_transform_vec4(p, p->eye_position, modelview, pos); } else { - register_matrix_param6( p, STATE_MATRIX, STATE_MODELVIEW, 0, 0, 3, + register_matrix_param5( p, STATE_MODELVIEW_MATRIX, 0, 0, 3, STATE_MATRIX_TRANSPOSE, modelview ); emit_transpose_matrix_transform_vec4(p, p->eye_position, modelview, pos); @@ -665,7 +681,7 @@ static struct ureg get_eye_normal( struct tnl_program *p ) struct ureg normal = register_input(p, VERT_ATTRIB_NORMAL ); struct ureg mvinv[3]; - register_matrix_param6( p, STATE_MATRIX, STATE_MODELVIEW, 0, 0, 2, + register_matrix_param5( p, STATE_MODELVIEW_MATRIX, 0, 0, 2, STATE_MATRIX_INVTRANS, mvinv ); p->eye_normal = reserve_temp(p); @@ -683,7 +699,7 @@ static struct ureg get_eye_normal( struct tnl_program *p ) struct ureg rescale = register_param2(p, STATE_INTERNAL, STATE_NORMAL_SCALE); - emit_op2( p, OPCODE_MUL, p->eye_normal, 0, normal, + emit_op2( p, OPCODE_MUL, p->eye_normal, 0, p->eye_normal, swizzle1(rescale, X)); } } @@ -700,12 +716,12 @@ static void build_hpos( struct tnl_program *p ) struct ureg mvp[4]; if (PREFER_DP4) { - register_matrix_param6( p, STATE_MATRIX, STATE_MVP, 0, 0, 3, - STATE_MATRIX, mvp ); + register_matrix_param5( p, STATE_MVP_MATRIX, 0, 0, 3, + 0, mvp ); emit_matrix_transform_vec4( p, hpos, mvp, pos ); } else { - register_matrix_param6( p, STATE_MATRIX, STATE_MVP, 0, 0, 3, + register_matrix_param5( p, STATE_MVP_MATRIX, 0, 0, 3, STATE_MATRIX_TRANSPOSE, mvp ); emit_transpose_matrix_transform_vec4( p, hpos, mvp, pos ); } @@ -806,14 +822,13 @@ static struct ureg calculate_light_attenuation( struct tnl_program *p, /* Calculate spot attenuation: */ if (!p->state->unit[i].light_spotcutoff_is_180) { - struct ureg spot_dir = register_param3(p, STATE_LIGHT, i, - STATE_SPOT_DIRECTION); + struct ureg spot_dir_norm = register_param3(p, STATE_INTERNAL, + STATE_SPOT_DIR_NORMALIZED, i); struct ureg spot = get_temp(p); struct ureg slt = get_temp(p); - - emit_normalize_vec3( p, spot, spot_dir ); /* XXX: precompute! */ - emit_op2(p, OPCODE_DP3, spot, 0, negate(VPpli), spot); - emit_op2(p, OPCODE_SLT, slt, 0, swizzle1(spot_dir,W), spot); + + emit_op2(p, OPCODE_DP3, spot, 0, negate(VPpli), spot_dir_norm); + emit_op2(p, OPCODE_SLT, slt, 0, swizzle1(spot_dir_norm,W), spot); emit_op2(p, OPCODE_POW, spot, 0, spot, swizzle1(attenuation, W)); emit_op2(p, OPCODE_MUL, att, 0, slt, spot); @@ -851,7 +866,7 @@ static struct ureg calculate_light_attenuation( struct tnl_program *p, /* Need to add some addtional parameters to allow lighting in object - * space - STATE_SPOT_DIRECTION and STATE_HALF implicitly assume eye + * space - STATE_SPOT_DIRECTION and STATE_HALF_VECTOR implicitly assume eye * space lighting. */ static void build_lighting( struct tnl_program *p ) @@ -940,20 +955,33 @@ static void build_lighting( struct tnl_program *p ) */ VPpli = register_param3(p, STATE_LIGHT, i, STATE_POSITION_NORMALIZED); - half = register_param3(p, STATE_LIGHT, i, STATE_HALF); + if (p->state->light_local_viewer) { + struct ureg eye_hat = get_eye_position_normalized(p); + half = get_temp(p); + emit_op2(p, OPCODE_SUB, half, 0, VPpli, eye_hat); + emit_normalize_vec3(p, half, half); + } else { + half = register_param3(p, STATE_LIGHT, i, STATE_HALF_VECTOR); + } } else { struct ureg Ppli = register_param3(p, STATE_LIGHT, i, STATE_POSITION); struct ureg V = get_eye_position(p); struct ureg dist = get_temp(p); + struct ureg tmpPpli = get_temp(p); VPpli = get_temp(p); half = get_temp(p); - /* Calulate VPpli vector + /* In homogeneous object coordinates + */ + emit_op1(p, OPCODE_RCP, dist, 0, swizzle1(Ppli, W)); + emit_op2(p, OPCODE_MUL, tmpPpli, 0, Ppli, dist); + + /* Calculate VPpli vector */ - emit_op2(p, OPCODE_SUB, VPpli, 0, Ppli, V); + emit_op2(p, OPCODE_SUB, VPpli, 0, tmpPpli, V); /* Normalize VPpli. The dist value also used in * attenuation below. @@ -985,6 +1013,7 @@ static void build_lighting( struct tnl_program *p ) emit_normalize_vec3(p, half, half); release_temp(p, dist); + release_temp(p, tmpPpli); } /* Calculate dot products: @@ -1094,7 +1123,7 @@ static void build_fog( struct tnl_program *p ) { struct ureg fog = register_output(p, VERT_RESULT_FOGC); struct ureg input; - + if (p->state->fog_source_is_depth) { input = swizzle1(get_eye_position(p), Z); } @@ -1102,41 +1131,48 @@ static void build_fog( struct tnl_program *p ) input = swizzle1(register_input(p, VERT_ATTRIB_FOG), X); } - if (p->state->tnl_do_vertex_fog) { - struct ureg params = register_param1(p, STATE_FOG_PARAMS); + if (p->state->fog_mode && p->state->tnl_do_vertex_fog) { + struct ureg params = register_param2(p, STATE_INTERNAL, + STATE_FOG_PARAMS_OPTIMIZED); struct ureg tmp = get_temp(p); + GLboolean useabs = (p->state->fog_mode != FOG_EXP2); + + if (useabs) { + emit_op1(p, OPCODE_ABS, tmp, 0, input); + } switch (p->state->fog_mode) { case FOG_LINEAR: { struct ureg id = get_identity_param(p); - emit_op2(p, OPCODE_SUB, tmp, 0, swizzle1(params,Z), input); - emit_op2(p, OPCODE_MUL, tmp, 0, tmp, swizzle1(params,W)); + emit_op3(p, OPCODE_MAD, tmp, 0, useabs ? tmp : input, + swizzle1(params,X), swizzle1(params,Y)); emit_op2(p, OPCODE_MAX, tmp, 0, tmp, swizzle1(id,X)); /* saturate */ emit_op2(p, OPCODE_MIN, fog, WRITEMASK_X, tmp, swizzle1(id,W)); break; } case FOG_EXP: - emit_op1(p, OPCODE_ABS, tmp, 0, input); - emit_op2(p, OPCODE_MUL, tmp, 0, tmp, swizzle1(params,X)); - emit_op2(p, OPCODE_POW, fog, WRITEMASK_X, - register_const1f(p, M_E), negate(tmp)); + emit_op2(p, OPCODE_MUL, tmp, 0, useabs ? tmp : input, + swizzle1(params,Z)); + emit_op1(p, OPCODE_EX2, fog, WRITEMASK_X, negate(tmp)); break; case FOG_EXP2: - emit_op2(p, OPCODE_MUL, tmp, 0, input, swizzle1(params,X)); - emit_op2(p, OPCODE_MUL, tmp, 0, tmp, tmp); - emit_op2(p, OPCODE_POW, fog, WRITEMASK_X, - register_const1f(p, M_E), negate(tmp)); + emit_op2(p, OPCODE_MUL, tmp, 0, input, swizzle1(params,W)); + emit_op2(p, OPCODE_MUL, tmp, 0, tmp, tmp); + emit_op1(p, OPCODE_EX2, fog, WRITEMASK_X, negate(tmp)); break; } - + release_temp(p, tmp); } else { /* results = incoming fog coords (compute fog per-fragment later) * * KW: Is it really necessary to do anything in this case? + * BP: Yes, we always need to compute the absolute value, unless + * we want to push that down into the fragment program... */ - emit_op1(p, OPCODE_MOV, fog, WRITEMASK_X, input); + GLboolean useabs = GL_TRUE; + emit_op1(p, useabs ? OPCODE_ABS : OPCODE_MOV, fog, WRITEMASK_X, input); } } @@ -1207,7 +1243,7 @@ static void build_texture_transform( struct tnl_program *p ) for (i = 0; i < MAX_TEXTURE_UNITS; i++) { - if (!(p->state->fragprog_inputs_read & (FRAG_BIT_TEX0<<i))) + if (!(p->state->fragprog_inputs_read & FRAG_BIT_TEX(i))) continue; if (p->state->unit[i].texgen_enabled || @@ -1297,13 +1333,13 @@ static void build_texture_transform( struct tnl_program *p ) out_texgen : register_input(p, VERT_ATTRIB_TEX0+i)); if (PREFER_DP4) { - register_matrix_param6( p, STATE_MATRIX, STATE_TEXTURE, i, - 0, 3, STATE_MATRIX, texmat ); + register_matrix_param5( p, STATE_TEXTURE_MATRIX, i, 0, 3, + 0, texmat ); emit_matrix_transform_vec4( p, out, texmat, in ); } else { - register_matrix_param6( p, STATE_MATRIX, STATE_TEXTURE, i, - 0, 3, STATE_MATRIX_TRANSPOSE, texmat ); + register_matrix_param5( p, STATE_TEXTURE_MATRIX, i, 0, 3, + STATE_MATRIX_TRANSPOSE, texmat ); emit_transpose_matrix_transform_vec4( p, out, texmat, in ); } } @@ -1317,8 +1353,6 @@ static void build_texture_transform( struct tnl_program *p ) } -/* Seems like it could be tighter: - */ static void build_pointsize( struct tnl_program *p ) { struct ureg eye = get_eye_position(p); @@ -1327,20 +1361,27 @@ static void build_pointsize( struct tnl_program *p ) struct ureg out = register_output(p, VERT_RESULT_PSIZ); struct ureg ut = get_temp(p); - /* 1, -Z, Z * Z, 1 */ - emit_op1(p, OPCODE_MOV, ut, 0, swizzle1(get_identity_param(p), W)); - emit_op2(p, OPCODE_MUL, ut, WRITEMASK_YZ, ut, negate(swizzle1(eye, Z))); - emit_op2(p, OPCODE_MUL, ut, WRITEMASK_Z, ut, negate(swizzle1(eye, Z))); - - - /* p1 + p2 * dist + p3 * dist * dist, 0 */ - emit_op2(p, OPCODE_DP3, ut, 0, ut, state_attenuation); - - /* 1 / factor */ - emit_op1(p, OPCODE_RCP, ut, 0, ut ); - - /* out = pointSize / factor */ - emit_op2(p, OPCODE_MUL, out, WRITEMASK_X, ut, state_size); + /* dist = |eyez| */ + emit_op1(p, OPCODE_ABS, ut, WRITEMASK_Y, swizzle1(eye, Z)); + /* p1 + dist * (p2 + dist * p3); */ + emit_op3(p, OPCODE_MAD, ut, WRITEMASK_X, swizzle1(ut, Y), + swizzle1(state_attenuation, Z), swizzle1(state_attenuation, Y)); + emit_op3(p, OPCODE_MAD, ut, WRITEMASK_X, swizzle1(ut, Y), + ut, swizzle1(state_attenuation, X)); + + /* 1 / sqrt(factor) */ + emit_op1(p, OPCODE_RSQ, ut, WRITEMASK_X, ut ); + +#if 1 + /* out = pointSize / sqrt(factor) */ + emit_op2(p, OPCODE_MUL, out, WRITEMASK_X, ut, state_size); +#else + /* not sure, might make sense to do clamping here, + but it's not done in t_vb_points neither */ + emit_op2(p, OPCODE_MUL, ut, WRITEMASK_X, ut, state_size); + emit_op2(p, OPCODE_MAX, ut, WRITEMASK_X, ut, swizzle1(state_size, Y)); + emit_op2(p, OPCODE_MIN, out, WRITEMASK_X, ut, swizzle1(state_size, Z)); +#endif release_temp(p, ut); } @@ -1407,9 +1448,8 @@ create_new_program( const struct state_key *key, else p.temp_reserved = ~((1<<max_temps)-1); - p.program->Base.Instructions - = (struct prog_instruction*) MALLOC(sizeof(struct prog_instruction) * MAX_INSN); - p.program->Base.String = 0; + p.program->Base.Instructions = _mesa_alloc_instructions(MAX_INSN); + p.program->Base.String = NULL; p.program->Base.NumInstructions = p.program->Base.NumTemporaries = p.program->Base.NumParameters = @@ -1495,7 +1535,8 @@ void _tnl_UpdateFixedFunctionProgram( GLcontext *ctx ) GLuint hash; const struct gl_vertex_program *prev = ctx->VertexProgram._Current; - if (ctx->VertexProgram._Enabled == GL_FALSE) { + if (!ctx->VertexProgram._Current || + ctx->VertexProgram._Current == ctx->VertexProgram._TnlProgram) { /* Grab all the relevent state and put it in a single structure: */ key = make_state_key(ctx); @@ -1503,45 +1544,42 @@ void _tnl_UpdateFixedFunctionProgram( GLcontext *ctx ) /* Look for an already-prepared program for this state: */ - ctx->_TnlProgram = (struct gl_vertex_program *) + ctx->VertexProgram._TnlProgram = (struct gl_vertex_program *) search_cache( tnl->vp_cache, hash, key, sizeof(*key) ); /* OK, we'll have to build a new one: */ - if (!ctx->_TnlProgram) { + if (!ctx->VertexProgram._TnlProgram) { if (0) _mesa_printf("Build new TNL program\n"); - ctx->_TnlProgram = (struct gl_vertex_program *) + ctx->VertexProgram._TnlProgram = (struct gl_vertex_program *) ctx->Driver.NewProgram(ctx, GL_VERTEX_PROGRAM_ARB, 0); - create_new_program( key, ctx->_TnlProgram, + create_new_program( key, ctx->VertexProgram._TnlProgram, ctx->Const.VertexProgram.MaxTemps ); if (ctx->Driver.ProgramStringNotify) ctx->Driver.ProgramStringNotify( ctx, GL_VERTEX_PROGRAM_ARB, - &ctx->_TnlProgram->Base ); + &ctx->VertexProgram._TnlProgram->Base ); - cache_item(tnl->vp_cache, hash, key, ctx->_TnlProgram ); + cache_item(tnl->vp_cache, hash, key, ctx->VertexProgram._TnlProgram ); } else { FREE(key); if (0) _mesa_printf("Found existing TNL program for key %x\n", hash); } - ctx->VertexProgram._Current = ctx->_TnlProgram; - } - else { - ctx->VertexProgram._Current = ctx->VertexProgram.Current; + ctx->VertexProgram._Current = ctx->VertexProgram._TnlProgram; } /* Tell the driver about the change. Could define a new target for * this? */ - if (ctx->VertexProgram._Current != prev && - ctx->Driver.BindProgram) + if (ctx->VertexProgram._Current != prev && ctx->Driver.BindProgram) { ctx->Driver.BindProgram(ctx, GL_VERTEX_PROGRAM_ARB, (struct gl_program *) ctx->VertexProgram._Current); + } } void _tnl_ProgramCacheInit( GLcontext *ctx ) diff --git a/dist/Mesa/src/mesa/vbo/vbo_save_draw.c b/dist/Mesa/src/mesa/vbo/vbo_save_draw.c index 8940551d0..697d00e9d 100644 --- a/dist/Mesa/src/mesa/vbo/vbo_save_draw.c +++ b/dist/Mesa/src/mesa/vbo/vbo_save_draw.c @@ -132,9 +132,11 @@ static void vbo_bind_vertex_list( GLcontext *ctx, } for (attr = 0; attr < VBO_ATTRIB_MAX; attr++) { - if (node->attrsz[attr]) { + GLuint src = map[attr]; + + if (node->attrsz[src]) { arrays[attr].Ptr = (const GLubyte *)data; - arrays[attr].Size = node->attrsz[attr]; + arrays[attr].Size = node->attrsz[src]; arrays[attr].StrideB = node->vertex_size * sizeof(GLfloat); arrays[attr].Stride = node->vertex_size * sizeof(GLfloat); arrays[attr].Type = GL_FLOAT; diff --git a/dist/Mesa/src/mesa/vbo/vbo_split_copy.c b/dist/Mesa/src/mesa/vbo/vbo_split_copy.c index e142dde68..b71a93546 100644 --- a/dist/Mesa/src/mesa/vbo/vbo_split_copy.c +++ b/dist/Mesa/src/mesa/vbo/vbo_split_copy.c @@ -129,6 +129,13 @@ static GLuint attr_size( const struct gl_client_array *array ) */ static GLboolean check_flush( struct copy_context *copy ) { + GLenum mode = copy->dstprim[copy->dstprim_nr].mode; + + if (GL_TRIANGLE_STRIP == mode && + copy->dstelt_nr & 1) { /* see bug9962 */ + return GL_FALSE; + } + if (copy->dstbuf_nr + 4 > copy->dstbuf_size) return GL_TRUE; @@ -458,7 +465,7 @@ static void replay_init( struct copy_context *copy ) dst->StrideB = copy->vertex_size; dst->Ptr = copy->dstbuf + offset; dst->Enabled = GL_TRUE; - dst->Normalized = GL_TRUE; + dst->Normalized = src->Normalized; dst->BufferObj = ctx->Array.NullBufferObj; dst->_MaxElement = copy->dstbuf_size; /* may be less! */ diff --git a/dist/Mesa/src/mesa/x86-64/glapi_x86-64.S b/dist/Mesa/src/mesa/x86-64/glapi_x86-64.S index 6ce188cb9..e58f8f1bc 100644 --- a/dist/Mesa/src/mesa/x86-64/glapi_x86-64.S +++ b/dist/Mesa/src/mesa/x86-64/glapi_x86-64.S @@ -40,6 +40,7 @@ # if defined(USE_MGL_NAMESPACE) # define GL_PREFIX(n) GLNAME(CONCAT(mgl,n)) +# define _glapi_Dispatch _mglapi_Dispatch # else # define GL_PREFIX(n) GLNAME(CONCAT(gl,n)) # endif @@ -15146,12 +15147,469 @@ GL_PREFIX(MultiTexCoord4svARB): .size GL_PREFIX(MultiTexCoord4svARB), .-GL_PREFIX(MultiTexCoord4svARB) .p2align 4,,15 + .globl GL_PREFIX(AttachShader) + .type GL_PREFIX(AttachShader), @function +GL_PREFIX(AttachShader): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3264(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi + popq %rdi + movq 3264(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3264(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 3264(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(AttachShader), .-GL_PREFIX(AttachShader) + + .p2align 4,,15 + .globl GL_PREFIX(CreateProgram) + .type GL_PREFIX(CreateProgram), @function +GL_PREFIX(CreateProgram): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3272(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + movq 3272(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3272(%rax), %r11 + jmp *%r11 +1: + pushq %rbp + call _glapi_get_dispatch + popq %rbp + movq 3272(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(CreateProgram), .-GL_PREFIX(CreateProgram) + + .p2align 4,,15 + .globl GL_PREFIX(CreateShader) + .type GL_PREFIX(CreateShader), @function +GL_PREFIX(CreateShader): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3280(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 3280(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3280(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 3280(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(CreateShader), .-GL_PREFIX(CreateShader) + + .p2align 4,,15 + .globl GL_PREFIX(DeleteProgram) + .type GL_PREFIX(DeleteProgram), @function +GL_PREFIX(DeleteProgram): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3288(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 3288(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3288(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 3288(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(DeleteProgram), .-GL_PREFIX(DeleteProgram) + + .p2align 4,,15 + .globl GL_PREFIX(DeleteShader) + .type GL_PREFIX(DeleteShader), @function +GL_PREFIX(DeleteShader): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3296(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 3296(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3296(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 3296(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(DeleteShader), .-GL_PREFIX(DeleteShader) + + .p2align 4,,15 + .globl GL_PREFIX(DetachShader) + .type GL_PREFIX(DetachShader), @function +GL_PREFIX(DetachShader): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3304(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi + popq %rdi + movq 3304(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3304(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 3304(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(DetachShader), .-GL_PREFIX(DetachShader) + + .p2align 4,,15 + .globl GL_PREFIX(GetAttachedShaders) + .type GL_PREFIX(GetAttachedShaders), @function +GL_PREFIX(GetAttachedShaders): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3312(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3312(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3312(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3312(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetAttachedShaders), .-GL_PREFIX(GetAttachedShaders) + + .p2align 4,,15 + .globl GL_PREFIX(GetProgramInfoLog) + .type GL_PREFIX(GetProgramInfoLog), @function +GL_PREFIX(GetProgramInfoLog): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3320(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3320(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3320(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3320(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetProgramInfoLog), .-GL_PREFIX(GetProgramInfoLog) + + .p2align 4,,15 + .globl GL_PREFIX(GetProgramiv) + .type GL_PREFIX(GetProgramiv), @function +GL_PREFIX(GetProgramiv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3328(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + call _x86_64_get_dispatch@PLT + popq %rdx + popq %rsi + popq %rdi + movq 3328(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3328(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 3328(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetProgramiv), .-GL_PREFIX(GetProgramiv) + + .p2align 4,,15 + .globl GL_PREFIX(GetShaderInfoLog) + .type GL_PREFIX(GetShaderInfoLog), @function +GL_PREFIX(GetShaderInfoLog): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3336(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3336(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3336(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3336(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetShaderInfoLog), .-GL_PREFIX(GetShaderInfoLog) + + .p2align 4,,15 + .globl GL_PREFIX(GetShaderiv) + .type GL_PREFIX(GetShaderiv), @function +GL_PREFIX(GetShaderiv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3344(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + call _x86_64_get_dispatch@PLT + popq %rdx + popq %rsi + popq %rdi + movq 3344(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3344(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 3344(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetShaderiv), .-GL_PREFIX(GetShaderiv) + + .p2align 4,,15 + .globl GL_PREFIX(IsProgram) + .type GL_PREFIX(IsProgram), @function +GL_PREFIX(IsProgram): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3352(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 3352(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3352(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 3352(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(IsProgram), .-GL_PREFIX(IsProgram) + + .p2align 4,,15 + .globl GL_PREFIX(IsShader) + .type GL_PREFIX(IsShader), @function +GL_PREFIX(IsShader): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3360(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 3360(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3360(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 3360(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(IsShader), .-GL_PREFIX(IsShader) + + .p2align 4,,15 .globl GL_PREFIX(StencilFuncSeparate) .type GL_PREFIX(StencilFuncSeparate), @function GL_PREFIX(StencilFuncSeparate): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3264(%rax), %r11 + movq 3368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15165,13 +15623,13 @@ GL_PREFIX(StencilFuncSeparate): popq %rdx popq %rsi popq %rdi - movq 3264(%rax), %r11 + movq 3368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3264(%rax), %r11 + movq 3368(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15185,7 +15643,7 @@ GL_PREFIX(StencilFuncSeparate): popq %rdx popq %rsi popq %rdi - movq 3264(%rax), %r11 + movq 3368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(StencilFuncSeparate), .-GL_PREFIX(StencilFuncSeparate) @@ -15196,7 +15654,7 @@ GL_PREFIX(StencilFuncSeparate): GL_PREFIX(StencilMaskSeparate): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3272(%rax), %r11 + movq 3376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15206,13 +15664,13 @@ GL_PREFIX(StencilMaskSeparate): popq %rbp popq %rsi popq %rdi - movq 3272(%rax), %r11 + movq 3376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3272(%rax), %r11 + movq 3376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15222,7 +15680,7 @@ GL_PREFIX(StencilMaskSeparate): popq %rbp popq %rsi popq %rdi - movq 3272(%rax), %r11 + movq 3376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(StencilMaskSeparate), .-GL_PREFIX(StencilMaskSeparate) @@ -15233,7 +15691,7 @@ GL_PREFIX(StencilMaskSeparate): GL_PREFIX(StencilOpSeparate): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3280(%rax), %r11 + movq 3384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15247,13 +15705,13 @@ GL_PREFIX(StencilOpSeparate): popq %rdx popq %rsi popq %rdi - movq 3280(%rax), %r11 + movq 3384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3280(%rax), %r11 + movq 3384(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15267,36 +15725,306 @@ GL_PREFIX(StencilOpSeparate): popq %rdx popq %rsi popq %rdi - movq 3280(%rax), %r11 + movq 3384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(StencilOpSeparate), .-GL_PREFIX(StencilOpSeparate) .p2align 4,,15 + .globl GL_PREFIX(UniformMatrix2x3fv) + .type GL_PREFIX(UniformMatrix2x3fv), @function +GL_PREFIX(UniformMatrix2x3fv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3392(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3392(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3392(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3392(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(UniformMatrix2x3fv), .-GL_PREFIX(UniformMatrix2x3fv) + + .p2align 4,,15 + .globl GL_PREFIX(UniformMatrix2x4fv) + .type GL_PREFIX(UniformMatrix2x4fv), @function +GL_PREFIX(UniformMatrix2x4fv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3400(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3400(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3400(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3400(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(UniformMatrix2x4fv), .-GL_PREFIX(UniformMatrix2x4fv) + + .p2align 4,,15 + .globl GL_PREFIX(UniformMatrix3x2fv) + .type GL_PREFIX(UniformMatrix3x2fv), @function +GL_PREFIX(UniformMatrix3x2fv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3408(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3408(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3408(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3408(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(UniformMatrix3x2fv), .-GL_PREFIX(UniformMatrix3x2fv) + + .p2align 4,,15 + .globl GL_PREFIX(UniformMatrix3x4fv) + .type GL_PREFIX(UniformMatrix3x4fv), @function +GL_PREFIX(UniformMatrix3x4fv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3416(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3416(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3416(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3416(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(UniformMatrix3x4fv), .-GL_PREFIX(UniformMatrix3x4fv) + + .p2align 4,,15 + .globl GL_PREFIX(UniformMatrix4x2fv) + .type GL_PREFIX(UniformMatrix4x2fv), @function +GL_PREFIX(UniformMatrix4x2fv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3424(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3424(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3424(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3424(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(UniformMatrix4x2fv), .-GL_PREFIX(UniformMatrix4x2fv) + + .p2align 4,,15 + .globl GL_PREFIX(UniformMatrix4x3fv) + .type GL_PREFIX(UniformMatrix4x3fv), @function +GL_PREFIX(UniformMatrix4x3fv): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 3432(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3432(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 3432(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 3432(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(UniformMatrix4x3fv), .-GL_PREFIX(UniformMatrix4x3fv) + + .p2align 4,,15 .globl GL_PREFIX(LoadTransposeMatrixdARB) .type GL_PREFIX(LoadTransposeMatrixdARB), @function GL_PREFIX(LoadTransposeMatrixdARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3288(%rax), %r11 + movq 3440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3288(%rax), %r11 + movq 3440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3288(%rax), %r11 + movq 3440(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3288(%rax), %r11 + movq 3440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadTransposeMatrixdARB), .-GL_PREFIX(LoadTransposeMatrixdARB) @@ -15307,25 +16035,25 @@ GL_PREFIX(LoadTransposeMatrixdARB): GL_PREFIX(LoadTransposeMatrixfARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3296(%rax), %r11 + movq 3448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3296(%rax), %r11 + movq 3448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3296(%rax), %r11 + movq 3448(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3296(%rax), %r11 + movq 3448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadTransposeMatrixfARB), .-GL_PREFIX(LoadTransposeMatrixfARB) @@ -15336,25 +16064,25 @@ GL_PREFIX(LoadTransposeMatrixfARB): GL_PREFIX(MultTransposeMatrixdARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3304(%rax), %r11 + movq 3456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3304(%rax), %r11 + movq 3456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3304(%rax), %r11 + movq 3456(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3304(%rax), %r11 + movq 3456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultTransposeMatrixdARB), .-GL_PREFIX(MultTransposeMatrixdARB) @@ -15365,25 +16093,25 @@ GL_PREFIX(MultTransposeMatrixdARB): GL_PREFIX(MultTransposeMatrixfARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3312(%rax), %r11 + movq 3464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3312(%rax), %r11 + movq 3464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3312(%rax), %r11 + movq 3464(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3312(%rax), %r11 + movq 3464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultTransposeMatrixfARB), .-GL_PREFIX(MultTransposeMatrixfARB) @@ -15394,7 +16122,7 @@ GL_PREFIX(MultTransposeMatrixfARB): GL_PREFIX(SampleCoverageARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3320(%rax), %r11 + movq 3472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15404,13 +16132,13 @@ GL_PREFIX(SampleCoverageARB): popq %rbp popq %rsi popq %rdi - movq 3320(%rax), %r11 + movq 3472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3320(%rax), %r11 + movq 3472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15420,7 +16148,7 @@ GL_PREFIX(SampleCoverageARB): popq %rbp popq %rsi popq %rdi - movq 3320(%rax), %r11 + movq 3472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SampleCoverageARB), .-GL_PREFIX(SampleCoverageARB) @@ -15431,7 +16159,7 @@ GL_PREFIX(SampleCoverageARB): GL_PREFIX(CompressedTexImage1DARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3328(%rax), %r11 + movq 3480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15449,13 +16177,13 @@ GL_PREFIX(CompressedTexImage1DARB): popq %rdx popq %rsi popq %rdi - movq 3328(%rax), %r11 + movq 3480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3328(%rax), %r11 + movq 3480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15473,7 +16201,7 @@ GL_PREFIX(CompressedTexImage1DARB): popq %rdx popq %rsi popq %rdi - movq 3328(%rax), %r11 + movq 3480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CompressedTexImage1DARB), .-GL_PREFIX(CompressedTexImage1DARB) @@ -15484,7 +16212,7 @@ GL_PREFIX(CompressedTexImage1DARB): GL_PREFIX(CompressedTexImage2DARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3336(%rax), %r11 + movq 3488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15502,13 +16230,13 @@ GL_PREFIX(CompressedTexImage2DARB): popq %rdx popq %rsi popq %rdi - movq 3336(%rax), %r11 + movq 3488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3336(%rax), %r11 + movq 3488(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15526,7 +16254,7 @@ GL_PREFIX(CompressedTexImage2DARB): popq %rdx popq %rsi popq %rdi - movq 3336(%rax), %r11 + movq 3488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CompressedTexImage2DARB), .-GL_PREFIX(CompressedTexImage2DARB) @@ -15537,7 +16265,7 @@ GL_PREFIX(CompressedTexImage2DARB): GL_PREFIX(CompressedTexImage3DARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3344(%rax), %r11 + movq 3496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15555,13 +16283,13 @@ GL_PREFIX(CompressedTexImage3DARB): popq %rdx popq %rsi popq %rdi - movq 3344(%rax), %r11 + movq 3496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3344(%rax), %r11 + movq 3496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15579,7 +16307,7 @@ GL_PREFIX(CompressedTexImage3DARB): popq %rdx popq %rsi popq %rdi - movq 3344(%rax), %r11 + movq 3496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CompressedTexImage3DARB), .-GL_PREFIX(CompressedTexImage3DARB) @@ -15590,7 +16318,7 @@ GL_PREFIX(CompressedTexImage3DARB): GL_PREFIX(CompressedTexSubImage1DARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3352(%rax), %r11 + movq 3504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15608,13 +16336,13 @@ GL_PREFIX(CompressedTexSubImage1DARB): popq %rdx popq %rsi popq %rdi - movq 3352(%rax), %r11 + movq 3504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3352(%rax), %r11 + movq 3504(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15632,7 +16360,7 @@ GL_PREFIX(CompressedTexSubImage1DARB): popq %rdx popq %rsi popq %rdi - movq 3352(%rax), %r11 + movq 3504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CompressedTexSubImage1DARB), .-GL_PREFIX(CompressedTexSubImage1DARB) @@ -15643,7 +16371,7 @@ GL_PREFIX(CompressedTexSubImage1DARB): GL_PREFIX(CompressedTexSubImage2DARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3360(%rax), %r11 + movq 3512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15661,13 +16389,13 @@ GL_PREFIX(CompressedTexSubImage2DARB): popq %rdx popq %rsi popq %rdi - movq 3360(%rax), %r11 + movq 3512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3360(%rax), %r11 + movq 3512(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15685,7 +16413,7 @@ GL_PREFIX(CompressedTexSubImage2DARB): popq %rdx popq %rsi popq %rdi - movq 3360(%rax), %r11 + movq 3512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CompressedTexSubImage2DARB), .-GL_PREFIX(CompressedTexSubImage2DARB) @@ -15696,7 +16424,7 @@ GL_PREFIX(CompressedTexSubImage2DARB): GL_PREFIX(CompressedTexSubImage3DARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3368(%rax), %r11 + movq 3520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15714,13 +16442,13 @@ GL_PREFIX(CompressedTexSubImage3DARB): popq %rdx popq %rsi popq %rdi - movq 3368(%rax), %r11 + movq 3520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3368(%rax), %r11 + movq 3520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15738,7 +16466,7 @@ GL_PREFIX(CompressedTexSubImage3DARB): popq %rdx popq %rsi popq %rdi - movq 3368(%rax), %r11 + movq 3520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CompressedTexSubImage3DARB), .-GL_PREFIX(CompressedTexSubImage3DARB) @@ -15749,7 +16477,7 @@ GL_PREFIX(CompressedTexSubImage3DARB): GL_PREFIX(GetCompressedTexImageARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3376(%rax), %r11 + movq 3528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15759,13 +16487,13 @@ GL_PREFIX(GetCompressedTexImageARB): popq %rdx popq %rsi popq %rdi - movq 3376(%rax), %r11 + movq 3528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3376(%rax), %r11 + movq 3528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15775,7 +16503,7 @@ GL_PREFIX(GetCompressedTexImageARB): popq %rdx popq %rsi popq %rdi - movq 3376(%rax), %r11 + movq 3528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCompressedTexImageARB), .-GL_PREFIX(GetCompressedTexImageARB) @@ -15786,25 +16514,25 @@ GL_PREFIX(GetCompressedTexImageARB): GL_PREFIX(DisableVertexAttribArrayARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3384(%rax), %r11 + movq 3536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3384(%rax), %r11 + movq 3536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3384(%rax), %r11 + movq 3536(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3384(%rax), %r11 + movq 3536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DisableVertexAttribArrayARB), .-GL_PREFIX(DisableVertexAttribArrayARB) @@ -15815,25 +16543,25 @@ GL_PREFIX(DisableVertexAttribArrayARB): GL_PREFIX(EnableVertexAttribArrayARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3392(%rax), %r11 + movq 3544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3392(%rax), %r11 + movq 3544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3392(%rax), %r11 + movq 3544(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3392(%rax), %r11 + movq 3544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EnableVertexAttribArrayARB), .-GL_PREFIX(EnableVertexAttribArrayARB) @@ -15844,7 +16572,7 @@ GL_PREFIX(EnableVertexAttribArrayARB): GL_PREFIX(GetProgramEnvParameterdvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3400(%rax), %r11 + movq 3552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15854,13 +16582,13 @@ GL_PREFIX(GetProgramEnvParameterdvARB): popq %rdx popq %rsi popq %rdi - movq 3400(%rax), %r11 + movq 3552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3400(%rax), %r11 + movq 3552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15870,7 +16598,7 @@ GL_PREFIX(GetProgramEnvParameterdvARB): popq %rdx popq %rsi popq %rdi - movq 3400(%rax), %r11 + movq 3552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramEnvParameterdvARB), .-GL_PREFIX(GetProgramEnvParameterdvARB) @@ -15881,7 +16609,7 @@ GL_PREFIX(GetProgramEnvParameterdvARB): GL_PREFIX(GetProgramEnvParameterfvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3408(%rax), %r11 + movq 3560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15891,13 +16619,13 @@ GL_PREFIX(GetProgramEnvParameterfvARB): popq %rdx popq %rsi popq %rdi - movq 3408(%rax), %r11 + movq 3560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3408(%rax), %r11 + movq 3560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15907,7 +16635,7 @@ GL_PREFIX(GetProgramEnvParameterfvARB): popq %rdx popq %rsi popq %rdi - movq 3408(%rax), %r11 + movq 3560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramEnvParameterfvARB), .-GL_PREFIX(GetProgramEnvParameterfvARB) @@ -15918,7 +16646,7 @@ GL_PREFIX(GetProgramEnvParameterfvARB): GL_PREFIX(GetProgramLocalParameterdvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3416(%rax), %r11 + movq 3568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15928,13 +16656,13 @@ GL_PREFIX(GetProgramLocalParameterdvARB): popq %rdx popq %rsi popq %rdi - movq 3416(%rax), %r11 + movq 3568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3416(%rax), %r11 + movq 3568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15944,7 +16672,7 @@ GL_PREFIX(GetProgramLocalParameterdvARB): popq %rdx popq %rsi popq %rdi - movq 3416(%rax), %r11 + movq 3568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramLocalParameterdvARB), .-GL_PREFIX(GetProgramLocalParameterdvARB) @@ -15955,7 +16683,7 @@ GL_PREFIX(GetProgramLocalParameterdvARB): GL_PREFIX(GetProgramLocalParameterfvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3424(%rax), %r11 + movq 3576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -15965,13 +16693,13 @@ GL_PREFIX(GetProgramLocalParameterfvARB): popq %rdx popq %rsi popq %rdi - movq 3424(%rax), %r11 + movq 3576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3424(%rax), %r11 + movq 3576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -15981,7 +16709,7 @@ GL_PREFIX(GetProgramLocalParameterfvARB): popq %rdx popq %rsi popq %rdi - movq 3424(%rax), %r11 + movq 3576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramLocalParameterfvARB), .-GL_PREFIX(GetProgramLocalParameterfvARB) @@ -15992,7 +16720,7 @@ GL_PREFIX(GetProgramLocalParameterfvARB): GL_PREFIX(GetProgramStringARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3432(%rax), %r11 + movq 3584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16002,13 +16730,13 @@ GL_PREFIX(GetProgramStringARB): popq %rdx popq %rsi popq %rdi - movq 3432(%rax), %r11 + movq 3584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3432(%rax), %r11 + movq 3584(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16018,7 +16746,7 @@ GL_PREFIX(GetProgramStringARB): popq %rdx popq %rsi popq %rdi - movq 3432(%rax), %r11 + movq 3584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramStringARB), .-GL_PREFIX(GetProgramStringARB) @@ -16029,7 +16757,7 @@ GL_PREFIX(GetProgramStringARB): GL_PREFIX(GetProgramivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3440(%rax), %r11 + movq 3592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16039,13 +16767,13 @@ GL_PREFIX(GetProgramivARB): popq %rdx popq %rsi popq %rdi - movq 3440(%rax), %r11 + movq 3592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3440(%rax), %r11 + movq 3592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16055,7 +16783,7 @@ GL_PREFIX(GetProgramivARB): popq %rdx popq %rsi popq %rdi - movq 3440(%rax), %r11 + movq 3592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramivARB), .-GL_PREFIX(GetProgramivARB) @@ -16066,7 +16794,7 @@ GL_PREFIX(GetProgramivARB): GL_PREFIX(GetVertexAttribdvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3448(%rax), %r11 + movq 3600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16076,13 +16804,13 @@ GL_PREFIX(GetVertexAttribdvARB): popq %rdx popq %rsi popq %rdi - movq 3448(%rax), %r11 + movq 3600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3448(%rax), %r11 + movq 3600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16092,7 +16820,7 @@ GL_PREFIX(GetVertexAttribdvARB): popq %rdx popq %rsi popq %rdi - movq 3448(%rax), %r11 + movq 3600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribdvARB), .-GL_PREFIX(GetVertexAttribdvARB) @@ -16103,7 +16831,7 @@ GL_PREFIX(GetVertexAttribdvARB): GL_PREFIX(GetVertexAttribfvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3456(%rax), %r11 + movq 3608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16113,13 +16841,13 @@ GL_PREFIX(GetVertexAttribfvARB): popq %rdx popq %rsi popq %rdi - movq 3456(%rax), %r11 + movq 3608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3456(%rax), %r11 + movq 3608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16129,7 +16857,7 @@ GL_PREFIX(GetVertexAttribfvARB): popq %rdx popq %rsi popq %rdi - movq 3456(%rax), %r11 + movq 3608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribfvARB), .-GL_PREFIX(GetVertexAttribfvARB) @@ -16140,7 +16868,7 @@ GL_PREFIX(GetVertexAttribfvARB): GL_PREFIX(GetVertexAttribivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3464(%rax), %r11 + movq 3616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16150,13 +16878,13 @@ GL_PREFIX(GetVertexAttribivARB): popq %rdx popq %rsi popq %rdi - movq 3464(%rax), %r11 + movq 3616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3464(%rax), %r11 + movq 3616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16166,7 +16894,7 @@ GL_PREFIX(GetVertexAttribivARB): popq %rdx popq %rsi popq %rdi - movq 3464(%rax), %r11 + movq 3616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribivARB), .-GL_PREFIX(GetVertexAttribivARB) @@ -16177,7 +16905,7 @@ GL_PREFIX(GetVertexAttribivARB): GL_PREFIX(ProgramEnvParameter4dARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3472(%rax), %r11 + movq 3624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -16195,13 +16923,13 @@ GL_PREFIX(ProgramEnvParameter4dARB): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 3472(%rax), %r11 + movq 3624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3472(%rax), %r11 + movq 3624(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -16219,7 +16947,7 @@ GL_PREFIX(ProgramEnvParameter4dARB): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 3472(%rax), %r11 + movq 3624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramEnvParameter4dARB), .-GL_PREFIX(ProgramEnvParameter4dARB) @@ -16230,7 +16958,7 @@ GL_PREFIX(ProgramEnvParameter4dARB): GL_PREFIX(ProgramEnvParameter4dvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3480(%rax), %r11 + movq 3632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16240,13 +16968,13 @@ GL_PREFIX(ProgramEnvParameter4dvARB): popq %rdx popq %rsi popq %rdi - movq 3480(%rax), %r11 + movq 3632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3480(%rax), %r11 + movq 3632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16256,7 +16984,7 @@ GL_PREFIX(ProgramEnvParameter4dvARB): popq %rdx popq %rsi popq %rdi - movq 3480(%rax), %r11 + movq 3632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramEnvParameter4dvARB), .-GL_PREFIX(ProgramEnvParameter4dvARB) @@ -16267,7 +16995,7 @@ GL_PREFIX(ProgramEnvParameter4dvARB): GL_PREFIX(ProgramEnvParameter4fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3488(%rax), %r11 + movq 3640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -16285,13 +17013,13 @@ GL_PREFIX(ProgramEnvParameter4fARB): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 3488(%rax), %r11 + movq 3640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3488(%rax), %r11 + movq 3640(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -16309,7 +17037,7 @@ GL_PREFIX(ProgramEnvParameter4fARB): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 3488(%rax), %r11 + movq 3640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramEnvParameter4fARB), .-GL_PREFIX(ProgramEnvParameter4fARB) @@ -16320,7 +17048,7 @@ GL_PREFIX(ProgramEnvParameter4fARB): GL_PREFIX(ProgramEnvParameter4fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3496(%rax), %r11 + movq 3648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16330,13 +17058,13 @@ GL_PREFIX(ProgramEnvParameter4fvARB): popq %rdx popq %rsi popq %rdi - movq 3496(%rax), %r11 + movq 3648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3496(%rax), %r11 + movq 3648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16346,7 +17074,7 @@ GL_PREFIX(ProgramEnvParameter4fvARB): popq %rdx popq %rsi popq %rdi - movq 3496(%rax), %r11 + movq 3648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramEnvParameter4fvARB), .-GL_PREFIX(ProgramEnvParameter4fvARB) @@ -16357,7 +17085,7 @@ GL_PREFIX(ProgramEnvParameter4fvARB): GL_PREFIX(ProgramLocalParameter4dARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3504(%rax), %r11 + movq 3656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -16375,13 +17103,13 @@ GL_PREFIX(ProgramLocalParameter4dARB): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 3504(%rax), %r11 + movq 3656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3504(%rax), %r11 + movq 3656(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -16399,7 +17127,7 @@ GL_PREFIX(ProgramLocalParameter4dARB): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 3504(%rax), %r11 + movq 3656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramLocalParameter4dARB), .-GL_PREFIX(ProgramLocalParameter4dARB) @@ -16410,7 +17138,7 @@ GL_PREFIX(ProgramLocalParameter4dARB): GL_PREFIX(ProgramLocalParameter4dvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3512(%rax), %r11 + movq 3664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16420,13 +17148,13 @@ GL_PREFIX(ProgramLocalParameter4dvARB): popq %rdx popq %rsi popq %rdi - movq 3512(%rax), %r11 + movq 3664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3512(%rax), %r11 + movq 3664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16436,7 +17164,7 @@ GL_PREFIX(ProgramLocalParameter4dvARB): popq %rdx popq %rsi popq %rdi - movq 3512(%rax), %r11 + movq 3664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramLocalParameter4dvARB), .-GL_PREFIX(ProgramLocalParameter4dvARB) @@ -16447,7 +17175,7 @@ GL_PREFIX(ProgramLocalParameter4dvARB): GL_PREFIX(ProgramLocalParameter4fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3520(%rax), %r11 + movq 3672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -16465,13 +17193,13 @@ GL_PREFIX(ProgramLocalParameter4fARB): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 3520(%rax), %r11 + movq 3672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3520(%rax), %r11 + movq 3672(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -16489,7 +17217,7 @@ GL_PREFIX(ProgramLocalParameter4fARB): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 3520(%rax), %r11 + movq 3672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramLocalParameter4fARB), .-GL_PREFIX(ProgramLocalParameter4fARB) @@ -16500,7 +17228,7 @@ GL_PREFIX(ProgramLocalParameter4fARB): GL_PREFIX(ProgramLocalParameter4fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3528(%rax), %r11 + movq 3680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16510,13 +17238,13 @@ GL_PREFIX(ProgramLocalParameter4fvARB): popq %rdx popq %rsi popq %rdi - movq 3528(%rax), %r11 + movq 3680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3528(%rax), %r11 + movq 3680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16526,7 +17254,7 @@ GL_PREFIX(ProgramLocalParameter4fvARB): popq %rdx popq %rsi popq %rdi - movq 3528(%rax), %r11 + movq 3680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramLocalParameter4fvARB), .-GL_PREFIX(ProgramLocalParameter4fvARB) @@ -16537,7 +17265,7 @@ GL_PREFIX(ProgramLocalParameter4fvARB): GL_PREFIX(ProgramStringARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3536(%rax), %r11 + movq 3688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16551,13 +17279,13 @@ GL_PREFIX(ProgramStringARB): popq %rdx popq %rsi popq %rdi - movq 3536(%rax), %r11 + movq 3688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3536(%rax), %r11 + movq 3688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16571,7 +17299,7 @@ GL_PREFIX(ProgramStringARB): popq %rdx popq %rsi popq %rdi - movq 3536(%rax), %r11 + movq 3688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramStringARB), .-GL_PREFIX(ProgramStringARB) @@ -16582,7 +17310,7 @@ GL_PREFIX(ProgramStringARB): GL_PREFIX(VertexAttrib1dARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3544(%rax), %r11 + movq 3696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -16592,13 +17320,13 @@ GL_PREFIX(VertexAttrib1dARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 3544(%rax), %r11 + movq 3696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3544(%rax), %r11 + movq 3696(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -16608,7 +17336,7 @@ GL_PREFIX(VertexAttrib1dARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 3544(%rax), %r11 + movq 3696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dARB), .-GL_PREFIX(VertexAttrib1dARB) @@ -16619,7 +17347,7 @@ GL_PREFIX(VertexAttrib1dARB): GL_PREFIX(VertexAttrib1dvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3552(%rax), %r11 + movq 3704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16629,13 +17357,13 @@ GL_PREFIX(VertexAttrib1dvARB): popq %rbp popq %rsi popq %rdi - movq 3552(%rax), %r11 + movq 3704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3552(%rax), %r11 + movq 3704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16645,7 +17373,7 @@ GL_PREFIX(VertexAttrib1dvARB): popq %rbp popq %rsi popq %rdi - movq 3552(%rax), %r11 + movq 3704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dvARB), .-GL_PREFIX(VertexAttrib1dvARB) @@ -16656,7 +17384,7 @@ GL_PREFIX(VertexAttrib1dvARB): GL_PREFIX(VertexAttrib1fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3560(%rax), %r11 + movq 3712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -16666,13 +17394,13 @@ GL_PREFIX(VertexAttrib1fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 3560(%rax), %r11 + movq 3712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3560(%rax), %r11 + movq 3712(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -16682,7 +17410,7 @@ GL_PREFIX(VertexAttrib1fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 3560(%rax), %r11 + movq 3712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fARB), .-GL_PREFIX(VertexAttrib1fARB) @@ -16693,7 +17421,7 @@ GL_PREFIX(VertexAttrib1fARB): GL_PREFIX(VertexAttrib1fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3568(%rax), %r11 + movq 3720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16703,13 +17431,13 @@ GL_PREFIX(VertexAttrib1fvARB): popq %rbp popq %rsi popq %rdi - movq 3568(%rax), %r11 + movq 3720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3568(%rax), %r11 + movq 3720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16719,7 +17447,7 @@ GL_PREFIX(VertexAttrib1fvARB): popq %rbp popq %rsi popq %rdi - movq 3568(%rax), %r11 + movq 3720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fvARB), .-GL_PREFIX(VertexAttrib1fvARB) @@ -16730,7 +17458,7 @@ GL_PREFIX(VertexAttrib1fvARB): GL_PREFIX(VertexAttrib1sARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3576(%rax), %r11 + movq 3728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16740,13 +17468,13 @@ GL_PREFIX(VertexAttrib1sARB): popq %rbp popq %rsi popq %rdi - movq 3576(%rax), %r11 + movq 3728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3576(%rax), %r11 + movq 3728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16756,7 +17484,7 @@ GL_PREFIX(VertexAttrib1sARB): popq %rbp popq %rsi popq %rdi - movq 3576(%rax), %r11 + movq 3728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1sARB), .-GL_PREFIX(VertexAttrib1sARB) @@ -16767,7 +17495,7 @@ GL_PREFIX(VertexAttrib1sARB): GL_PREFIX(VertexAttrib1svARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3584(%rax), %r11 + movq 3736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16777,13 +17505,13 @@ GL_PREFIX(VertexAttrib1svARB): popq %rbp popq %rsi popq %rdi - movq 3584(%rax), %r11 + movq 3736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3584(%rax), %r11 + movq 3736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16793,7 +17521,7 @@ GL_PREFIX(VertexAttrib1svARB): popq %rbp popq %rsi popq %rdi - movq 3584(%rax), %r11 + movq 3736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1svARB), .-GL_PREFIX(VertexAttrib1svARB) @@ -16804,7 +17532,7 @@ GL_PREFIX(VertexAttrib1svARB): GL_PREFIX(VertexAttrib2dARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3592(%rax), %r11 + movq 3744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -16816,13 +17544,13 @@ GL_PREFIX(VertexAttrib2dARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 3592(%rax), %r11 + movq 3744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3592(%rax), %r11 + movq 3744(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -16834,7 +17562,7 @@ GL_PREFIX(VertexAttrib2dARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 3592(%rax), %r11 + movq 3744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dARB), .-GL_PREFIX(VertexAttrib2dARB) @@ -16845,7 +17573,7 @@ GL_PREFIX(VertexAttrib2dARB): GL_PREFIX(VertexAttrib2dvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3600(%rax), %r11 + movq 3752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16855,13 +17583,13 @@ GL_PREFIX(VertexAttrib2dvARB): popq %rbp popq %rsi popq %rdi - movq 3600(%rax), %r11 + movq 3752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3600(%rax), %r11 + movq 3752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16871,7 +17599,7 @@ GL_PREFIX(VertexAttrib2dvARB): popq %rbp popq %rsi popq %rdi - movq 3600(%rax), %r11 + movq 3752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dvARB), .-GL_PREFIX(VertexAttrib2dvARB) @@ -16882,7 +17610,7 @@ GL_PREFIX(VertexAttrib2dvARB): GL_PREFIX(VertexAttrib2fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3608(%rax), %r11 + movq 3760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -16894,13 +17622,13 @@ GL_PREFIX(VertexAttrib2fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 3608(%rax), %r11 + movq 3760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3608(%rax), %r11 + movq 3760(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -16912,7 +17640,7 @@ GL_PREFIX(VertexAttrib2fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 3608(%rax), %r11 + movq 3760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fARB), .-GL_PREFIX(VertexAttrib2fARB) @@ -16923,7 +17651,7 @@ GL_PREFIX(VertexAttrib2fARB): GL_PREFIX(VertexAttrib2fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3616(%rax), %r11 + movq 3768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16933,13 +17661,13 @@ GL_PREFIX(VertexAttrib2fvARB): popq %rbp popq %rsi popq %rdi - movq 3616(%rax), %r11 + movq 3768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3616(%rax), %r11 + movq 3768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16949,7 +17677,7 @@ GL_PREFIX(VertexAttrib2fvARB): popq %rbp popq %rsi popq %rdi - movq 3616(%rax), %r11 + movq 3768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fvARB), .-GL_PREFIX(VertexAttrib2fvARB) @@ -16960,7 +17688,7 @@ GL_PREFIX(VertexAttrib2fvARB): GL_PREFIX(VertexAttrib2sARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3624(%rax), %r11 + movq 3776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -16970,13 +17698,13 @@ GL_PREFIX(VertexAttrib2sARB): popq %rdx popq %rsi popq %rdi - movq 3624(%rax), %r11 + movq 3776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3624(%rax), %r11 + movq 3776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -16986,7 +17714,7 @@ GL_PREFIX(VertexAttrib2sARB): popq %rdx popq %rsi popq %rdi - movq 3624(%rax), %r11 + movq 3776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2sARB), .-GL_PREFIX(VertexAttrib2sARB) @@ -16997,7 +17725,7 @@ GL_PREFIX(VertexAttrib2sARB): GL_PREFIX(VertexAttrib2svARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3632(%rax), %r11 + movq 3784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17007,13 +17735,13 @@ GL_PREFIX(VertexAttrib2svARB): popq %rbp popq %rsi popq %rdi - movq 3632(%rax), %r11 + movq 3784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3632(%rax), %r11 + movq 3784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17023,7 +17751,7 @@ GL_PREFIX(VertexAttrib2svARB): popq %rbp popq %rsi popq %rdi - movq 3632(%rax), %r11 + movq 3784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2svARB), .-GL_PREFIX(VertexAttrib2svARB) @@ -17034,7 +17762,7 @@ GL_PREFIX(VertexAttrib2svARB): GL_PREFIX(VertexAttrib3dARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3640(%rax), %r11 + movq 3792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -17048,13 +17776,13 @@ GL_PREFIX(VertexAttrib3dARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 3640(%rax), %r11 + movq 3792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3640(%rax), %r11 + movq 3792(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -17068,7 +17796,7 @@ GL_PREFIX(VertexAttrib3dARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 3640(%rax), %r11 + movq 3792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dARB), .-GL_PREFIX(VertexAttrib3dARB) @@ -17079,7 +17807,7 @@ GL_PREFIX(VertexAttrib3dARB): GL_PREFIX(VertexAttrib3dvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3648(%rax), %r11 + movq 3800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17089,13 +17817,13 @@ GL_PREFIX(VertexAttrib3dvARB): popq %rbp popq %rsi popq %rdi - movq 3648(%rax), %r11 + movq 3800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3648(%rax), %r11 + movq 3800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17105,7 +17833,7 @@ GL_PREFIX(VertexAttrib3dvARB): popq %rbp popq %rsi popq %rdi - movq 3648(%rax), %r11 + movq 3800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dvARB), .-GL_PREFIX(VertexAttrib3dvARB) @@ -17116,7 +17844,7 @@ GL_PREFIX(VertexAttrib3dvARB): GL_PREFIX(VertexAttrib3fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3656(%rax), %r11 + movq 3808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -17130,13 +17858,13 @@ GL_PREFIX(VertexAttrib3fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 3656(%rax), %r11 + movq 3808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3656(%rax), %r11 + movq 3808(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -17150,7 +17878,7 @@ GL_PREFIX(VertexAttrib3fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 3656(%rax), %r11 + movq 3808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fARB), .-GL_PREFIX(VertexAttrib3fARB) @@ -17161,7 +17889,7 @@ GL_PREFIX(VertexAttrib3fARB): GL_PREFIX(VertexAttrib3fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3664(%rax), %r11 + movq 3816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17171,13 +17899,13 @@ GL_PREFIX(VertexAttrib3fvARB): popq %rbp popq %rsi popq %rdi - movq 3664(%rax), %r11 + movq 3816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3664(%rax), %r11 + movq 3816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17187,7 +17915,7 @@ GL_PREFIX(VertexAttrib3fvARB): popq %rbp popq %rsi popq %rdi - movq 3664(%rax), %r11 + movq 3816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fvARB), .-GL_PREFIX(VertexAttrib3fvARB) @@ -17198,7 +17926,7 @@ GL_PREFIX(VertexAttrib3fvARB): GL_PREFIX(VertexAttrib3sARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3672(%rax), %r11 + movq 3824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17212,13 +17940,13 @@ GL_PREFIX(VertexAttrib3sARB): popq %rdx popq %rsi popq %rdi - movq 3672(%rax), %r11 + movq 3824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3672(%rax), %r11 + movq 3824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17232,7 +17960,7 @@ GL_PREFIX(VertexAttrib3sARB): popq %rdx popq %rsi popq %rdi - movq 3672(%rax), %r11 + movq 3824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3sARB), .-GL_PREFIX(VertexAttrib3sARB) @@ -17243,7 +17971,7 @@ GL_PREFIX(VertexAttrib3sARB): GL_PREFIX(VertexAttrib3svARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3680(%rax), %r11 + movq 3832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17253,13 +17981,13 @@ GL_PREFIX(VertexAttrib3svARB): popq %rbp popq %rsi popq %rdi - movq 3680(%rax), %r11 + movq 3832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3680(%rax), %r11 + movq 3832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17269,7 +17997,7 @@ GL_PREFIX(VertexAttrib3svARB): popq %rbp popq %rsi popq %rdi - movq 3680(%rax), %r11 + movq 3832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3svARB), .-GL_PREFIX(VertexAttrib3svARB) @@ -17280,7 +18008,7 @@ GL_PREFIX(VertexAttrib3svARB): GL_PREFIX(VertexAttrib4NbvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3688(%rax), %r11 + movq 3840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17290,13 +18018,13 @@ GL_PREFIX(VertexAttrib4NbvARB): popq %rbp popq %rsi popq %rdi - movq 3688(%rax), %r11 + movq 3840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3688(%rax), %r11 + movq 3840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17306,7 +18034,7 @@ GL_PREFIX(VertexAttrib4NbvARB): popq %rbp popq %rsi popq %rdi - movq 3688(%rax), %r11 + movq 3840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4NbvARB), .-GL_PREFIX(VertexAttrib4NbvARB) @@ -17317,7 +18045,7 @@ GL_PREFIX(VertexAttrib4NbvARB): GL_PREFIX(VertexAttrib4NivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3696(%rax), %r11 + movq 3848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17327,13 +18055,13 @@ GL_PREFIX(VertexAttrib4NivARB): popq %rbp popq %rsi popq %rdi - movq 3696(%rax), %r11 + movq 3848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3696(%rax), %r11 + movq 3848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17343,7 +18071,7 @@ GL_PREFIX(VertexAttrib4NivARB): popq %rbp popq %rsi popq %rdi - movq 3696(%rax), %r11 + movq 3848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4NivARB), .-GL_PREFIX(VertexAttrib4NivARB) @@ -17354,7 +18082,7 @@ GL_PREFIX(VertexAttrib4NivARB): GL_PREFIX(VertexAttrib4NsvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3704(%rax), %r11 + movq 3856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17364,13 +18092,13 @@ GL_PREFIX(VertexAttrib4NsvARB): popq %rbp popq %rsi popq %rdi - movq 3704(%rax), %r11 + movq 3856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3704(%rax), %r11 + movq 3856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17380,7 +18108,7 @@ GL_PREFIX(VertexAttrib4NsvARB): popq %rbp popq %rsi popq %rdi - movq 3704(%rax), %r11 + movq 3856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4NsvARB), .-GL_PREFIX(VertexAttrib4NsvARB) @@ -17391,7 +18119,7 @@ GL_PREFIX(VertexAttrib4NsvARB): GL_PREFIX(VertexAttrib4NubARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3712(%rax), %r11 + movq 3864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17405,13 +18133,13 @@ GL_PREFIX(VertexAttrib4NubARB): popq %rdx popq %rsi popq %rdi - movq 3712(%rax), %r11 + movq 3864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3712(%rax), %r11 + movq 3864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17425,7 +18153,7 @@ GL_PREFIX(VertexAttrib4NubARB): popq %rdx popq %rsi popq %rdi - movq 3712(%rax), %r11 + movq 3864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4NubARB), .-GL_PREFIX(VertexAttrib4NubARB) @@ -17436,7 +18164,7 @@ GL_PREFIX(VertexAttrib4NubARB): GL_PREFIX(VertexAttrib4NubvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3720(%rax), %r11 + movq 3872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17446,13 +18174,13 @@ GL_PREFIX(VertexAttrib4NubvARB): popq %rbp popq %rsi popq %rdi - movq 3720(%rax), %r11 + movq 3872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3720(%rax), %r11 + movq 3872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17462,7 +18190,7 @@ GL_PREFIX(VertexAttrib4NubvARB): popq %rbp popq %rsi popq %rdi - movq 3720(%rax), %r11 + movq 3872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4NubvARB), .-GL_PREFIX(VertexAttrib4NubvARB) @@ -17473,7 +18201,7 @@ GL_PREFIX(VertexAttrib4NubvARB): GL_PREFIX(VertexAttrib4NuivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3728(%rax), %r11 + movq 3880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17483,13 +18211,13 @@ GL_PREFIX(VertexAttrib4NuivARB): popq %rbp popq %rsi popq %rdi - movq 3728(%rax), %r11 + movq 3880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3728(%rax), %r11 + movq 3880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17499,7 +18227,7 @@ GL_PREFIX(VertexAttrib4NuivARB): popq %rbp popq %rsi popq %rdi - movq 3728(%rax), %r11 + movq 3880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4NuivARB), .-GL_PREFIX(VertexAttrib4NuivARB) @@ -17510,7 +18238,7 @@ GL_PREFIX(VertexAttrib4NuivARB): GL_PREFIX(VertexAttrib4NusvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3736(%rax), %r11 + movq 3888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17520,13 +18248,13 @@ GL_PREFIX(VertexAttrib4NusvARB): popq %rbp popq %rsi popq %rdi - movq 3736(%rax), %r11 + movq 3888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3736(%rax), %r11 + movq 3888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17536,7 +18264,7 @@ GL_PREFIX(VertexAttrib4NusvARB): popq %rbp popq %rsi popq %rdi - movq 3736(%rax), %r11 + movq 3888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4NusvARB), .-GL_PREFIX(VertexAttrib4NusvARB) @@ -17547,7 +18275,7 @@ GL_PREFIX(VertexAttrib4NusvARB): GL_PREFIX(VertexAttrib4bvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3744(%rax), %r11 + movq 3896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17557,13 +18285,13 @@ GL_PREFIX(VertexAttrib4bvARB): popq %rbp popq %rsi popq %rdi - movq 3744(%rax), %r11 + movq 3896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3744(%rax), %r11 + movq 3896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17573,7 +18301,7 @@ GL_PREFIX(VertexAttrib4bvARB): popq %rbp popq %rsi popq %rdi - movq 3744(%rax), %r11 + movq 3896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4bvARB), .-GL_PREFIX(VertexAttrib4bvARB) @@ -17584,7 +18312,7 @@ GL_PREFIX(VertexAttrib4bvARB): GL_PREFIX(VertexAttrib4dARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3752(%rax), %r11 + movq 3904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -17600,13 +18328,13 @@ GL_PREFIX(VertexAttrib4dARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 3752(%rax), %r11 + movq 3904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3752(%rax), %r11 + movq 3904(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -17622,7 +18350,7 @@ GL_PREFIX(VertexAttrib4dARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 3752(%rax), %r11 + movq 3904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dARB), .-GL_PREFIX(VertexAttrib4dARB) @@ -17633,7 +18361,7 @@ GL_PREFIX(VertexAttrib4dARB): GL_PREFIX(VertexAttrib4dvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3760(%rax), %r11 + movq 3912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17643,13 +18371,13 @@ GL_PREFIX(VertexAttrib4dvARB): popq %rbp popq %rsi popq %rdi - movq 3760(%rax), %r11 + movq 3912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3760(%rax), %r11 + movq 3912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17659,7 +18387,7 @@ GL_PREFIX(VertexAttrib4dvARB): popq %rbp popq %rsi popq %rdi - movq 3760(%rax), %r11 + movq 3912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dvARB), .-GL_PREFIX(VertexAttrib4dvARB) @@ -17670,7 +18398,7 @@ GL_PREFIX(VertexAttrib4dvARB): GL_PREFIX(VertexAttrib4fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3768(%rax), %r11 + movq 3920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -17686,13 +18414,13 @@ GL_PREFIX(VertexAttrib4fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 3768(%rax), %r11 + movq 3920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3768(%rax), %r11 + movq 3920(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -17708,7 +18436,7 @@ GL_PREFIX(VertexAttrib4fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 3768(%rax), %r11 + movq 3920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fARB), .-GL_PREFIX(VertexAttrib4fARB) @@ -17719,7 +18447,7 @@ GL_PREFIX(VertexAttrib4fARB): GL_PREFIX(VertexAttrib4fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3776(%rax), %r11 + movq 3928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17729,13 +18457,13 @@ GL_PREFIX(VertexAttrib4fvARB): popq %rbp popq %rsi popq %rdi - movq 3776(%rax), %r11 + movq 3928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3776(%rax), %r11 + movq 3928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17745,7 +18473,7 @@ GL_PREFIX(VertexAttrib4fvARB): popq %rbp popq %rsi popq %rdi - movq 3776(%rax), %r11 + movq 3928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fvARB), .-GL_PREFIX(VertexAttrib4fvARB) @@ -17756,7 +18484,7 @@ GL_PREFIX(VertexAttrib4fvARB): GL_PREFIX(VertexAttrib4ivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3784(%rax), %r11 + movq 3936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17766,13 +18494,13 @@ GL_PREFIX(VertexAttrib4ivARB): popq %rbp popq %rsi popq %rdi - movq 3784(%rax), %r11 + movq 3936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3784(%rax), %r11 + movq 3936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17782,7 +18510,7 @@ GL_PREFIX(VertexAttrib4ivARB): popq %rbp popq %rsi popq %rdi - movq 3784(%rax), %r11 + movq 3936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ivARB), .-GL_PREFIX(VertexAttrib4ivARB) @@ -17793,7 +18521,7 @@ GL_PREFIX(VertexAttrib4ivARB): GL_PREFIX(VertexAttrib4sARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3792(%rax), %r11 + movq 3944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17807,13 +18535,13 @@ GL_PREFIX(VertexAttrib4sARB): popq %rdx popq %rsi popq %rdi - movq 3792(%rax), %r11 + movq 3944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3792(%rax), %r11 + movq 3944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17827,7 +18555,7 @@ GL_PREFIX(VertexAttrib4sARB): popq %rdx popq %rsi popq %rdi - movq 3792(%rax), %r11 + movq 3944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4sARB), .-GL_PREFIX(VertexAttrib4sARB) @@ -17838,7 +18566,7 @@ GL_PREFIX(VertexAttrib4sARB): GL_PREFIX(VertexAttrib4svARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3800(%rax), %r11 + movq 3952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17848,13 +18576,13 @@ GL_PREFIX(VertexAttrib4svARB): popq %rbp popq %rsi popq %rdi - movq 3800(%rax), %r11 + movq 3952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3800(%rax), %r11 + movq 3952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17864,7 +18592,7 @@ GL_PREFIX(VertexAttrib4svARB): popq %rbp popq %rsi popq %rdi - movq 3800(%rax), %r11 + movq 3952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4svARB), .-GL_PREFIX(VertexAttrib4svARB) @@ -17875,7 +18603,7 @@ GL_PREFIX(VertexAttrib4svARB): GL_PREFIX(VertexAttrib4ubvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3808(%rax), %r11 + movq 3960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17885,13 +18613,13 @@ GL_PREFIX(VertexAttrib4ubvARB): popq %rbp popq %rsi popq %rdi - movq 3808(%rax), %r11 + movq 3960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3808(%rax), %r11 + movq 3960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17901,7 +18629,7 @@ GL_PREFIX(VertexAttrib4ubvARB): popq %rbp popq %rsi popq %rdi - movq 3808(%rax), %r11 + movq 3960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubvARB), .-GL_PREFIX(VertexAttrib4ubvARB) @@ -17912,7 +18640,7 @@ GL_PREFIX(VertexAttrib4ubvARB): GL_PREFIX(VertexAttrib4uivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3816(%rax), %r11 + movq 3968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17922,13 +18650,13 @@ GL_PREFIX(VertexAttrib4uivARB): popq %rbp popq %rsi popq %rdi - movq 3816(%rax), %r11 + movq 3968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3816(%rax), %r11 + movq 3968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17938,7 +18666,7 @@ GL_PREFIX(VertexAttrib4uivARB): popq %rbp popq %rsi popq %rdi - movq 3816(%rax), %r11 + movq 3968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4uivARB), .-GL_PREFIX(VertexAttrib4uivARB) @@ -17949,7 +18677,7 @@ GL_PREFIX(VertexAttrib4uivARB): GL_PREFIX(VertexAttrib4usvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3824(%rax), %r11 + movq 3976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -17959,13 +18687,13 @@ GL_PREFIX(VertexAttrib4usvARB): popq %rbp popq %rsi popq %rdi - movq 3824(%rax), %r11 + movq 3976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3824(%rax), %r11 + movq 3976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -17975,7 +18703,7 @@ GL_PREFIX(VertexAttrib4usvARB): popq %rbp popq %rsi popq %rdi - movq 3824(%rax), %r11 + movq 3976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4usvARB), .-GL_PREFIX(VertexAttrib4usvARB) @@ -17986,7 +18714,7 @@ GL_PREFIX(VertexAttrib4usvARB): GL_PREFIX(VertexAttribPointerARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3832(%rax), %r11 + movq 3984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18004,13 +18732,13 @@ GL_PREFIX(VertexAttribPointerARB): popq %rdx popq %rsi popq %rdi - movq 3832(%rax), %r11 + movq 3984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3832(%rax), %r11 + movq 3984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18028,7 +18756,7 @@ GL_PREFIX(VertexAttribPointerARB): popq %rdx popq %rsi popq %rdi - movq 3832(%rax), %r11 + movq 3984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribPointerARB), .-GL_PREFIX(VertexAttribPointerARB) @@ -18039,7 +18767,7 @@ GL_PREFIX(VertexAttribPointerARB): GL_PREFIX(BindBufferARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3840(%rax), %r11 + movq 3992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18049,13 +18777,13 @@ GL_PREFIX(BindBufferARB): popq %rbp popq %rsi popq %rdi - movq 3840(%rax), %r11 + movq 3992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3840(%rax), %r11 + movq 3992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18065,7 +18793,7 @@ GL_PREFIX(BindBufferARB): popq %rbp popq %rsi popq %rdi - movq 3840(%rax), %r11 + movq 3992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferARB), .-GL_PREFIX(BindBufferARB) @@ -18076,7 +18804,7 @@ GL_PREFIX(BindBufferARB): GL_PREFIX(BufferDataARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3848(%rax), %r11 + movq 4000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18090,13 +18818,13 @@ GL_PREFIX(BufferDataARB): popq %rdx popq %rsi popq %rdi - movq 3848(%rax), %r11 + movq 4000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3848(%rax), %r11 + movq 4000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18110,7 +18838,7 @@ GL_PREFIX(BufferDataARB): popq %rdx popq %rsi popq %rdi - movq 3848(%rax), %r11 + movq 4000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BufferDataARB), .-GL_PREFIX(BufferDataARB) @@ -18121,7 +18849,7 @@ GL_PREFIX(BufferDataARB): GL_PREFIX(BufferSubDataARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3856(%rax), %r11 + movq 4008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18135,13 +18863,13 @@ GL_PREFIX(BufferSubDataARB): popq %rdx popq %rsi popq %rdi - movq 3856(%rax), %r11 + movq 4008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3856(%rax), %r11 + movq 4008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18155,7 +18883,7 @@ GL_PREFIX(BufferSubDataARB): popq %rdx popq %rsi popq %rdi - movq 3856(%rax), %r11 + movq 4008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BufferSubDataARB), .-GL_PREFIX(BufferSubDataARB) @@ -18166,7 +18894,7 @@ GL_PREFIX(BufferSubDataARB): GL_PREFIX(DeleteBuffersARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3864(%rax), %r11 + movq 4016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18176,13 +18904,13 @@ GL_PREFIX(DeleteBuffersARB): popq %rbp popq %rsi popq %rdi - movq 3864(%rax), %r11 + movq 4016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3864(%rax), %r11 + movq 4016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18192,7 +18920,7 @@ GL_PREFIX(DeleteBuffersARB): popq %rbp popq %rsi popq %rdi - movq 3864(%rax), %r11 + movq 4016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteBuffersARB), .-GL_PREFIX(DeleteBuffersARB) @@ -18203,7 +18931,7 @@ GL_PREFIX(DeleteBuffersARB): GL_PREFIX(GenBuffersARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3872(%rax), %r11 + movq 4024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18213,13 +18941,13 @@ GL_PREFIX(GenBuffersARB): popq %rbp popq %rsi popq %rdi - movq 3872(%rax), %r11 + movq 4024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3872(%rax), %r11 + movq 4024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18229,7 +18957,7 @@ GL_PREFIX(GenBuffersARB): popq %rbp popq %rsi popq %rdi - movq 3872(%rax), %r11 + movq 4024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenBuffersARB), .-GL_PREFIX(GenBuffersARB) @@ -18240,7 +18968,7 @@ GL_PREFIX(GenBuffersARB): GL_PREFIX(GetBufferParameterivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3880(%rax), %r11 + movq 4032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18250,13 +18978,13 @@ GL_PREFIX(GetBufferParameterivARB): popq %rdx popq %rsi popq %rdi - movq 3880(%rax), %r11 + movq 4032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3880(%rax), %r11 + movq 4032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18266,7 +18994,7 @@ GL_PREFIX(GetBufferParameterivARB): popq %rdx popq %rsi popq %rdi - movq 3880(%rax), %r11 + movq 4032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetBufferParameterivARB), .-GL_PREFIX(GetBufferParameterivARB) @@ -18277,7 +19005,7 @@ GL_PREFIX(GetBufferParameterivARB): GL_PREFIX(GetBufferPointervARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3888(%rax), %r11 + movq 4040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18287,13 +19015,13 @@ GL_PREFIX(GetBufferPointervARB): popq %rdx popq %rsi popq %rdi - movq 3888(%rax), %r11 + movq 4040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3888(%rax), %r11 + movq 4040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18303,7 +19031,7 @@ GL_PREFIX(GetBufferPointervARB): popq %rdx popq %rsi popq %rdi - movq 3888(%rax), %r11 + movq 4040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetBufferPointervARB), .-GL_PREFIX(GetBufferPointervARB) @@ -18314,7 +19042,7 @@ GL_PREFIX(GetBufferPointervARB): GL_PREFIX(GetBufferSubDataARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3896(%rax), %r11 + movq 4048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18328,13 +19056,13 @@ GL_PREFIX(GetBufferSubDataARB): popq %rdx popq %rsi popq %rdi - movq 3896(%rax), %r11 + movq 4048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3896(%rax), %r11 + movq 4048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18348,7 +19076,7 @@ GL_PREFIX(GetBufferSubDataARB): popq %rdx popq %rsi popq %rdi - movq 3896(%rax), %r11 + movq 4048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetBufferSubDataARB), .-GL_PREFIX(GetBufferSubDataARB) @@ -18359,25 +19087,25 @@ GL_PREFIX(GetBufferSubDataARB): GL_PREFIX(IsBufferARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3904(%rax), %r11 + movq 4056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3904(%rax), %r11 + movq 4056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3904(%rax), %r11 + movq 4056(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3904(%rax), %r11 + movq 4056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsBufferARB), .-GL_PREFIX(IsBufferARB) @@ -18388,7 +19116,7 @@ GL_PREFIX(IsBufferARB): GL_PREFIX(MapBufferARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3912(%rax), %r11 + movq 4064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18398,13 +19126,13 @@ GL_PREFIX(MapBufferARB): popq %rbp popq %rsi popq %rdi - movq 3912(%rax), %r11 + movq 4064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3912(%rax), %r11 + movq 4064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18414,7 +19142,7 @@ GL_PREFIX(MapBufferARB): popq %rbp popq %rsi popq %rdi - movq 3912(%rax), %r11 + movq 4064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MapBufferARB), .-GL_PREFIX(MapBufferARB) @@ -18425,25 +19153,25 @@ GL_PREFIX(MapBufferARB): GL_PREFIX(UnmapBufferARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3920(%rax), %r11 + movq 4072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3920(%rax), %r11 + movq 4072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3920(%rax), %r11 + movq 4072(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3920(%rax), %r11 + movq 4072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UnmapBufferARB), .-GL_PREFIX(UnmapBufferARB) @@ -18454,7 +19182,7 @@ GL_PREFIX(UnmapBufferARB): GL_PREFIX(BeginQueryARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3928(%rax), %r11 + movq 4080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18464,13 +19192,13 @@ GL_PREFIX(BeginQueryARB): popq %rbp popq %rsi popq %rdi - movq 3928(%rax), %r11 + movq 4080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3928(%rax), %r11 + movq 4080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18480,7 +19208,7 @@ GL_PREFIX(BeginQueryARB): popq %rbp popq %rsi popq %rdi - movq 3928(%rax), %r11 + movq 4080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginQueryARB), .-GL_PREFIX(BeginQueryARB) @@ -18491,7 +19219,7 @@ GL_PREFIX(BeginQueryARB): GL_PREFIX(DeleteQueriesARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3936(%rax), %r11 + movq 4088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18501,13 +19229,13 @@ GL_PREFIX(DeleteQueriesARB): popq %rbp popq %rsi popq %rdi - movq 3936(%rax), %r11 + movq 4088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3936(%rax), %r11 + movq 4088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18517,7 +19245,7 @@ GL_PREFIX(DeleteQueriesARB): popq %rbp popq %rsi popq %rdi - movq 3936(%rax), %r11 + movq 4088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteQueriesARB), .-GL_PREFIX(DeleteQueriesARB) @@ -18528,25 +19256,25 @@ GL_PREFIX(DeleteQueriesARB): GL_PREFIX(EndQueryARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3944(%rax), %r11 + movq 4096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3944(%rax), %r11 + movq 4096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3944(%rax), %r11 + movq 4096(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3944(%rax), %r11 + movq 4096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndQueryARB), .-GL_PREFIX(EndQueryARB) @@ -18557,7 +19285,7 @@ GL_PREFIX(EndQueryARB): GL_PREFIX(GenQueriesARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3952(%rax), %r11 + movq 4104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18567,13 +19295,13 @@ GL_PREFIX(GenQueriesARB): popq %rbp popq %rsi popq %rdi - movq 3952(%rax), %r11 + movq 4104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3952(%rax), %r11 + movq 4104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18583,7 +19311,7 @@ GL_PREFIX(GenQueriesARB): popq %rbp popq %rsi popq %rdi - movq 3952(%rax), %r11 + movq 4104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenQueriesARB), .-GL_PREFIX(GenQueriesARB) @@ -18594,7 +19322,7 @@ GL_PREFIX(GenQueriesARB): GL_PREFIX(GetQueryObjectivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3960(%rax), %r11 + movq 4112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18604,13 +19332,13 @@ GL_PREFIX(GetQueryObjectivARB): popq %rdx popq %rsi popq %rdi - movq 3960(%rax), %r11 + movq 4112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3960(%rax), %r11 + movq 4112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18620,7 +19348,7 @@ GL_PREFIX(GetQueryObjectivARB): popq %rdx popq %rsi popq %rdi - movq 3960(%rax), %r11 + movq 4112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetQueryObjectivARB), .-GL_PREFIX(GetQueryObjectivARB) @@ -18631,7 +19359,7 @@ GL_PREFIX(GetQueryObjectivARB): GL_PREFIX(GetQueryObjectuivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3968(%rax), %r11 + movq 4120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18641,13 +19369,13 @@ GL_PREFIX(GetQueryObjectuivARB): popq %rdx popq %rsi popq %rdi - movq 3968(%rax), %r11 + movq 4120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3968(%rax), %r11 + movq 4120(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18657,7 +19385,7 @@ GL_PREFIX(GetQueryObjectuivARB): popq %rdx popq %rsi popq %rdi - movq 3968(%rax), %r11 + movq 4120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetQueryObjectuivARB), .-GL_PREFIX(GetQueryObjectuivARB) @@ -18668,7 +19396,7 @@ GL_PREFIX(GetQueryObjectuivARB): GL_PREFIX(GetQueryivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3976(%rax), %r11 + movq 4128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18678,13 +19406,13 @@ GL_PREFIX(GetQueryivARB): popq %rdx popq %rsi popq %rdi - movq 3976(%rax), %r11 + movq 4128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3976(%rax), %r11 + movq 4128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18694,7 +19422,7 @@ GL_PREFIX(GetQueryivARB): popq %rdx popq %rsi popq %rdi - movq 3976(%rax), %r11 + movq 4128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetQueryivARB), .-GL_PREFIX(GetQueryivARB) @@ -18705,25 +19433,25 @@ GL_PREFIX(GetQueryivARB): GL_PREFIX(IsQueryARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3984(%rax), %r11 + movq 4136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 3984(%rax), %r11 + movq 4136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3984(%rax), %r11 + movq 4136(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 3984(%rax), %r11 + movq 4136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsQueryARB), .-GL_PREFIX(IsQueryARB) @@ -18734,7 +19462,7 @@ GL_PREFIX(IsQueryARB): GL_PREFIX(AttachObjectARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 3992(%rax), %r11 + movq 4144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18744,13 +19472,13 @@ GL_PREFIX(AttachObjectARB): popq %rbp popq %rsi popq %rdi - movq 3992(%rax), %r11 + movq 4144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 3992(%rax), %r11 + movq 4144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18760,7 +19488,7 @@ GL_PREFIX(AttachObjectARB): popq %rbp popq %rsi popq %rdi - movq 3992(%rax), %r11 + movq 4144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AttachObjectARB), .-GL_PREFIX(AttachObjectARB) @@ -18771,25 +19499,25 @@ GL_PREFIX(AttachObjectARB): GL_PREFIX(CompileShaderARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4000(%rax), %r11 + movq 4152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4000(%rax), %r11 + movq 4152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4000(%rax), %r11 + movq 4152(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4000(%rax), %r11 + movq 4152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CompileShaderARB), .-GL_PREFIX(CompileShaderARB) @@ -18800,25 +19528,25 @@ GL_PREFIX(CompileShaderARB): GL_PREFIX(CreateProgramObjectARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4008(%rax), %r11 + movq 4160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4008(%rax), %r11 + movq 4160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4008(%rax), %r11 + movq 4160(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4008(%rax), %r11 + movq 4160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CreateProgramObjectARB), .-GL_PREFIX(CreateProgramObjectARB) @@ -18829,25 +19557,25 @@ GL_PREFIX(CreateProgramObjectARB): GL_PREFIX(CreateShaderObjectARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4016(%rax), %r11 + movq 4168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4016(%rax), %r11 + movq 4168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4016(%rax), %r11 + movq 4168(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4016(%rax), %r11 + movq 4168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CreateShaderObjectARB), .-GL_PREFIX(CreateShaderObjectARB) @@ -18858,25 +19586,25 @@ GL_PREFIX(CreateShaderObjectARB): GL_PREFIX(DeleteObjectARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4024(%rax), %r11 + movq 4176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4024(%rax), %r11 + movq 4176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4024(%rax), %r11 + movq 4176(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4024(%rax), %r11 + movq 4176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteObjectARB), .-GL_PREFIX(DeleteObjectARB) @@ -18887,7 +19615,7 @@ GL_PREFIX(DeleteObjectARB): GL_PREFIX(DetachObjectARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4032(%rax), %r11 + movq 4184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18897,13 +19625,13 @@ GL_PREFIX(DetachObjectARB): popq %rbp popq %rsi popq %rdi - movq 4032(%rax), %r11 + movq 4184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4032(%rax), %r11 + movq 4184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18913,7 +19641,7 @@ GL_PREFIX(DetachObjectARB): popq %rbp popq %rsi popq %rdi - movq 4032(%rax), %r11 + movq 4184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DetachObjectARB), .-GL_PREFIX(DetachObjectARB) @@ -18924,7 +19652,7 @@ GL_PREFIX(DetachObjectARB): GL_PREFIX(GetActiveUniformARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4040(%rax), %r11 + movq 4192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18942,13 +19670,13 @@ GL_PREFIX(GetActiveUniformARB): popq %rdx popq %rsi popq %rdi - movq 4040(%rax), %r11 + movq 4192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4040(%rax), %r11 + movq 4192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -18966,7 +19694,7 @@ GL_PREFIX(GetActiveUniformARB): popq %rdx popq %rsi popq %rdi - movq 4040(%rax), %r11 + movq 4192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetActiveUniformARB), .-GL_PREFIX(GetActiveUniformARB) @@ -18977,7 +19705,7 @@ GL_PREFIX(GetActiveUniformARB): GL_PREFIX(GetAttachedObjectsARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4048(%rax), %r11 + movq 4200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -18991,13 +19719,13 @@ GL_PREFIX(GetAttachedObjectsARB): popq %rdx popq %rsi popq %rdi - movq 4048(%rax), %r11 + movq 4200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4048(%rax), %r11 + movq 4200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19011,7 +19739,7 @@ GL_PREFIX(GetAttachedObjectsARB): popq %rdx popq %rsi popq %rdi - movq 4048(%rax), %r11 + movq 4200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetAttachedObjectsARB), .-GL_PREFIX(GetAttachedObjectsARB) @@ -19022,25 +19750,25 @@ GL_PREFIX(GetAttachedObjectsARB): GL_PREFIX(GetHandleARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4056(%rax), %r11 + movq 4208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4056(%rax), %r11 + movq 4208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4056(%rax), %r11 + movq 4208(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4056(%rax), %r11 + movq 4208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetHandleARB), .-GL_PREFIX(GetHandleARB) @@ -19051,7 +19779,7 @@ GL_PREFIX(GetHandleARB): GL_PREFIX(GetInfoLogARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4064(%rax), %r11 + movq 4216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19065,13 +19793,13 @@ GL_PREFIX(GetInfoLogARB): popq %rdx popq %rsi popq %rdi - movq 4064(%rax), %r11 + movq 4216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4064(%rax), %r11 + movq 4216(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19085,7 +19813,7 @@ GL_PREFIX(GetInfoLogARB): popq %rdx popq %rsi popq %rdi - movq 4064(%rax), %r11 + movq 4216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetInfoLogARB), .-GL_PREFIX(GetInfoLogARB) @@ -19096,7 +19824,7 @@ GL_PREFIX(GetInfoLogARB): GL_PREFIX(GetObjectParameterfvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4072(%rax), %r11 + movq 4224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19106,13 +19834,13 @@ GL_PREFIX(GetObjectParameterfvARB): popq %rdx popq %rsi popq %rdi - movq 4072(%rax), %r11 + movq 4224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4072(%rax), %r11 + movq 4224(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19122,7 +19850,7 @@ GL_PREFIX(GetObjectParameterfvARB): popq %rdx popq %rsi popq %rdi - movq 4072(%rax), %r11 + movq 4224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetObjectParameterfvARB), .-GL_PREFIX(GetObjectParameterfvARB) @@ -19133,7 +19861,7 @@ GL_PREFIX(GetObjectParameterfvARB): GL_PREFIX(GetObjectParameterivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4080(%rax), %r11 + movq 4232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19143,13 +19871,13 @@ GL_PREFIX(GetObjectParameterivARB): popq %rdx popq %rsi popq %rdi - movq 4080(%rax), %r11 + movq 4232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4080(%rax), %r11 + movq 4232(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19159,7 +19887,7 @@ GL_PREFIX(GetObjectParameterivARB): popq %rdx popq %rsi popq %rdi - movq 4080(%rax), %r11 + movq 4232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetObjectParameterivARB), .-GL_PREFIX(GetObjectParameterivARB) @@ -19170,7 +19898,7 @@ GL_PREFIX(GetObjectParameterivARB): GL_PREFIX(GetShaderSourceARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4088(%rax), %r11 + movq 4240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19184,13 +19912,13 @@ GL_PREFIX(GetShaderSourceARB): popq %rdx popq %rsi popq %rdi - movq 4088(%rax), %r11 + movq 4240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4088(%rax), %r11 + movq 4240(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19204,7 +19932,7 @@ GL_PREFIX(GetShaderSourceARB): popq %rdx popq %rsi popq %rdi - movq 4088(%rax), %r11 + movq 4240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetShaderSourceARB), .-GL_PREFIX(GetShaderSourceARB) @@ -19215,7 +19943,7 @@ GL_PREFIX(GetShaderSourceARB): GL_PREFIX(GetUniformLocationARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4096(%rax), %r11 + movq 4248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19225,13 +19953,13 @@ GL_PREFIX(GetUniformLocationARB): popq %rbp popq %rsi popq %rdi - movq 4096(%rax), %r11 + movq 4248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4096(%rax), %r11 + movq 4248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19241,7 +19969,7 @@ GL_PREFIX(GetUniformLocationARB): popq %rbp popq %rsi popq %rdi - movq 4096(%rax), %r11 + movq 4248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetUniformLocationARB), .-GL_PREFIX(GetUniformLocationARB) @@ -19252,7 +19980,7 @@ GL_PREFIX(GetUniformLocationARB): GL_PREFIX(GetUniformfvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4104(%rax), %r11 + movq 4256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19262,13 +19990,13 @@ GL_PREFIX(GetUniformfvARB): popq %rdx popq %rsi popq %rdi - movq 4104(%rax), %r11 + movq 4256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4104(%rax), %r11 + movq 4256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19278,7 +20006,7 @@ GL_PREFIX(GetUniformfvARB): popq %rdx popq %rsi popq %rdi - movq 4104(%rax), %r11 + movq 4256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetUniformfvARB), .-GL_PREFIX(GetUniformfvARB) @@ -19289,7 +20017,7 @@ GL_PREFIX(GetUniformfvARB): GL_PREFIX(GetUniformivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4112(%rax), %r11 + movq 4264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19299,13 +20027,13 @@ GL_PREFIX(GetUniformivARB): popq %rdx popq %rsi popq %rdi - movq 4112(%rax), %r11 + movq 4264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4112(%rax), %r11 + movq 4264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19315,7 +20043,7 @@ GL_PREFIX(GetUniformivARB): popq %rdx popq %rsi popq %rdi - movq 4112(%rax), %r11 + movq 4264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetUniformivARB), .-GL_PREFIX(GetUniformivARB) @@ -19326,25 +20054,25 @@ GL_PREFIX(GetUniformivARB): GL_PREFIX(LinkProgramARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4120(%rax), %r11 + movq 4272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4120(%rax), %r11 + movq 4272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4120(%rax), %r11 + movq 4272(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4120(%rax), %r11 + movq 4272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LinkProgramARB), .-GL_PREFIX(LinkProgramARB) @@ -19355,7 +20083,7 @@ GL_PREFIX(LinkProgramARB): GL_PREFIX(ShaderSourceARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4128(%rax), %r11 + movq 4280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19369,13 +20097,13 @@ GL_PREFIX(ShaderSourceARB): popq %rdx popq %rsi popq %rdi - movq 4128(%rax), %r11 + movq 4280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4128(%rax), %r11 + movq 4280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19389,7 +20117,7 @@ GL_PREFIX(ShaderSourceARB): popq %rdx popq %rsi popq %rdi - movq 4128(%rax), %r11 + movq 4280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ShaderSourceARB), .-GL_PREFIX(ShaderSourceARB) @@ -19400,7 +20128,7 @@ GL_PREFIX(ShaderSourceARB): GL_PREFIX(Uniform1fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4136(%rax), %r11 + movq 4288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -19410,13 +20138,13 @@ GL_PREFIX(Uniform1fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4136(%rax), %r11 + movq 4288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4136(%rax), %r11 + movq 4288(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -19426,7 +20154,7 @@ GL_PREFIX(Uniform1fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4136(%rax), %r11 + movq 4288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1fARB), .-GL_PREFIX(Uniform1fARB) @@ -19437,7 +20165,7 @@ GL_PREFIX(Uniform1fARB): GL_PREFIX(Uniform1fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4144(%rax), %r11 + movq 4296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19447,13 +20175,13 @@ GL_PREFIX(Uniform1fvARB): popq %rdx popq %rsi popq %rdi - movq 4144(%rax), %r11 + movq 4296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4144(%rax), %r11 + movq 4296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19463,7 +20191,7 @@ GL_PREFIX(Uniform1fvARB): popq %rdx popq %rsi popq %rdi - movq 4144(%rax), %r11 + movq 4296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1fvARB), .-GL_PREFIX(Uniform1fvARB) @@ -19474,7 +20202,7 @@ GL_PREFIX(Uniform1fvARB): GL_PREFIX(Uniform1iARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4152(%rax), %r11 + movq 4304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19484,13 +20212,13 @@ GL_PREFIX(Uniform1iARB): popq %rbp popq %rsi popq %rdi - movq 4152(%rax), %r11 + movq 4304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4152(%rax), %r11 + movq 4304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19500,7 +20228,7 @@ GL_PREFIX(Uniform1iARB): popq %rbp popq %rsi popq %rdi - movq 4152(%rax), %r11 + movq 4304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1iARB), .-GL_PREFIX(Uniform1iARB) @@ -19511,7 +20239,7 @@ GL_PREFIX(Uniform1iARB): GL_PREFIX(Uniform1ivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4160(%rax), %r11 + movq 4312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19521,13 +20249,13 @@ GL_PREFIX(Uniform1ivARB): popq %rdx popq %rsi popq %rdi - movq 4160(%rax), %r11 + movq 4312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4160(%rax), %r11 + movq 4312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19537,7 +20265,7 @@ GL_PREFIX(Uniform1ivARB): popq %rdx popq %rsi popq %rdi - movq 4160(%rax), %r11 + movq 4312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1ivARB), .-GL_PREFIX(Uniform1ivARB) @@ -19548,7 +20276,7 @@ GL_PREFIX(Uniform1ivARB): GL_PREFIX(Uniform2fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4168(%rax), %r11 + movq 4320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -19560,13 +20288,13 @@ GL_PREFIX(Uniform2fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4168(%rax), %r11 + movq 4320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4168(%rax), %r11 + movq 4320(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -19578,7 +20306,7 @@ GL_PREFIX(Uniform2fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4168(%rax), %r11 + movq 4320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2fARB), .-GL_PREFIX(Uniform2fARB) @@ -19589,7 +20317,7 @@ GL_PREFIX(Uniform2fARB): GL_PREFIX(Uniform2fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4176(%rax), %r11 + movq 4328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19599,13 +20327,13 @@ GL_PREFIX(Uniform2fvARB): popq %rdx popq %rsi popq %rdi - movq 4176(%rax), %r11 + movq 4328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4176(%rax), %r11 + movq 4328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19615,7 +20343,7 @@ GL_PREFIX(Uniform2fvARB): popq %rdx popq %rsi popq %rdi - movq 4176(%rax), %r11 + movq 4328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2fvARB), .-GL_PREFIX(Uniform2fvARB) @@ -19626,7 +20354,7 @@ GL_PREFIX(Uniform2fvARB): GL_PREFIX(Uniform2iARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4184(%rax), %r11 + movq 4336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19636,13 +20364,13 @@ GL_PREFIX(Uniform2iARB): popq %rdx popq %rsi popq %rdi - movq 4184(%rax), %r11 + movq 4336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4184(%rax), %r11 + movq 4336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19652,7 +20380,7 @@ GL_PREFIX(Uniform2iARB): popq %rdx popq %rsi popq %rdi - movq 4184(%rax), %r11 + movq 4336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2iARB), .-GL_PREFIX(Uniform2iARB) @@ -19663,7 +20391,7 @@ GL_PREFIX(Uniform2iARB): GL_PREFIX(Uniform2ivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4192(%rax), %r11 + movq 4344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19673,13 +20401,13 @@ GL_PREFIX(Uniform2ivARB): popq %rdx popq %rsi popq %rdi - movq 4192(%rax), %r11 + movq 4344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4192(%rax), %r11 + movq 4344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19689,7 +20417,7 @@ GL_PREFIX(Uniform2ivARB): popq %rdx popq %rsi popq %rdi - movq 4192(%rax), %r11 + movq 4344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2ivARB), .-GL_PREFIX(Uniform2ivARB) @@ -19700,7 +20428,7 @@ GL_PREFIX(Uniform2ivARB): GL_PREFIX(Uniform3fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4200(%rax), %r11 + movq 4352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -19714,13 +20442,13 @@ GL_PREFIX(Uniform3fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 4200(%rax), %r11 + movq 4352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4200(%rax), %r11 + movq 4352(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -19734,7 +20462,7 @@ GL_PREFIX(Uniform3fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 4200(%rax), %r11 + movq 4352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3fARB), .-GL_PREFIX(Uniform3fARB) @@ -19745,7 +20473,7 @@ GL_PREFIX(Uniform3fARB): GL_PREFIX(Uniform3fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4208(%rax), %r11 + movq 4360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19755,13 +20483,13 @@ GL_PREFIX(Uniform3fvARB): popq %rdx popq %rsi popq %rdi - movq 4208(%rax), %r11 + movq 4360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4208(%rax), %r11 + movq 4360(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19771,7 +20499,7 @@ GL_PREFIX(Uniform3fvARB): popq %rdx popq %rsi popq %rdi - movq 4208(%rax), %r11 + movq 4360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3fvARB), .-GL_PREFIX(Uniform3fvARB) @@ -19782,7 +20510,7 @@ GL_PREFIX(Uniform3fvARB): GL_PREFIX(Uniform3iARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4216(%rax), %r11 + movq 4368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19796,13 +20524,13 @@ GL_PREFIX(Uniform3iARB): popq %rdx popq %rsi popq %rdi - movq 4216(%rax), %r11 + movq 4368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4216(%rax), %r11 + movq 4368(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19816,7 +20544,7 @@ GL_PREFIX(Uniform3iARB): popq %rdx popq %rsi popq %rdi - movq 4216(%rax), %r11 + movq 4368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3iARB), .-GL_PREFIX(Uniform3iARB) @@ -19827,7 +20555,7 @@ GL_PREFIX(Uniform3iARB): GL_PREFIX(Uniform3ivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4224(%rax), %r11 + movq 4376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19837,13 +20565,13 @@ GL_PREFIX(Uniform3ivARB): popq %rdx popq %rsi popq %rdi - movq 4224(%rax), %r11 + movq 4376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4224(%rax), %r11 + movq 4376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19853,7 +20581,7 @@ GL_PREFIX(Uniform3ivARB): popq %rdx popq %rsi popq %rdi - movq 4224(%rax), %r11 + movq 4376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3ivARB), .-GL_PREFIX(Uniform3ivARB) @@ -19864,7 +20592,7 @@ GL_PREFIX(Uniform3ivARB): GL_PREFIX(Uniform4fARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4232(%rax), %r11 + movq 4384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -19880,13 +20608,13 @@ GL_PREFIX(Uniform4fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 4232(%rax), %r11 + movq 4384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4232(%rax), %r11 + movq 4384(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -19902,7 +20630,7 @@ GL_PREFIX(Uniform4fARB): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 4232(%rax), %r11 + movq 4384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4fARB), .-GL_PREFIX(Uniform4fARB) @@ -19913,7 +20641,7 @@ GL_PREFIX(Uniform4fARB): GL_PREFIX(Uniform4fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4240(%rax), %r11 + movq 4392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19923,13 +20651,13 @@ GL_PREFIX(Uniform4fvARB): popq %rdx popq %rsi popq %rdi - movq 4240(%rax), %r11 + movq 4392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4240(%rax), %r11 + movq 4392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19939,7 +20667,7 @@ GL_PREFIX(Uniform4fvARB): popq %rdx popq %rsi popq %rdi - movq 4240(%rax), %r11 + movq 4392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4fvARB), .-GL_PREFIX(Uniform4fvARB) @@ -19950,7 +20678,7 @@ GL_PREFIX(Uniform4fvARB): GL_PREFIX(Uniform4iARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4248(%rax), %r11 + movq 4400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -19964,13 +20692,13 @@ GL_PREFIX(Uniform4iARB): popq %rdx popq %rsi popq %rdi - movq 4248(%rax), %r11 + movq 4400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4248(%rax), %r11 + movq 4400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -19984,7 +20712,7 @@ GL_PREFIX(Uniform4iARB): popq %rdx popq %rsi popq %rdi - movq 4248(%rax), %r11 + movq 4400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4iARB), .-GL_PREFIX(Uniform4iARB) @@ -19995,7 +20723,7 @@ GL_PREFIX(Uniform4iARB): GL_PREFIX(Uniform4ivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4256(%rax), %r11 + movq 4408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20005,13 +20733,13 @@ GL_PREFIX(Uniform4ivARB): popq %rdx popq %rsi popq %rdi - movq 4256(%rax), %r11 + movq 4408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4256(%rax), %r11 + movq 4408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20021,7 +20749,7 @@ GL_PREFIX(Uniform4ivARB): popq %rdx popq %rsi popq %rdi - movq 4256(%rax), %r11 + movq 4408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4ivARB), .-GL_PREFIX(Uniform4ivARB) @@ -20032,7 +20760,7 @@ GL_PREFIX(Uniform4ivARB): GL_PREFIX(UniformMatrix2fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4264(%rax), %r11 + movq 4416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20046,13 +20774,13 @@ GL_PREFIX(UniformMatrix2fvARB): popq %rdx popq %rsi popq %rdi - movq 4264(%rax), %r11 + movq 4416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4264(%rax), %r11 + movq 4416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20066,7 +20794,7 @@ GL_PREFIX(UniformMatrix2fvARB): popq %rdx popq %rsi popq %rdi - movq 4264(%rax), %r11 + movq 4416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UniformMatrix2fvARB), .-GL_PREFIX(UniformMatrix2fvARB) @@ -20077,7 +20805,7 @@ GL_PREFIX(UniformMatrix2fvARB): GL_PREFIX(UniformMatrix3fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4272(%rax), %r11 + movq 4424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20091,13 +20819,13 @@ GL_PREFIX(UniformMatrix3fvARB): popq %rdx popq %rsi popq %rdi - movq 4272(%rax), %r11 + movq 4424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4272(%rax), %r11 + movq 4424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20111,7 +20839,7 @@ GL_PREFIX(UniformMatrix3fvARB): popq %rdx popq %rsi popq %rdi - movq 4272(%rax), %r11 + movq 4424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UniformMatrix3fvARB), .-GL_PREFIX(UniformMatrix3fvARB) @@ -20122,7 +20850,7 @@ GL_PREFIX(UniformMatrix3fvARB): GL_PREFIX(UniformMatrix4fvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4280(%rax), %r11 + movq 4432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20136,13 +20864,13 @@ GL_PREFIX(UniformMatrix4fvARB): popq %rdx popq %rsi popq %rdi - movq 4280(%rax), %r11 + movq 4432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4280(%rax), %r11 + movq 4432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20156,7 +20884,7 @@ GL_PREFIX(UniformMatrix4fvARB): popq %rdx popq %rsi popq %rdi - movq 4280(%rax), %r11 + movq 4432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UniformMatrix4fvARB), .-GL_PREFIX(UniformMatrix4fvARB) @@ -20167,25 +20895,25 @@ GL_PREFIX(UniformMatrix4fvARB): GL_PREFIX(UseProgramObjectARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4288(%rax), %r11 + movq 4440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4288(%rax), %r11 + movq 4440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4288(%rax), %r11 + movq 4440(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4288(%rax), %r11 + movq 4440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UseProgramObjectARB), .-GL_PREFIX(UseProgramObjectARB) @@ -20196,25 +20924,25 @@ GL_PREFIX(UseProgramObjectARB): GL_PREFIX(ValidateProgramARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4296(%rax), %r11 + movq 4448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4296(%rax), %r11 + movq 4448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4296(%rax), %r11 + movq 4448(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4296(%rax), %r11 + movq 4448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ValidateProgramARB), .-GL_PREFIX(ValidateProgramARB) @@ -20225,7 +20953,7 @@ GL_PREFIX(ValidateProgramARB): GL_PREFIX(BindAttribLocationARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4304(%rax), %r11 + movq 4456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20235,13 +20963,13 @@ GL_PREFIX(BindAttribLocationARB): popq %rdx popq %rsi popq %rdi - movq 4304(%rax), %r11 + movq 4456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4304(%rax), %r11 + movq 4456(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20251,7 +20979,7 @@ GL_PREFIX(BindAttribLocationARB): popq %rdx popq %rsi popq %rdi - movq 4304(%rax), %r11 + movq 4456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindAttribLocationARB), .-GL_PREFIX(BindAttribLocationARB) @@ -20262,7 +20990,7 @@ GL_PREFIX(BindAttribLocationARB): GL_PREFIX(GetActiveAttribARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4312(%rax), %r11 + movq 4464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20280,13 +21008,13 @@ GL_PREFIX(GetActiveAttribARB): popq %rdx popq %rsi popq %rdi - movq 4312(%rax), %r11 + movq 4464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4312(%rax), %r11 + movq 4464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20304,7 +21032,7 @@ GL_PREFIX(GetActiveAttribARB): popq %rdx popq %rsi popq %rdi - movq 4312(%rax), %r11 + movq 4464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetActiveAttribARB), .-GL_PREFIX(GetActiveAttribARB) @@ -20315,7 +21043,7 @@ GL_PREFIX(GetActiveAttribARB): GL_PREFIX(GetAttribLocationARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4320(%rax), %r11 + movq 4472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20325,13 +21053,13 @@ GL_PREFIX(GetAttribLocationARB): popq %rbp popq %rsi popq %rdi - movq 4320(%rax), %r11 + movq 4472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4320(%rax), %r11 + movq 4472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20341,7 +21069,7 @@ GL_PREFIX(GetAttribLocationARB): popq %rbp popq %rsi popq %rdi - movq 4320(%rax), %r11 + movq 4472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetAttribLocationARB), .-GL_PREFIX(GetAttribLocationARB) @@ -20352,7 +21080,7 @@ GL_PREFIX(GetAttribLocationARB): GL_PREFIX(DrawBuffersARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4328(%rax), %r11 + movq 4480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20362,13 +21090,13 @@ GL_PREFIX(DrawBuffersARB): popq %rbp popq %rsi popq %rdi - movq 4328(%rax), %r11 + movq 4480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4328(%rax), %r11 + movq 4480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20378,7 +21106,7 @@ GL_PREFIX(DrawBuffersARB): popq %rbp popq %rsi popq %rdi - movq 4328(%rax), %r11 + movq 4480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DrawBuffersARB), .-GL_PREFIX(DrawBuffersARB) @@ -20389,7 +21117,7 @@ GL_PREFIX(DrawBuffersARB): GL_PREFIX(PolygonOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4336(%rax), %r11 + movq 4488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -20399,13 +21127,13 @@ GL_PREFIX(PolygonOffsetEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4336(%rax), %r11 + movq 4488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4336(%rax), %r11 + movq 4488(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -20415,561 +21143,19 @@ GL_PREFIX(PolygonOffsetEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4336(%rax), %r11 + movq 4488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_543) - .type GL_PREFIX(_dispatch_stub_543), @function - HIDDEN(GL_PREFIX(_dispatch_stub_543)) -GL_PREFIX(_dispatch_stub_543): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4344(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %r8 - call _x86_64_get_dispatch@PLT - popq %r8 - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4344(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4344(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %r8 - call _glapi_get_dispatch - popq %r8 - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4344(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_543), .-GL_PREFIX(_dispatch_stub_543) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_544) - .type GL_PREFIX(_dispatch_stub_544), @function - HIDDEN(GL_PREFIX(_dispatch_stub_544)) -GL_PREFIX(_dispatch_stub_544): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4352(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4352(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4352(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4352(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_544), .-GL_PREFIX(_dispatch_stub_544) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_545) - .type GL_PREFIX(_dispatch_stub_545), @function - HIDDEN(GL_PREFIX(_dispatch_stub_545)) -GL_PREFIX(_dispatch_stub_545): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4360(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4360(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4360(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4360(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_545), .-GL_PREFIX(_dispatch_stub_545) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_546) - .type GL_PREFIX(_dispatch_stub_546), @function - HIDDEN(GL_PREFIX(_dispatch_stub_546)) -GL_PREFIX(_dispatch_stub_546): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4368(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %r8 - call _x86_64_get_dispatch@PLT - popq %r8 - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4368(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4368(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %r8 - call _glapi_get_dispatch - popq %r8 - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4368(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_546), .-GL_PREFIX(_dispatch_stub_546) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_547) - .type GL_PREFIX(_dispatch_stub_547), @function - HIDDEN(GL_PREFIX(_dispatch_stub_547)) -GL_PREFIX(_dispatch_stub_547): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4376(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4376(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4376(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4376(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_547), .-GL_PREFIX(_dispatch_stub_547) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_548) - .type GL_PREFIX(_dispatch_stub_548), @function - HIDDEN(GL_PREFIX(_dispatch_stub_548)) -GL_PREFIX(_dispatch_stub_548): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4384(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4384(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4384(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4384(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_548), .-GL_PREFIX(_dispatch_stub_548) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_549) - .type GL_PREFIX(_dispatch_stub_549), @function - HIDDEN(GL_PREFIX(_dispatch_stub_549)) -GL_PREFIX(_dispatch_stub_549): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4392(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %rbp - call _x86_64_get_dispatch@PLT - popq %rbp - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4392(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4392(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %rbp - call _glapi_get_dispatch - popq %rbp - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4392(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_549), .-GL_PREFIX(_dispatch_stub_549) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_550) - .type GL_PREFIX(_dispatch_stub_550), @function - HIDDEN(GL_PREFIX(_dispatch_stub_550)) -GL_PREFIX(_dispatch_stub_550): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4400(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4400(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4400(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4400(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_550), .-GL_PREFIX(_dispatch_stub_550) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_551) - .type GL_PREFIX(_dispatch_stub_551), @function - HIDDEN(GL_PREFIX(_dispatch_stub_551)) -GL_PREFIX(_dispatch_stub_551): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4408(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4408(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4408(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4408(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_551), .-GL_PREFIX(_dispatch_stub_551) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_552) - .type GL_PREFIX(_dispatch_stub_552), @function - HIDDEN(GL_PREFIX(_dispatch_stub_552)) -GL_PREFIX(_dispatch_stub_552): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4416(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %r8 - pushq %r9 - pushq %rbp - call _x86_64_get_dispatch@PLT - popq %rbp - popq %r9 - popq %r8 - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4416(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4416(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %r8 - pushq %r9 - pushq %rbp - call _glapi_get_dispatch - popq %rbp - popq %r9 - popq %r8 - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4416(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_552), .-GL_PREFIX(_dispatch_stub_552) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_553) - .type GL_PREFIX(_dispatch_stub_553), @function - HIDDEN(GL_PREFIX(_dispatch_stub_553)) -GL_PREFIX(_dispatch_stub_553): + .globl GL_PREFIX(_dispatch_stub_562) + .type GL_PREFIX(_dispatch_stub_562), @function + HIDDEN(GL_PREFIX(_dispatch_stub_562)) +GL_PREFIX(_dispatch_stub_562): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4424(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4424(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4424(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4424(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_553), .-GL_PREFIX(_dispatch_stub_553) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_554) - .type GL_PREFIX(_dispatch_stub_554), @function - HIDDEN(GL_PREFIX(_dispatch_stub_554)) -GL_PREFIX(_dispatch_stub_554): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4432(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4432(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4432(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4432(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_554), .-GL_PREFIX(_dispatch_stub_554) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_555) - .type GL_PREFIX(_dispatch_stub_555), @function - HIDDEN(GL_PREFIX(_dispatch_stub_555)) -GL_PREFIX(_dispatch_stub_555): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4440(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %rbp - call _x86_64_get_dispatch@PLT - popq %rbp - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4440(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4440(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %rbp - call _glapi_get_dispatch - popq %rbp - popq %rcx - popq %rdx - popq %rsi - popq %rdi - movq 4440(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_555), .-GL_PREFIX(_dispatch_stub_555) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_556) - .type GL_PREFIX(_dispatch_stub_556), @function - HIDDEN(GL_PREFIX(_dispatch_stub_556)) -GL_PREFIX(_dispatch_stub_556): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4448(%rax), %r11 + movq 4496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -20979,13 +21165,13 @@ GL_PREFIX(_dispatch_stub_556): popq %rbp popq %rsi popq %rdi - movq 4448(%rax), %r11 + movq 4496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4448(%rax), %r11 + movq 4496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -20995,19 +21181,19 @@ GL_PREFIX(_dispatch_stub_556): popq %rbp popq %rsi popq %rdi - movq 4448(%rax), %r11 + movq 4496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_556), .-GL_PREFIX(_dispatch_stub_556) + .size GL_PREFIX(_dispatch_stub_562), .-GL_PREFIX(_dispatch_stub_562) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_557) - .type GL_PREFIX(_dispatch_stub_557), @function - HIDDEN(GL_PREFIX(_dispatch_stub_557)) -GL_PREFIX(_dispatch_stub_557): + .globl GL_PREFIX(_dispatch_stub_563) + .type GL_PREFIX(_dispatch_stub_563), @function + HIDDEN(GL_PREFIX(_dispatch_stub_563)) +GL_PREFIX(_dispatch_stub_563): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4456(%rax), %r11 + movq 4504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21017,13 +21203,13 @@ GL_PREFIX(_dispatch_stub_557): popq %rbp popq %rsi popq %rdi - movq 4456(%rax), %r11 + movq 4504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4456(%rax), %r11 + movq 4504(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21033,19 +21219,19 @@ GL_PREFIX(_dispatch_stub_557): popq %rbp popq %rsi popq %rdi - movq 4456(%rax), %r11 + movq 4504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_557), .-GL_PREFIX(_dispatch_stub_557) + .size GL_PREFIX(_dispatch_stub_563), .-GL_PREFIX(_dispatch_stub_563) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_558) - .type GL_PREFIX(_dispatch_stub_558), @function - HIDDEN(GL_PREFIX(_dispatch_stub_558)) -GL_PREFIX(_dispatch_stub_558): + .globl GL_PREFIX(_dispatch_stub_564) + .type GL_PREFIX(_dispatch_stub_564), @function + HIDDEN(GL_PREFIX(_dispatch_stub_564)) +GL_PREFIX(_dispatch_stub_564): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4464(%rax), %r11 + movq 4512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -21055,13 +21241,13 @@ GL_PREFIX(_dispatch_stub_558): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4464(%rax), %r11 + movq 4512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4464(%rax), %r11 + movq 4512(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -21071,57 +21257,19 @@ GL_PREFIX(_dispatch_stub_558): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4464(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_558), .-GL_PREFIX(_dispatch_stub_558) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_559) - .type GL_PREFIX(_dispatch_stub_559), @function - HIDDEN(GL_PREFIX(_dispatch_stub_559)) -GL_PREFIX(_dispatch_stub_559): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4472(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rbp - call _x86_64_get_dispatch@PLT - popq %rbp - popq %rsi - popq %rdi - movq 4472(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4472(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rbp - call _glapi_get_dispatch - popq %rbp - popq %rsi - popq %rdi - movq 4472(%rax), %r11 + movq 4512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_559), .-GL_PREFIX(_dispatch_stub_559) + .size GL_PREFIX(_dispatch_stub_564), .-GL_PREFIX(_dispatch_stub_564) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_560) - .type GL_PREFIX(_dispatch_stub_560), @function - HIDDEN(GL_PREFIX(_dispatch_stub_560)) -GL_PREFIX(_dispatch_stub_560): + .globl GL_PREFIX(_dispatch_stub_565) + .type GL_PREFIX(_dispatch_stub_565), @function + HIDDEN(GL_PREFIX(_dispatch_stub_565)) +GL_PREFIX(_dispatch_stub_565): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4480(%rax), %r11 + movq 4520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21131,13 +21279,13 @@ GL_PREFIX(_dispatch_stub_560): popq %rbp popq %rsi popq %rdi - movq 4480(%rax), %r11 + movq 4520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4480(%rax), %r11 + movq 4520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21147,19 +21295,19 @@ GL_PREFIX(_dispatch_stub_560): popq %rbp popq %rsi popq %rdi - movq 4480(%rax), %r11 + movq 4520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_560), .-GL_PREFIX(_dispatch_stub_560) + .size GL_PREFIX(_dispatch_stub_565), .-GL_PREFIX(_dispatch_stub_565) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_561) - .type GL_PREFIX(_dispatch_stub_561), @function - HIDDEN(GL_PREFIX(_dispatch_stub_561)) -GL_PREFIX(_dispatch_stub_561): + .globl GL_PREFIX(_dispatch_stub_566) + .type GL_PREFIX(_dispatch_stub_566), @function + HIDDEN(GL_PREFIX(_dispatch_stub_566)) +GL_PREFIX(_dispatch_stub_566): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4488(%rax), %r11 + movq 4528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21169,13 +21317,13 @@ GL_PREFIX(_dispatch_stub_561): popq %rbp popq %rsi popq %rdi - movq 4488(%rax), %r11 + movq 4528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4488(%rax), %r11 + movq 4528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21185,55 +21333,19 @@ GL_PREFIX(_dispatch_stub_561): popq %rbp popq %rsi popq %rdi - movq 4488(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_561), .-GL_PREFIX(_dispatch_stub_561) - - .p2align 4,,15 - .globl GL_PREFIX(AreTexturesResidentEXT) - .type GL_PREFIX(AreTexturesResidentEXT), @function -GL_PREFIX(AreTexturesResidentEXT): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4496(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi - popq %rdi - movq 4496(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4496(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rdx - call _glapi_get_dispatch - popq %rdx - popq %rsi - popq %rdi - movq 4496(%rax), %r11 + movq 4528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(AreTexturesResidentEXT), .-GL_PREFIX(AreTexturesResidentEXT) + .size GL_PREFIX(_dispatch_stub_566), .-GL_PREFIX(_dispatch_stub_566) .p2align 4,,15 - .globl GL_PREFIX(GenTexturesEXT) - .type GL_PREFIX(GenTexturesEXT), @function -GL_PREFIX(GenTexturesEXT): + .globl GL_PREFIX(_dispatch_stub_567) + .type GL_PREFIX(_dispatch_stub_567), @function + HIDDEN(GL_PREFIX(_dispatch_stub_567)) +GL_PREFIX(_dispatch_stub_567): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4504(%rax), %r11 + movq 4536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21243,13 +21355,13 @@ GL_PREFIX(GenTexturesEXT): popq %rbp popq %rsi popq %rdi - movq 4504(%rax), %r11 + movq 4536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4504(%rax), %r11 + movq 4536(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21259,48 +21371,19 @@ GL_PREFIX(GenTexturesEXT): popq %rbp popq %rsi popq %rdi - movq 4504(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(GenTexturesEXT), .-GL_PREFIX(GenTexturesEXT) - - .p2align 4,,15 - .globl GL_PREFIX(IsTextureEXT) - .type GL_PREFIX(IsTextureEXT), @function -GL_PREFIX(IsTextureEXT): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 4512(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - call _x86_64_get_dispatch@PLT - popq %rdi - movq 4512(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 4512(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - call _glapi_get_dispatch - popq %rdi - movq 4512(%rax), %r11 + movq 4536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(IsTextureEXT), .-GL_PREFIX(IsTextureEXT) + .size GL_PREFIX(_dispatch_stub_567), .-GL_PREFIX(_dispatch_stub_567) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_565) - .type GL_PREFIX(_dispatch_stub_565), @function - HIDDEN(GL_PREFIX(_dispatch_stub_565)) -GL_PREFIX(_dispatch_stub_565): + .globl GL_PREFIX(_dispatch_stub_568) + .type GL_PREFIX(_dispatch_stub_568), @function + HIDDEN(GL_PREFIX(_dispatch_stub_568)) +GL_PREFIX(_dispatch_stub_568): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4520(%rax), %r11 + movq 4544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21310,13 +21393,13 @@ GL_PREFIX(_dispatch_stub_565): popq %rbp popq %rsi popq %rdi - movq 4520(%rax), %r11 + movq 4544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4520(%rax), %r11 + movq 4544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21326,40 +21409,40 @@ GL_PREFIX(_dispatch_stub_565): popq %rbp popq %rsi popq %rdi - movq 4520(%rax), %r11 + movq 4544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_565), .-GL_PREFIX(_dispatch_stub_565) + .size GL_PREFIX(_dispatch_stub_568), .-GL_PREFIX(_dispatch_stub_568) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_566) - .type GL_PREFIX(_dispatch_stub_566), @function - HIDDEN(GL_PREFIX(_dispatch_stub_566)) -GL_PREFIX(_dispatch_stub_566): + .globl GL_PREFIX(_dispatch_stub_569) + .type GL_PREFIX(_dispatch_stub_569), @function + HIDDEN(GL_PREFIX(_dispatch_stub_569)) +GL_PREFIX(_dispatch_stub_569): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4528(%rax), %r11 + movq 4552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4528(%rax), %r11 + movq 4552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4528(%rax), %r11 + movq 4552(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4528(%rax), %r11 + movq 4552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_566), .-GL_PREFIX(_dispatch_stub_566) + .size GL_PREFIX(_dispatch_stub_569), .-GL_PREFIX(_dispatch_stub_569) .p2align 4,,15 .globl GL_PREFIX(ColorPointerEXT) @@ -21367,7 +21450,7 @@ GL_PREFIX(_dispatch_stub_566): GL_PREFIX(ColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4536(%rax), %r11 + movq 4560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21381,13 +21464,13 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4536(%rax), %r11 + movq 4560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4536(%rax), %r11 + movq 4560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21401,7 +21484,7 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4536(%rax), %r11 + movq 4560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorPointerEXT), .-GL_PREFIX(ColorPointerEXT) @@ -21412,7 +21495,7 @@ GL_PREFIX(ColorPointerEXT): GL_PREFIX(EdgeFlagPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4544(%rax), %r11 + movq 4568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21422,13 +21505,13 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4544(%rax), %r11 + movq 4568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4544(%rax), %r11 + movq 4568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21438,7 +21521,7 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4544(%rax), %r11 + movq 4568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EdgeFlagPointerEXT), .-GL_PREFIX(EdgeFlagPointerEXT) @@ -21449,7 +21532,7 @@ GL_PREFIX(EdgeFlagPointerEXT): GL_PREFIX(IndexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4552(%rax), %r11 + movq 4576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21463,13 +21546,13 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4552(%rax), %r11 + movq 4576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4552(%rax), %r11 + movq 4576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21483,7 +21566,7 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4552(%rax), %r11 + movq 4576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IndexPointerEXT), .-GL_PREFIX(IndexPointerEXT) @@ -21494,7 +21577,7 @@ GL_PREFIX(IndexPointerEXT): GL_PREFIX(NormalPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4560(%rax), %r11 + movq 4584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21508,13 +21591,13 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4560(%rax), %r11 + movq 4584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4560(%rax), %r11 + movq 4584(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21528,7 +21611,7 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4560(%rax), %r11 + movq 4584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(NormalPointerEXT), .-GL_PREFIX(NormalPointerEXT) @@ -21539,7 +21622,7 @@ GL_PREFIX(NormalPointerEXT): GL_PREFIX(TexCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4568(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21553,13 +21636,13 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4568(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4568(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21573,7 +21656,7 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4568(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexCoordPointerEXT), .-GL_PREFIX(TexCoordPointerEXT) @@ -21584,7 +21667,7 @@ GL_PREFIX(TexCoordPointerEXT): GL_PREFIX(VertexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4576(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21598,13 +21681,13 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4576(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4576(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21618,7 +21701,7 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4576(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexPointerEXT), .-GL_PREFIX(VertexPointerEXT) @@ -21629,7 +21712,7 @@ GL_PREFIX(VertexPointerEXT): GL_PREFIX(PointParameterfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4584(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -21639,13 +21722,13 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4584(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4584(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -21655,7 +21738,7 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4584(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfEXT), .-GL_PREFIX(PointParameterfEXT) @@ -21666,7 +21749,7 @@ GL_PREFIX(PointParameterfEXT): GL_PREFIX(PointParameterfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4592(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21676,13 +21759,13 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4592(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4592(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21692,7 +21775,7 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4592(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfvEXT), .-GL_PREFIX(PointParameterfvEXT) @@ -21703,7 +21786,7 @@ GL_PREFIX(PointParameterfvEXT): GL_PREFIX(LockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4600(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21713,13 +21796,13 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4600(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4600(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21729,7 +21812,7 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4600(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LockArraysEXT), .-GL_PREFIX(LockArraysEXT) @@ -21740,37 +21823,37 @@ GL_PREFIX(LockArraysEXT): GL_PREFIX(UnlockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4608(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4608(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4608(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4608(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UnlockArraysEXT), .-GL_PREFIX(UnlockArraysEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_577) - .type GL_PREFIX(_dispatch_stub_577), @function - HIDDEN(GL_PREFIX(_dispatch_stub_577)) -GL_PREFIX(_dispatch_stub_577): + .globl GL_PREFIX(_dispatch_stub_580) + .type GL_PREFIX(_dispatch_stub_580), @function + HIDDEN(GL_PREFIX(_dispatch_stub_580)) +GL_PREFIX(_dispatch_stub_580): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4616(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21780,13 +21863,13 @@ GL_PREFIX(_dispatch_stub_577): popq %rbp popq %rsi popq %rdi - movq 4616(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4616(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21796,19 +21879,19 @@ GL_PREFIX(_dispatch_stub_577): popq %rbp popq %rsi popq %rdi - movq 4616(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_577), .-GL_PREFIX(_dispatch_stub_577) + .size GL_PREFIX(_dispatch_stub_580), .-GL_PREFIX(_dispatch_stub_580) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_578) - .type GL_PREFIX(_dispatch_stub_578), @function - HIDDEN(GL_PREFIX(_dispatch_stub_578)) -GL_PREFIX(_dispatch_stub_578): + .globl GL_PREFIX(_dispatch_stub_581) + .type GL_PREFIX(_dispatch_stub_581), @function + HIDDEN(GL_PREFIX(_dispatch_stub_581)) +GL_PREFIX(_dispatch_stub_581): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4624(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21818,13 +21901,13 @@ GL_PREFIX(_dispatch_stub_578): popq %rbp popq %rsi popq %rdi - movq 4624(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4624(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21834,10 +21917,10 @@ GL_PREFIX(_dispatch_stub_578): popq %rbp popq %rsi popq %rdi - movq 4624(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_578), .-GL_PREFIX(_dispatch_stub_578) + .size GL_PREFIX(_dispatch_stub_581), .-GL_PREFIX(_dispatch_stub_581) .p2align 4,,15 .globl GL_PREFIX(SecondaryColor3bEXT) @@ -21845,7 +21928,7 @@ GL_PREFIX(_dispatch_stub_578): GL_PREFIX(SecondaryColor3bEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4632(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21855,13 +21938,13 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4632(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4632(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21871,7 +21954,7 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4632(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bEXT), .-GL_PREFIX(SecondaryColor3bEXT) @@ -21882,25 +21965,25 @@ GL_PREFIX(SecondaryColor3bEXT): GL_PREFIX(SecondaryColor3bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4640(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4640(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4640(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4640(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bvEXT), .-GL_PREFIX(SecondaryColor3bvEXT) @@ -21911,7 +21994,7 @@ GL_PREFIX(SecondaryColor3bvEXT): GL_PREFIX(SecondaryColor3dEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4648(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -21923,13 +22006,13 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4648(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4648(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -21941,7 +22024,7 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4648(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dEXT), .-GL_PREFIX(SecondaryColor3dEXT) @@ -21952,25 +22035,25 @@ GL_PREFIX(SecondaryColor3dEXT): GL_PREFIX(SecondaryColor3dvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4656(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4656(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4656(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4656(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dvEXT), .-GL_PREFIX(SecondaryColor3dvEXT) @@ -21981,7 +22064,7 @@ GL_PREFIX(SecondaryColor3dvEXT): GL_PREFIX(SecondaryColor3fEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4664(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -21993,13 +22076,13 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4664(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4664(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22011,7 +22094,7 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4664(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fEXT), .-GL_PREFIX(SecondaryColor3fEXT) @@ -22022,25 +22105,25 @@ GL_PREFIX(SecondaryColor3fEXT): GL_PREFIX(SecondaryColor3fvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4672(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4672(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4672(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4672(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fvEXT), .-GL_PREFIX(SecondaryColor3fvEXT) @@ -22051,7 +22134,7 @@ GL_PREFIX(SecondaryColor3fvEXT): GL_PREFIX(SecondaryColor3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4680(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22061,13 +22144,13 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 4680(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4680(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22077,7 +22160,7 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 4680(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3iEXT), .-GL_PREFIX(SecondaryColor3iEXT) @@ -22088,25 +22171,25 @@ GL_PREFIX(SecondaryColor3iEXT): GL_PREFIX(SecondaryColor3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4688(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4688(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4688(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4688(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ivEXT), .-GL_PREFIX(SecondaryColor3ivEXT) @@ -22117,7 +22200,7 @@ GL_PREFIX(SecondaryColor3ivEXT): GL_PREFIX(SecondaryColor3sEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4696(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22127,13 +22210,13 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 4696(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4696(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22143,7 +22226,7 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 4696(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3sEXT), .-GL_PREFIX(SecondaryColor3sEXT) @@ -22154,25 +22237,25 @@ GL_PREFIX(SecondaryColor3sEXT): GL_PREFIX(SecondaryColor3svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4704(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4704(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4704(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4704(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3svEXT), .-GL_PREFIX(SecondaryColor3svEXT) @@ -22183,7 +22266,7 @@ GL_PREFIX(SecondaryColor3svEXT): GL_PREFIX(SecondaryColor3ubEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4712(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22193,13 +22276,13 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 4712(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4712(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22209,7 +22292,7 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 4712(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubEXT), .-GL_PREFIX(SecondaryColor3ubEXT) @@ -22220,25 +22303,25 @@ GL_PREFIX(SecondaryColor3ubEXT): GL_PREFIX(SecondaryColor3ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4720(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4720(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4720(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4720(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubvEXT), .-GL_PREFIX(SecondaryColor3ubvEXT) @@ -22249,7 +22332,7 @@ GL_PREFIX(SecondaryColor3ubvEXT): GL_PREFIX(SecondaryColor3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4728(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22259,13 +22342,13 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 4728(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4728(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22275,7 +22358,7 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 4728(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uiEXT), .-GL_PREFIX(SecondaryColor3uiEXT) @@ -22286,25 +22369,25 @@ GL_PREFIX(SecondaryColor3uiEXT): GL_PREFIX(SecondaryColor3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4736(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4736(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4736(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4736(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uivEXT), .-GL_PREFIX(SecondaryColor3uivEXT) @@ -22315,7 +22398,7 @@ GL_PREFIX(SecondaryColor3uivEXT): GL_PREFIX(SecondaryColor3usEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4744(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22325,13 +22408,13 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 4744(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4744(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22341,7 +22424,7 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 4744(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usEXT), .-GL_PREFIX(SecondaryColor3usEXT) @@ -22352,25 +22435,25 @@ GL_PREFIX(SecondaryColor3usEXT): GL_PREFIX(SecondaryColor3usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4752(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4752(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4752(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4752(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usvEXT), .-GL_PREFIX(SecondaryColor3usvEXT) @@ -22381,7 +22464,7 @@ GL_PREFIX(SecondaryColor3usvEXT): GL_PREFIX(SecondaryColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4760(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22395,13 +22478,13 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4760(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4760(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22415,7 +22498,7 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4760(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColorPointerEXT), .-GL_PREFIX(SecondaryColorPointerEXT) @@ -22426,7 +22509,7 @@ GL_PREFIX(SecondaryColorPointerEXT): GL_PREFIX(MultiDrawArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4768(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22440,13 +22523,13 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 4768(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4768(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22460,7 +22543,7 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 4768(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawArraysEXT), .-GL_PREFIX(MultiDrawArraysEXT) @@ -22471,7 +22554,7 @@ GL_PREFIX(MultiDrawArraysEXT): GL_PREFIX(MultiDrawElementsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4776(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22485,13 +22568,13 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 4776(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4776(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22505,7 +22588,7 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 4776(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsEXT), .-GL_PREFIX(MultiDrawElementsEXT) @@ -22516,7 +22599,7 @@ GL_PREFIX(MultiDrawElementsEXT): GL_PREFIX(FogCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4784(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22526,13 +22609,13 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4784(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4784(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22542,7 +22625,7 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4784(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordPointerEXT), .-GL_PREFIX(FogCoordPointerEXT) @@ -22553,7 +22636,7 @@ GL_PREFIX(FogCoordPointerEXT): GL_PREFIX(FogCoorddEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4792(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -22561,13 +22644,13 @@ GL_PREFIX(FogCoorddEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 4792(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4792(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -22575,7 +22658,7 @@ GL_PREFIX(FogCoorddEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 4792(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddEXT), .-GL_PREFIX(FogCoorddEXT) @@ -22586,25 +22669,25 @@ GL_PREFIX(FogCoorddEXT): GL_PREFIX(FogCoorddvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4800(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4800(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4800(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4800(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddvEXT), .-GL_PREFIX(FogCoorddvEXT) @@ -22615,7 +22698,7 @@ GL_PREFIX(FogCoorddvEXT): GL_PREFIX(FogCoordfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4808(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -22623,13 +22706,13 @@ GL_PREFIX(FogCoordfEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 4808(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4808(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -22637,7 +22720,7 @@ GL_PREFIX(FogCoordfEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 4808(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfEXT), .-GL_PREFIX(FogCoordfEXT) @@ -22648,58 +22731,58 @@ GL_PREFIX(FogCoordfEXT): GL_PREFIX(FogCoordfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4816(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4816(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4816(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4816(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfvEXT), .-GL_PREFIX(FogCoordfvEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_603) - .type GL_PREFIX(_dispatch_stub_603), @function - HIDDEN(GL_PREFIX(_dispatch_stub_603)) -GL_PREFIX(_dispatch_stub_603): + .globl GL_PREFIX(_dispatch_stub_606) + .type GL_PREFIX(_dispatch_stub_606), @function + HIDDEN(GL_PREFIX(_dispatch_stub_606)) +GL_PREFIX(_dispatch_stub_606): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4824(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4824(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4824(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4824(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_603), .-GL_PREFIX(_dispatch_stub_603) + .size GL_PREFIX(_dispatch_stub_606), .-GL_PREFIX(_dispatch_stub_606) .p2align 4,,15 .globl GL_PREFIX(BlendFuncSeparateEXT) @@ -22707,7 +22790,7 @@ GL_PREFIX(_dispatch_stub_603): GL_PREFIX(BlendFuncSeparateEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4832(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22721,13 +22804,13 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 4832(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4832(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22741,7 +22824,7 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 4832(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFuncSeparateEXT), .-GL_PREFIX(BlendFuncSeparateEXT) @@ -22752,25 +22835,25 @@ GL_PREFIX(BlendFuncSeparateEXT): GL_PREFIX(FlushVertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4840(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4840(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4840(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4840(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushVertexArrayRangeNV), .-GL_PREFIX(FlushVertexArrayRangeNV) @@ -22781,7 +22864,7 @@ GL_PREFIX(FlushVertexArrayRangeNV): GL_PREFIX(VertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4848(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22791,13 +22874,13 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4848(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22807,7 +22890,7 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexArrayRangeNV), .-GL_PREFIX(VertexArrayRangeNV) @@ -22818,7 +22901,7 @@ GL_PREFIX(VertexArrayRangeNV): GL_PREFIX(CombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4856(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22836,13 +22919,13 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4856(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4856(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22860,7 +22943,7 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4856(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerInputNV), .-GL_PREFIX(CombinerInputNV) @@ -22871,7 +22954,7 @@ GL_PREFIX(CombinerInputNV): GL_PREFIX(CombinerOutputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4864(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22889,13 +22972,13 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 4864(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4864(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22913,7 +22996,7 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 4864(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerOutputNV), .-GL_PREFIX(CombinerOutputNV) @@ -22924,7 +23007,7 @@ GL_PREFIX(CombinerOutputNV): GL_PREFIX(CombinerParameterfNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4872(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22934,13 +23017,13 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4872(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4872(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22950,7 +23033,7 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4872(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfNV), .-GL_PREFIX(CombinerParameterfNV) @@ -22961,7 +23044,7 @@ GL_PREFIX(CombinerParameterfNV): GL_PREFIX(CombinerParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4880(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22971,13 +23054,13 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 4880(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4880(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22987,7 +23070,7 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 4880(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfvNV), .-GL_PREFIX(CombinerParameterfvNV) @@ -22998,7 +23081,7 @@ GL_PREFIX(CombinerParameterfvNV): GL_PREFIX(CombinerParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4888(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23008,13 +23091,13 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 4888(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4888(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23024,7 +23107,7 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 4888(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameteriNV), .-GL_PREFIX(CombinerParameteriNV) @@ -23035,7 +23118,7 @@ GL_PREFIX(CombinerParameteriNV): GL_PREFIX(CombinerParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4896(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23045,13 +23128,13 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4896(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23061,7 +23144,7 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterivNV), .-GL_PREFIX(CombinerParameterivNV) @@ -23072,7 +23155,7 @@ GL_PREFIX(CombinerParameterivNV): GL_PREFIX(FinalCombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4904(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23086,13 +23169,13 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4904(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23106,7 +23189,7 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FinalCombinerInputNV), .-GL_PREFIX(FinalCombinerInputNV) @@ -23117,7 +23200,7 @@ GL_PREFIX(FinalCombinerInputNV): GL_PREFIX(GetCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4912(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23131,13 +23214,13 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4912(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23151,7 +23234,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterfvNV), .-GL_PREFIX(GetCombinerInputParameterfvNV) @@ -23162,7 +23245,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): GL_PREFIX(GetCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4920(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23176,13 +23259,13 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 4920(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4920(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23196,7 +23279,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 4920(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterivNV), .-GL_PREFIX(GetCombinerInputParameterivNV) @@ -23207,7 +23290,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): GL_PREFIX(GetCombinerOutputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4928(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23221,13 +23304,13 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4928(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23241,7 +23324,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterfvNV), .-GL_PREFIX(GetCombinerOutputParameterfvNV) @@ -23252,7 +23335,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): GL_PREFIX(GetCombinerOutputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4936(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23266,13 +23349,13 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4936(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23286,7 +23369,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterivNV), .-GL_PREFIX(GetCombinerOutputParameterivNV) @@ -23297,7 +23380,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): GL_PREFIX(GetFinalCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4944(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23307,13 +23390,13 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 4944(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4944(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23323,7 +23406,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 4944(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterfvNV), .-GL_PREFIX(GetFinalCombinerInputParameterfvNV) @@ -23334,7 +23417,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): GL_PREFIX(GetFinalCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4952(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23344,13 +23427,13 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 4952(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4952(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23360,7 +23443,7 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 4952(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterivNV), .-GL_PREFIX(GetFinalCombinerInputParameterivNV) @@ -23371,25 +23454,25 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): GL_PREFIX(ResizeBuffersMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4960(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4960(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4960(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4960(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResizeBuffersMESA), .-GL_PREFIX(ResizeBuffersMESA) @@ -23400,7 +23483,7 @@ GL_PREFIX(ResizeBuffersMESA): GL_PREFIX(WindowPos2dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4968(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23410,13 +23493,13 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4968(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4968(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23426,7 +23509,7 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4968(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dMESA), .-GL_PREFIX(WindowPos2dMESA) @@ -23437,25 +23520,25 @@ GL_PREFIX(WindowPos2dMESA): GL_PREFIX(WindowPos2dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4976(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4976(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4976(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4976(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dvMESA), .-GL_PREFIX(WindowPos2dvMESA) @@ -23466,7 +23549,7 @@ GL_PREFIX(WindowPos2dvMESA): GL_PREFIX(WindowPos2fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4984(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23476,13 +23559,13 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4984(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4984(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23492,7 +23575,7 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4984(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fMESA), .-GL_PREFIX(WindowPos2fMESA) @@ -23503,25 +23586,25 @@ GL_PREFIX(WindowPos2fMESA): GL_PREFIX(WindowPos2fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4992(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4992(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4992(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4992(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fvMESA), .-GL_PREFIX(WindowPos2fvMESA) @@ -23532,7 +23615,7 @@ GL_PREFIX(WindowPos2fvMESA): GL_PREFIX(WindowPos2iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5000(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23542,13 +23625,13 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5000(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23558,7 +23641,7 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2iMESA), .-GL_PREFIX(WindowPos2iMESA) @@ -23569,25 +23652,25 @@ GL_PREFIX(WindowPos2iMESA): GL_PREFIX(WindowPos2ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5008(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5008(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5008(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5008(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2ivMESA), .-GL_PREFIX(WindowPos2ivMESA) @@ -23598,7 +23681,7 @@ GL_PREFIX(WindowPos2ivMESA): GL_PREFIX(WindowPos2sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5016(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23608,13 +23691,13 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5016(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23624,7 +23707,7 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2sMESA), .-GL_PREFIX(WindowPos2sMESA) @@ -23635,25 +23718,25 @@ GL_PREFIX(WindowPos2sMESA): GL_PREFIX(WindowPos2svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5024(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5024(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5024(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5024(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2svMESA), .-GL_PREFIX(WindowPos2svMESA) @@ -23664,7 +23747,7 @@ GL_PREFIX(WindowPos2svMESA): GL_PREFIX(WindowPos3dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5032(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23676,13 +23759,13 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5032(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5032(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23694,7 +23777,7 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5032(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dMESA), .-GL_PREFIX(WindowPos3dMESA) @@ -23705,25 +23788,25 @@ GL_PREFIX(WindowPos3dMESA): GL_PREFIX(WindowPos3dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5040(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5040(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5040(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5040(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dvMESA), .-GL_PREFIX(WindowPos3dvMESA) @@ -23734,7 +23817,7 @@ GL_PREFIX(WindowPos3dvMESA): GL_PREFIX(WindowPos3fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5048(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23746,13 +23829,13 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5048(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5048(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23764,7 +23847,7 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5048(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fMESA), .-GL_PREFIX(WindowPos3fMESA) @@ -23775,25 +23858,25 @@ GL_PREFIX(WindowPos3fMESA): GL_PREFIX(WindowPos3fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5056(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5056(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5056(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5056(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fvMESA), .-GL_PREFIX(WindowPos3fvMESA) @@ -23804,7 +23887,7 @@ GL_PREFIX(WindowPos3fvMESA): GL_PREFIX(WindowPos3iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5064(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23814,13 +23897,13 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5064(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23830,7 +23913,7 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3iMESA), .-GL_PREFIX(WindowPos3iMESA) @@ -23841,25 +23924,25 @@ GL_PREFIX(WindowPos3iMESA): GL_PREFIX(WindowPos3ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5072(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5072(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5072(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5072(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3ivMESA), .-GL_PREFIX(WindowPos3ivMESA) @@ -23870,7 +23953,7 @@ GL_PREFIX(WindowPos3ivMESA): GL_PREFIX(WindowPos3sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5080(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23880,13 +23963,13 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5080(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23896,7 +23979,7 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3sMESA), .-GL_PREFIX(WindowPos3sMESA) @@ -23907,25 +23990,25 @@ GL_PREFIX(WindowPos3sMESA): GL_PREFIX(WindowPos3svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5088(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5088(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5088(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5088(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3svMESA), .-GL_PREFIX(WindowPos3svMESA) @@ -23936,7 +24019,7 @@ GL_PREFIX(WindowPos3svMESA): GL_PREFIX(WindowPos4dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5096(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -23950,13 +24033,13 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5096(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5096(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -23970,7 +24053,7 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5096(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dMESA), .-GL_PREFIX(WindowPos4dMESA) @@ -23981,25 +24064,25 @@ GL_PREFIX(WindowPos4dMESA): GL_PREFIX(WindowPos4dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5104(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5104(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5104(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5104(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dvMESA), .-GL_PREFIX(WindowPos4dvMESA) @@ -24010,7 +24093,7 @@ GL_PREFIX(WindowPos4dvMESA): GL_PREFIX(WindowPos4fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5112(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -24024,13 +24107,13 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5112(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5112(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -24044,7 +24127,7 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5112(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fMESA), .-GL_PREFIX(WindowPos4fMESA) @@ -24055,25 +24138,25 @@ GL_PREFIX(WindowPos4fMESA): GL_PREFIX(WindowPos4fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5120(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5120(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5120(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5120(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fvMESA), .-GL_PREFIX(WindowPos4fvMESA) @@ -24084,7 +24167,7 @@ GL_PREFIX(WindowPos4fvMESA): GL_PREFIX(WindowPos4iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5128(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24098,13 +24181,13 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5128(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5128(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24118,7 +24201,7 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5128(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4iMESA), .-GL_PREFIX(WindowPos4iMESA) @@ -24129,25 +24212,25 @@ GL_PREFIX(WindowPos4iMESA): GL_PREFIX(WindowPos4ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5136(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5136(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5136(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5136(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4ivMESA), .-GL_PREFIX(WindowPos4ivMESA) @@ -24158,7 +24241,7 @@ GL_PREFIX(WindowPos4ivMESA): GL_PREFIX(WindowPos4sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5144(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24172,13 +24255,13 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5144(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5144(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24192,7 +24275,7 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5144(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4sMESA), .-GL_PREFIX(WindowPos4sMESA) @@ -24203,37 +24286,37 @@ GL_PREFIX(WindowPos4sMESA): GL_PREFIX(WindowPos4svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5152(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5152(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5152(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5152(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_645) - .type GL_PREFIX(_dispatch_stub_645), @function - HIDDEN(GL_PREFIX(_dispatch_stub_645)) -GL_PREFIX(_dispatch_stub_645): + .globl GL_PREFIX(_dispatch_stub_648) + .type GL_PREFIX(_dispatch_stub_648), @function + HIDDEN(GL_PREFIX(_dispatch_stub_648)) +GL_PREFIX(_dispatch_stub_648): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5160(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24247,13 +24330,13 @@ GL_PREFIX(_dispatch_stub_645): popq %rdx popq %rsi popq %rdi - movq 5160(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5160(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24267,19 +24350,19 @@ GL_PREFIX(_dispatch_stub_645): popq %rdx popq %rsi popq %rdi - movq 5160(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_645), .-GL_PREFIX(_dispatch_stub_645) + .size GL_PREFIX(_dispatch_stub_648), .-GL_PREFIX(_dispatch_stub_648) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_646) - .type GL_PREFIX(_dispatch_stub_646), @function - HIDDEN(GL_PREFIX(_dispatch_stub_646)) -GL_PREFIX(_dispatch_stub_646): + .globl GL_PREFIX(_dispatch_stub_649) + .type GL_PREFIX(_dispatch_stub_649), @function + HIDDEN(GL_PREFIX(_dispatch_stub_649)) +GL_PREFIX(_dispatch_stub_649): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5168(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24297,13 +24380,13 @@ GL_PREFIX(_dispatch_stub_646): popq %rdx popq %rsi popq %rdi - movq 5168(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5168(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24321,19 +24404,19 @@ GL_PREFIX(_dispatch_stub_646): popq %rdx popq %rsi popq %rdi - movq 5168(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_646), .-GL_PREFIX(_dispatch_stub_646) + .size GL_PREFIX(_dispatch_stub_649), .-GL_PREFIX(_dispatch_stub_649) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_647) - .type GL_PREFIX(_dispatch_stub_647), @function - HIDDEN(GL_PREFIX(_dispatch_stub_647)) -GL_PREFIX(_dispatch_stub_647): + .globl GL_PREFIX(_dispatch_stub_650) + .type GL_PREFIX(_dispatch_stub_650), @function + HIDDEN(GL_PREFIX(_dispatch_stub_650)) +GL_PREFIX(_dispatch_stub_650): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5176(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24343,13 +24426,13 @@ GL_PREFIX(_dispatch_stub_647): popq %rbp popq %rsi popq %rdi - movq 5176(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5176(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24359,49 +24442,49 @@ GL_PREFIX(_dispatch_stub_647): popq %rbp popq %rsi popq %rdi - movq 5176(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_647), .-GL_PREFIX(_dispatch_stub_647) + .size GL_PREFIX(_dispatch_stub_650), .-GL_PREFIX(_dispatch_stub_650) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_648) - .type GL_PREFIX(_dispatch_stub_648), @function - HIDDEN(GL_PREFIX(_dispatch_stub_648)) -GL_PREFIX(_dispatch_stub_648): + .globl GL_PREFIX(_dispatch_stub_651) + .type GL_PREFIX(_dispatch_stub_651), @function + HIDDEN(GL_PREFIX(_dispatch_stub_651)) +GL_PREFIX(_dispatch_stub_651): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5184(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5184(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5184(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5184(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_648), .-GL_PREFIX(_dispatch_stub_648) + .size GL_PREFIX(_dispatch_stub_651), .-GL_PREFIX(_dispatch_stub_651) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_649) - .type GL_PREFIX(_dispatch_stub_649), @function - HIDDEN(GL_PREFIX(_dispatch_stub_649)) -GL_PREFIX(_dispatch_stub_649): + .globl GL_PREFIX(_dispatch_stub_652) + .type GL_PREFIX(_dispatch_stub_652), @function + HIDDEN(GL_PREFIX(_dispatch_stub_652)) +GL_PREFIX(_dispatch_stub_652): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5192(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24411,13 +24494,13 @@ GL_PREFIX(_dispatch_stub_649): popq %rbp popq %rsi popq %rdi - movq 5192(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5192(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24427,19 +24510,19 @@ GL_PREFIX(_dispatch_stub_649): popq %rbp popq %rsi popq %rdi - movq 5192(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_649), .-GL_PREFIX(_dispatch_stub_649) + .size GL_PREFIX(_dispatch_stub_652), .-GL_PREFIX(_dispatch_stub_652) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_650) - .type GL_PREFIX(_dispatch_stub_650), @function - HIDDEN(GL_PREFIX(_dispatch_stub_650)) -GL_PREFIX(_dispatch_stub_650): + .globl GL_PREFIX(_dispatch_stub_653) + .type GL_PREFIX(_dispatch_stub_653), @function + HIDDEN(GL_PREFIX(_dispatch_stub_653)) +GL_PREFIX(_dispatch_stub_653): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5200(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24449,13 +24532,13 @@ GL_PREFIX(_dispatch_stub_650): popq %rdx popq %rsi popq %rdi - movq 5200(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5200(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24465,49 +24548,49 @@ GL_PREFIX(_dispatch_stub_650): popq %rdx popq %rsi popq %rdi - movq 5200(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_650), .-GL_PREFIX(_dispatch_stub_650) + .size GL_PREFIX(_dispatch_stub_653), .-GL_PREFIX(_dispatch_stub_653) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_651) - .type GL_PREFIX(_dispatch_stub_651), @function - HIDDEN(GL_PREFIX(_dispatch_stub_651)) -GL_PREFIX(_dispatch_stub_651): + .globl GL_PREFIX(_dispatch_stub_654) + .type GL_PREFIX(_dispatch_stub_654), @function + HIDDEN(GL_PREFIX(_dispatch_stub_654)) +GL_PREFIX(_dispatch_stub_654): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5208(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5208(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5208(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5208(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_651), .-GL_PREFIX(_dispatch_stub_651) + .size GL_PREFIX(_dispatch_stub_654), .-GL_PREFIX(_dispatch_stub_654) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_652) - .type GL_PREFIX(_dispatch_stub_652), @function - HIDDEN(GL_PREFIX(_dispatch_stub_652)) -GL_PREFIX(_dispatch_stub_652): + .globl GL_PREFIX(_dispatch_stub_655) + .type GL_PREFIX(_dispatch_stub_655), @function + HIDDEN(GL_PREFIX(_dispatch_stub_655)) +GL_PREFIX(_dispatch_stub_655): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5216(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24517,13 +24600,13 @@ GL_PREFIX(_dispatch_stub_652): popq %rbp popq %rsi popq %rdi - movq 5216(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5216(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24533,40 +24616,40 @@ GL_PREFIX(_dispatch_stub_652): popq %rbp popq %rsi popq %rdi - movq 5216(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_652), .-GL_PREFIX(_dispatch_stub_652) + .size GL_PREFIX(_dispatch_stub_655), .-GL_PREFIX(_dispatch_stub_655) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_653) - .type GL_PREFIX(_dispatch_stub_653), @function - HIDDEN(GL_PREFIX(_dispatch_stub_653)) -GL_PREFIX(_dispatch_stub_653): + .globl GL_PREFIX(_dispatch_stub_656) + .type GL_PREFIX(_dispatch_stub_656), @function + HIDDEN(GL_PREFIX(_dispatch_stub_656)) +GL_PREFIX(_dispatch_stub_656): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5224(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5224(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5224(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5224(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_653), .-GL_PREFIX(_dispatch_stub_653) + .size GL_PREFIX(_dispatch_stub_656), .-GL_PREFIX(_dispatch_stub_656) .p2align 4,,15 .globl GL_PREFIX(AreProgramsResidentNV) @@ -24574,7 +24657,7 @@ GL_PREFIX(_dispatch_stub_653): GL_PREFIX(AreProgramsResidentNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5232(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24584,13 +24667,13 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5232(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5232(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24600,7 +24683,7 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5232(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AreProgramsResidentNV), .-GL_PREFIX(AreProgramsResidentNV) @@ -24611,7 +24694,7 @@ GL_PREFIX(AreProgramsResidentNV): GL_PREFIX(BindProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5240(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24621,13 +24704,13 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5240(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5240(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24637,7 +24720,7 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5240(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindProgramNV), .-GL_PREFIX(BindProgramNV) @@ -24648,7 +24731,7 @@ GL_PREFIX(BindProgramNV): GL_PREFIX(DeleteProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5248(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24658,13 +24741,13 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5248(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24674,7 +24757,7 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteProgramsNV), .-GL_PREFIX(DeleteProgramsNV) @@ -24685,7 +24768,7 @@ GL_PREFIX(DeleteProgramsNV): GL_PREFIX(ExecuteProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5256(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24695,13 +24778,13 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5256(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5256(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24711,7 +24794,7 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5256(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ExecuteProgramNV), .-GL_PREFIX(ExecuteProgramNV) @@ -24722,7 +24805,7 @@ GL_PREFIX(ExecuteProgramNV): GL_PREFIX(GenProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5264(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24732,13 +24815,13 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5264(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5264(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24748,7 +24831,7 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5264(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenProgramsNV), .-GL_PREFIX(GenProgramsNV) @@ -24759,7 +24842,7 @@ GL_PREFIX(GenProgramsNV): GL_PREFIX(GetProgramParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5272(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24773,13 +24856,13 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5272(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24793,7 +24876,7 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterdvNV), .-GL_PREFIX(GetProgramParameterdvNV) @@ -24804,7 +24887,7 @@ GL_PREFIX(GetProgramParameterdvNV): GL_PREFIX(GetProgramParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5280(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24818,13 +24901,13 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5280(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5280(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24838,7 +24921,7 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5280(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterfvNV), .-GL_PREFIX(GetProgramParameterfvNV) @@ -24849,7 +24932,7 @@ GL_PREFIX(GetProgramParameterfvNV): GL_PREFIX(GetProgramStringNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5288(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24859,13 +24942,13 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5288(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5288(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24875,7 +24958,7 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5288(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramStringNV), .-GL_PREFIX(GetProgramStringNV) @@ -24886,7 +24969,7 @@ GL_PREFIX(GetProgramStringNV): GL_PREFIX(GetProgramivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5296(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24896,13 +24979,13 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5296(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5296(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24912,7 +24995,7 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5296(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramivNV), .-GL_PREFIX(GetProgramivNV) @@ -24923,7 +25006,7 @@ GL_PREFIX(GetProgramivNV): GL_PREFIX(GetTrackMatrixivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5304(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24937,13 +25020,13 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5304(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5304(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24957,7 +25040,7 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5304(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTrackMatrixivNV), .-GL_PREFIX(GetTrackMatrixivNV) @@ -24968,7 +25051,7 @@ GL_PREFIX(GetTrackMatrixivNV): GL_PREFIX(GetVertexAttribPointervNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5312(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24978,13 +25061,13 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5312(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5312(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24994,7 +25077,7 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5312(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribPointervNV), .-GL_PREFIX(GetVertexAttribPointervNV) @@ -25005,7 +25088,7 @@ GL_PREFIX(GetVertexAttribPointervNV): GL_PREFIX(GetVertexAttribdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5320(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25015,13 +25098,13 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5320(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25031,7 +25114,7 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribdvNV), .-GL_PREFIX(GetVertexAttribdvNV) @@ -25042,7 +25125,7 @@ GL_PREFIX(GetVertexAttribdvNV): GL_PREFIX(GetVertexAttribfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5328(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25052,13 +25135,13 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5328(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5328(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25068,7 +25151,7 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5328(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribfvNV), .-GL_PREFIX(GetVertexAttribfvNV) @@ -25079,7 +25162,7 @@ GL_PREFIX(GetVertexAttribfvNV): GL_PREFIX(GetVertexAttribivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5336(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25089,13 +25172,13 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5336(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5336(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25105,7 +25188,7 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5336(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribivNV), .-GL_PREFIX(GetVertexAttribivNV) @@ -25116,25 +25199,25 @@ GL_PREFIX(GetVertexAttribivNV): GL_PREFIX(IsProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5344(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5344(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5344(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5344(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsProgramNV), .-GL_PREFIX(IsProgramNV) @@ -25145,7 +25228,7 @@ GL_PREFIX(IsProgramNV): GL_PREFIX(LoadProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5352(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25159,13 +25242,13 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5352(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5352(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25179,7 +25262,7 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5352(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadProgramNV), .-GL_PREFIX(LoadProgramNV) @@ -25190,7 +25273,7 @@ GL_PREFIX(LoadProgramNV): GL_PREFIX(ProgramParameter4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5360(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -25208,13 +25291,13 @@ GL_PREFIX(ProgramParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 5360(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5360(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -25232,7 +25315,7 @@ GL_PREFIX(ProgramParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 5360(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameter4dNV), .-GL_PREFIX(ProgramParameter4dNV) @@ -25243,7 +25326,7 @@ GL_PREFIX(ProgramParameter4dNV): GL_PREFIX(ProgramParameter4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5368(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25253,13 +25336,13 @@ GL_PREFIX(ProgramParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5368(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25269,7 +25352,7 @@ GL_PREFIX(ProgramParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameter4dvNV), .-GL_PREFIX(ProgramParameter4dvNV) @@ -25280,7 +25363,7 @@ GL_PREFIX(ProgramParameter4dvNV): GL_PREFIX(ProgramParameter4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5376(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -25298,13 +25381,13 @@ GL_PREFIX(ProgramParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 5376(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5376(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -25322,7 +25405,7 @@ GL_PREFIX(ProgramParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 5376(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameter4fNV), .-GL_PREFIX(ProgramParameter4fNV) @@ -25333,7 +25416,7 @@ GL_PREFIX(ProgramParameter4fNV): GL_PREFIX(ProgramParameter4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5384(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25343,13 +25426,13 @@ GL_PREFIX(ProgramParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5384(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25359,7 +25442,7 @@ GL_PREFIX(ProgramParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameter4fvNV), .-GL_PREFIX(ProgramParameter4fvNV) @@ -25370,7 +25453,7 @@ GL_PREFIX(ProgramParameter4fvNV): GL_PREFIX(ProgramParameters4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5392(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25384,13 +25467,13 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5392(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5392(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25404,7 +25487,7 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5392(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4dvNV), .-GL_PREFIX(ProgramParameters4dvNV) @@ -25415,7 +25498,7 @@ GL_PREFIX(ProgramParameters4dvNV): GL_PREFIX(ProgramParameters4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5400(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25429,13 +25512,13 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5400(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25449,7 +25532,7 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4fvNV), .-GL_PREFIX(ProgramParameters4fvNV) @@ -25460,7 +25543,7 @@ GL_PREFIX(ProgramParameters4fvNV): GL_PREFIX(RequestResidentProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5408(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25470,13 +25553,13 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5408(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5408(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25486,7 +25569,7 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5408(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RequestResidentProgramsNV), .-GL_PREFIX(RequestResidentProgramsNV) @@ -25497,7 +25580,7 @@ GL_PREFIX(RequestResidentProgramsNV): GL_PREFIX(TrackMatrixNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5416(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25511,13 +25594,13 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5416(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5416(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25531,7 +25614,7 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5416(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TrackMatrixNV), .-GL_PREFIX(TrackMatrixNV) @@ -25542,7 +25625,7 @@ GL_PREFIX(TrackMatrixNV): GL_PREFIX(VertexAttrib1dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5424(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25552,13 +25635,13 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5424(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5424(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25568,7 +25651,7 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5424(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dNV), .-GL_PREFIX(VertexAttrib1dNV) @@ -25579,7 +25662,7 @@ GL_PREFIX(VertexAttrib1dNV): GL_PREFIX(VertexAttrib1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5432(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25589,13 +25672,13 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5432(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25605,7 +25688,7 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dvNV), .-GL_PREFIX(VertexAttrib1dvNV) @@ -25616,7 +25699,7 @@ GL_PREFIX(VertexAttrib1dvNV): GL_PREFIX(VertexAttrib1fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5440(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25626,13 +25709,13 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5440(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5440(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25642,7 +25725,7 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5440(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fNV), .-GL_PREFIX(VertexAttrib1fNV) @@ -25653,7 +25736,7 @@ GL_PREFIX(VertexAttrib1fNV): GL_PREFIX(VertexAttrib1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5448(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25663,13 +25746,13 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5448(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25679,7 +25762,7 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fvNV), .-GL_PREFIX(VertexAttrib1fvNV) @@ -25690,7 +25773,7 @@ GL_PREFIX(VertexAttrib1fvNV): GL_PREFIX(VertexAttrib1sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5456(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25700,13 +25783,13 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5456(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25716,7 +25799,7 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1sNV), .-GL_PREFIX(VertexAttrib1sNV) @@ -25727,7 +25810,7 @@ GL_PREFIX(VertexAttrib1sNV): GL_PREFIX(VertexAttrib1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5464(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25737,13 +25820,13 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5464(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25753,7 +25836,7 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1svNV), .-GL_PREFIX(VertexAttrib1svNV) @@ -25764,7 +25847,7 @@ GL_PREFIX(VertexAttrib1svNV): GL_PREFIX(VertexAttrib2dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5472(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25776,13 +25859,13 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5472(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5472(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25794,7 +25877,7 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5472(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dNV), .-GL_PREFIX(VertexAttrib2dNV) @@ -25805,7 +25888,7 @@ GL_PREFIX(VertexAttrib2dNV): GL_PREFIX(VertexAttrib2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5480(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25815,13 +25898,13 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5480(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5480(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25831,7 +25914,7 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5480(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dvNV), .-GL_PREFIX(VertexAttrib2dvNV) @@ -25842,7 +25925,7 @@ GL_PREFIX(VertexAttrib2dvNV): GL_PREFIX(VertexAttrib2fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5488(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25854,13 +25937,13 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5488(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5488(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25872,7 +25955,7 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5488(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fNV), .-GL_PREFIX(VertexAttrib2fNV) @@ -25883,7 +25966,7 @@ GL_PREFIX(VertexAttrib2fNV): GL_PREFIX(VertexAttrib2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5496(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25893,13 +25976,13 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5496(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25909,7 +25992,7 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fvNV), .-GL_PREFIX(VertexAttrib2fvNV) @@ -25920,7 +26003,7 @@ GL_PREFIX(VertexAttrib2fvNV): GL_PREFIX(VertexAttrib2sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5504(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25930,13 +26013,13 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5504(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5504(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25946,7 +26029,7 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5504(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2sNV), .-GL_PREFIX(VertexAttrib2sNV) @@ -25957,7 +26040,7 @@ GL_PREFIX(VertexAttrib2sNV): GL_PREFIX(VertexAttrib2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5512(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25967,13 +26050,13 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5512(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5512(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25983,7 +26066,7 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5512(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2svNV), .-GL_PREFIX(VertexAttrib2svNV) @@ -25994,7 +26077,7 @@ GL_PREFIX(VertexAttrib2svNV): GL_PREFIX(VertexAttrib3dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5520(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26008,13 +26091,13 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5520(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5520(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26028,7 +26111,7 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5520(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dNV), .-GL_PREFIX(VertexAttrib3dNV) @@ -26039,7 +26122,7 @@ GL_PREFIX(VertexAttrib3dNV): GL_PREFIX(VertexAttrib3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5528(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26049,13 +26132,13 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5528(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5528(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26065,7 +26148,7 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5528(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dvNV), .-GL_PREFIX(VertexAttrib3dvNV) @@ -26076,7 +26159,7 @@ GL_PREFIX(VertexAttrib3dvNV): GL_PREFIX(VertexAttrib3fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5536(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26090,13 +26173,13 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5536(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5536(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26110,7 +26193,7 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5536(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fNV), .-GL_PREFIX(VertexAttrib3fNV) @@ -26121,7 +26204,7 @@ GL_PREFIX(VertexAttrib3fNV): GL_PREFIX(VertexAttrib3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5544(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26131,13 +26214,13 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5544(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26147,7 +26230,7 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fvNV), .-GL_PREFIX(VertexAttrib3fvNV) @@ -26158,7 +26241,7 @@ GL_PREFIX(VertexAttrib3fvNV): GL_PREFIX(VertexAttrib3sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5552(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26172,13 +26255,13 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5552(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26192,7 +26275,7 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3sNV), .-GL_PREFIX(VertexAttrib3sNV) @@ -26203,7 +26286,7 @@ GL_PREFIX(VertexAttrib3sNV): GL_PREFIX(VertexAttrib3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5560(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26213,13 +26296,13 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5560(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5560(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26229,7 +26312,7 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5560(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3svNV), .-GL_PREFIX(VertexAttrib3svNV) @@ -26240,7 +26323,7 @@ GL_PREFIX(VertexAttrib3svNV): GL_PREFIX(VertexAttrib4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5568(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26256,13 +26339,13 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5568(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5568(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26278,7 +26361,7 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5568(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dNV), .-GL_PREFIX(VertexAttrib4dNV) @@ -26289,7 +26372,7 @@ GL_PREFIX(VertexAttrib4dNV): GL_PREFIX(VertexAttrib4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5576(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26299,13 +26382,13 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5576(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26315,7 +26398,7 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dvNV), .-GL_PREFIX(VertexAttrib4dvNV) @@ -26326,7 +26409,7 @@ GL_PREFIX(VertexAttrib4dvNV): GL_PREFIX(VertexAttrib4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5584(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26342,13 +26425,13 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5584(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5584(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26364,7 +26447,7 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5584(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fNV), .-GL_PREFIX(VertexAttrib4fNV) @@ -26375,7 +26458,7 @@ GL_PREFIX(VertexAttrib4fNV): GL_PREFIX(VertexAttrib4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5592(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26385,13 +26468,13 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5592(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26401,7 +26484,7 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fvNV), .-GL_PREFIX(VertexAttrib4fvNV) @@ -26412,7 +26495,7 @@ GL_PREFIX(VertexAttrib4fvNV): GL_PREFIX(VertexAttrib4sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5600(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26426,13 +26509,13 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5600(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26446,7 +26529,7 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4sNV), .-GL_PREFIX(VertexAttrib4sNV) @@ -26457,7 +26540,7 @@ GL_PREFIX(VertexAttrib4sNV): GL_PREFIX(VertexAttrib4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5608(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26467,13 +26550,13 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5608(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26483,7 +26566,7 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4svNV), .-GL_PREFIX(VertexAttrib4svNV) @@ -26494,7 +26577,7 @@ GL_PREFIX(VertexAttrib4svNV): GL_PREFIX(VertexAttrib4ubNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5616(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26508,13 +26591,13 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5616(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26528,7 +26611,7 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubNV), .-GL_PREFIX(VertexAttrib4ubNV) @@ -26539,7 +26622,7 @@ GL_PREFIX(VertexAttrib4ubNV): GL_PREFIX(VertexAttrib4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5624(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26549,13 +26632,13 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5624(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5624(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26565,7 +26648,7 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5624(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubvNV), .-GL_PREFIX(VertexAttrib4ubvNV) @@ -26576,7 +26659,7 @@ GL_PREFIX(VertexAttrib4ubvNV): GL_PREFIX(VertexAttribPointerNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5632(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26590,13 +26673,13 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5632(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26610,7 +26693,7 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribPointerNV), .-GL_PREFIX(VertexAttribPointerNV) @@ -26621,7 +26704,7 @@ GL_PREFIX(VertexAttribPointerNV): GL_PREFIX(VertexAttribs1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5640(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26631,13 +26714,13 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5640(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26647,7 +26730,7 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1dvNV), .-GL_PREFIX(VertexAttribs1dvNV) @@ -26658,7 +26741,7 @@ GL_PREFIX(VertexAttribs1dvNV): GL_PREFIX(VertexAttribs1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5648(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26668,13 +26751,13 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5648(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26684,7 +26767,7 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1fvNV), .-GL_PREFIX(VertexAttribs1fvNV) @@ -26695,7 +26778,7 @@ GL_PREFIX(VertexAttribs1fvNV): GL_PREFIX(VertexAttribs1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5656(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26705,13 +26788,13 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5656(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5656(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26721,7 +26804,7 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5656(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1svNV), .-GL_PREFIX(VertexAttribs1svNV) @@ -26732,7 +26815,7 @@ GL_PREFIX(VertexAttribs1svNV): GL_PREFIX(VertexAttribs2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5664(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26742,13 +26825,13 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5664(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5664(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26758,7 +26841,7 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5664(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2dvNV), .-GL_PREFIX(VertexAttribs2dvNV) @@ -26769,7 +26852,7 @@ GL_PREFIX(VertexAttribs2dvNV): GL_PREFIX(VertexAttribs2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5672(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26779,13 +26862,13 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5672(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5672(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26795,7 +26878,7 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5672(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2fvNV), .-GL_PREFIX(VertexAttribs2fvNV) @@ -26806,7 +26889,7 @@ GL_PREFIX(VertexAttribs2fvNV): GL_PREFIX(VertexAttribs2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5680(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26816,13 +26899,13 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5680(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26832,7 +26915,7 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2svNV), .-GL_PREFIX(VertexAttribs2svNV) @@ -26843,7 +26926,7 @@ GL_PREFIX(VertexAttribs2svNV): GL_PREFIX(VertexAttribs3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5688(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26853,13 +26936,13 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5688(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26869,7 +26952,7 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3dvNV), .-GL_PREFIX(VertexAttribs3dvNV) @@ -26880,7 +26963,7 @@ GL_PREFIX(VertexAttribs3dvNV): GL_PREFIX(VertexAttribs3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5696(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26890,13 +26973,13 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5696(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26906,7 +26989,7 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3fvNV), .-GL_PREFIX(VertexAttribs3fvNV) @@ -26917,7 +27000,7 @@ GL_PREFIX(VertexAttribs3fvNV): GL_PREFIX(VertexAttribs3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5704(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26927,13 +27010,13 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5704(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26943,7 +27026,7 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3svNV), .-GL_PREFIX(VertexAttribs3svNV) @@ -26954,7 +27037,7 @@ GL_PREFIX(VertexAttribs3svNV): GL_PREFIX(VertexAttribs4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5712(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26964,13 +27047,13 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5712(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26980,7 +27063,7 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4dvNV), .-GL_PREFIX(VertexAttribs4dvNV) @@ -26991,7 +27074,7 @@ GL_PREFIX(VertexAttribs4dvNV): GL_PREFIX(VertexAttribs4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5720(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27001,13 +27084,13 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 5720(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5720(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27017,7 +27100,7 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 5720(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4fvNV), .-GL_PREFIX(VertexAttribs4fvNV) @@ -27028,7 +27111,7 @@ GL_PREFIX(VertexAttribs4fvNV): GL_PREFIX(VertexAttribs4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5728(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27038,13 +27121,13 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5728(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27054,7 +27137,7 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4svNV), .-GL_PREFIX(VertexAttribs4svNV) @@ -27065,7 +27148,7 @@ GL_PREFIX(VertexAttribs4svNV): GL_PREFIX(VertexAttribs4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5736(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27075,13 +27158,13 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5736(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27091,7 +27174,7 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4ubvNV), .-GL_PREFIX(VertexAttribs4ubvNV) @@ -27102,7 +27185,7 @@ GL_PREFIX(VertexAttribs4ubvNV): GL_PREFIX(AlphaFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5744(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27120,13 +27203,13 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5744(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27144,7 +27227,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp1ATI), .-GL_PREFIX(AlphaFragmentOp1ATI) @@ -27155,7 +27238,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): GL_PREFIX(AlphaFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5752(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27173,13 +27256,13 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5752(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27197,7 +27280,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp2ATI), .-GL_PREFIX(AlphaFragmentOp2ATI) @@ -27208,7 +27291,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): GL_PREFIX(AlphaFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5760(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27226,13 +27309,13 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5760(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27250,7 +27333,7 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp3ATI), .-GL_PREFIX(AlphaFragmentOp3ATI) @@ -27261,25 +27344,25 @@ GL_PREFIX(AlphaFragmentOp3ATI): GL_PREFIX(BeginFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5768(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5768(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5768(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5768(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginFragmentShaderATI), .-GL_PREFIX(BeginFragmentShaderATI) @@ -27290,25 +27373,25 @@ GL_PREFIX(BeginFragmentShaderATI): GL_PREFIX(BindFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5776(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5776(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5776(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5776(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragmentShaderATI), .-GL_PREFIX(BindFragmentShaderATI) @@ -27319,7 +27402,7 @@ GL_PREFIX(BindFragmentShaderATI): GL_PREFIX(ColorFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5784(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27337,13 +27420,13 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5784(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27361,7 +27444,7 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp1ATI), .-GL_PREFIX(ColorFragmentOp1ATI) @@ -27372,7 +27455,7 @@ GL_PREFIX(ColorFragmentOp1ATI): GL_PREFIX(ColorFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5792(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27390,13 +27473,13 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5792(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27414,7 +27497,7 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp2ATI), .-GL_PREFIX(ColorFragmentOp2ATI) @@ -27425,7 +27508,7 @@ GL_PREFIX(ColorFragmentOp2ATI): GL_PREFIX(ColorFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5800(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27443,13 +27526,13 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5800(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27467,7 +27550,7 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp3ATI), .-GL_PREFIX(ColorFragmentOp3ATI) @@ -27478,25 +27561,25 @@ GL_PREFIX(ColorFragmentOp3ATI): GL_PREFIX(DeleteFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5808(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5808(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5808(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5808(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFragmentShaderATI), .-GL_PREFIX(DeleteFragmentShaderATI) @@ -27507,25 +27590,25 @@ GL_PREFIX(DeleteFragmentShaderATI): GL_PREFIX(EndFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5816(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5816(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5816(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5816(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndFragmentShaderATI), .-GL_PREFIX(EndFragmentShaderATI) @@ -27536,25 +27619,25 @@ GL_PREFIX(EndFragmentShaderATI): GL_PREFIX(GenFragmentShadersATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5824(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5824(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5824(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5824(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFragmentShadersATI), .-GL_PREFIX(GenFragmentShadersATI) @@ -27565,7 +27648,7 @@ GL_PREFIX(GenFragmentShadersATI): GL_PREFIX(PassTexCoordATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5832(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27575,13 +27658,13 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5832(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27591,7 +27674,7 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PassTexCoordATI), .-GL_PREFIX(PassTexCoordATI) @@ -27602,7 +27685,7 @@ GL_PREFIX(PassTexCoordATI): GL_PREFIX(SampleMapATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5840(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27612,13 +27695,13 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 5840(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5840(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27628,7 +27711,7 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 5840(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SampleMapATI), .-GL_PREFIX(SampleMapATI) @@ -27639,7 +27722,7 @@ GL_PREFIX(SampleMapATI): GL_PREFIX(SetFragmentShaderConstantATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5848(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27649,13 +27732,13 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5848(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27665,7 +27748,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SetFragmentShaderConstantATI), .-GL_PREFIX(SetFragmentShaderConstantATI) @@ -27676,7 +27759,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): GL_PREFIX(PointParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5856(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27686,13 +27769,13 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5856(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27702,7 +27785,7 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameteriNV), .-GL_PREFIX(PointParameteriNV) @@ -27713,7 +27796,7 @@ GL_PREFIX(PointParameteriNV): GL_PREFIX(PointParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5864(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27723,13 +27806,13 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5864(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27739,79 +27822,79 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_734) - .type GL_PREFIX(_dispatch_stub_734), @function - HIDDEN(GL_PREFIX(_dispatch_stub_734)) -GL_PREFIX(_dispatch_stub_734): + .globl GL_PREFIX(_dispatch_stub_737) + .type GL_PREFIX(_dispatch_stub_737), @function + HIDDEN(GL_PREFIX(_dispatch_stub_737)) +GL_PREFIX(_dispatch_stub_737): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5872(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5872(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5872(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5872(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_734), .-GL_PREFIX(_dispatch_stub_734) + .size GL_PREFIX(_dispatch_stub_737), .-GL_PREFIX(_dispatch_stub_737) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_735) - .type GL_PREFIX(_dispatch_stub_735), @function - HIDDEN(GL_PREFIX(_dispatch_stub_735)) -GL_PREFIX(_dispatch_stub_735): + .globl GL_PREFIX(_dispatch_stub_738) + .type GL_PREFIX(_dispatch_stub_738), @function + HIDDEN(GL_PREFIX(_dispatch_stub_738)) +GL_PREFIX(_dispatch_stub_738): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5880(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5880(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5880(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5880(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_735), .-GL_PREFIX(_dispatch_stub_735) + .size GL_PREFIX(_dispatch_stub_738), .-GL_PREFIX(_dispatch_stub_738) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_736) - .type GL_PREFIX(_dispatch_stub_736), @function - HIDDEN(GL_PREFIX(_dispatch_stub_736)) -GL_PREFIX(_dispatch_stub_736): + .globl GL_PREFIX(_dispatch_stub_739) + .type GL_PREFIX(_dispatch_stub_739), @function + HIDDEN(GL_PREFIX(_dispatch_stub_739)) +GL_PREFIX(_dispatch_stub_739): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5888(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27821,13 +27904,13 @@ GL_PREFIX(_dispatch_stub_736): popq %rbp popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5888(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27837,19 +27920,19 @@ GL_PREFIX(_dispatch_stub_736): popq %rbp popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_736), .-GL_PREFIX(_dispatch_stub_736) + .size GL_PREFIX(_dispatch_stub_739), .-GL_PREFIX(_dispatch_stub_739) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_737) - .type GL_PREFIX(_dispatch_stub_737), @function - HIDDEN(GL_PREFIX(_dispatch_stub_737)) -GL_PREFIX(_dispatch_stub_737): + .globl GL_PREFIX(_dispatch_stub_740) + .type GL_PREFIX(_dispatch_stub_740), @function + HIDDEN(GL_PREFIX(_dispatch_stub_740)) +GL_PREFIX(_dispatch_stub_740): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5896(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27859,13 +27942,13 @@ GL_PREFIX(_dispatch_stub_737): popq %rbp popq %rsi popq %rdi - movq 5896(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5896(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27875,40 +27958,40 @@ GL_PREFIX(_dispatch_stub_737): popq %rbp popq %rsi popq %rdi - movq 5896(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_737), .-GL_PREFIX(_dispatch_stub_737) + .size GL_PREFIX(_dispatch_stub_740), .-GL_PREFIX(_dispatch_stub_740) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_738) - .type GL_PREFIX(_dispatch_stub_738), @function - HIDDEN(GL_PREFIX(_dispatch_stub_738)) -GL_PREFIX(_dispatch_stub_738): + .globl GL_PREFIX(_dispatch_stub_741) + .type GL_PREFIX(_dispatch_stub_741), @function + HIDDEN(GL_PREFIX(_dispatch_stub_741)) +GL_PREFIX(_dispatch_stub_741): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5904(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5904(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5904(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5904(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_738), .-GL_PREFIX(_dispatch_stub_738) + .size GL_PREFIX(_dispatch_stub_741), .-GL_PREFIX(_dispatch_stub_741) .p2align 4,,15 .globl GL_PREFIX(GetProgramNamedParameterdvNV) @@ -27916,7 +27999,7 @@ GL_PREFIX(_dispatch_stub_738): GL_PREFIX(GetProgramNamedParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5912(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27930,13 +28013,13 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5912(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27950,7 +28033,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterdvNV), .-GL_PREFIX(GetProgramNamedParameterdvNV) @@ -27961,7 +28044,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): GL_PREFIX(GetProgramNamedParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5920(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27975,13 +28058,13 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5920(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27995,7 +28078,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterfvNV), .-GL_PREFIX(GetProgramNamedParameterfvNV) @@ -28006,7 +28089,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): GL_PREFIX(ProgramNamedParameter4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5928(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -28026,13 +28109,13 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 5928(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5928(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -28052,7 +28135,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 5928(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dNV), .-GL_PREFIX(ProgramNamedParameter4dNV) @@ -28063,7 +28146,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): GL_PREFIX(ProgramNamedParameter4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5936(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28077,13 +28160,13 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5936(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28097,7 +28180,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dvNV), .-GL_PREFIX(ProgramNamedParameter4dvNV) @@ -28108,7 +28191,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): GL_PREFIX(ProgramNamedParameter4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5944(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -28128,13 +28211,13 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 5944(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5944(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -28154,7 +28237,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 5944(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fNV), .-GL_PREFIX(ProgramNamedParameter4fNV) @@ -28165,7 +28248,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): GL_PREFIX(ProgramNamedParameter4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5952(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28179,13 +28262,13 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5952(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28199,19 +28282,19 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fvNV), .-GL_PREFIX(ProgramNamedParameter4fvNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_745) - .type GL_PREFIX(_dispatch_stub_745), @function - HIDDEN(GL_PREFIX(_dispatch_stub_745)) -GL_PREFIX(_dispatch_stub_745): + .globl GL_PREFIX(_dispatch_stub_748) + .type GL_PREFIX(_dispatch_stub_748), @function + HIDDEN(GL_PREFIX(_dispatch_stub_748)) +GL_PREFIX(_dispatch_stub_748): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5960(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28221,13 +28304,13 @@ GL_PREFIX(_dispatch_stub_745): popq %rbp popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5960(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28237,19 +28320,19 @@ GL_PREFIX(_dispatch_stub_745): popq %rbp popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_745), .-GL_PREFIX(_dispatch_stub_745) + .size GL_PREFIX(_dispatch_stub_748), .-GL_PREFIX(_dispatch_stub_748) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_746) - .type GL_PREFIX(_dispatch_stub_746), @function - HIDDEN(GL_PREFIX(_dispatch_stub_746)) -GL_PREFIX(_dispatch_stub_746): + .globl GL_PREFIX(_dispatch_stub_749) + .type GL_PREFIX(_dispatch_stub_749), @function + HIDDEN(GL_PREFIX(_dispatch_stub_749)) +GL_PREFIX(_dispatch_stub_749): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5968(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28259,13 +28342,13 @@ GL_PREFIX(_dispatch_stub_746): popq %rbp popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5968(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28275,10 +28358,10 @@ GL_PREFIX(_dispatch_stub_746): popq %rbp popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_746), .-GL_PREFIX(_dispatch_stub_746) + .size GL_PREFIX(_dispatch_stub_749), .-GL_PREFIX(_dispatch_stub_749) .p2align 4,,15 .globl GL_PREFIX(BindFramebufferEXT) @@ -28286,7 +28369,7 @@ GL_PREFIX(_dispatch_stub_746): GL_PREFIX(BindFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5976(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28296,13 +28379,13 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 5976(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5976(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28312,7 +28395,7 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 5976(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFramebufferEXT), .-GL_PREFIX(BindFramebufferEXT) @@ -28323,7 +28406,7 @@ GL_PREFIX(BindFramebufferEXT): GL_PREFIX(BindRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5984(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28333,13 +28416,13 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5984(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28349,7 +28432,7 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindRenderbufferEXT), .-GL_PREFIX(BindRenderbufferEXT) @@ -28360,25 +28443,25 @@ GL_PREFIX(BindRenderbufferEXT): GL_PREFIX(CheckFramebufferStatusEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5992(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5992(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5992(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5992(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CheckFramebufferStatusEXT), .-GL_PREFIX(CheckFramebufferStatusEXT) @@ -28389,7 +28472,7 @@ GL_PREFIX(CheckFramebufferStatusEXT): GL_PREFIX(DeleteFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6000(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28399,13 +28482,13 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6000(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28415,7 +28498,7 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFramebuffersEXT), .-GL_PREFIX(DeleteFramebuffersEXT) @@ -28426,7 +28509,7 @@ GL_PREFIX(DeleteFramebuffersEXT): GL_PREFIX(DeleteRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6008(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28436,13 +28519,13 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6008(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28452,7 +28535,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteRenderbuffersEXT), .-GL_PREFIX(DeleteRenderbuffersEXT) @@ -28463,7 +28546,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): GL_PREFIX(FramebufferRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6016(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28477,13 +28560,13 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6016(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28497,7 +28580,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferRenderbufferEXT), .-GL_PREFIX(FramebufferRenderbufferEXT) @@ -28508,7 +28591,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): GL_PREFIX(FramebufferTexture1DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6024(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28522,13 +28605,13 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6024(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28542,7 +28625,7 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture1DEXT), .-GL_PREFIX(FramebufferTexture1DEXT) @@ -28553,7 +28636,7 @@ GL_PREFIX(FramebufferTexture1DEXT): GL_PREFIX(FramebufferTexture2DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6032(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28567,13 +28650,13 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6032(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6032(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28587,7 +28670,7 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6032(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture2DEXT), .-GL_PREFIX(FramebufferTexture2DEXT) @@ -28598,7 +28681,7 @@ GL_PREFIX(FramebufferTexture2DEXT): GL_PREFIX(FramebufferTexture3DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6040(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28616,13 +28699,13 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6040(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28640,7 +28723,7 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture3DEXT), .-GL_PREFIX(FramebufferTexture3DEXT) @@ -28651,7 +28734,7 @@ GL_PREFIX(FramebufferTexture3DEXT): GL_PREFIX(GenFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6048(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28661,13 +28744,13 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6048(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28677,7 +28760,7 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFramebuffersEXT), .-GL_PREFIX(GenFramebuffersEXT) @@ -28688,7 +28771,7 @@ GL_PREFIX(GenFramebuffersEXT): GL_PREFIX(GenRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6056(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28698,13 +28781,13 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6056(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28714,7 +28797,7 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenRenderbuffersEXT), .-GL_PREFIX(GenRenderbuffersEXT) @@ -28725,25 +28808,25 @@ GL_PREFIX(GenRenderbuffersEXT): GL_PREFIX(GenerateMipmapEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6064(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6064(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6064(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6064(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenerateMipmapEXT), .-GL_PREFIX(GenerateMipmapEXT) @@ -28754,7 +28837,7 @@ GL_PREFIX(GenerateMipmapEXT): GL_PREFIX(GetFramebufferAttachmentParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6072(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28768,13 +28851,13 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6072(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6072(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28788,19 +28871,18 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6072(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFramebufferAttachmentParameterivEXT), .-GL_PREFIX(GetFramebufferAttachmentParameterivEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_760) - .type GL_PREFIX(_dispatch_stub_760), @function - HIDDEN(GL_PREFIX(_dispatch_stub_760)) -GL_PREFIX(_dispatch_stub_760): + .globl GL_PREFIX(GetRenderbufferParameterivEXT) + .type GL_PREFIX(GetRenderbufferParameterivEXT), @function +GL_PREFIX(GetRenderbufferParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6080(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28810,13 +28892,13 @@ GL_PREFIX(_dispatch_stub_760): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6080(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28826,151 +28908,176 @@ GL_PREFIX(_dispatch_stub_760): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_760), .-GL_PREFIX(_dispatch_stub_760) + .size GL_PREFIX(GetRenderbufferParameterivEXT), .-GL_PREFIX(GetRenderbufferParameterivEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_761) - .type GL_PREFIX(_dispatch_stub_761), @function - HIDDEN(GL_PREFIX(_dispatch_stub_761)) -GL_PREFIX(_dispatch_stub_761): + .globl GL_PREFIX(IsFramebufferEXT) + .type GL_PREFIX(IsFramebufferEXT), @function +GL_PREFIX(IsFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6088(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi - pushq %rsi - pushq %rdx call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6088(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 1: pushq %rdi - pushq %rsi - pushq %rdx call _glapi_get_dispatch - popq %rdx - popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_761), .-GL_PREFIX(_dispatch_stub_761) + .size GL_PREFIX(IsFramebufferEXT), .-GL_PREFIX(IsFramebufferEXT) .p2align 4,,15 - .globl GL_PREFIX(GetRenderbufferParameterivEXT) - .type GL_PREFIX(GetRenderbufferParameterivEXT), @function -GL_PREFIX(GetRenderbufferParameterivEXT): + .globl GL_PREFIX(IsRenderbufferEXT) + .type GL_PREFIX(IsRenderbufferEXT), @function +GL_PREFIX(IsRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6096(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi - pushq %rsi - pushq %rdx call _x86_64_get_dispatch@PLT - popq %rdx - popq %rsi popq %rdi - movq 6096(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6096(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 1: pushq %rdi - pushq %rsi - pushq %rdx call _glapi_get_dispatch - popq %rdx - popq %rsi popq %rdi - movq 6096(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(GetRenderbufferParameterivEXT), .-GL_PREFIX(GetRenderbufferParameterivEXT) + .size GL_PREFIX(IsRenderbufferEXT), .-GL_PREFIX(IsRenderbufferEXT) .p2align 4,,15 - .globl GL_PREFIX(IsFramebufferEXT) - .type GL_PREFIX(IsFramebufferEXT), @function -GL_PREFIX(IsFramebufferEXT): + .globl GL_PREFIX(RenderbufferStorageEXT) + .type GL_PREFIX(RenderbufferStorageEXT), @function +GL_PREFIX(RenderbufferStorageEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6104(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx + popq %rdx + popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6104(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %rcx + popq %rdx + popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(IsFramebufferEXT), .-GL_PREFIX(IsFramebufferEXT) + .size GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT) .p2align 4,,15 - .globl GL_PREFIX(IsRenderbufferEXT) - .type GL_PREFIX(IsRenderbufferEXT), @function -GL_PREFIX(IsRenderbufferEXT): + .globl GL_PREFIX(_dispatch_stub_767) + .type GL_PREFIX(_dispatch_stub_767), @function + HIDDEN(GL_PREFIX(_dispatch_stub_767)) +GL_PREFIX(_dispatch_stub_767): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6112(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx + popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6112(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx + popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(IsRenderbufferEXT), .-GL_PREFIX(IsRenderbufferEXT) + .size GL_PREFIX(_dispatch_stub_767), .-GL_PREFIX(_dispatch_stub_767) .p2align 4,,15 - .globl GL_PREFIX(RenderbufferStorageEXT) - .type GL_PREFIX(RenderbufferStorageEXT), @function -GL_PREFIX(RenderbufferStorageEXT): + .globl GL_PREFIX(_dispatch_stub_768) + .type GL_PREFIX(_dispatch_stub_768), @function + HIDDEN(GL_PREFIX(_dispatch_stub_768)) +GL_PREFIX(_dispatch_stub_768): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6120(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28984,13 +29091,13 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6120(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29004,73 +29111,65 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT) + .size GL_PREFIX(_dispatch_stub_768), .-GL_PREFIX(_dispatch_stub_768) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_766) - .type GL_PREFIX(_dispatch_stub_766), @function - HIDDEN(GL_PREFIX(_dispatch_stub_766)) -GL_PREFIX(_dispatch_stub_766): + .globl GL_PREFIX(_dispatch_stub_769) + .type GL_PREFIX(_dispatch_stub_769), @function + HIDDEN(GL_PREFIX(_dispatch_stub_769)) +GL_PREFIX(_dispatch_stub_769): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6128(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi pushq %rsi pushq %rdx pushq %rcx - pushq %r8 - pushq %r9 pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - popq %r9 - popq %r8 popq %rcx popq %rdx popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6128(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 1: pushq %rdi pushq %rsi pushq %rdx pushq %rcx - pushq %r8 - pushq %r9 pushq %rbp call _glapi_get_dispatch popq %rbp - popq %r9 - popq %r8 popq %rcx popq %rdx popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_766), .-GL_PREFIX(_dispatch_stub_766) + .size GL_PREFIX(_dispatch_stub_769), .-GL_PREFIX(_dispatch_stub_769) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_767) - .type GL_PREFIX(_dispatch_stub_767), @function - HIDDEN(GL_PREFIX(_dispatch_stub_767)) -GL_PREFIX(_dispatch_stub_767): + .globl GL_PREFIX(_dispatch_stub_770) + .type GL_PREFIX(_dispatch_stub_770), @function + HIDDEN(GL_PREFIX(_dispatch_stub_770)) +GL_PREFIX(_dispatch_stub_770): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6136(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29084,13 +29183,13 @@ GL_PREFIX(_dispatch_stub_767): popq %rdx popq %rsi popq %rdi - movq 6136(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6136(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29104,66 +29203,107 @@ GL_PREFIX(_dispatch_stub_767): popq %rdx popq %rsi popq %rdi - movq 6136(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_767), .-GL_PREFIX(_dispatch_stub_767) + .size GL_PREFIX(_dispatch_stub_770), .-GL_PREFIX(_dispatch_stub_770) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_768) - .type GL_PREFIX(_dispatch_stub_768), @function - HIDDEN(GL_PREFIX(_dispatch_stub_768)) -GL_PREFIX(_dispatch_stub_768): + .globl GL_PREFIX(_dispatch_stub_771) + .type GL_PREFIX(_dispatch_stub_771), @function + HIDDEN(GL_PREFIX(_dispatch_stub_771)) +GL_PREFIX(_dispatch_stub_771): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6144(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi pushq %rsi pushq %rdx - pushq %rcx - pushq %rbp call _x86_64_get_dispatch@PLT - popq %rbp - popq %rcx popq %rdx popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6144(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 1: pushq %rdi pushq %rsi pushq %rdx - pushq %rcx - pushq %rbp call _glapi_get_dispatch - popq %rbp - popq %rcx popq %rdx popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_768), .-GL_PREFIX(_dispatch_stub_768) + .size GL_PREFIX(_dispatch_stub_771), .-GL_PREFIX(_dispatch_stub_771) + + .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_772) + .type GL_PREFIX(_dispatch_stub_772), @function + HIDDEN(GL_PREFIX(_dispatch_stub_772)) +GL_PREFIX(_dispatch_stub_772): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6176(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + call _x86_64_get_dispatch@PLT + popq %rdx + popq %rsi + popq %rdi + movq 6176(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6176(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6176(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_772), .-GL_PREFIX(_dispatch_stub_772) .globl GL_PREFIX(ArrayElementEXT) ; .set GL_PREFIX(ArrayElementEXT), GL_PREFIX(ArrayElement) .globl GL_PREFIX(BindTextureEXT) ; .set GL_PREFIX(BindTextureEXT), GL_PREFIX(BindTexture) .globl GL_PREFIX(DrawArraysEXT) ; .set GL_PREFIX(DrawArraysEXT), GL_PREFIX(DrawArrays) +#ifndef GLX_INDIRECT_RENDERING + .globl GL_PREFIX(AreTexturesResidentEXT) ; .set GL_PREFIX(AreTexturesResidentEXT), GL_PREFIX(AreTexturesResident) +#endif .globl GL_PREFIX(CopyTexImage1DEXT) ; .set GL_PREFIX(CopyTexImage1DEXT), GL_PREFIX(CopyTexImage1D) .globl GL_PREFIX(CopyTexImage2DEXT) ; .set GL_PREFIX(CopyTexImage2DEXT), GL_PREFIX(CopyTexImage2D) .globl GL_PREFIX(CopyTexSubImage1DEXT) ; .set GL_PREFIX(CopyTexSubImage1DEXT), GL_PREFIX(CopyTexSubImage1D) .globl GL_PREFIX(CopyTexSubImage2DEXT) ; .set GL_PREFIX(CopyTexSubImage2DEXT), GL_PREFIX(CopyTexSubImage2D) +#ifndef GLX_INDIRECT_RENDERING .globl GL_PREFIX(DeleteTexturesEXT) ; .set GL_PREFIX(DeleteTexturesEXT), GL_PREFIX(DeleteTextures) +#endif +#ifndef GLX_INDIRECT_RENDERING + .globl GL_PREFIX(GenTexturesEXT) ; .set GL_PREFIX(GenTexturesEXT), GL_PREFIX(GenTextures) +#endif .globl GL_PREFIX(GetPointervEXT) ; .set GL_PREFIX(GetPointervEXT), GL_PREFIX(GetPointerv) +#ifndef GLX_INDIRECT_RENDERING + .globl GL_PREFIX(IsTextureEXT) ; .set GL_PREFIX(IsTextureEXT), GL_PREFIX(IsTexture) +#endif .globl GL_PREFIX(PrioritizeTexturesEXT) ; .set GL_PREFIX(PrioritizeTexturesEXT), GL_PREFIX(PrioritizeTextures) .globl GL_PREFIX(TexSubImage1DEXT) ; .set GL_PREFIX(TexSubImage1DEXT), GL_PREFIX(TexSubImage1D) .globl GL_PREFIX(TexSubImage2DEXT) ; .set GL_PREFIX(TexSubImage2DEXT), GL_PREFIX(TexSubImage2D) @@ -29171,6 +29311,15 @@ GL_PREFIX(_dispatch_stub_768): .globl GL_PREFIX(BlendEquationEXT) ; .set GL_PREFIX(BlendEquationEXT), GL_PREFIX(BlendEquation) .globl GL_PREFIX(DrawRangeElementsEXT) ; .set GL_PREFIX(DrawRangeElementsEXT), GL_PREFIX(DrawRangeElements) .globl GL_PREFIX(ColorTableEXT) ; .set GL_PREFIX(ColorTableEXT), GL_PREFIX(ColorTable) +#ifndef GLX_INDIRECT_RENDERING + .globl GL_PREFIX(GetColorTableEXT) ; .set GL_PREFIX(GetColorTableEXT), GL_PREFIX(GetColorTable) +#endif +#ifndef GLX_INDIRECT_RENDERING + .globl GL_PREFIX(GetColorTableParameterfvEXT) ; .set GL_PREFIX(GetColorTableParameterfvEXT), GL_PREFIX(GetColorTableParameterfv) +#endif +#ifndef GLX_INDIRECT_RENDERING + .globl GL_PREFIX(GetColorTableParameterivEXT) ; .set GL_PREFIX(GetColorTableParameterivEXT), GL_PREFIX(GetColorTableParameteriv) +#endif .globl GL_PREFIX(TexImage3DEXT) ; .set GL_PREFIX(TexImage3DEXT), GL_PREFIX(TexImage3D) .globl GL_PREFIX(TexSubImage3DEXT) ; .set GL_PREFIX(TexSubImage3DEXT), GL_PREFIX(TexSubImage3D) .globl GL_PREFIX(CopyTexSubImage3DEXT) ; .set GL_PREFIX(CopyTexSubImage3DEXT), GL_PREFIX(CopyTexSubImage3D) @@ -29220,6 +29369,48 @@ GL_PREFIX(_dispatch_stub_768): .globl GL_PREFIX(CompressedTexSubImage2D) ; .set GL_PREFIX(CompressedTexSubImage2D), GL_PREFIX(CompressedTexSubImage2DARB) .globl GL_PREFIX(CompressedTexSubImage3D) ; .set GL_PREFIX(CompressedTexSubImage3D), GL_PREFIX(CompressedTexSubImage3DARB) .globl GL_PREFIX(GetCompressedTexImage) ; .set GL_PREFIX(GetCompressedTexImage), GL_PREFIX(GetCompressedTexImageARB) + .globl GL_PREFIX(DisableVertexAttribArray) ; .set GL_PREFIX(DisableVertexAttribArray), GL_PREFIX(DisableVertexAttribArrayARB) + .globl GL_PREFIX(EnableVertexAttribArray) ; .set GL_PREFIX(EnableVertexAttribArray), GL_PREFIX(EnableVertexAttribArrayARB) + .globl GL_PREFIX(GetVertexAttribdv) ; .set GL_PREFIX(GetVertexAttribdv), GL_PREFIX(GetVertexAttribdvARB) + .globl GL_PREFIX(GetVertexAttribfv) ; .set GL_PREFIX(GetVertexAttribfv), GL_PREFIX(GetVertexAttribfvARB) + .globl GL_PREFIX(GetVertexAttribiv) ; .set GL_PREFIX(GetVertexAttribiv), GL_PREFIX(GetVertexAttribivARB) + .globl GL_PREFIX(VertexAttrib1d) ; .set GL_PREFIX(VertexAttrib1d), GL_PREFIX(VertexAttrib1dARB) + .globl GL_PREFIX(VertexAttrib1dv) ; .set GL_PREFIX(VertexAttrib1dv), GL_PREFIX(VertexAttrib1dvARB) + .globl GL_PREFIX(VertexAttrib1f) ; .set GL_PREFIX(VertexAttrib1f), GL_PREFIX(VertexAttrib1fARB) + .globl GL_PREFIX(VertexAttrib1fv) ; .set GL_PREFIX(VertexAttrib1fv), GL_PREFIX(VertexAttrib1fvARB) + .globl GL_PREFIX(VertexAttrib1s) ; .set GL_PREFIX(VertexAttrib1s), GL_PREFIX(VertexAttrib1sARB) + .globl GL_PREFIX(VertexAttrib1sv) ; .set GL_PREFIX(VertexAttrib1sv), GL_PREFIX(VertexAttrib1svARB) + .globl GL_PREFIX(VertexAttrib2d) ; .set GL_PREFIX(VertexAttrib2d), GL_PREFIX(VertexAttrib2dARB) + .globl GL_PREFIX(VertexAttrib2dv) ; .set GL_PREFIX(VertexAttrib2dv), GL_PREFIX(VertexAttrib2dvARB) + .globl GL_PREFIX(VertexAttrib2f) ; .set GL_PREFIX(VertexAttrib2f), GL_PREFIX(VertexAttrib2fARB) + .globl GL_PREFIX(VertexAttrib2fv) ; .set GL_PREFIX(VertexAttrib2fv), GL_PREFIX(VertexAttrib2fvARB) + .globl GL_PREFIX(VertexAttrib2s) ; .set GL_PREFIX(VertexAttrib2s), GL_PREFIX(VertexAttrib2sARB) + .globl GL_PREFIX(VertexAttrib2sv) ; .set GL_PREFIX(VertexAttrib2sv), GL_PREFIX(VertexAttrib2svARB) + .globl GL_PREFIX(VertexAttrib3d) ; .set GL_PREFIX(VertexAttrib3d), GL_PREFIX(VertexAttrib3dARB) + .globl GL_PREFIX(VertexAttrib3dv) ; .set GL_PREFIX(VertexAttrib3dv), GL_PREFIX(VertexAttrib3dvARB) + .globl GL_PREFIX(VertexAttrib3f) ; .set GL_PREFIX(VertexAttrib3f), GL_PREFIX(VertexAttrib3fARB) + .globl GL_PREFIX(VertexAttrib3fv) ; .set GL_PREFIX(VertexAttrib3fv), GL_PREFIX(VertexAttrib3fvARB) + .globl GL_PREFIX(VertexAttrib3s) ; .set GL_PREFIX(VertexAttrib3s), GL_PREFIX(VertexAttrib3sARB) + .globl GL_PREFIX(VertexAttrib3sv) ; .set GL_PREFIX(VertexAttrib3sv), GL_PREFIX(VertexAttrib3svARB) + .globl GL_PREFIX(VertexAttrib4Nbv) ; .set GL_PREFIX(VertexAttrib4Nbv), GL_PREFIX(VertexAttrib4NbvARB) + .globl GL_PREFIX(VertexAttrib4Niv) ; .set GL_PREFIX(VertexAttrib4Niv), GL_PREFIX(VertexAttrib4NivARB) + .globl GL_PREFIX(VertexAttrib4Nsv) ; .set GL_PREFIX(VertexAttrib4Nsv), GL_PREFIX(VertexAttrib4NsvARB) + .globl GL_PREFIX(VertexAttrib4Nub) ; .set GL_PREFIX(VertexAttrib4Nub), GL_PREFIX(VertexAttrib4NubARB) + .globl GL_PREFIX(VertexAttrib4Nubv) ; .set GL_PREFIX(VertexAttrib4Nubv), GL_PREFIX(VertexAttrib4NubvARB) + .globl GL_PREFIX(VertexAttrib4Nuiv) ; .set GL_PREFIX(VertexAttrib4Nuiv), GL_PREFIX(VertexAttrib4NuivARB) + .globl GL_PREFIX(VertexAttrib4Nusv) ; .set GL_PREFIX(VertexAttrib4Nusv), GL_PREFIX(VertexAttrib4NusvARB) + .globl GL_PREFIX(VertexAttrib4bv) ; .set GL_PREFIX(VertexAttrib4bv), GL_PREFIX(VertexAttrib4bvARB) + .globl GL_PREFIX(VertexAttrib4d) ; .set GL_PREFIX(VertexAttrib4d), GL_PREFIX(VertexAttrib4dARB) + .globl GL_PREFIX(VertexAttrib4dv) ; .set GL_PREFIX(VertexAttrib4dv), GL_PREFIX(VertexAttrib4dvARB) + .globl GL_PREFIX(VertexAttrib4f) ; .set GL_PREFIX(VertexAttrib4f), GL_PREFIX(VertexAttrib4fARB) + .globl GL_PREFIX(VertexAttrib4fv) ; .set GL_PREFIX(VertexAttrib4fv), GL_PREFIX(VertexAttrib4fvARB) + .globl GL_PREFIX(VertexAttrib4iv) ; .set GL_PREFIX(VertexAttrib4iv), GL_PREFIX(VertexAttrib4ivARB) + .globl GL_PREFIX(VertexAttrib4s) ; .set GL_PREFIX(VertexAttrib4s), GL_PREFIX(VertexAttrib4sARB) + .globl GL_PREFIX(VertexAttrib4sv) ; .set GL_PREFIX(VertexAttrib4sv), GL_PREFIX(VertexAttrib4svARB) + .globl GL_PREFIX(VertexAttrib4ubv) ; .set GL_PREFIX(VertexAttrib4ubv), GL_PREFIX(VertexAttrib4ubvARB) + .globl GL_PREFIX(VertexAttrib4uiv) ; .set GL_PREFIX(VertexAttrib4uiv), GL_PREFIX(VertexAttrib4uivARB) + .globl GL_PREFIX(VertexAttrib4usv) ; .set GL_PREFIX(VertexAttrib4usv), GL_PREFIX(VertexAttrib4usvARB) + .globl GL_PREFIX(VertexAttribPointer) ; .set GL_PREFIX(VertexAttribPointer), GL_PREFIX(VertexAttribPointerARB) .globl GL_PREFIX(BindBuffer) ; .set GL_PREFIX(BindBuffer), GL_PREFIX(BindBufferARB) .globl GL_PREFIX(BufferData) ; .set GL_PREFIX(BufferData), GL_PREFIX(BufferDataARB) .globl GL_PREFIX(BufferSubData) ; .set GL_PREFIX(BufferSubData), GL_PREFIX(BufferSubDataARB) @@ -29239,11 +29430,40 @@ GL_PREFIX(_dispatch_stub_768): .globl GL_PREFIX(GetQueryObjectuiv) ; .set GL_PREFIX(GetQueryObjectuiv), GL_PREFIX(GetQueryObjectuivARB) .globl GL_PREFIX(GetQueryiv) ; .set GL_PREFIX(GetQueryiv), GL_PREFIX(GetQueryivARB) .globl GL_PREFIX(IsQuery) ; .set GL_PREFIX(IsQuery), GL_PREFIX(IsQueryARB) + .globl GL_PREFIX(CompileShader) ; .set GL_PREFIX(CompileShader), GL_PREFIX(CompileShaderARB) + .globl GL_PREFIX(GetActiveUniform) ; .set GL_PREFIX(GetActiveUniform), GL_PREFIX(GetActiveUniformARB) + .globl GL_PREFIX(GetShaderSource) ; .set GL_PREFIX(GetShaderSource), GL_PREFIX(GetShaderSourceARB) + .globl GL_PREFIX(GetUniformLocation) ; .set GL_PREFIX(GetUniformLocation), GL_PREFIX(GetUniformLocationARB) + .globl GL_PREFIX(GetUniformfv) ; .set GL_PREFIX(GetUniformfv), GL_PREFIX(GetUniformfvARB) + .globl GL_PREFIX(GetUniformiv) ; .set GL_PREFIX(GetUniformiv), GL_PREFIX(GetUniformivARB) + .globl GL_PREFIX(LinkProgram) ; .set GL_PREFIX(LinkProgram), GL_PREFIX(LinkProgramARB) + .globl GL_PREFIX(ShaderSource) ; .set GL_PREFIX(ShaderSource), GL_PREFIX(ShaderSourceARB) + .globl GL_PREFIX(Uniform1f) ; .set GL_PREFIX(Uniform1f), GL_PREFIX(Uniform1fARB) + .globl GL_PREFIX(Uniform1fv) ; .set GL_PREFIX(Uniform1fv), GL_PREFIX(Uniform1fvARB) + .globl GL_PREFIX(Uniform1i) ; .set GL_PREFIX(Uniform1i), GL_PREFIX(Uniform1iARB) + .globl GL_PREFIX(Uniform1iv) ; .set GL_PREFIX(Uniform1iv), GL_PREFIX(Uniform1ivARB) + .globl GL_PREFIX(Uniform2f) ; .set GL_PREFIX(Uniform2f), GL_PREFIX(Uniform2fARB) + .globl GL_PREFIX(Uniform2fv) ; .set GL_PREFIX(Uniform2fv), GL_PREFIX(Uniform2fvARB) + .globl GL_PREFIX(Uniform2i) ; .set GL_PREFIX(Uniform2i), GL_PREFIX(Uniform2iARB) + .globl GL_PREFIX(Uniform2iv) ; .set GL_PREFIX(Uniform2iv), GL_PREFIX(Uniform2ivARB) + .globl GL_PREFIX(Uniform3f) ; .set GL_PREFIX(Uniform3f), GL_PREFIX(Uniform3fARB) + .globl GL_PREFIX(Uniform3fv) ; .set GL_PREFIX(Uniform3fv), GL_PREFIX(Uniform3fvARB) + .globl GL_PREFIX(Uniform3i) ; .set GL_PREFIX(Uniform3i), GL_PREFIX(Uniform3iARB) + .globl GL_PREFIX(Uniform3iv) ; .set GL_PREFIX(Uniform3iv), GL_PREFIX(Uniform3ivARB) + .globl GL_PREFIX(Uniform4f) ; .set GL_PREFIX(Uniform4f), GL_PREFIX(Uniform4fARB) + .globl GL_PREFIX(Uniform4fv) ; .set GL_PREFIX(Uniform4fv), GL_PREFIX(Uniform4fvARB) + .globl GL_PREFIX(Uniform4i) ; .set GL_PREFIX(Uniform4i), GL_PREFIX(Uniform4iARB) + .globl GL_PREFIX(Uniform4iv) ; .set GL_PREFIX(Uniform4iv), GL_PREFIX(Uniform4ivARB) + .globl GL_PREFIX(UniformMatrix2fv) ; .set GL_PREFIX(UniformMatrix2fv), GL_PREFIX(UniformMatrix2fvARB) + .globl GL_PREFIX(UniformMatrix3fv) ; .set GL_PREFIX(UniformMatrix3fv), GL_PREFIX(UniformMatrix3fvARB) + .globl GL_PREFIX(UniformMatrix4fv) ; .set GL_PREFIX(UniformMatrix4fv), GL_PREFIX(UniformMatrix4fvARB) + .globl GL_PREFIX(UseProgram) ; .set GL_PREFIX(UseProgram), GL_PREFIX(UseProgramObjectARB) + .globl GL_PREFIX(ValidateProgram) ; .set GL_PREFIX(ValidateProgram), GL_PREFIX(ValidateProgramARB) + .globl GL_PREFIX(BindAttribLocation) ; .set GL_PREFIX(BindAttribLocation), GL_PREFIX(BindAttribLocationARB) + .globl GL_PREFIX(GetActiveAttrib) ; .set GL_PREFIX(GetActiveAttrib), GL_PREFIX(GetActiveAttribARB) + .globl GL_PREFIX(GetAttribLocation) ; .set GL_PREFIX(GetAttribLocation), GL_PREFIX(GetAttribLocationARB) .globl GL_PREFIX(DrawBuffers) ; .set GL_PREFIX(DrawBuffers), GL_PREFIX(DrawBuffersARB) .globl GL_PREFIX(DrawBuffersATI) ; .set GL_PREFIX(DrawBuffersATI), GL_PREFIX(DrawBuffersARB) - .globl GL_PREFIX(GetColorTableParameterfvEXT) ; .set GL_PREFIX(GetColorTableParameterfvEXT), GL_PREFIX(_dispatch_stub_553) - .globl GL_PREFIX(GetColorTableParameterivEXT) ; .set GL_PREFIX(GetColorTableParameterivEXT), GL_PREFIX(_dispatch_stub_554) - .globl GL_PREFIX(GetColorTableEXT) ; .set GL_PREFIX(GetColorTableEXT), GL_PREFIX(_dispatch_stub_555) .globl GL_PREFIX(PointParameterf) ; .set GL_PREFIX(PointParameterf), GL_PREFIX(PointParameterfEXT) .globl GL_PREFIX(PointParameterfARB) ; .set GL_PREFIX(PointParameterfARB), GL_PREFIX(PointParameterfEXT) .globl GL_PREFIX(PointParameterfv) ; .set GL_PREFIX(PointParameterfv), GL_PREFIX(PointParameterfvEXT) @@ -29308,11 +29528,12 @@ GL_PREFIX(_dispatch_stub_768): .globl GL_PREFIX(BindProgramARB) ; .set GL_PREFIX(BindProgramARB), GL_PREFIX(BindProgramNV) .globl GL_PREFIX(DeleteProgramsARB) ; .set GL_PREFIX(DeleteProgramsARB), GL_PREFIX(DeleteProgramsNV) .globl GL_PREFIX(GenProgramsARB) ; .set GL_PREFIX(GenProgramsARB), GL_PREFIX(GenProgramsNV) + .globl GL_PREFIX(GetVertexAttribPointerv) ; .set GL_PREFIX(GetVertexAttribPointerv), GL_PREFIX(GetVertexAttribPointervNV) .globl GL_PREFIX(GetVertexAttribPointervARB) ; .set GL_PREFIX(GetVertexAttribPointervARB), GL_PREFIX(GetVertexAttribPointervNV) .globl GL_PREFIX(IsProgramARB) ; .set GL_PREFIX(IsProgramARB), GL_PREFIX(IsProgramNV) .globl GL_PREFIX(PointParameteri) ; .set GL_PREFIX(PointParameteri), GL_PREFIX(PointParameteriNV) .globl GL_PREFIX(PointParameteriv) ; .set GL_PREFIX(PointParameteriv), GL_PREFIX(PointParameterivNV) - .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_746) + .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_749) #if defined(GLX_USE_TLS) && defined(__linux__) .section ".note.ABI-tag", "a" diff --git a/dist/Mesa/src/mesa/x86-64/matypes.h b/dist/Mesa/src/mesa/x86-64/matypes.h deleted file mode 100644 index 644700d74..000000000 --- a/dist/Mesa/src/mesa/x86-64/matypes.h +++ /dev/null @@ -1,162 +0,0 @@ -/* - * This file is automatically generated from the Mesa internal type - * definitions. Do not edit directly. - */ - -#ifndef __ASM_TYPES_H__ -#define __ASM_TYPES_H__ - - - -/* ============================================================= - * Offsets for GLcontext - */ - -#define CTX_DRIVER_CTX 944 - -#define CTX_LIGHT_ENABLED 39288 -#define CTX_LIGHT_SHADE_MODEL 39292 -#define CTX_LIGHT_COLOR_MAT_FACE 39296 -#define CTX_LIGHT_COLOR_MAT_MODE 39300 -#define CTX_LIGHT_COLOR_MAT_MASK 39304 -#define CTX_LIGHT_COLOR_MAT_ENABLED 39308 -#define CTX_LIGHT_ENABLED_LIST 39312 -#define CTX_LIGHT_NEED_VERTS 43673 -#define CTX_LIGHT_FLAGS 43676 -#define CTX_LIGHT_BASE_COLOR 43680 - - -/* ============================================================= - * Offsets for struct vertex_buffer - */ - -#define VB_SIZE 0 -#define VB_COUNT 4 - -#define VB_ELTS 8 -#define VB_OBJ_PTR 12 -#define VB_EYE_PTR 16 -#define VB_CLIP_PTR 20 -#define VB_PROJ_CLIP_PTR 24 -#define VB_CLIP_OR_MASK 28 -#define VB_CLIP_MASK 32 -#define VB_NORMAL_PTR 36 -#define VB_EDGE_FLAG 44 -#define VB_TEX0_COORD_PTR 48 -#define VB_TEX1_COORD_PTR 52 -#define VB_TEX2_COORD_PTR 56 -#define VB_TEX3_COORD_PTR 60 -#define VB_INDEX_PTR 80 -#define VB_COLOR_PTR 88 -#define VB_SECONDARY_COLOR_PTR 96 -#define VB_FOG_COORD_PTR 104 -#define VB_PRIMITIVE 172 - - -/* - * Flags for struct vertex_buffer - */ - -#define VERT_BIT_OBJ 0x1 -#define VERT_BIT_NORM 0x4 -#define VERT_BIT_RGBA 0x8 -#define VERT_BIT_SPEC_RGB 0x10 -#define VERT_BIT_FOG_COORD 0x20 -#define VERT_BIT_TEX0 0x100 -#define VERT_BIT_TEX1 0x200 -#define VERT_BIT_TEX2 0x400 -#define VERT_BIT_TEX3 0x800 - - -/* ============================================================= - * Offsets for GLvector4f - */ - -#define V4F_DATA 0 -#define V4F_START 4 -#define V4F_COUNT 8 -#define V4F_STRIDE 12 -#define V4F_SIZE 16 -#define V4F_FLAGS 20 - -/* - * Flags for GLvector4f - */ - -#define VEC_MALLOC 0x10 -#define VEC_NOT_WRITEABLE 0x40 -#define VEC_BAD_STRIDE 0x100 - -#define VEC_SIZE_1 0x1 -#define VEC_SIZE_2 0x3 -#define VEC_SIZE_3 0x7 -#define VEC_SIZE_4 0xf - - -/* ============================================================= - * Offsets for GLmatrix - */ - -#define MATRIX_DATA 0 -#define MATRIX_INV 4 -#define MATRIX_FLAGS 8 -#define MATRIX_TYPE 12 - - -/* ============================================================= - * Offsets for struct gl_light - */ - -#define LIGHT_NEXT 0 -#define LIGHT_PREV 4 - -#define LIGHT_AMBIENT 8 -#define LIGHT_DIFFUSE 24 -#define LIGHT_SPECULAR 40 -#define LIGHT_EYE_POSITION 56 -#define LIGHT_EYE_DIRECTION 72 -#define LIGHT_SPOT_EXPONENT 88 -#define LIGHT_SPOT_CUTOFF 92 -#define LIGHT_COS_CUTOFF 100 -#define LIGHT_CONST_ATTEN 104 -#define LIGHT_LINEAR_ATTEN 108 -#define LIGHT_QUADRATIC_ATTEN 112 -#define LIGHT_ENABLED 116 - -#define LIGHT_FLAGS 120 - -#define LIGHT_POSITION 124 -#define LIGHT_VP_INF_NORM 140 -#define LIGHT_H_INF_NORM 152 -#define LIGHT_NORM_DIRECTION 164 -#define LIGHT_VP_INF_SPOT_ATTEN 180 - -#define LIGHT_SPOT_EXP_TABLE 184 -#define LIGHT_MAT_AMBIENT 4280 -#define LIGHT_MAT_DIFFUSE 4304 -#define LIGHT_MAT_SPECULAR 4328 - -#define SIZEOF_GL_LIGHT 4360 - -/* - * Flags for struct gl_light - */ - -#define LIGHT_SPOT 0x1 -#define LIGHT_LOCAL_VIEWER 0x2 -#define LIGHT_POSITIONAL 0x4 - -#define LIGHT_NEED_VERTICES 0x6 - - -/* ============================================================= - * Offsets for struct gl_lightmodel - */ - -#define LIGHT_MODEL_AMBIENT 0 -#define LIGHT_MODEL_LOCAL_VIEWER 16 -#define LIGHT_MODEL_TWO_SIDE 17 -#define LIGHT_MODEL_COLOR_CONTROL 20 - - -#endif /* __ASM_TYPES_H__ */ diff --git a/dist/Mesa/src/mesa/x86-64/xform4.S b/dist/Mesa/src/mesa/x86-64/xform4.S index ed4ca929c..f512b3ac6 100644 --- a/dist/Mesa/src/mesa/x86-64/xform4.S +++ b/dist/Mesa/src/mesa/x86-64/xform4.S @@ -1,10 +1,8 @@ -/* $Id: xform4.S,v 1.1 2006/11/25 18:54:32 matthieu Exp $ */ - /* * Mesa 3-D graphics library - * Version: 3.5 + * Version: 7.0.1 * - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -64,7 +62,7 @@ _mesa_x86_64_transform_points4_general: p4_general_loop: - movaps (%rdx), %xmm8 /* ox | oy | oz | ow */ + movups (%rdx), %xmm8 /* ox | oy | oz | ow */ prefetchw 16(%rdi) pshufd $0x00, %xmm8, %xmm0 /* ox | ox | ox | ox */ @@ -149,7 +147,7 @@ _mesa_x86_64_transform_points4_3d: p4_3d_loop: - movaps (%rdx), %xmm8 /* ox | oy | oz | ow */ + movups (%rdx), %xmm8 /* ox | oy | oz | ow */ prefetchw 16(%rdi) pshufd $0x00, %xmm8, %xmm0 /* ox | ox | ox | ox */ diff --git a/dist/Mesa/src/mesa/x86/glapi_x86.S b/dist/Mesa/src/mesa/x86/glapi_x86.S index 989fedc9b..ef2d64a0c 100644 --- a/dist/Mesa/src/mesa/x86/glapi_x86.S +++ b/dist/Mesa/src/mesa/x86/glapi_x86.S @@ -38,6 +38,7 @@ #else # if defined(USE_MGL_NAMESPACE) # define GL_PREFIX(n,n2) GLNAME(CONCAT(mgl,n)) +# define _glapi_Dispatch _mglapi_Dispatch # else # define GL_PREFIX(n,n2) GLNAME(CONCAT(gl,n)) # endif @@ -57,12 +58,18 @@ #ifdef GLX_USE_TLS +#ifdef GLX_X86_READONLY_TEXT +# define CTX_INSNS MOV_L(GS:(EAX), EAX) +#else +# define CTX_INSNS NOP /* Pad for init_glapi_relocs() */ +#endif + # define GL_STUB(fn,off,fn_alt) \ ALIGNTEXT16; \ GLOBL_FN(GL_PREFIX(fn, fn_alt)); \ GL_PREFIX(fn, fn_alt): \ CALL(_x86_get_dispatch) ; \ - NOP ; \ + CTX_INSNS ; \ JMP(GL_OFFSET(off)) #elif defined(PTHREADS) @@ -113,7 +120,10 @@ SEG_TEXT HIDDEN(GLNAME(_x86_get_dispatch)) ALIGNTEXT16 GLNAME(_x86_get_dispatch): - movl %gs:_glapi_tls_Dispatch@NTPOFF, %eax + call 1f +1: popl %eax + addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %eax + movl _glapi_tls_Dispatch@GOTNTPOFF(%eax), %eax ret #elif defined(PTHREADS) @@ -132,7 +142,7 @@ GLNAME(_x86_get_dispatch): EXTERN GLNAME(_glapi_get_dispatch) #endif -#if defined( GLX_USE_TLS ) +#if defined( GLX_USE_TLS ) && !defined( GLX_X86_READONLY_TEXT ) .section wtext, "awx", @progbits #endif /* defined( GLX_USE_TLS ) */ @@ -549,9 +559,28 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(MultiTexCoord4ivARB, _gloffset_MultiTexCoord4ivARB, MultiTexCoord4ivARB@8) GL_STUB(MultiTexCoord4sARB, _gloffset_MultiTexCoord4sARB, MultiTexCoord4sARB@20) GL_STUB(MultiTexCoord4svARB, _gloffset_MultiTexCoord4svARB, MultiTexCoord4svARB@8) + GL_STUB(AttachShader, _gloffset_AttachShader, AttachShader@8) + GL_STUB(CreateProgram, _gloffset_CreateProgram, CreateProgram@0) + GL_STUB(CreateShader, _gloffset_CreateShader, CreateShader@4) + GL_STUB(DeleteProgram, _gloffset_DeleteProgram, DeleteProgram@4) + GL_STUB(DeleteShader, _gloffset_DeleteShader, DeleteShader@4) + GL_STUB(DetachShader, _gloffset_DetachShader, DetachShader@8) + GL_STUB(GetAttachedShaders, _gloffset_GetAttachedShaders, GetAttachedShaders@16) + GL_STUB(GetProgramInfoLog, _gloffset_GetProgramInfoLog, GetProgramInfoLog@16) + GL_STUB(GetProgramiv, _gloffset_GetProgramiv, GetProgramiv@12) + GL_STUB(GetShaderInfoLog, _gloffset_GetShaderInfoLog, GetShaderInfoLog@16) + GL_STUB(GetShaderiv, _gloffset_GetShaderiv, GetShaderiv@12) + GL_STUB(IsProgram, _gloffset_IsProgram, IsProgram@4) + GL_STUB(IsShader, _gloffset_IsShader, IsShader@4) GL_STUB(StencilFuncSeparate, _gloffset_StencilFuncSeparate, StencilFuncSeparate@16) GL_STUB(StencilMaskSeparate, _gloffset_StencilMaskSeparate, StencilMaskSeparate@8) GL_STUB(StencilOpSeparate, _gloffset_StencilOpSeparate, StencilOpSeparate@16) + GL_STUB(UniformMatrix2x3fv, _gloffset_UniformMatrix2x3fv, UniformMatrix2x3fv@16) + GL_STUB(UniformMatrix2x4fv, _gloffset_UniformMatrix2x4fv, UniformMatrix2x4fv@16) + GL_STUB(UniformMatrix3x2fv, _gloffset_UniformMatrix3x2fv, UniformMatrix3x2fv@16) + GL_STUB(UniformMatrix3x4fv, _gloffset_UniformMatrix3x4fv, UniformMatrix3x4fv@16) + GL_STUB(UniformMatrix4x2fv, _gloffset_UniformMatrix4x2fv, UniformMatrix4x2fv@16) + GL_STUB(UniformMatrix4x3fv, _gloffset_UniformMatrix4x3fv, UniformMatrix4x3fv@16) GL_STUB(LoadTransposeMatrixdARB, _gloffset_LoadTransposeMatrixdARB, LoadTransposeMatrixdARB@4) GL_STUB(LoadTransposeMatrixfARB, _gloffset_LoadTransposeMatrixfARB, LoadTransposeMatrixfARB@4) GL_STUB(MultTransposeMatrixdARB, _gloffset_MultTransposeMatrixdARB, MultTransposeMatrixdARB@4) @@ -684,51 +713,22 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(GetAttribLocationARB, _gloffset_GetAttribLocationARB, GetAttribLocationARB@8) GL_STUB(DrawBuffersARB, _gloffset_DrawBuffersARB, DrawBuffersARB@8) GL_STUB(PolygonOffsetEXT, _gloffset_PolygonOffsetEXT, PolygonOffsetEXT@8) - GL_STUB(_dispatch_stub_543, _gloffset_GetHistogramEXT, _dispatch_stub_543@20) - HIDDEN(GL_PREFIX(_dispatch_stub_543, _dispatch_stub_543@20)) - GL_STUB(_dispatch_stub_544, _gloffset_GetHistogramParameterfvEXT, _dispatch_stub_544@12) - HIDDEN(GL_PREFIX(_dispatch_stub_544, _dispatch_stub_544@12)) - GL_STUB(_dispatch_stub_545, _gloffset_GetHistogramParameterivEXT, _dispatch_stub_545@12) - HIDDEN(GL_PREFIX(_dispatch_stub_545, _dispatch_stub_545@12)) - GL_STUB(_dispatch_stub_546, _gloffset_GetMinmaxEXT, _dispatch_stub_546@20) - HIDDEN(GL_PREFIX(_dispatch_stub_546, _dispatch_stub_546@20)) - GL_STUB(_dispatch_stub_547, _gloffset_GetMinmaxParameterfvEXT, _dispatch_stub_547@12) - HIDDEN(GL_PREFIX(_dispatch_stub_547, _dispatch_stub_547@12)) - GL_STUB(_dispatch_stub_548, _gloffset_GetMinmaxParameterivEXT, _dispatch_stub_548@12) - HIDDEN(GL_PREFIX(_dispatch_stub_548, _dispatch_stub_548@12)) - GL_STUB(_dispatch_stub_549, _gloffset_GetConvolutionFilterEXT, _dispatch_stub_549@16) - HIDDEN(GL_PREFIX(_dispatch_stub_549, _dispatch_stub_549@16)) - GL_STUB(_dispatch_stub_550, _gloffset_GetConvolutionParameterfvEXT, _dispatch_stub_550@12) - HIDDEN(GL_PREFIX(_dispatch_stub_550, _dispatch_stub_550@12)) - GL_STUB(_dispatch_stub_551, _gloffset_GetConvolutionParameterivEXT, _dispatch_stub_551@12) - HIDDEN(GL_PREFIX(_dispatch_stub_551, _dispatch_stub_551@12)) - GL_STUB(_dispatch_stub_552, _gloffset_GetSeparableFilterEXT, _dispatch_stub_552@24) - HIDDEN(GL_PREFIX(_dispatch_stub_552, _dispatch_stub_552@24)) - GL_STUB(_dispatch_stub_553, _gloffset_GetColorTableParameterfvSGI, _dispatch_stub_553@12) - HIDDEN(GL_PREFIX(_dispatch_stub_553, _dispatch_stub_553@12)) - GL_STUB(_dispatch_stub_554, _gloffset_GetColorTableParameterivSGI, _dispatch_stub_554@12) - HIDDEN(GL_PREFIX(_dispatch_stub_554, _dispatch_stub_554@12)) - GL_STUB(_dispatch_stub_555, _gloffset_GetColorTableSGI, _dispatch_stub_555@16) - HIDDEN(GL_PREFIX(_dispatch_stub_555, _dispatch_stub_555@16)) - GL_STUB(_dispatch_stub_556, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_556@8) - HIDDEN(GL_PREFIX(_dispatch_stub_556, _dispatch_stub_556@8)) - GL_STUB(_dispatch_stub_557, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_557@8) - HIDDEN(GL_PREFIX(_dispatch_stub_557, _dispatch_stub_557@8)) - GL_STUB(_dispatch_stub_558, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_558@8) - HIDDEN(GL_PREFIX(_dispatch_stub_558, _dispatch_stub_558@8)) - GL_STUB(_dispatch_stub_559, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_559@8) - HIDDEN(GL_PREFIX(_dispatch_stub_559, _dispatch_stub_559@8)) - GL_STUB(_dispatch_stub_560, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_560@8) - HIDDEN(GL_PREFIX(_dispatch_stub_560, _dispatch_stub_560@8)) - GL_STUB(_dispatch_stub_561, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_561@8) - HIDDEN(GL_PREFIX(_dispatch_stub_561, _dispatch_stub_561@8)) - GL_STUB(AreTexturesResidentEXT, _gloffset_AreTexturesResidentEXT, AreTexturesResidentEXT@12) - GL_STUB(GenTexturesEXT, _gloffset_GenTexturesEXT, GenTexturesEXT@8) - GL_STUB(IsTextureEXT, _gloffset_IsTextureEXT, IsTextureEXT@4) - GL_STUB(_dispatch_stub_565, _gloffset_SampleMaskSGIS, _dispatch_stub_565@8) + GL_STUB(_dispatch_stub_562, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_562@8) + HIDDEN(GL_PREFIX(_dispatch_stub_562, _dispatch_stub_562@8)) + GL_STUB(_dispatch_stub_563, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_563@8) + HIDDEN(GL_PREFIX(_dispatch_stub_563, _dispatch_stub_563@8)) + GL_STUB(_dispatch_stub_564, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_564@8) + HIDDEN(GL_PREFIX(_dispatch_stub_564, _dispatch_stub_564@8)) + GL_STUB(_dispatch_stub_565, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_565@8) HIDDEN(GL_PREFIX(_dispatch_stub_565, _dispatch_stub_565@8)) - GL_STUB(_dispatch_stub_566, _gloffset_SamplePatternSGIS, _dispatch_stub_566@4) - HIDDEN(GL_PREFIX(_dispatch_stub_566, _dispatch_stub_566@4)) + GL_STUB(_dispatch_stub_566, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_566@8) + HIDDEN(GL_PREFIX(_dispatch_stub_566, _dispatch_stub_566@8)) + GL_STUB(_dispatch_stub_567, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_567@8) + HIDDEN(GL_PREFIX(_dispatch_stub_567, _dispatch_stub_567@8)) + GL_STUB(_dispatch_stub_568, _gloffset_SampleMaskSGIS, _dispatch_stub_568@8) + HIDDEN(GL_PREFIX(_dispatch_stub_568, _dispatch_stub_568@8)) + GL_STUB(_dispatch_stub_569, _gloffset_SamplePatternSGIS, _dispatch_stub_569@4) + HIDDEN(GL_PREFIX(_dispatch_stub_569, _dispatch_stub_569@4)) GL_STUB(ColorPointerEXT, _gloffset_ColorPointerEXT, ColorPointerEXT@20) GL_STUB(EdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT, EdgeFlagPointerEXT@12) GL_STUB(IndexPointerEXT, _gloffset_IndexPointerEXT, IndexPointerEXT@16) @@ -739,10 +739,10 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(PointParameterfvEXT, _gloffset_PointParameterfvEXT, PointParameterfvEXT@8) GL_STUB(LockArraysEXT, _gloffset_LockArraysEXT, LockArraysEXT@8) GL_STUB(UnlockArraysEXT, _gloffset_UnlockArraysEXT, UnlockArraysEXT@0) - GL_STUB(_dispatch_stub_577, _gloffset_CullParameterdvEXT, _dispatch_stub_577@8) - HIDDEN(GL_PREFIX(_dispatch_stub_577, _dispatch_stub_577@8)) - GL_STUB(_dispatch_stub_578, _gloffset_CullParameterfvEXT, _dispatch_stub_578@8) - HIDDEN(GL_PREFIX(_dispatch_stub_578, _dispatch_stub_578@8)) + GL_STUB(_dispatch_stub_580, _gloffset_CullParameterdvEXT, _dispatch_stub_580@8) + HIDDEN(GL_PREFIX(_dispatch_stub_580, _dispatch_stub_580@8)) + GL_STUB(_dispatch_stub_581, _gloffset_CullParameterfvEXT, _dispatch_stub_581@8) + HIDDEN(GL_PREFIX(_dispatch_stub_581, _dispatch_stub_581@8)) GL_STUB(SecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT, SecondaryColor3bEXT@12) GL_STUB(SecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) GL_STUB(SecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT, SecondaryColor3dEXT@24) @@ -767,8 +767,8 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(FogCoorddvEXT, _gloffset_FogCoorddvEXT, FogCoorddvEXT@4) GL_STUB(FogCoordfEXT, _gloffset_FogCoordfEXT, FogCoordfEXT@4) GL_STUB(FogCoordfvEXT, _gloffset_FogCoordfvEXT, FogCoordfvEXT@4) - GL_STUB(_dispatch_stub_603, _gloffset_PixelTexGenSGIX, _dispatch_stub_603@4) - HIDDEN(GL_PREFIX(_dispatch_stub_603, _dispatch_stub_603@4)) + GL_STUB(_dispatch_stub_606, _gloffset_PixelTexGenSGIX, _dispatch_stub_606@4) + HIDDEN(GL_PREFIX(_dispatch_stub_606, _dispatch_stub_606@4)) GL_STUB(BlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) GL_STUB(FlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV, FlushVertexArrayRangeNV@0) GL_STUB(VertexArrayRangeNV, _gloffset_VertexArrayRangeNV, VertexArrayRangeNV@8) @@ -810,24 +810,24 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(WindowPos4ivMESA, _gloffset_WindowPos4ivMESA, WindowPos4ivMESA@4) GL_STUB(WindowPos4sMESA, _gloffset_WindowPos4sMESA, WindowPos4sMESA@16) GL_STUB(WindowPos4svMESA, _gloffset_WindowPos4svMESA, WindowPos4svMESA@4) - GL_STUB(_dispatch_stub_645, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_645@20) - HIDDEN(GL_PREFIX(_dispatch_stub_645, _dispatch_stub_645@20)) - GL_STUB(_dispatch_stub_646, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_646@24) - HIDDEN(GL_PREFIX(_dispatch_stub_646, _dispatch_stub_646@24)) - GL_STUB(_dispatch_stub_647, _gloffset_DeleteFencesNV, _dispatch_stub_647@8) - HIDDEN(GL_PREFIX(_dispatch_stub_647, _dispatch_stub_647@8)) - GL_STUB(_dispatch_stub_648, _gloffset_FinishFenceNV, _dispatch_stub_648@4) - HIDDEN(GL_PREFIX(_dispatch_stub_648, _dispatch_stub_648@4)) - GL_STUB(_dispatch_stub_649, _gloffset_GenFencesNV, _dispatch_stub_649@8) - HIDDEN(GL_PREFIX(_dispatch_stub_649, _dispatch_stub_649@8)) - GL_STUB(_dispatch_stub_650, _gloffset_GetFenceivNV, _dispatch_stub_650@12) - HIDDEN(GL_PREFIX(_dispatch_stub_650, _dispatch_stub_650@12)) - GL_STUB(_dispatch_stub_651, _gloffset_IsFenceNV, _dispatch_stub_651@4) + GL_STUB(_dispatch_stub_648, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_648@20) + HIDDEN(GL_PREFIX(_dispatch_stub_648, _dispatch_stub_648@20)) + GL_STUB(_dispatch_stub_649, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_649@24) + HIDDEN(GL_PREFIX(_dispatch_stub_649, _dispatch_stub_649@24)) + GL_STUB(_dispatch_stub_650, _gloffset_DeleteFencesNV, _dispatch_stub_650@8) + HIDDEN(GL_PREFIX(_dispatch_stub_650, _dispatch_stub_650@8)) + GL_STUB(_dispatch_stub_651, _gloffset_FinishFenceNV, _dispatch_stub_651@4) HIDDEN(GL_PREFIX(_dispatch_stub_651, _dispatch_stub_651@4)) - GL_STUB(_dispatch_stub_652, _gloffset_SetFenceNV, _dispatch_stub_652@8) + GL_STUB(_dispatch_stub_652, _gloffset_GenFencesNV, _dispatch_stub_652@8) HIDDEN(GL_PREFIX(_dispatch_stub_652, _dispatch_stub_652@8)) - GL_STUB(_dispatch_stub_653, _gloffset_TestFenceNV, _dispatch_stub_653@4) - HIDDEN(GL_PREFIX(_dispatch_stub_653, _dispatch_stub_653@4)) + GL_STUB(_dispatch_stub_653, _gloffset_GetFenceivNV, _dispatch_stub_653@12) + HIDDEN(GL_PREFIX(_dispatch_stub_653, _dispatch_stub_653@12)) + GL_STUB(_dispatch_stub_654, _gloffset_IsFenceNV, _dispatch_stub_654@4) + HIDDEN(GL_PREFIX(_dispatch_stub_654, _dispatch_stub_654@4)) + GL_STUB(_dispatch_stub_655, _gloffset_SetFenceNV, _dispatch_stub_655@8) + HIDDEN(GL_PREFIX(_dispatch_stub_655, _dispatch_stub_655@8)) + GL_STUB(_dispatch_stub_656, _gloffset_TestFenceNV, _dispatch_stub_656@4) + HIDDEN(GL_PREFIX(_dispatch_stub_656, _dispatch_stub_656@4)) GL_STUB(AreProgramsResidentNV, _gloffset_AreProgramsResidentNV, AreProgramsResidentNV@12) GL_STUB(BindProgramNV, _gloffset_BindProgramNV, BindProgramNV@8) GL_STUB(DeleteProgramsNV, _gloffset_DeleteProgramsNV, DeleteProgramsNV@8) @@ -908,26 +908,26 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(SetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI, SetFragmentShaderConstantATI@8) GL_STUB(PointParameteriNV, _gloffset_PointParameteriNV, PointParameteriNV@8) GL_STUB(PointParameterivNV, _gloffset_PointParameterivNV, PointParameterivNV@8) - GL_STUB(_dispatch_stub_734, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_734@4) - HIDDEN(GL_PREFIX(_dispatch_stub_734, _dispatch_stub_734@4)) - GL_STUB(_dispatch_stub_735, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_735@4) - HIDDEN(GL_PREFIX(_dispatch_stub_735, _dispatch_stub_735@4)) - GL_STUB(_dispatch_stub_736, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_736@8) - HIDDEN(GL_PREFIX(_dispatch_stub_736, _dispatch_stub_736@8)) - GL_STUB(_dispatch_stub_737, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_737@8) - HIDDEN(GL_PREFIX(_dispatch_stub_737, _dispatch_stub_737@8)) - GL_STUB(_dispatch_stub_738, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_738@4) + GL_STUB(_dispatch_stub_737, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_737@4) + HIDDEN(GL_PREFIX(_dispatch_stub_737, _dispatch_stub_737@4)) + GL_STUB(_dispatch_stub_738, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_738@4) HIDDEN(GL_PREFIX(_dispatch_stub_738, _dispatch_stub_738@4)) + GL_STUB(_dispatch_stub_739, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_739@8) + HIDDEN(GL_PREFIX(_dispatch_stub_739, _dispatch_stub_739@8)) + GL_STUB(_dispatch_stub_740, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_740@8) + HIDDEN(GL_PREFIX(_dispatch_stub_740, _dispatch_stub_740@8)) + GL_STUB(_dispatch_stub_741, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_741@4) + HIDDEN(GL_PREFIX(_dispatch_stub_741, _dispatch_stub_741@4)) GL_STUB(GetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV, GetProgramNamedParameterdvNV@16) GL_STUB(GetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV, GetProgramNamedParameterfvNV@16) GL_STUB(ProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV, ProgramNamedParameter4dNV@44) GL_STUB(ProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV, ProgramNamedParameter4dvNV@16) GL_STUB(ProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV, ProgramNamedParameter4fNV@28) GL_STUB(ProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV, ProgramNamedParameter4fvNV@16) - GL_STUB(_dispatch_stub_745, _gloffset_DepthBoundsEXT, _dispatch_stub_745@16) - HIDDEN(GL_PREFIX(_dispatch_stub_745, _dispatch_stub_745@16)) - GL_STUB(_dispatch_stub_746, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_746@8) - HIDDEN(GL_PREFIX(_dispatch_stub_746, _dispatch_stub_746@8)) + GL_STUB(_dispatch_stub_748, _gloffset_DepthBoundsEXT, _dispatch_stub_748@16) + HIDDEN(GL_PREFIX(_dispatch_stub_748, _dispatch_stub_748@16)) + GL_STUB(_dispatch_stub_749, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_749@8) + HIDDEN(GL_PREFIX(_dispatch_stub_749, _dispatch_stub_749@8)) GL_STUB(BindFramebufferEXT, _gloffset_BindFramebufferEXT, BindFramebufferEXT@8) GL_STUB(BindRenderbufferEXT, _gloffset_BindRenderbufferEXT, BindRenderbufferEXT@8) GL_STUB(CheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) @@ -941,29 +941,42 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(GenRenderbuffersEXT, _gloffset_GenRenderbuffersEXT, GenRenderbuffersEXT@8) GL_STUB(GenerateMipmapEXT, _gloffset_GenerateMipmapEXT, GenerateMipmapEXT@4) GL_STUB(GetFramebufferAttachmentParameterivEXT, _gloffset_GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) - GL_STUB(_dispatch_stub_760, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_760@12) - HIDDEN(GL_PREFIX(_dispatch_stub_760, _dispatch_stub_760@12)) - GL_STUB(_dispatch_stub_761, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_761@12) - HIDDEN(GL_PREFIX(_dispatch_stub_761, _dispatch_stub_761@12)) GL_STUB(GetRenderbufferParameterivEXT, _gloffset_GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) GL_STUB(IsFramebufferEXT, _gloffset_IsFramebufferEXT, IsFramebufferEXT@4) GL_STUB(IsRenderbufferEXT, _gloffset_IsRenderbufferEXT, IsRenderbufferEXT@4) GL_STUB(RenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB(_dispatch_stub_766, _gloffset_BlitFramebufferEXT, _dispatch_stub_766@40) - HIDDEN(GL_PREFIX(_dispatch_stub_766, _dispatch_stub_766@40)) - GL_STUB(_dispatch_stub_767, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_767@16) - HIDDEN(GL_PREFIX(_dispatch_stub_767, _dispatch_stub_767@16)) - GL_STUB(_dispatch_stub_768, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_768@16) + GL_STUB(_dispatch_stub_767, _gloffset_BlitFramebufferEXT, _dispatch_stub_767@40) + HIDDEN(GL_PREFIX(_dispatch_stub_767, _dispatch_stub_767@40)) + GL_STUB(_dispatch_stub_768, _gloffset_StencilFuncSeparateATI, _dispatch_stub_768@16) HIDDEN(GL_PREFIX(_dispatch_stub_768, _dispatch_stub_768@16)) + GL_STUB(_dispatch_stub_769, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_769@16) + HIDDEN(GL_PREFIX(_dispatch_stub_769, _dispatch_stub_769@16)) + GL_STUB(_dispatch_stub_770, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_770@16) + HIDDEN(GL_PREFIX(_dispatch_stub_770, _dispatch_stub_770@16)) + GL_STUB(_dispatch_stub_771, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_771@12) + HIDDEN(GL_PREFIX(_dispatch_stub_771, _dispatch_stub_771@12)) + GL_STUB(_dispatch_stub_772, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_772@12) + HIDDEN(GL_PREFIX(_dispatch_stub_772, _dispatch_stub_772@12)) GL_STUB_ALIAS(ArrayElementEXT, _gloffset_ArrayElement, ArrayElementEXT@4, ArrayElement, ArrayElement@4) GL_STUB_ALIAS(BindTextureEXT, _gloffset_BindTexture, BindTextureEXT@8, BindTexture, BindTexture@8) GL_STUB_ALIAS(DrawArraysEXT, _gloffset_DrawArrays, DrawArraysEXT@12, DrawArrays, DrawArrays@12) +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(AreTexturesResidentEXT, _gloffset_AreTexturesResident, AreTexturesResidentEXT@12, AreTexturesResident, AreTexturesResident@12) +#endif GL_STUB_ALIAS(CopyTexImage1DEXT, _gloffset_CopyTexImage1D, CopyTexImage1DEXT@28, CopyTexImage1D, CopyTexImage1D@28) GL_STUB_ALIAS(CopyTexImage2DEXT, _gloffset_CopyTexImage2D, CopyTexImage2DEXT@32, CopyTexImage2D, CopyTexImage2D@32) GL_STUB_ALIAS(CopyTexSubImage1DEXT, _gloffset_CopyTexSubImage1D, CopyTexSubImage1DEXT@24, CopyTexSubImage1D, CopyTexSubImage1D@24) GL_STUB_ALIAS(CopyTexSubImage2DEXT, _gloffset_CopyTexSubImage2D, CopyTexSubImage2DEXT@32, CopyTexSubImage2D, CopyTexSubImage2D@32) +#ifndef GLX_INDIRECT_RENDERING GL_STUB_ALIAS(DeleteTexturesEXT, _gloffset_DeleteTextures, DeleteTexturesEXT@8, DeleteTextures, DeleteTextures@8) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GenTexturesEXT, _gloffset_GenTextures, GenTexturesEXT@8, GenTextures, GenTextures@8) +#endif GL_STUB_ALIAS(GetPointervEXT, _gloffset_GetPointerv, GetPointervEXT@8, GetPointerv, GetPointerv@8) +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(IsTextureEXT, _gloffset_IsTexture, IsTextureEXT@4, IsTexture, IsTexture@4) +#endif GL_STUB_ALIAS(PrioritizeTexturesEXT, _gloffset_PrioritizeTextures, PrioritizeTexturesEXT@12, PrioritizeTextures, PrioritizeTextures@12) GL_STUB_ALIAS(TexSubImage1DEXT, _gloffset_TexSubImage1D, TexSubImage1DEXT@28, TexSubImage1D, TexSubImage1D@28) GL_STUB_ALIAS(TexSubImage2DEXT, _gloffset_TexSubImage2D, TexSubImage2DEXT@36, TexSubImage2D, TexSubImage2D@36) @@ -975,6 +988,24 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(ColorTableParameterfvSGI, _gloffset_ColorTableParameterfv, ColorTableParameterfvSGI@12, ColorTableParameterfv, ColorTableParameterfv@12) GL_STUB_ALIAS(ColorTableParameterivSGI, _gloffset_ColorTableParameteriv, ColorTableParameterivSGI@12, ColorTableParameteriv, ColorTableParameteriv@12) GL_STUB_ALIAS(CopyColorTableSGI, _gloffset_CopyColorTable, CopyColorTableSGI@20, CopyColorTable, CopyColorTable@20) +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetColorTableSGI, _gloffset_GetColorTable, GetColorTableSGI@16, GetColorTable, GetColorTable@16) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetColorTableEXT, _gloffset_GetColorTable, GetColorTableEXT@16, GetColorTable, GetColorTable@16) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetColorTableParameterfvSGI, _gloffset_GetColorTableParameterfv, GetColorTableParameterfvSGI@12, GetColorTableParameterfv, GetColorTableParameterfv@12) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv, GetColorTableParameterfvEXT@12, GetColorTableParameterfv, GetColorTableParameterfv@12) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetColorTableParameterivSGI, _gloffset_GetColorTableParameteriv, GetColorTableParameterivSGI@12, GetColorTableParameteriv, GetColorTableParameteriv@12) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv, GetColorTableParameterivEXT@12, GetColorTableParameteriv, GetColorTableParameteriv@12) +#endif GL_STUB_ALIAS(ColorSubTableEXT, _gloffset_ColorSubTable, ColorSubTableEXT@24, ColorSubTable, ColorSubTable@24) GL_STUB_ALIAS(CopyColorSubTableEXT, _gloffset_CopyColorSubTable, CopyColorSubTableEXT@20, CopyColorSubTable, CopyColorSubTable@20) GL_STUB_ALIAS(ConvolutionFilter1DEXT, _gloffset_ConvolutionFilter1D, ConvolutionFilter1DEXT@24, ConvolutionFilter1D, ConvolutionFilter1D@24) @@ -985,7 +1016,37 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(ConvolutionParameterivEXT, _gloffset_ConvolutionParameteriv, ConvolutionParameterivEXT@12, ConvolutionParameteriv, ConvolutionParameteriv@12) GL_STUB_ALIAS(CopyConvolutionFilter1DEXT, _gloffset_CopyConvolutionFilter1D, CopyConvolutionFilter1DEXT@20, CopyConvolutionFilter1D, CopyConvolutionFilter1D@20) GL_STUB_ALIAS(CopyConvolutionFilter2DEXT, _gloffset_CopyConvolutionFilter2D, CopyConvolutionFilter2DEXT@24, CopyConvolutionFilter2D, CopyConvolutionFilter2D@24) +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetConvolutionFilterEXT, _gloffset_GetConvolutionFilter, GetConvolutionFilterEXT@16, GetConvolutionFilter, GetConvolutionFilter@16) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetConvolutionParameterfvEXT, _gloffset_GetConvolutionParameterfv, GetConvolutionParameterfvEXT@12, GetConvolutionParameterfv, GetConvolutionParameterfv@12) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetConvolutionParameterivEXT, _gloffset_GetConvolutionParameteriv, GetConvolutionParameterivEXT@12, GetConvolutionParameteriv, GetConvolutionParameteriv@12) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetSeparableFilterEXT, _gloffset_GetSeparableFilter, GetSeparableFilterEXT@24, GetSeparableFilter, GetSeparableFilter@24) +#endif GL_STUB_ALIAS(SeparableFilter2DEXT, _gloffset_SeparableFilter2D, SeparableFilter2DEXT@32, SeparableFilter2D, SeparableFilter2D@32) +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetHistogramEXT, _gloffset_GetHistogram, GetHistogramEXT@20, GetHistogram, GetHistogram@20) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetHistogramParameterfvEXT, _gloffset_GetHistogramParameterfv, GetHistogramParameterfvEXT@12, GetHistogramParameterfv, GetHistogramParameterfv@12) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetHistogramParameterivEXT, _gloffset_GetHistogramParameteriv, GetHistogramParameterivEXT@12, GetHistogramParameteriv, GetHistogramParameteriv@12) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetMinmaxEXT, _gloffset_GetMinmax, GetMinmaxEXT@20, GetMinmax, GetMinmax@20) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetMinmaxParameterfvEXT, _gloffset_GetMinmaxParameterfv, GetMinmaxParameterfvEXT@12, GetMinmaxParameterfv, GetMinmaxParameterfv@12) +#endif +#ifndef GLX_INDIRECT_RENDERING + GL_STUB_ALIAS(GetMinmaxParameterivEXT, _gloffset_GetMinmaxParameteriv, GetMinmaxParameterivEXT@12, GetMinmaxParameteriv, GetMinmaxParameteriv@12) +#endif GL_STUB_ALIAS(HistogramEXT, _gloffset_Histogram, HistogramEXT@16, Histogram, Histogram@16) GL_STUB_ALIAS(MinmaxEXT, _gloffset_Minmax, MinmaxEXT@12, Minmax, Minmax@12) GL_STUB_ALIAS(ResetHistogramEXT, _gloffset_ResetHistogram, ResetHistogramEXT@4, ResetHistogram, ResetHistogram@4) @@ -1027,6 +1088,7 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(MultiTexCoord4iv, _gloffset_MultiTexCoord4ivARB, MultiTexCoord4iv@8, MultiTexCoord4ivARB, MultiTexCoord4ivARB@8) GL_STUB_ALIAS(MultiTexCoord4s, _gloffset_MultiTexCoord4sARB, MultiTexCoord4s@20, MultiTexCoord4sARB, MultiTexCoord4sARB@20) GL_STUB_ALIAS(MultiTexCoord4sv, _gloffset_MultiTexCoord4svARB, MultiTexCoord4sv@8, MultiTexCoord4svARB, MultiTexCoord4svARB@8) + GL_STUB_ALIAS(StencilOpSeparateATI, _gloffset_StencilOpSeparate, StencilOpSeparateATI@16, StencilOpSeparate, StencilOpSeparate@16) GL_STUB_ALIAS(LoadTransposeMatrixd, _gloffset_LoadTransposeMatrixdARB, LoadTransposeMatrixd@4, LoadTransposeMatrixdARB, LoadTransposeMatrixdARB@4) GL_STUB_ALIAS(LoadTransposeMatrixf, _gloffset_LoadTransposeMatrixfARB, LoadTransposeMatrixf@4, LoadTransposeMatrixfARB, LoadTransposeMatrixfARB@4) GL_STUB_ALIAS(MultTransposeMatrixd, _gloffset_MultTransposeMatrixdARB, MultTransposeMatrixd@4, MultTransposeMatrixdARB, MultTransposeMatrixdARB@4) @@ -1039,6 +1101,48 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(CompressedTexSubImage2D, _gloffset_CompressedTexSubImage2DARB, CompressedTexSubImage2D@36, CompressedTexSubImage2DARB, CompressedTexSubImage2DARB@36) GL_STUB_ALIAS(CompressedTexSubImage3D, _gloffset_CompressedTexSubImage3DARB, CompressedTexSubImage3D@44, CompressedTexSubImage3DARB, CompressedTexSubImage3DARB@44) GL_STUB_ALIAS(GetCompressedTexImage, _gloffset_GetCompressedTexImageARB, GetCompressedTexImage@12, GetCompressedTexImageARB, GetCompressedTexImageARB@12) + GL_STUB_ALIAS(DisableVertexAttribArray, _gloffset_DisableVertexAttribArrayARB, DisableVertexAttribArray@4, DisableVertexAttribArrayARB, DisableVertexAttribArrayARB@4) + GL_STUB_ALIAS(EnableVertexAttribArray, _gloffset_EnableVertexAttribArrayARB, EnableVertexAttribArray@4, EnableVertexAttribArrayARB, EnableVertexAttribArrayARB@4) + GL_STUB_ALIAS(GetVertexAttribdv, _gloffset_GetVertexAttribdvARB, GetVertexAttribdv@12, GetVertexAttribdvARB, GetVertexAttribdvARB@12) + GL_STUB_ALIAS(GetVertexAttribfv, _gloffset_GetVertexAttribfvARB, GetVertexAttribfv@12, GetVertexAttribfvARB, GetVertexAttribfvARB@12) + GL_STUB_ALIAS(GetVertexAttribiv, _gloffset_GetVertexAttribivARB, GetVertexAttribiv@12, GetVertexAttribivARB, GetVertexAttribivARB@12) + GL_STUB_ALIAS(VertexAttrib1d, _gloffset_VertexAttrib1dARB, VertexAttrib1d@12, VertexAttrib1dARB, VertexAttrib1dARB@12) + GL_STUB_ALIAS(VertexAttrib1dv, _gloffset_VertexAttrib1dvARB, VertexAttrib1dv@8, VertexAttrib1dvARB, VertexAttrib1dvARB@8) + GL_STUB_ALIAS(VertexAttrib1f, _gloffset_VertexAttrib1fARB, VertexAttrib1f@8, VertexAttrib1fARB, VertexAttrib1fARB@8) + GL_STUB_ALIAS(VertexAttrib1fv, _gloffset_VertexAttrib1fvARB, VertexAttrib1fv@8, VertexAttrib1fvARB, VertexAttrib1fvARB@8) + GL_STUB_ALIAS(VertexAttrib1s, _gloffset_VertexAttrib1sARB, VertexAttrib1s@8, VertexAttrib1sARB, VertexAttrib1sARB@8) + GL_STUB_ALIAS(VertexAttrib1sv, _gloffset_VertexAttrib1svARB, VertexAttrib1sv@8, VertexAttrib1svARB, VertexAttrib1svARB@8) + GL_STUB_ALIAS(VertexAttrib2d, _gloffset_VertexAttrib2dARB, VertexAttrib2d@20, VertexAttrib2dARB, VertexAttrib2dARB@20) + GL_STUB_ALIAS(VertexAttrib2dv, _gloffset_VertexAttrib2dvARB, VertexAttrib2dv@8, VertexAttrib2dvARB, VertexAttrib2dvARB@8) + GL_STUB_ALIAS(VertexAttrib2f, _gloffset_VertexAttrib2fARB, VertexAttrib2f@12, VertexAttrib2fARB, VertexAttrib2fARB@12) + GL_STUB_ALIAS(VertexAttrib2fv, _gloffset_VertexAttrib2fvARB, VertexAttrib2fv@8, VertexAttrib2fvARB, VertexAttrib2fvARB@8) + GL_STUB_ALIAS(VertexAttrib2s, _gloffset_VertexAttrib2sARB, VertexAttrib2s@12, VertexAttrib2sARB, VertexAttrib2sARB@12) + GL_STUB_ALIAS(VertexAttrib2sv, _gloffset_VertexAttrib2svARB, VertexAttrib2sv@8, VertexAttrib2svARB, VertexAttrib2svARB@8) + GL_STUB_ALIAS(VertexAttrib3d, _gloffset_VertexAttrib3dARB, VertexAttrib3d@28, VertexAttrib3dARB, VertexAttrib3dARB@28) + GL_STUB_ALIAS(VertexAttrib3dv, _gloffset_VertexAttrib3dvARB, VertexAttrib3dv@8, VertexAttrib3dvARB, VertexAttrib3dvARB@8) + GL_STUB_ALIAS(VertexAttrib3f, _gloffset_VertexAttrib3fARB, VertexAttrib3f@16, VertexAttrib3fARB, VertexAttrib3fARB@16) + GL_STUB_ALIAS(VertexAttrib3fv, _gloffset_VertexAttrib3fvARB, VertexAttrib3fv@8, VertexAttrib3fvARB, VertexAttrib3fvARB@8) + GL_STUB_ALIAS(VertexAttrib3s, _gloffset_VertexAttrib3sARB, VertexAttrib3s@16, VertexAttrib3sARB, VertexAttrib3sARB@16) + GL_STUB_ALIAS(VertexAttrib3sv, _gloffset_VertexAttrib3svARB, VertexAttrib3sv@8, VertexAttrib3svARB, VertexAttrib3svARB@8) + GL_STUB_ALIAS(VertexAttrib4Nbv, _gloffset_VertexAttrib4NbvARB, VertexAttrib4Nbv@8, VertexAttrib4NbvARB, VertexAttrib4NbvARB@8) + GL_STUB_ALIAS(VertexAttrib4Niv, _gloffset_VertexAttrib4NivARB, VertexAttrib4Niv@8, VertexAttrib4NivARB, VertexAttrib4NivARB@8) + GL_STUB_ALIAS(VertexAttrib4Nsv, _gloffset_VertexAttrib4NsvARB, VertexAttrib4Nsv@8, VertexAttrib4NsvARB, VertexAttrib4NsvARB@8) + GL_STUB_ALIAS(VertexAttrib4Nub, _gloffset_VertexAttrib4NubARB, VertexAttrib4Nub@20, VertexAttrib4NubARB, VertexAttrib4NubARB@20) + GL_STUB_ALIAS(VertexAttrib4Nubv, _gloffset_VertexAttrib4NubvARB, VertexAttrib4Nubv@8, VertexAttrib4NubvARB, VertexAttrib4NubvARB@8) + GL_STUB_ALIAS(VertexAttrib4Nuiv, _gloffset_VertexAttrib4NuivARB, VertexAttrib4Nuiv@8, VertexAttrib4NuivARB, VertexAttrib4NuivARB@8) + GL_STUB_ALIAS(VertexAttrib4Nusv, _gloffset_VertexAttrib4NusvARB, VertexAttrib4Nusv@8, VertexAttrib4NusvARB, VertexAttrib4NusvARB@8) + GL_STUB_ALIAS(VertexAttrib4bv, _gloffset_VertexAttrib4bvARB, VertexAttrib4bv@8, VertexAttrib4bvARB, VertexAttrib4bvARB@8) + GL_STUB_ALIAS(VertexAttrib4d, _gloffset_VertexAttrib4dARB, VertexAttrib4d@36, VertexAttrib4dARB, VertexAttrib4dARB@36) + GL_STUB_ALIAS(VertexAttrib4dv, _gloffset_VertexAttrib4dvARB, VertexAttrib4dv@8, VertexAttrib4dvARB, VertexAttrib4dvARB@8) + GL_STUB_ALIAS(VertexAttrib4f, _gloffset_VertexAttrib4fARB, VertexAttrib4f@20, VertexAttrib4fARB, VertexAttrib4fARB@20) + GL_STUB_ALIAS(VertexAttrib4fv, _gloffset_VertexAttrib4fvARB, VertexAttrib4fv@8, VertexAttrib4fvARB, VertexAttrib4fvARB@8) + GL_STUB_ALIAS(VertexAttrib4iv, _gloffset_VertexAttrib4ivARB, VertexAttrib4iv@8, VertexAttrib4ivARB, VertexAttrib4ivARB@8) + GL_STUB_ALIAS(VertexAttrib4s, _gloffset_VertexAttrib4sARB, VertexAttrib4s@20, VertexAttrib4sARB, VertexAttrib4sARB@20) + GL_STUB_ALIAS(VertexAttrib4sv, _gloffset_VertexAttrib4svARB, VertexAttrib4sv@8, VertexAttrib4svARB, VertexAttrib4svARB@8) + GL_STUB_ALIAS(VertexAttrib4ubv, _gloffset_VertexAttrib4ubvARB, VertexAttrib4ubv@8, VertexAttrib4ubvARB, VertexAttrib4ubvARB@8) + GL_STUB_ALIAS(VertexAttrib4uiv, _gloffset_VertexAttrib4uivARB, VertexAttrib4uiv@8, VertexAttrib4uivARB, VertexAttrib4uivARB@8) + GL_STUB_ALIAS(VertexAttrib4usv, _gloffset_VertexAttrib4usvARB, VertexAttrib4usv@8, VertexAttrib4usvARB, VertexAttrib4usvARB@8) + GL_STUB_ALIAS(VertexAttribPointer, _gloffset_VertexAttribPointerARB, VertexAttribPointer@24, VertexAttribPointerARB, VertexAttribPointerARB@24) GL_STUB_ALIAS(BindBuffer, _gloffset_BindBufferARB, BindBuffer@8, BindBufferARB, BindBufferARB@8) GL_STUB_ALIAS(BufferData, _gloffset_BufferDataARB, BufferData@16, BufferDataARB, BufferDataARB@16) GL_STUB_ALIAS(BufferSubData, _gloffset_BufferSubDataARB, BufferSubData@16, BufferSubDataARB, BufferSubDataARB@16) @@ -1058,6 +1162,38 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(GetQueryObjectuiv, _gloffset_GetQueryObjectuivARB, GetQueryObjectuiv@12, GetQueryObjectuivARB, GetQueryObjectuivARB@12) GL_STUB_ALIAS(GetQueryiv, _gloffset_GetQueryivARB, GetQueryiv@12, GetQueryivARB, GetQueryivARB@12) GL_STUB_ALIAS(IsQuery, _gloffset_IsQueryARB, IsQuery@4, IsQueryARB, IsQueryARB@4) + GL_STUB_ALIAS(CompileShader, _gloffset_CompileShaderARB, CompileShader@4, CompileShaderARB, CompileShaderARB@4) + GL_STUB_ALIAS(GetActiveUniform, _gloffset_GetActiveUniformARB, GetActiveUniform@28, GetActiveUniformARB, GetActiveUniformARB@28) + GL_STUB_ALIAS(GetShaderSource, _gloffset_GetShaderSourceARB, GetShaderSource@16, GetShaderSourceARB, GetShaderSourceARB@16) + GL_STUB_ALIAS(GetUniformLocation, _gloffset_GetUniformLocationARB, GetUniformLocation@8, GetUniformLocationARB, GetUniformLocationARB@8) + GL_STUB_ALIAS(GetUniformfv, _gloffset_GetUniformfvARB, GetUniformfv@12, GetUniformfvARB, GetUniformfvARB@12) + GL_STUB_ALIAS(GetUniformiv, _gloffset_GetUniformivARB, GetUniformiv@12, GetUniformivARB, GetUniformivARB@12) + GL_STUB_ALIAS(LinkProgram, _gloffset_LinkProgramARB, LinkProgram@4, LinkProgramARB, LinkProgramARB@4) + GL_STUB_ALIAS(ShaderSource, _gloffset_ShaderSourceARB, ShaderSource@16, ShaderSourceARB, ShaderSourceARB@16) + GL_STUB_ALIAS(Uniform1f, _gloffset_Uniform1fARB, Uniform1f@8, Uniform1fARB, Uniform1fARB@8) + GL_STUB_ALIAS(Uniform1fv, _gloffset_Uniform1fvARB, Uniform1fv@12, Uniform1fvARB, Uniform1fvARB@12) + GL_STUB_ALIAS(Uniform1i, _gloffset_Uniform1iARB, Uniform1i@8, Uniform1iARB, Uniform1iARB@8) + GL_STUB_ALIAS(Uniform1iv, _gloffset_Uniform1ivARB, Uniform1iv@12, Uniform1ivARB, Uniform1ivARB@12) + GL_STUB_ALIAS(Uniform2f, _gloffset_Uniform2fARB, Uniform2f@12, Uniform2fARB, Uniform2fARB@12) + GL_STUB_ALIAS(Uniform2fv, _gloffset_Uniform2fvARB, Uniform2fv@12, Uniform2fvARB, Uniform2fvARB@12) + GL_STUB_ALIAS(Uniform2i, _gloffset_Uniform2iARB, Uniform2i@12, Uniform2iARB, Uniform2iARB@12) + GL_STUB_ALIAS(Uniform2iv, _gloffset_Uniform2ivARB, Uniform2iv@12, Uniform2ivARB, Uniform2ivARB@12) + GL_STUB_ALIAS(Uniform3f, _gloffset_Uniform3fARB, Uniform3f@16, Uniform3fARB, Uniform3fARB@16) + GL_STUB_ALIAS(Uniform3fv, _gloffset_Uniform3fvARB, Uniform3fv@12, Uniform3fvARB, Uniform3fvARB@12) + GL_STUB_ALIAS(Uniform3i, _gloffset_Uniform3iARB, Uniform3i@16, Uniform3iARB, Uniform3iARB@16) + GL_STUB_ALIAS(Uniform3iv, _gloffset_Uniform3ivARB, Uniform3iv@12, Uniform3ivARB, Uniform3ivARB@12) + GL_STUB_ALIAS(Uniform4f, _gloffset_Uniform4fARB, Uniform4f@20, Uniform4fARB, Uniform4fARB@20) + GL_STUB_ALIAS(Uniform4fv, _gloffset_Uniform4fvARB, Uniform4fv@12, Uniform4fvARB, Uniform4fvARB@12) + GL_STUB_ALIAS(Uniform4i, _gloffset_Uniform4iARB, Uniform4i@20, Uniform4iARB, Uniform4iARB@20) + GL_STUB_ALIAS(Uniform4iv, _gloffset_Uniform4ivARB, Uniform4iv@12, Uniform4ivARB, Uniform4ivARB@12) + GL_STUB_ALIAS(UniformMatrix2fv, _gloffset_UniformMatrix2fvARB, UniformMatrix2fv@16, UniformMatrix2fvARB, UniformMatrix2fvARB@16) + GL_STUB_ALIAS(UniformMatrix3fv, _gloffset_UniformMatrix3fvARB, UniformMatrix3fv@16, UniformMatrix3fvARB, UniformMatrix3fvARB@16) + GL_STUB_ALIAS(UniformMatrix4fv, _gloffset_UniformMatrix4fvARB, UniformMatrix4fv@16, UniformMatrix4fvARB, UniformMatrix4fvARB@16) + GL_STUB_ALIAS(UseProgram, _gloffset_UseProgramObjectARB, UseProgram@4, UseProgramObjectARB, UseProgramObjectARB@4) + GL_STUB_ALIAS(ValidateProgram, _gloffset_ValidateProgramARB, ValidateProgram@4, ValidateProgramARB, ValidateProgramARB@4) + GL_STUB_ALIAS(BindAttribLocation, _gloffset_BindAttribLocationARB, BindAttribLocation@12, BindAttribLocationARB, BindAttribLocationARB@12) + GL_STUB_ALIAS(GetActiveAttrib, _gloffset_GetActiveAttribARB, GetActiveAttrib@28, GetActiveAttribARB, GetActiveAttribARB@28) + GL_STUB_ALIAS(GetAttribLocation, _gloffset_GetAttribLocationARB, GetAttribLocation@8, GetAttribLocationARB, GetAttribLocationARB@8) GL_STUB_ALIAS(DrawBuffers, _gloffset_DrawBuffersARB, DrawBuffers@8, DrawBuffersARB, DrawBuffersARB@8) GL_STUB_ALIAS(DrawBuffersATI, _gloffset_DrawBuffersARB, DrawBuffersATI@8, DrawBuffersARB, DrawBuffersARB@8) GL_STUB_ALIAS(PointParameterf, _gloffset_PointParameterfEXT, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) @@ -1127,6 +1263,7 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(BindProgramARB, _gloffset_BindProgramNV, BindProgramARB@8, BindProgramNV, BindProgramNV@8) GL_STUB_ALIAS(DeleteProgramsARB, _gloffset_DeleteProgramsNV, DeleteProgramsARB@8, DeleteProgramsNV, DeleteProgramsNV@8) GL_STUB_ALIAS(GenProgramsARB, _gloffset_GenProgramsNV, GenProgramsARB@8, GenProgramsNV, GenProgramsNV@8) + GL_STUB_ALIAS(GetVertexAttribPointerv, _gloffset_GetVertexAttribPointervNV, GetVertexAttribPointerv@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) GL_STUB_ALIAS(GetVertexAttribPointervARB, _gloffset_GetVertexAttribPointervNV, GetVertexAttribPointervARB@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) GL_STUB_ALIAS(IsProgramARB, _gloffset_IsProgramNV, IsProgramARB@4, IsProgramNV, IsProgramNV@4) GL_STUB_ALIAS(PointParameteri, _gloffset_PointParameteriNV, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) diff --git a/dist/Mesa/src/mesa/x86/matypes.h b/dist/Mesa/src/mesa/x86/matypes.h index 642167115..3ce781d49 100644 --- a/dist/Mesa/src/mesa/x86/matypes.h +++ b/dist/Mesa/src/mesa/x86/matypes.h @@ -13,18 +13,18 @@ * Offsets for GLcontext */ -#define CTX_DRIVER_CTX 944 +#define CTX_DRIVER_CTX 952 -#define CTX_LIGHT_ENABLED 39288 -#define CTX_LIGHT_SHADE_MODEL 39292 -#define CTX_LIGHT_COLOR_MAT_FACE 39296 -#define CTX_LIGHT_COLOR_MAT_MODE 39300 -#define CTX_LIGHT_COLOR_MAT_MASK 39304 -#define CTX_LIGHT_COLOR_MAT_ENABLED 39308 -#define CTX_LIGHT_ENABLED_LIST 39312 -#define CTX_LIGHT_NEED_VERTS 43673 -#define CTX_LIGHT_FLAGS 43676 -#define CTX_LIGHT_BASE_COLOR 43680 +#define CTX_LIGHT_ENABLED 39056 +#define CTX_LIGHT_SHADE_MODEL 39060 +#define CTX_LIGHT_COLOR_MAT_FACE 39064 +#define CTX_LIGHT_COLOR_MAT_MODE 39068 +#define CTX_LIGHT_COLOR_MAT_MASK 39072 +#define CTX_LIGHT_COLOR_MAT_ENABLED 39076 +#define CTX_LIGHT_ENABLED_LIST 39084 +#define CTX_LIGHT_NEED_VERTS 43445 +#define CTX_LIGHT_FLAGS 43448 +#define CTX_LIGHT_BASE_COLOR 43452 /* ============================================================= @@ -51,7 +51,7 @@ #define VB_COLOR_PTR 88 #define VB_SECONDARY_COLOR_PTR 96 #define VB_FOG_COORD_PTR 104 -#define VB_PRIMITIVE 172 +#define VB_PRIMITIVE 108 /* diff --git a/dist/Mesa/src/mesa/x86/read_rgba_span_x86.S b/dist/Mesa/src/mesa/x86/read_rgba_span_x86.S index 960cffa50..2e5c3be83 100644 --- a/dist/Mesa/src/mesa/x86/read_rgba_span_x86.S +++ b/dist/Mesa/src/mesa/x86/read_rgba_span_x86.S @@ -32,22 +32,23 @@ .file "read_rgba_span_x86.S" #if !defined(__DJGPP__) && !defined(__MINGW32__) /* this one cries for assyntax.h */ - .section .rodata - .align 16 - .type mask, @object - .size mask, 32 -mask: - .long 0xff00ff00 - .long 0xff00ff00 - .long 0xff00ff00 - .long 0xff00ff00 - .long 0x00ff0000 - .long 0x00ff0000 - .long 0x00ff0000 - .long 0x00ff0000 - - -/* I implemented these as macros because the appear in quite a few places, +/* Kevin F. Quinn 2nd July 2006 + * Replaced data segment constants with text-segment instructions. + */ +#define LOAD_MASK(mvins,m1,m2) \ + pushl $0xff00ff00 ;\ + pushl $0xff00ff00 ;\ + pushl $0xff00ff00 ;\ + pushl $0xff00ff00 ;\ + mvins (%esp), m1 ;\ + pushl $0x00ff0000 ;\ + pushl $0x00ff0000 ;\ + pushl $0x00ff0000 ;\ + pushl $0x00ff0000 ;\ + mvins (%esp), m2 ;\ + addl $32, %esp + +/* I implemented these as macros because they appear in several places, * and I've tweaked them a number of times. I got tired of changing every * place they appear. :) */ @@ -84,8 +85,7 @@ _generic_read_RGBA_span_BGRA8888_REV_MMX: #ifdef USE_INNER_EMMS emms #endif - movq mask, %mm1 - movq mask+16, %mm2 + LOAD_MASK(movq,%mm1,%mm2) movl 8(%esp), %ebx /* source pointer */ movl 16(%esp), %edx /* number of pixels to copy */ @@ -182,8 +182,8 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE: #ifdef USE_INNER_EMMS emms #endif - movq mask, %mm1 - movq mask+16, %mm2 + + LOAD_MASK(movq,%mm1,%mm2) movl 16(%esp), %ebx /* source pointer */ movl 24(%esp), %edx /* number of pixels to copy */ @@ -341,8 +341,7 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE2: pushl %esi pushl %ebx - movdqa mask, %xmm1 - movdqa mask+16, %xmm2 + LOAD_MASK(movdqu,%xmm1,%xmm2) movl 12(%esp), %ebx /* source pointer */ movl 20(%esp), %edx /* number of pixels to copy */ @@ -464,52 +463,28 @@ _generic_read_RGBA_span_BGRA8888_REV_SSE2: - .section .rodata - - .align 16 -mask_565: - .word 0xf800 - .word 0x07e0 - .word 0x001f - .word 0x0000 - -/* Setting SCALE_ADJUST to 5 gives a perfect match with the classic C - * implementation in Mesa. Setting SCALE_ADJUST to 0 is slightly faster but - * at a small cost to accuracy. +#define MASK_565_L 0x07e0f800 +#define MASK_565_H 0x0000001f +/* Setting SCALE_ADJUST to 5 gives a perfect match with the + * classic C implementation in Mesa. Setting SCALE_ADJUST + * to 0 is slightly faster but at a small cost to accuracy. */ - #define SCALE_ADJUST 5 #if SCALE_ADJUST == 5 -prescale: - .word 0x0001 - .word 0x0010 - .word 0x0200 - .word 0x0000 - -scale: - .word 0x20e8 /* (0x00ff0000 / 0x000007c0) + 1 */ - .word 0x40c5 /* (0x00ff0000 / 0x000003f0) + 1 */ - .word 0x839d /* (0x00ff0000 / 0x000001f0) + 1 */ - .word 0x0000 +#define PRESCALE_L 0x00100001 +#define PRESCALE_H 0x00000200 +#define SCALE_L 0x40C620E8 +#define SCALE_H 0x0000839d #elif SCALE_ADJUST == 0 -prescale: - .word 0x0001 - .word 0x0020 - .word 0x0800 - .word 0x0000 - -scale: - .word 0x0108 /* (0x00ff0000 / 0x0000f800) + 1 */ - .word 0x0104 /* (0x00ff0000 / 0x0000fc00) + 1 */ - .word 0x0108 /* (0x00ff0000 / 0x0000f800) + 1 */ - .word 0x0000 +#define PRESCALE_L 0x00200001 +#define PRESCALE_H 0x00000800 +#define SCALE_L 0x01040108 +#define SCALE_H 0x00000108 #else #error SCALE_ADJUST must either be 5 or 0. #endif - - -alpha: .long 0x00000000 - .long 0x00ff0000 +#define ALPHA_L 0x00000000 +#define ALPHA_H 0x00ff0000 /** * MMX optimized version of the RGB565 to RGBA copy routine. @@ -530,9 +505,19 @@ _generic_read_RGBA_span_RGB565_MMX: movl 8(%esp), %edx /* destination pointer */ movl 12(%esp), %ecx /* number of pixels to copy */ - movq mask_565, %mm5 - movq prescale, %mm6 - movq scale, %mm7 + pushl $MASK_565_H + pushl $MASK_565_L + movq (%esp), %mm5 + pushl $PRESCALE_H + pushl $PRESCALE_L + movq (%esp), %mm6 + pushl $SCALE_H + pushl $SCALE_L + movq (%esp), %mm7 + pushl $ALPHA_H + pushl $ALPHA_L + movq (%esp), %mm3 + addl $32,%esp sarl $2, %ecx jle .L01 /* Bail early if the count is negative. */ @@ -581,8 +566,8 @@ _generic_read_RGBA_span_RGB565_MMX: /* Always set the alpha value to 0xff. */ - por alpha, %mm0 - por alpha, %mm2 + por %mm3, %mm0 + por %mm3, %mm2 /* Pack the 16-bit values to 8-bit values and store the converted @@ -593,8 +578,6 @@ _generic_read_RGBA_span_RGB565_MMX: movq %mm0, (%edx) addl $8, %edx - - pshufw $0xaa, %mm4, %mm0 pshufw $0xff, %mm4, %mm2 @@ -609,8 +592,8 @@ _generic_read_RGBA_span_RGB565_MMX: pmulhuw %mm7, %mm0 pmulhuw %mm7, %mm2 - por alpha, %mm0 - por alpha, %mm2 + por %mm3, %mm0 + por %mm3, %mm2 packuswb %mm2, %mm0 @@ -647,8 +630,8 @@ _generic_read_RGBA_span_RGB565_MMX: pmulhuw %mm7, %mm0 pmulhuw %mm7, %mm2 - por alpha, %mm0 - por alpha, %mm2 + por %mm3, %mm0 + por %mm3, %mm2 packuswb %mm2, %mm0 @@ -675,7 +658,7 @@ _generic_read_RGBA_span_RGB565_MMX: #endif pmulhuw %mm7, %mm0 - por alpha, %mm0 + por %mm3, %mm0 packuswb %mm0, %mm0 diff --git a/dist/Mesa/src/mesa/x86/rtasm/x86sse.c b/dist/Mesa/src/mesa/x86/rtasm/x86sse.c index 3ea37bb5e..612cd51a6 100644 --- a/dist/Mesa/src/mesa/x86/rtasm/x86sse.c +++ b/dist/Mesa/src/mesa/x86/rtasm/x86sse.c @@ -1063,20 +1063,29 @@ struct x86_reg x86_fn_arg( struct x86_function *p, } -void x86_init_func( struct x86_function *p ) -{ - x86_init_func_size(p, 1024); -} - -void x86_init_func_size( struct x86_function *p, GLuint code_size ) +/** + * Initialize an x86_function object, allocating space for up to + * 'code_size' bytes of code. + */ +GLboolean x86_init_func( struct x86_function *p, GLuint code_size ) { + assert(!p->store); p->store = _mesa_exec_malloc(code_size); - p->csr = p->store; + if (p->store) { + p->csr = p->store; + return GL_TRUE; + } + else { + p->csr = NULL; + return GL_FALSE; + } } void x86_release_func( struct x86_function *p ) { - _mesa_exec_free(p->store); + if (p->store) + _mesa_exec_free(p->store); + p->store = p->csr = NULL; } diff --git a/dist/Mesa/src/mesa/x86/rtasm/x86sse.h b/dist/Mesa/src/mesa/x86/rtasm/x86sse.h index 66fb852ac..42b09937b 100644 --- a/dist/Mesa/src/mesa/x86/rtasm/x86sse.h +++ b/dist/Mesa/src/mesa/x86/rtasm/x86sse.h @@ -80,8 +80,7 @@ enum sse_cc { */ -void x86_init_func( struct x86_function *p ); -void x86_init_func_size( struct x86_function *p, GLuint code_size ); +GLboolean x86_init_func( struct x86_function *p, GLuint code_size ); void x86_release_func( struct x86_function *p ); void (*x86_get_func( struct x86_function *p ))( void ); diff --git a/lib/libGL/Makefile b/lib/libGL/Makefile index ae80d6a6b..d8356d4d0 100644 --- a/lib/libGL/Makefile +++ b/lib/libGL/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.16 2008/02/02 17:38:56 matthieu Exp $ +# $OpenBSD: Makefile,v 1.17 2008/02/12 21:09:27 matthieu Exp $ .include <bsd.own.mk> .if defined(XENOCARA_BUILD_DRI) && ${XENOCARA_BUILD_DRI:L} == "yes" @@ -12,6 +12,10 @@ GL= ${.CURDIR}/../../dist/Mesa/src/GL GLX= ${.CURDIR}/../../dist/Mesa/src/glx/x11 MESA_INCLUDE= ${.CURDIR}/../../dist/Mesa/include +MESA_MAJOR= 7 +MESA_MINOR= 0 +MESA_TINY= 2 + DRI_DRIVER_INSTALL_DIR= ${X11BASE}/lib/modules/dri DRI_DRIVER_SEARCH_DIR= $(DRI_DRIVER_INSTALL_DIR) @@ -162,6 +166,16 @@ glxpixel.c: ${GLX}/pixel.c CLEANFILES+= glxeval.c glxpixel.c +gl.pc: ${MESA}/gl.pc.in Makefile + sed -e 's,@INSTALL_DIR@,$(X11BASE),' \ + -e 's,@LIB_DIR@,lib,' \ + -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \ + < ${MESA}/gl.pc.in > gl.pc + +afterinstall: gl.pc + $(INSTALL) -c -m 644 -o root -g wheel gl.pc \ + ${DESTDIR}${LIBDIR}/pkgconfig + .if ${MACHINE_ARCH} == i386 .PATH: ${MESA}/x86 .PATH: ${MESA}/x86/rtasm diff --git a/lib/libGL/shlib_version b/lib/libGL/shlib_version index 5b844bbf4..b39addfcc 100644 --- a/lib/libGL/shlib_version +++ b/lib/libGL/shlib_version @@ -1,2 +1,2 @@ major=7 -minor=0 +minor=1 diff --git a/lib/libGLU/Makefile b/lib/libGLU/Makefile index c5943dc03..4f9eb857d 100644 --- a/lib/libGLU/Makefile +++ b/lib/libGLU/Makefile @@ -1,9 +1,13 @@ -# $OpenBSD: Makefile,v 1.6 2007/04/07 15:37:50 matthieu Exp $ +# $OpenBSD: Makefile,v 1.7 2008/02/12 21:09:27 matthieu Exp $ .include <bsd.own.mk> USE_GCC3?=No DEBUG?= +MESA_MAJOR= 7 +MESA_MINOR= 0 +MESA_TINY= 2 + LIB= GLU DIST= ${.CURDIR}/../../dist/Mesa @@ -134,6 +138,17 @@ includes: || ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${DIST}/include/GL/glu.h ${DESTDIR}${X11BASE}/include/GL +glu.pc: ${DIST}/src/glu/glu.pc.in Makefile + sed -e 's,@INSTALL_DIR@,$(X11BASE),' \ + -e 's,@LIB_DIR@,lib,' \ + -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \ + < ${DIST}/src/glu/glu.pc.in > glu.pc + +afterinstall: glu.pc + $(INSTALL) -c -m 644 -o root -g wheel glu.pc \ + ${DESTDIR}${LIBDIR}/pkgconfig + + .include <bsd.lib.mk> .include <bsd.xorg.mk> diff --git a/lib/libGLw/Makefile b/lib/libGLw/Makefile index a67a424f5..c004dbd37 100644 --- a/lib/libGLw/Makefile +++ b/lib/libGLw/Makefile @@ -1,9 +1,13 @@ -# $OpenBSD: Makefile,v 1.7 2007/07/29 08:32:45 matthieu Exp $ +# $OpenBSD: Makefile,v 1.8 2008/02/12 21:09:27 matthieu Exp $ DEBUG?= LIB= GLw +MESA_MAJOR= 7 +MESA_MINOR= 0 +MESA_TINY= 2 + CPPFLAGS += -I${X11BASE}/include \ -I${.CURDIR} @@ -32,6 +36,16 @@ includes: beforeinstall: includes +afterinstall: glw.pc + $(INSTALL) -c -m 644 -o root -g wheel glw.pc \ + ${DESTDIR}${LIBDIR}/pkgconfig + +glw.pc: glw.pc.in + sed -e 's,@INSTALL_DIR@,$(X11BASE),' \ + -e 's,@LIB_DIR@,lib,' \ + -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \ + < ${.CURDIR}/glw.pc.in > glw.pc + NOPROFILE= .include <bsd.lib.mk> diff --git a/lib/libGLw/glw.pc.in b/lib/libGLw/glw.pc.in new file mode 100644 index 000000000..8d271648f --- /dev/null +++ b/lib/libGLw/glw.pc.in @@ -0,0 +1,11 @@ +prefix=@INSTALL_DIR@ +exec_prefix=${prefix} +libdir=${exec_prefix}/@LIB_DIR@ +includedir=${prefix}/include + +Name: glw +Description: Mesa OpenGL widget library +Requires: gl xt +Version: @VERSION@ +Libs: -L${libdir} -lGLw +Cflags: -I${includedir} |